obosdi-pkg/updates/menu
2015-09-01 02:49:08 +02:00

86 lines
2.5 KiB
Bash

#!/bin/bash
. ./lib
options=()
if [ -f /usr/bin/yaourt ]; then
options+=("Upgrade with yaourt" "yaourt -Syua")
aurhelper=1
fi
if [ -f /usr/bin/packer ]; then
options+=("Upgrade with packer" "packer -Syu")
aurhelper=1
fi
if [ ! "$aurhelper" = "1" ]; then
options+=("Install yaourt" "")
options+=("Install packer" "")
options+=("" "")
fi
options+=("Upgrade" "pacman -Syu")
options+=("Clean" "pacman -Sc")
options+=("" "")
options+=("Edit pacman.conf" "")
options+=("Edit mirrorlist" "")
options+=("" "")
if [ "$aurhelper" = "1" ]; then
if [ ! -f /usr/bin/yaourt ]; then
options+=("Install yaourt" "")
fi
if [ ! -f /usr/bin/packer ]; then
options+=("Install packer" "")
fi
fi
sel=$(whiptail --backtitle "$apptitle" --title "Updates Menu :" --menu "" --cancel-button "Back" 0 0 0 \
"${options[@]}" \
3>&1 1>&2 2>&3)
if [ ! "$?" = "0" ]; then
exit 1
fi
checkaurdependencies(){
if [ ! -f /usr/bin/automake ]; then
pacman -S --needed base-devel
fi
if [ ! $(id -u "aurbuilder") ]; then
newpass=$(< /dev/urandom tr -dc "@#*%&_A-Z-a-z-0-9" | head -c16)
useradd -r -N -M -d /home/.aurbuilder -s /usr/bin/nologin aurbuilder
echo -e "$newpass\n$newpass\n"|passwd aurbuilder
echo "aurbuilder ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
echo "root ALL=(aurbuilder) NOPASSWD: ALL" >> /etc/sudoers
newpass=""
fi
}
checkarchlinuxfrrepo(){
if [ ! $(cat /etc/pacman.conf | grep "archlinuxfr") ]; then
echo "[archlinuxfr]" >> /etc/pacman.conf
echo "SigLevel = Never" >> /etc/pacman.conf
echo 'Server = http://repo.archlinux.fr/$arch' >> /etc/pacman.conf
pacman -Syy
fi
}
clear
case $sel in
'Upgrade') pacman -Syu;;
'Upgrade with yaourt') sudo -u aurbuilder yaourt -Syua;;
'Upgrade with packer') sudo -u aurbuilder packer -Syu;;
'Clean') pacman -Sc;;
'Edit pacman.conf') nano /etc/pacman.conf;;
'Edit mirrorlist') nano /etc/pacman.d/mirrorlist;;
'Install yaourt')
if(confirm "Yaourt allow you to access the AUR applications.\nBecause is not possible to compile applications as root,\nthis installer create an aurbuilder user.\n\nInstall yaourt ?") then
checkaurdependencies
checkarchlinuxfrrepo
pacman -S --needed yaourt
fi
;;
'Install packer')
if(confirm "Packer allow you to access the AUR applications.\nBecause is not possible to compile applications as root,\nthis installer create an aurbuilder user.\n\nInstall packer ?") then
checkaurdependencies
checkarchlinuxfrrepo
pacman -S --needed packer
fi
;;
esac
exit 0