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
;;
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
;;
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
;;
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
;;
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
;;
$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