diff --git a/debian.sh b/debian.sh new file mode 100644 index 0000000..a48fccd --- /dev/null +++ b/debian.sh @@ -0,0 +1,65 @@ +#!/bin/bash +# fanta + +minetestUrlReleases="https://github.com/minetest/minetest/archive/refs/tags" +minetestVersion="5.4.1" +minetestUrlSourceCode="$minetestUrlReleases/$minetestVersion.tar.gz" +minetestDirTmp="/tmp/minetest-$minetestVersion.tar.gz" +minetestDirConfig="/etc/minetest" + +dependenciesDebian10="ca-certificates git postgresql postgresql-server-dev-11 curl libspatialindex-dev doxygen libbz2-dev gettext libirrlicht-dev luajit libluajit-5.1-dev libncurses-dev g++ make libc6-dev cmake libpng-dev libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev libjsoncpp-dev wget" +dependenciesDebian11="ca-certificates git postgresql postgresql-server-dev-13 curl libspatialindex-dev doxygen libbz2-dev gettext libirrlicht-dev luajit libluajit-5.1-dev libncurses-dev g++ make libc6-dev cmake libpng-dev libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev libjsoncpp-dev wget" + +main (){ + checkDebianVersion + updateSys + installDependencies +} + +isDebian() { + [ -f /etc/issue ] && debianVersion=$(grep "Debian" /etc/issue | cut -d " " -f 3) + haveProgram hostnamectl && debianVersion=$(hostnamectl | grep -i Debian | awk '{ print $5 }') + haveProgram lsb_release && debianVersion=$(lsb_release -a 2> /dev/null | grep Desc | grep Debian | awk '{ print $4}') + if [ $debianVersion == $1 ]; then echo "[+] Debian $debianVersion detected"; fi +} + +haveProgram() { + type $1 &> /dev/null +} + +checkDebianVersion() { + for i in {1..20}; do isDebian $i; done +} + +isOK (){ + if [ $? -eq 0 ] + then + echo -e "$taskName\e[32m [OK]\e[0m" + else + echo -e "$taskName\e[31m [NOTOK]\e[0m" + exit 1 + fi +} + +updateSys (){ + taskName="Update System"; echo -e "\n[+][$taskName]" + apt -qq update && apt -qq upgrade -y > /dev/null 2>&1 + isOK +} + +installDependencies (){ + taskName="Install dependencies"; echo -e "\n[+][$taskName]" + echo -e "$dependenciesDebian11" + apt -qq -y install $dependenciesDebian11 > /dev/null 2>&1 + isOK +} + +downloadMinetest (){ + taskName="Download Minetest source version $minetestVersion"; echo -e "\n[+][$taskName]" + wget -q "$minetestUrlSourceCode" -O $minetestDirTmp + isOK +} + + + +main