added holding packages
authordavidpaulos <david.paulos123@gmail.com>
Fri, 13 Apr 2018 09:27:01 +0000 (10:27 +0100)
committerdavidpaulos <david.paulos123@gmail.com>
Fri, 13 Apr 2018 09:27:01 +0000 (10:27 +0100)
XbpsUI.sh [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
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' )