129 lines
2.7 KiB
Text
129 lines
2.7 KiB
Text
|
#!/bin/bash
|
||
|
|
||
|
|
||
|
# Arch Linux Desktop Install (archdi)
|
||
|
# -----------------------------------
|
||
|
# author : matmoul[@sourceforge.net]
|
||
|
# license : GPLv3 (http://opensource.org/licenses/GPL-3.0)
|
||
|
|
||
|
|
||
|
|
||
|
apptitle="Arch Linux Desktop Install (archdi) - Version: 2015.04.26.22.14.52 (GPLv3)"
|
||
|
baseurl=https://raw.githubusercontent.com/MatMoul/archdi/master
|
||
|
liburl=$baseurl/lib
|
||
|
cachedir=~/.cache/archdi
|
||
|
version="2015.04.26.22.14.52"
|
||
|
|
||
|
|
||
|
|
||
|
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
|
||
|
./lib --root
|
||
|
fi
|
||
|
cd 2>/dev/null
|
||
|
rm -R $cachedir 2>/dev/null
|
||
|
}
|
||
|
|
||
|
dependencies(){
|
||
|
needinstall="false"
|
||
|
clear
|
||
|
echo "Checking internet connexion and sourceforge server..."
|
||
|
if (curl $liburl 1>/dev/null 2>/dev/null) then
|
||
|
echo "Connexion OK."
|
||
|
else
|
||
|
echo "No connexion, please check your internet connexion !"
|
||
|
exit 1
|
||
|
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 ?"
|
||
|
while read -n1 -p "[Y/N] :" -s yesno; do
|
||
|
if [[ $yesno = [YyNn] ]]; then
|
||
|
[[ $yesno = [Yy] ]] && yesno=1
|
||
|
[[ $yesno = [Nn] ]] && yesno=0
|
||
|
break
|
||
|
fi
|
||
|
echo ""
|
||
|
done
|
||
|
echo ""
|
||
|
if [ $yesno = 1 ]; then
|
||
|
pacman -S --needed wget libnewt
|
||
|
else
|
||
|
exit 1
|
||
|
fi
|
||
|
fi
|
||
|
echo ""
|
||
|
echo "Checking bin version..."
|
||
|
chkupgrade
|
||
|
}
|
||
|
|
||
|
chkupgrade(){
|
||
|
if [ -f "/usr/bin/archdi" ]; then
|
||
|
chkver=$version
|
||
|
#chkver=$(curl archdi.sourceforge.net/archdi/version)
|
||
|
if [ ! "$version" = "$chkver" ]; then
|
||
|
if (whiptail --backtitle "$apptitle" --yesno "New version found !\n\nInstall last version ?" 0 0) then
|
||
|
cd /tmp
|
||
|
wget archdi.sourceforge.net/archdi
|
||
|
sh archdi -i
|
||
|
exit 0
|
||
|
fi
|
||
|
fi
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
while (( "$#" )); do
|
||
|
case $1 in
|
||
|
-h|--help) help
|
||
|
exit 0;;
|
||
|
-i|--install) install
|
||
|
exit 0;;
|
||
|
--rc) isrc=true
|
||
|
liburl=$liburl-rc;;
|
||
|
--chroot) chrootoption="true";;
|
||
|
esac
|
||
|
shift
|
||
|
done
|
||
|
|
||
|
run
|