diff --git a/update b/update index 82a2dd3..8f40eec 100755 --- a/update +++ b/update @@ -22,16 +22,25 @@ check_for_valid_backup_location() { fi } -[[ $BACKUP_LOCATION ]] && check_for_valid_backup_location "$BACKUP_LOCATION" || echo -e "${IRED}No BACKUP_LOCATION specified${NO_COLOR}" || exit 1 +if [ $BACKUP_LOCATION ]; then + check_for_valid_backup_location "$BACKUP_LOCATION" +else + echo -e "${IRED}No BACKUP_LOCATION in $HOME/.config/update.conf specified${NO_COLOR}" + exit 1 +fi [[ $SECONDARY_BACKUP_LOCATION ]] && check_for_valid_backup_location "$SECONDARY_BACKUP_LOCATION" trap interrupt_function INT interrupt_function() { echo "Interrupt has been detected" - [[ -f /var/lib/pacman/db.lck ]] && sudo rm --force /var/lib/pacman/db.lck > /dev/null 2>&1 - rm --recursive --force "$TMP" > /dev/null 2>&1 - rm --force "$BACKUP_LOCATION"/before-backup_"$DATE".tar.zst.new "$BACKUP_LOCATION"/after-backup_"$DATE".tar.zst.new + if [ -f /var/lib/pacman/db.lck ]; then + echo -e "${IYELLOW}Trying to unlock the pacman db. Please enter your password.${NO_COLOR}" + su --command="rm --force /var/lib/pacman/db.lck" > /dev/null 2>&1 + fi + [[ -d $TMP ]] && rm --recursive --force "$TMP" + [[ -f "$BACKUP_LOCATION"/before-backup_"$DATE".tar.zst.new ]] && rm --force "$BACKUP_LOCATION"/before-backup_"$DATE".tar.zst.new + [[ -f "$BACKUP_LOCATION"/after-backup_"$DATE".tar.zst.new ]] && rm --force "$BACKUP_LOCATION"/after-backup_"$DATE".tar.zst.new exit 1 } @@ -49,7 +58,9 @@ lock_pacman_db() { echo -e "${IYELLOW}->${NO_COLOR} there might be another instance of pacman running. exiting..." exit 1 fi - sudo touch /var/lib/pacman/db.lck + + echo -e "${IYELLOW}Trying to lock the pacman db. Please enter your password.${NO_COLOR}" + su --command="touch /var/lib/pacman/db.lck" } delete_oldest_backup() { @@ -70,7 +81,8 @@ before_backup() { mv "$TMP"/before-backup_"$DATE".tar.zst.new "$BACKUP_LOCATION" [[ $SECONDARY_BACKUP_LOCATION ]] && mv "$TMP"/before-backup_"$DATE".tar.zst.new "$SECONDARY_BACKUP_LOCATION" - sudo rm --force /var/lib/pacman/db.lck + echo -e "${IYELLOW}Trying to unlock the pacman db. Please enter your password.${NO_COLOR}" + su --command="rm --force /var/lib/pacman/db.lck" } after_backup() { @@ -115,6 +127,6 @@ if [[ ${1:0:2} == \-\- ]]; then exit 0 fi -before_backup && echo -e "${IGREEN}pre-backup complete${NO_COLOR}" +before_backup && echo -e "${IGREEN}before-backup complete${NO_COLOR}" update after_backup && echo -e "${IGREEN}after-backup complete${NO_COLOR}"