]> Freerunner's - dotfiles.git/commitdiff
upgrayyedd: refactor
authorAndre Ramnitz <tux.rising@gmail.com>
Mon, 27 Oct 2025 22:31:25 +0000 (23:31 +0100)
committerAndre Ramnitz <tux.rising@gmail.com>
Mon, 27 Oct 2025 22:31:25 +0000 (23:31 +0100)
dot-local/bin/upgrayyedd

index 55fa608ae3936377126f899aa6fd3a5a75346474..af4415aa4c51e2f263503c90b14dd53af4c7d31f 100755 (executable)
@@ -5,22 +5,33 @@ test $(grep -e ^ID /etc/os-release | cut -f2 -d\=) = gentoo || exit
 
 source /etc/portage/make.conf
 
+declare precmd
 if [[ $(id -u) -ne 0 ]];
 then
-    export precmd="sudo MAKEOPTS=-j$(echo $(nproc) -4 | bc)"
+    precmd="sudo"
 else
-    export precmd="env MAKEOPTS=-j$(echo $(nproc) -4 | bc)"
+    precmd=""
 fi
 
+do_build(){
+    $precmd make mrproper
+    $precmd cp "/usr/src/config-gentoo" "./.config" || exit 1
+    $precmd schedtool -D -e make oldconfig
+    $precmd schedtool -D -e make modules_prepare
+    $precmd schedtool -D -e make -j$(echo $(nproc) -4 | bc) || exit 1
+    $precmd emerge @module-rebuild
+    $precmd schedtool -D -e make modules_install
+    $precmd schedtool -D -e make install
+}
+
 case "$1" in
+    check)
+        emerge -puDN @world
+        ;;
     sync)
         $precmd emaint sync -A
         ;;
-    refresh)
-        $precmd emaint sync -A
-        $precmd /usr/bin/emerge -avuDN @world "${@:2}"
-        ;;
-    again)
+    --)
         $precmd /usr/bin/emerge -avuDN @world "${@:2}"
         exit 0
         ;;
@@ -50,14 +61,8 @@ case "$1" in
                echo "Building $MOSTRECENT"
                echo ""
                cd "/usr/src/linux" || exit 1
-               sudo make mrproper
-               sudo cp "/usr/src/config-gentoo" "./.config" || exit 1
-               sudo schedtool -B -n 19 -e make oldconfig
-               sudo schedtool -B -n 19 -e make modules_prepare
-               sudo schedtool -B -n 19 -e make -j$(echo $(nproc) -4 | bc) || exit 1
-               sudo emerge @module-rebuild
-               sudo schedtool -B -n 19 -e make modules_install
-               sudo schedtool -B -n 19 -e make install
+               echo "Changed to directory: $(pwd -P)"
+               do_build
                echo "Build completed. Remember to upgrayyedd /usr/src/config-* if necessary."
                exit 0
         ;;
@@ -68,14 +73,8 @@ case "$1" in
                echo "Building $MOSTRECENT"
                echo ""
                cd "/usr/src/linux" || exit 1
-               sudo make mrproper
-               sudo cp "/usr/src/config-gentoo" "./.config" || exit 1
-               sudo schedtool -B -n 19 -e make oldconfig
-               sudo schedtool -B -n 19 -e make modules_prepare
-               sudo LLVM=1 LLVM_IAS=1 LDFLAGS="${LDFLAGS} -fuse-ld=mold" schedtool -B -n 19 -e make -j$(echo $(nproc) -4 | bc) || exit 1
-               sudo emerge @module-rebuild
-               sudo schedtool -B -n 19 -e make modules_install
-               sudo schedtool -B -n 19 -e make install
+               echo "Changed to directory: $(pwd -P)"
+               LLVM=1 do_build
                echo "Build completed. Remember to upgrayyedd /usr/src/config-* if necessary."
                exit 0
         ;;
@@ -87,14 +86,8 @@ case "$1" in
                echo "Building $MOSTRECENT"
                echo ""
                cd "/usr/src/linux" || exit 1
-               sudo make mrproper
-               sudo cp "/usr/src/config-git" "./.config" || exit 1
-               sudo schedtool -B -n 19 -e make oldconfig
-               sudo schedtool -B -n 19 -e make modules_prepare
-               sudo schedtool -B -n 19 -e make -j$(echo $(nproc) -4 | bc) || exit 1
-               sudo emerge @module-rebuild
-               sudo schedtool -B -n 19 -e make modules_install
-               sudo schedtool -B -n 19 -e make install
+               echo "Changed to directory: $(pwd -P)"
+               do_build
                echo "Build completed. Remember to upgrayyedd /usr/src/config-* if necessary."
                exit 0
         ;;
@@ -106,14 +99,8 @@ case "$1" in
                echo "Building $MOSTRECENT"
                echo ""
                cd "/usr/src/linux" || exit 1
-               sudo make mrproper
-               sudo cp "/usr/src/config-server" "./.config" || exit 1
-               sudo schedtool -B -n 19 -e make oldconfig
-               sudo schedtool -B -n 19 -e make modules_prepare
-               sudo schedtool -B -n 19 -e make -j$(echo $(nproc) -4 | bc) || exit 1
-               sudo emerge @module-rebuild
-               sudo schedtool -B -n 19 -e make modules_install
-               sudo schedtool -B -n 19 -e make install
+               echo "Changed to directory: $(pwd -P)"
+               do_build
                echo "Build completed. Remember to upgrayyedd /usr/src/config-* if necessary."
                exit 0
         ;;
@@ -124,14 +111,18 @@ case "$1" in
         $precmd eclean-kernel -aA -L std
         ;;
     log)
-        grep -i --color=auto -i "completed" /var/log/emerge.log
+        grep -i --color=auto "completed" /var/log/emerge.log
+        echo "note: use 'date -d @[unixtime]' to convert the timestamp"
+        ;;
+    unlog)
+        grep -i --color=auto "unmerging" /var/log/emerge.log
         echo "note: use 'date -d @[unixtime]' to convert the timestamp"
         ;;
     testify)
         echo "${@:2}"
-        echo "$precmd"
+        echo "Precmd is: $precmd"
         ;;
     *)
-        echo "Currently available commands: 'refresh', 'again', 'skipkernel', 'clean', 'livebuilds', 'log', 'kernel-gentoo', 'kernel-llvm', 'kernel-git', 'kernel-server', 'clean-kernels'"
+        echo "Currently available commands: 'check', '--', 'skipkernel', 'clean', 'livebuilds', 'log', 'unlog', 'kernel-gentoo', 'kernel-llvm', 'kernel-git', 'kernel-server', 'clean-kernels'"
         ;;
 esac