]> Freerunner's - dotfiles.git/commitdiff
upgrayyedd: increase compatibility
authorAndre Ramnitz <tux.rising@gmail.com>
Thu, 4 Jul 2024 19:12:19 +0000 (21:12 +0200)
committerAndre Ramnitz <tux.rising@gmail.com>
Sun, 18 Aug 2024 19:05:38 +0000 (21:05 +0200)
local/bin/upgrayyedd

index 151c720210751b70d5df254d2e4a7a05dcadbc92..13ae02b9420f80b24c95295b4ed45d9a77848dd4 100755 (executable)
@@ -1,23 +1,40 @@
-#!/bin/sh
+#!/bin/bash
+
+if command -v doas > /dev/null 2>&1; then
+   PRIV_CMD="doas"
+elif command -v sudo > /dev/null 2>&1; then
+   PRIV_CMD="sudo"
+elif [ "$(id -u)" -eq 0 ]; then
+   PRIV_CMD=""
+else
+   echo "Error: No possibility to get administrative prileges."
+fi
 
 case "$1" in
     refresh)
-        doas emaint sync -A
-        doas emerge -avuDN @world "${@:2}"
+        "$PRIV_CMD" emaint sync -A
+        "$PRIV_CMD" emerge -avuDN @world "${@:2}"
         ;;
-    log)
-        grep -i --color=auto -i "completed" /var/log/emerge.log
-        echo "note: use 'date -d @[unixtime]' to convert the timestamp"
+    again)
+        "$PRIV_CMD" emerge -avuDN @world "${@:2}"
+        exit 0
         ;;
     clean)
-        doas emerge -a --depclean "${@:2}"
+        "$PRIV_CMD" emerge -a --depclean "${@:2}"
         ;;
-    now)
-        doas emerge -avuDN @world "${@:2}"
+    log)
+        grep -i --color=auto -i "completed" /var/log/emerge.log
+        echo "note: use 'date -d @[unixtime]' to convert the timestamp"
         ;;
     test)
         echo "${@:2}"
         ;;
+    "1")
+        "$PRIV_CMD" emerge -1av "${@:2}"
+        ;;
+    "av")
+        "$PRIV_CMD" emerge -av "${@:2}"
+        ;;
     *)
-        echo "Currently available commands: 'clean', 'refresh', 'log', 'now'"
+        echo "Currently available commands: 'refresh', 'again', 'clean', 'log', 'av', '1'"
 esac