From: Andre Ramnitz Date: Mon, 27 Oct 2025 22:31:25 +0000 (+0100) Subject: upgrayyedd: refactor X-Git-Url: https://git.ramnitz.eu/?a=commitdiff_plain;h=d4710fc2c64b3a3442f2fd0184adf14fa00497fb;p=dotfiles.git upgrayyedd: refactor --- diff --git a/dot-local/bin/upgrayyedd b/dot-local/bin/upgrayyedd index 55fa608a..af4415aa 100755 --- a/dot-local/bin/upgrayyedd +++ b/dot-local/bin/upgrayyedd @@ -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