From 28d29df9930d3aca510992c7e144a300787d72ec Mon Sep 17 00:00:00 2001 From: davidpaulos Date: Fri, 13 Apr 2018 10:27:01 +0100 Subject: [PATCH] added holding packages --- XbpsUI.sh | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 77 insertions(+), 6 deletions(-) mode change 100644 => 100755 XbpsUI.sh diff --git a/XbpsUI.sh b/XbpsUI.sh old mode 100644 new mode 100755 index 5754c26..63d2f78 --- a/XbpsUI.sh +++ b/XbpsUI.sh @@ -69,6 +69,64 @@ function purge fi } +function unhold +{ + local pkg + local argument_input + pkg="$( xbps-query -p hold -s "" | sort -u | + fzf -i \ + --multi \ + --exact \ + --no-sort \ + --select-1 \ + --query="$argument_input" \ + --cycle \ + --reverse \ + --margin="4%,1%,1%,2%" \ + --inline-info \ + --header="TAB key to (un)select. ENTER to unhold. ESC to quit." \ + --prompt="filter> " | + awk '{print $1}' + )" + + pkg="$( echo "$pkg" | paste -sd " "| tr -d ":" )" + if [[ -n "$pkg" ]] + then + clear + sudo xbps-pkgdb -m unhold $pkg + fi +} + +function hold +{ + local pkg + local argument_input + pkg="$( xbps-query -l | sort -u | + fzf -i \ + --multi \ + --exact \ + --no-sort \ + --select-1 \ + --query="$argument_input" \ + --cycle \ + --reverse \ + --margin="4%,1%,1%,2%" \ + --inline-info \ + --preview 'xbps-query -S {2} '\ + --preview-window=right:55%:wrap \ + --header="TAB key to (un)select. ENTER to place on hold. ESC to quit." \ + --prompt="filter> " | + awk '{print $2}' + )" + + pkg="$( echo "$pkg" | paste -sd " " )" + if [[ -n "$pkg" ]] + then + clear + sudo xbps-pkgdb -m hold $pkg + fi +} + function maintain { sudo xbps-remove -Oo @@ -83,7 +141,8 @@ echo echo -e " \e[7m XbpsUI - Package manager \e[0m " echo -e " ┌───────────────────────────────────────────────────────────────┐" echo -e " │ 1 \e[1mU\e[0mpdate System 2 \e[1mM\e[0maintain System │" - echo -e " │ 3 \e[1mI\e[0mnstall Packages 4 \e[1mP\e[0murge package │" + echo -e " │ 3 \e[1mI\e[0mnstall Packages 4 \e[1mP\e[0murge packages │" + echo -e " │ 5 \e[1mH\e[0mold Packages 6 \e[1mU\e[0mnhold packages │" echo -e " └───────────────────────────────────────────────────────────────┘" echo -e " Enter number or marked letter(s) - 0 \e[1mQ\e[0muit " @@ -95,26 +154,38 @@ echo 1|u|update|update-system ) update echo - echo -e " \e[41m System updated. To return to debianUI press ENTER \e[0m" + echo -e " \e[41m System updated. To return to xbpsUI press ENTER \e[0m" # wait for input, e.g. by pressing ENTER: read ;; 2|m|maintain|maintain-system ) maintain echo - echo -e " \e[41m System maintenance finished. To return to debianUI press ENTER \e[0m" + echo -e " \e[41m System maintenance finished. To return to xbpsUI press ENTER \e[0m" read ;; 3|i|install|install-packages ) install echo - echo -e " \e[41m Package installation finished. To return to debianUI press ENTER \e[0m" + echo -e " \e[41m Package installation finished. To return to xbpsUI press ENTER \e[0m" read ;; - 4|r|remove|remove-packages-and-deps ) + 4|p|purge|purge-packages ) purge echo - echo -e " \e[41m Package(s) purged. To return to debianUI press ENTER \e[0m" + echo -e " \e[41m Package(s) purged. To return to xbpsUI press ENTER \e[0m" + read + ;; + 5|h|hold|hold-packages ) + hold + echo + echo -e " \e[41m Package(s) held. To return to xbpsUI press ENTER \e[0m" + read + ;; + 6|u|unhold|unhold-packages ) + unhold + echo + echo -e " \e[41m Package(s) unheld. To return to xbpsUI press ENTER \e[0m" read ;; 0|q|quit|$'\e'|$'\e'$'\e' ) -- 2.30.2