#!/bin/bash # Arch Linux Desktop Install (archdi) # ----------------------------------- # author : MatMoul # https://github.com/MatMoul # http://sourceforge.net/u/matmoul # project : https://github.com/MatMoul/archdi # http://sourceforge.net/projects/archdi/ # license : GPLv3 (http://opensource.org/licenses/GPL-3.0) apptitle="Arch Linux Desktop Install (archdi) - Version: 2015.08.29.23.44.51 (GPLv3)" version="2015.08.29.23.44.51" cachedir=~/.cache/archdi lastverurl1=http://archdi.sourceforge.net/version lastverurl2=https://raw.githubusercontent.com/MatMoul/archdi/master/version binurl1=archdi.sourceforge.net/archdi binurl2=matmoul.github.io/archdi liburl1=http://archdi.sourceforge.net/archdi-lib liburl2=https://raw.githubusercontent.com/MatMoul/archdi-pkg/master/lib help(){ echo "-h | --help : this screen" echo "-i | --install : install" echo "no args : start setup" } install(){ dependencies echo "Install $apptitle ..." echo "" chmod 755 $0 2>/dev/null mv $0 /usr/bin/archdi 2>/dev/null echo "" echo "$apptitle is installed." echo "type archdi to start." } run(){ dependencies rm -R $cachedir 2>/dev/null mkdir -p $cachedir 2>/dev/null cd $cachedir 2>/dev/null wget -O lib $liburl 2>/dev/null chmod 755 lib 2>/dev/null if [ "$chrootoption" = "true" ]; then ./lib --chroot else if [ "$branchoption" = "" ]; then ./lib --root else sed -i "/apptitle=/c\apptitle=\"Arch Linux Desktop Install (archdi) - Branch: $branchoption (GPLv3)\"" lib sed -i "/baseurl=/c\baseurl=https://raw.githubusercontent.com/MatMoul/archdi-pkg/$branchoption" lib ./lib --root fi fi cd 2>/dev/null rm -R $cachedir 2>/dev/null } dependencies(){ needinstall="false" clear echo "Checking internet and server connexion ..." lastverurl=$lastverurl1 lastver=$(curl $lastverurl) if [ "$?" = "0" ] && [ "${#lastver}" = "19" ]; then binurl=$binurl1 liburl=$liburl1 else lastverurl=$lastverurl2 lastver=$(curl $lastverurl) if [ "$?" = "0" ] && [ "${#lastver}" = "19" ]; then binurl=$binurl2 liburl=$liburl2 else exit 1 fi fi echo "" echo "Checking $apptitle dependencies :" echo "" if [ -e /usr/bin/wget ]; then echo "wget : installed" else echo "wget : not installed" needinstall="true" fi if [ -e /usr/bin/whiptail ]; then echo "libnewt : installed" else echo "libnewt : not installed" needinstall="true" fi if [ "$needinstall" = "true" ]; then echo "" echo "Install missing dependencies ?" read -p "Install missing dependencies ? (Y/n)" choice case "$choice" in n|N ) exit 1;; esac pacman -S --needed wget libnewt fi echo "" echo "Checking bin version..." chkupgrade } chkupgrade(){ if [ "$0" = "/usr/bin/archdi" ]; then if [ ! "$version" = "$lastver" ]; then if (whiptail --backtitle "$apptitle" --yesno "New version found !\n\nInstall last version ?" 0 0) then cd /tmp wget $binurl sh archdi -i exit 0 fi fi fi } branchoption="" while (( "$#" )); do case $1 in -h|--help) help exit 0;; -i|--install) install exit 0;; --chroot) chrootoption="true";; --branch) shift liburl1=https://raw.githubusercontent.com/MatMoul/archdi-pkg/$1/lib liburl2=https://raw.githubusercontent.com/MatMoul/archdi-pkg/$1/lib branchoption="$1" apptitle="Arch Linux Desktop Install (archdi) - Version: 2015.08.29.23.44.51 (GPLv3)" ;; esac shift done run