From 3143cbae765c2c29110db950370636ec154a79ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Fuhry?= Date: Sat, 21 Jan 2023 03:01:48 +0100 Subject: [PATCH 1/3] Moved something to somewhere... goodnight... * added help long option * Add files via upload --- makefile | 4 ++-- update | 46 +++++++++++++++++++++++----------------------- update.conf | 2 +- 3 files changed, 26 insertions(+), 26 deletions(-) diff --git a/makefile b/makefile index 34d238c..22b4740 100644 --- a/makefile +++ b/makefile @@ -1,10 +1,10 @@ install: - @echo "==> Installing update v0.4..." + @echo "==> Installing update v1.0..." @sudo install -Dm755 update /usr/local/bin/update @cp update.conf ${HOME}/.config/ @echo "==> Finished." uninstall: - @echo "==> Uninstalling update v0.4..." + @echo "==> Uninstalling update v1.0..." @sudo rm /usr/local/bin/update ${HOME}/.config/update.conf @echo "==> Finished." diff --git a/update b/update index c9dcd9c..222604a 100644 --- a/update +++ b/update @@ -1,16 +1,13 @@ #!/bin/bash -# shellcheck source=/dev/null # updates via an aur-helper and flatpak with flags -# version 0.7 - -# add options to change aur-helper in the config -# maybe make a first time setup, which asks for backup_location and aur_helper, maybe even if you wanna opt-in to non-interactive flatpak-update (maybe a flag?) - +# version 1.0 IGreen="\033[0;92m" # Green NC="\033[0m" # Text Reset +dir="$pwd" + source ~/.config/update.conf # output if wrong flag is used @@ -31,36 +28,39 @@ Help() { # creates package lists, moves them into a zip, adds some other files to the zip and backups the pacman database in the form of a tar # it then rsyncs the zip and the tar to the backup location before_backup() { - paclog-pkglist > ~/pacman-pre.txt - flatpak list > ~/flatpak-pre.txt - zip --quiet --move ~/before_backup.zip.new ~/pacman-pre.txt ~/flatpak-pre.txt - zip --quiet --grow ~/before_backup.zip.new /etc/fstab /etc/makepkg.conf - tar -cJf ~/pacman_database.tar.xz.new /var/lib/pacman/local &> /dev/null - rsync --remove-source-files ~/before_backup.zip.new ~/pacman_database.tar.xz.new "$backup_location" - rename before_backup.zip.new before_backup.zip "$backup_location"/before_backup.zip.new - rename pacman_database.tar.xz.new pacman_database.tar.xz "$backup_location"/pacman_database.tar.xz.new + paclog-pkglist > pacman-pre.txt + flatpak list > flatpak-pre.txt + zip --quiet --move before-backup.zip.new pacman-pre.txt flatpak-pre.txt + zip --quiet --grow before-backup.zip.new /etc/fstab /etc/makepkg.conf + tar -cJf pacman-database.tar.xz.new /var/lib/pacman/local &> /dev/null + rsync --remove-source-files before-backup.zip.new pacman-database.tar.xz.new "$backup_location" + rename before-backup.zip.new before-backup.zip "$backup_location"/before-backup.zip.new + rename pacman-database.tar.xz.new pacman-database.tar.xz "$backup_location"/pacman-database.tar.xz.new } # moves the package lists into a zip, it then rsyncs the zip to the backup location after_backup() { - zip --quiet --move ~/after_backup.zip.new ~/pacman-after.txt ~/flatpak-after.txt - rsync --remove-source-files ~/after_backup.zip.new "$backup_location" - rename after_backup.zip.new after_backup.zip "$backup_location"/after_backup.zip.new + zip --quiet --move after-backup.zip.new pacman-after.txt flatpak-after.txt + rsync --remove-source-files after-backup.zip.new "$backup_location" + rename after-backup.zip.new after-backup.zip "$backup_location"/after-backup.zip.new } # updates using aur-helper update_with_aur_helper() { "$aur_helper" - paclog-pkglist > ~/pacman-after.txt + paclog-pkglist > pacman-after.txt } # updates using flatpak update update_with_flatpak() { flatpak update -u --noninteractive - flatpak list > ~/flatpak-after.txt + flatpak list > flatpak-after.txt } -before_backup && echo -e "${IGreen} pre-backup complete ${NC}" +[[ $1 = --help ]] && Help && exit 0; + +[[ ! -d /tmp/backup ]] && mkdir /tmp/backup; +cd /tmp/backup && before_backup && echo -e "${IGreen} pre-backup complete ${NC}" [[ -z $1 ]] && update_with_aur_helper && update_with_flatpak; while getopts 'fyagr' OPTION; do @@ -73,14 +73,14 @@ while getopts 'fyagr' OPTION; do update_with_aur_helper; update_with_flatpak ;; g) [[ $1 = -g ]] && update_with_aur_helper && update_with_flatpak; - after_backup && echo -e "${IGreen} after-backup complete ${NC}" && sleep 3s && shutdown now ;; + after_backup && cd "$dir"; echo -e "${IGreen} after-backup complete ${NC}" && sleep 3s && shutdown now ;; r) [[ $1 = -r ]] && update_with_aur_helper && update_with_flatpak; - after_backup && echo -e "${IGreen} after-backup complete ${NC}" && sleep 3s && reboot ;; + after_backup && cd "$dir"; echo -e "${IGreen} after-backup complete ${NC}" && sleep 3s && reboot ;; ?) Help exit 1;; esac done -after_backup && echo -e "${IGreen} after-backup complete ${NC}" +after_backup && cd "$dir"; rm -r /tmp/backup; echo -e "${IGreen} after-backup complete ${NC}" diff --git a/update.conf b/update.conf index b9d5b66..53e4090 100644 --- a/update.conf +++ b/update.conf @@ -2,4 +2,4 @@ backup_location=~/ # use this aur-helper -aur_helper=yay +aur_helper=paru -- 2.45.2 From ceb94c21fc24a4e90fc869db43c75242b7ae7f1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Fuhry?= Date: Sat, 21 Jan 2023 23:10:18 +0100 Subject: [PATCH 2/3] Improvements --- makefile | 6 ++++-- update | 47 +++++++++++++++++++++++++---------------------- 2 files changed, 29 insertions(+), 24 deletions(-) diff --git a/makefile b/makefile index 22b4740..aef8943 100644 --- a/makefile +++ b/makefile @@ -1,10 +1,12 @@ +VER = "v1.1" + install: - @echo "==> Installing update v1.0..." + @echo "==> Installing update $(VER)..." @sudo install -Dm755 update /usr/local/bin/update @cp update.conf ${HOME}/.config/ @echo "==> Finished." uninstall: - @echo "==> Uninstalling update v1.0..." + @echo "==> Uninstalling update $(VER)..." @sudo rm /usr/local/bin/update ${HOME}/.config/update.conf @echo "==> Finished." diff --git a/update b/update index 222604a..38a2121 100644 --- a/update +++ b/update @@ -1,28 +1,26 @@ #!/bin/bash # updates via an aur-helper and flatpak with flags -# version 1.0 +# version 1.1 IGreen="\033[0;92m" # Green NC="\033[0m" # Text Reset -dir="$pwd" +DIR="$(pwd)" -source ~/.config/update.conf +source "${HOME}"/.config/update.conf # output if wrong flag is used Help() { - echo "updates via an aur-helper and flatpak with flags" - echo echo "Usage: update [OPTION]" echo echo "options:" - echo "no flag same as -a" - echo "-f updates using flatpak update only" - echo "-y updates using an aur-helper only" - echo "-a updates using flatpak update and an aur-helper" - echo "-g shutdowns the computer afterwards (needs to be the last or only option to work properly)" - echo "-r reboots the computer afterwards (needs to be the last or only option to work properly)" + echo "no flag same as -a" + echo "-f updates using flatpak update only" + echo "-y updates using an aur-helper only" + echo "-a updates using flatpak update and an aur-helper" + echo "-g shutdowns the computer afterwards (needs to be the last or only option to work properly)" + echo "-r reboots the computer afterwards (needs to be the last or only option to work properly)" } # creates package lists, moves them into a zip, adds some other files to the zip and backups the pacman database in the form of a tar @@ -33,21 +31,21 @@ before_backup() { zip --quiet --move before-backup.zip.new pacman-pre.txt flatpak-pre.txt zip --quiet --grow before-backup.zip.new /etc/fstab /etc/makepkg.conf tar -cJf pacman-database.tar.xz.new /var/lib/pacman/local &> /dev/null - rsync --remove-source-files before-backup.zip.new pacman-database.tar.xz.new "$backup_location" - rename before-backup.zip.new before-backup.zip "$backup_location"/before-backup.zip.new - rename pacman-database.tar.xz.new pacman-database.tar.xz "$backup_location"/pacman-database.tar.xz.new + rsync --remove-source-files before-backup.zip.new pacman-database.tar.xz.new "${backup_location}" + rename before-backup.zip.new before-backup.zip "${backup_location}"/before-backup.zip.new + rename pacman-database.tar.xz.new pacman-database.tar.xz "${backup_location}"/pacman-database.tar.xz.new } # moves the package lists into a zip, it then rsyncs the zip to the backup location after_backup() { zip --quiet --move after-backup.zip.new pacman-after.txt flatpak-after.txt - rsync --remove-source-files after-backup.zip.new "$backup_location" - rename after-backup.zip.new after-backup.zip "$backup_location"/after-backup.zip.new + rsync --remove-source-files after-backup.zip.new "${backup_location}" + rename after-backup.zip.new after-backup.zip "${backup_location}"/after-backup.zip.new } # updates using aur-helper update_with_aur_helper() { - "$aur_helper" + "${aur_helper}" paclog-pkglist > pacman-after.txt } @@ -59,12 +57,17 @@ update_with_flatpak() { [[ $1 = --help ]] && Help && exit 0; +while [ -f /var/lib/pacman/db.lck ]; do { + sleep 1s +} +done + [[ ! -d /tmp/backup ]] && mkdir /tmp/backup; cd /tmp/backup && before_backup && echo -e "${IGreen} pre-backup complete ${NC}" [[ -z $1 ]] && update_with_aur_helper && update_with_flatpak; -while getopts 'fyagr' OPTION; do - case "$OPTION" in +while getopts 'fyagr' OPTIONS; do + case "$OPTIONS" in f) update_with_flatpak ;; y) @@ -73,14 +76,14 @@ while getopts 'fyagr' OPTION; do update_with_aur_helper; update_with_flatpak ;; g) [[ $1 = -g ]] && update_with_aur_helper && update_with_flatpak; - after_backup && cd "$dir"; echo -e "${IGreen} after-backup complete ${NC}" && sleep 3s && shutdown now ;; + after_backup && cd "${DIR}" || return; echo -e "${IGreen} after-backup complete ${NC}" && sleep 3s && shutdown now ;; r) [[ $1 = -r ]] && update_with_aur_helper && update_with_flatpak; - after_backup && cd "$dir"; echo -e "${IGreen} after-backup complete ${NC}" && sleep 3s && reboot ;; + after_backup && cd "${DIR}" || return; echo -e "${IGreen} after-backup complete ${NC}" && sleep 3s && reboot ;; ?) Help exit 1;; esac done -after_backup && cd "$dir"; rm -r /tmp/backup; echo -e "${IGreen} after-backup complete ${NC}" +after_backup && cd "${DIR}" || return; rm -r /tmp/backup; echo -e "${IGreen} after-backup complete ${NC}" -- 2.45.2 From 2aca92f351b6259d393959c9f5e9f75299e679f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Fuhry?= Date: Sat, 28 Jan 2023 01:54:33 +0100 Subject: [PATCH 3/3] removed pacutils dependency the script now uses pacman's build in flag to output all pkg's (even looks the same) --- README.md | 2 +- makefile | 2 +- update | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 8275367..33ee849 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Update script written in bash for Arch. Keeps all your pacman and aur packages a Needed dependencies ```bash - pacman -S zip pacutils + pacman -S zip ``` ## Installation diff --git a/makefile b/makefile index aef8943..c2ffd5c 100644 --- a/makefile +++ b/makefile @@ -1,4 +1,4 @@ -VER = "v1.1" +VER = "v1.2" install: @echo "==> Installing update $(VER)..." diff --git a/update b/update index 38a2121..3519d0a 100644 --- a/update +++ b/update @@ -1,7 +1,7 @@ #!/bin/bash # updates via an aur-helper and flatpak with flags -# version 1.1 +# version 1.2 IGreen="\033[0;92m" # Green NC="\033[0m" # Text Reset @@ -26,7 +26,7 @@ Help() { # creates package lists, moves them into a zip, adds some other files to the zip and backups the pacman database in the form of a tar # it then rsyncs the zip and the tar to the backup location before_backup() { - paclog-pkglist > pacman-pre.txt + pacman -Q > pacman-pre.txt flatpak list > flatpak-pre.txt zip --quiet --move before-backup.zip.new pacman-pre.txt flatpak-pre.txt zip --quiet --grow before-backup.zip.new /etc/fstab /etc/makepkg.conf @@ -46,7 +46,7 @@ after_backup() { # updates using aur-helper update_with_aur_helper() { "${aur_helper}" - paclog-pkglist > pacman-after.txt + pacman -Q > pacman-after.txt } # updates using flatpak update -- 2.45.2