You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
2.6 KiB
Bash
91 lines
2.6 KiB
Bash
#!/bin/bash
|
|
|
|
##
|
|
## Config
|
|
##
|
|
|
|
MCPIL_R_VERSION='0.1.2'
|
|
|
|
set -e
|
|
|
|
DIRECTORY="$(dirname "$(dirname "$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )")")"
|
|
STORAGE="$(dirname "$0")"
|
|
|
|
function error {
|
|
echo -e "\\e[91m$1\\e[39m"
|
|
exit 1
|
|
}
|
|
|
|
##
|
|
## Install MCPI-Docker
|
|
##
|
|
|
|
if [[ "$(lsb_release -cs)" != "buster" && "$(lsb_release -cs)" != "bullseye" && "$(lsb_release -cs)" != "sid" ]]; then
|
|
error 'Unsupported Debian Version'
|
|
fi
|
|
|
|
if [[ "$(lsb_release -cs)" = "buster" ]]; then
|
|
# Uninstall Old Docker
|
|
sudo apt-get remove -y docker.io
|
|
# Install Docker
|
|
if [ ! command -v docker &>/dev/null ];then
|
|
curl -fsSL https://get.docker.com -o "${STORAGE}/get-docker.sh" || error 'Unable To Download Docker Install Script'
|
|
sudo sh "${STORAGE}/get-docker.sh" || error 'Unable To Install Docker'
|
|
rm "${STORAGE}/get-docker.sh"
|
|
fi
|
|
|
|
# Setup Backports Repo On Buster
|
|
if grep -q '^deb http://deb.debian.org/debian buster-backports main$' /etc/apt/sources.list; then
|
|
# Install Backports Key
|
|
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 04EE7237B7D453EC
|
|
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138
|
|
# Install Backports Repository
|
|
echo 'deb http://deb.debian.org/debian buster-backports main' | sudo tee -a /etc/apt/sources.list
|
|
# Update APT Index
|
|
sudo apt-get update
|
|
fi
|
|
fi
|
|
|
|
# Prepare
|
|
rm -rf "${STORAGE}/mcpi-docker"
|
|
mkdir "${STORAGE}/mcpi-docker"
|
|
|
|
# Download DEBs
|
|
wget -O "${STORAGE}/mcpi-docker/deb.zip" https://jenkins.thebrokenrail.com/job/minecraft-pi-docker/job/master/lastSuccessfulBuild/artifact/out/deb/*zip*/deb.zip || error 'Unable To Download'
|
|
|
|
# Unzip DEBs
|
|
mkdir "${STORAGE}/mcpi-docker/deb"
|
|
unzip "${STORAGE}/mcpi-docker/deb.zip" -d "${STORAGE}/mcpi-docker/deb" || error 'Unable to extract debs.zip!'
|
|
|
|
# Find DEB
|
|
MCPI_DOCKER_DEB="$(find "${STORAGE}/mcpi-docker/deb/deb" -name 'minecraft-pi-native*.deb')"
|
|
|
|
# Install DEB
|
|
echo "Installing ${MCPI_DOCKER_DEB}..."
|
|
sudo dpkg -i "${MCPI_DOCKER_DEB}" # Expected To Fail
|
|
sudo apt-get --fix-broken install -y || error 'Unable To Complete Install'
|
|
|
|
# Clean Up
|
|
rm -rf "${STORAGE}/mcpi-docker"
|
|
|
|
##
|
|
## Install MCPIL-R
|
|
##
|
|
|
|
MCPIL_R_URL="https://github.com/MCPI-Devs/MCPIL-R/releases/download/${MCPIL_R_VERSION}/mcpil-r_${MCPIL_R_VERSION}_all.deb"
|
|
|
|
# Prepare
|
|
rm -rf "${STORAGE}/mcpil-r"
|
|
mkdir "${STORAGE}/mcpil-r"
|
|
|
|
# Download DEB
|
|
wget -O "${STORAGE}/mcpil-r/mcpil-r.deb" "${MCPIL_R_URL}"
|
|
|
|
# Install DEB
|
|
echo "Installing ${STORAGE}/mcpil-r/mcpil-r.deb..."
|
|
sudo dpkg -i "${STORAGE}/mcpil-r/mcpil-r.deb" # Expected To Fail
|
|
sudo apt-get --fix-broken install -y || error 'Unable To Complete Install'
|
|
|
|
# Clean Up
|
|
rm -f "${STORAGE}/mcpil-r"
|