From 0f79f162001a69be1200a358e8840ecfd11853b2 Mon Sep 17 00:00:00 2001 From: TNE Date: Wed, 14 Jul 2021 14:54:16 +0200 Subject: [PATCH] Improvements to /usr/bin/updates --- usr/bin/update | 40 +++++++++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/usr/bin/update b/usr/bin/update index 64a3aca..6bc77b7 100755 --- a/usr/bin/update +++ b/usr/bin/update @@ -1,4 +1,6 @@ #!/bin/bash +set -e + # Run the "I'm too lazy to fix it myself all in one" script if [ "$1" == "remote" ]; then echo "This will reset a lot of configurations to default ones - it is intended to be a oneclick fix for all kind of update issues. 🛑" @@ -11,25 +13,33 @@ if [ "$1" == "remote" ]; then fi # Check for AUR helper -if [ -x /usr/bin/paru ]; then +if [ -x /usr/bin/paru ] && [[ $EUID -ne 0 ]]; then upd_cmd="paru -Su" echo "Detected Paru, using it to update the system.." -elif [ -x /usr/bin/yay ]; then +elif [ -x /usr/bin/yay ] && [[ $EUID -ne 0 ]]; then upd_cmd="yay -Su" echo "Detected Yay, using it to update the system.." -else upd_cmd="sudo pacman -Su" && echo "No AUR helper installed, using Pacman to update.." +else + upd_cmd="sudo pacman -Su" + if [[ $EUID -ne 0 ]]; then + echo "No AUR helper installed, using Pacman to update.." + else + echo "Executed as root, using Pacman to update.." + fi fi -# Refresh mirrorlist -echo "Refreshing mirrorlists.." -sudo reflector --latest 5 --age 2 --fastest 5 --protocol https --sort rate --save /etc/pacman.d/mirrorlist && cat /etc/pacman.d/mirrorlist -echo "" +if [ -x /usr/bin/reflector ]; then + # Refresh mirrorlist + echo "Refreshing mirrorlists.." + sudo reflector --latest 5 --age 2 --fastest 5 --protocol https --sort rate --save /etc/pacman.d/mirrorlist && cat /etc/pacman.d/mirrorlist || false +fi # Check for keyring update & update as needed -echo "Checking for keyring update, then update as needed.." -if pacman -Qq blackarch-keyring &> /dev/null; then - sudo pacman -Sy archlinux-keyring blackarch-keyring chaotic-keyring --needed && $upd_cmd -else sudo pacman -Sy archlinux-keyring chaotic-keyring --needed && $upd_cmd +echo "Checking for keyring update before starting full system update.." +if pacman -Qq blackarch-keyring &> /dev/null; then + sudo pacman -Sy archlinux-keyring blackarch-keyring chaotic-keyring --needed && $upd_cmd || false +else + sudo pacman -Sy archlinux-keyring chaotic-keyring --needed && $upd_cmd || false fi echo "" @@ -40,8 +50,12 @@ if [ -x /usr/bin/locate ]; then fi # Update fish completions -if [ -x /usr/bin/fish ]; then - fish -c fish_update_completions +if [ -x /usr/bin/fish ]; then + if [[ $EUID -ne 0 ]]; then + fish -c fish_update_completions + elif [ ! -z "$SUDO_UID" ]; then + sudo -u \#$SUDO_UID fish -c fish_update_completions + fi fi echo ""