X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=filesystem%2Fusr%2Flocal%2Fbin%2Fmyupgrade;h=f2c5aec0850209d76f080b98559c8f752be3b189;hb=d67edcdca8795a4bca116aa532d02dda246a6f53;hp=6c4ed879a7ee4baeb24c5e201e417534b967274b;hpb=51c8b40fd2aac71d29dc9298ca65425725ad1edd;p=distro-setup diff --git a/filesystem/usr/local/bin/myupgrade b/filesystem/usr/local/bin/myupgrade index 6c4ed87..f2c5aec 100755 --- a/filesystem/usr/local/bin/myupgrade +++ b/filesystem/usr/local/bin/myupgrade @@ -7,9 +7,8 @@ # Note: running this inside a cronjob, it wont mail any output if we end # up rebooting from this script. -if [ -z "$BASH_VERSION" ]; then echo "error: shell is not bash" >&2; exit 1; fi +set -e; . /usr/local/lib/bash-bear; set +e -source /usr/local/lib/bash-bear pre="${0##*/}:" PATH="/sbin:$PATH" m() { printf "$pre %s\n" "$*"; "$@"; } @@ -30,6 +29,11 @@ d() { fi } myreboot() { + if [[ -e /tmp/myupgrade-noreboot ]]; then + e "would rebooted but /tmp/myupgrade-noreboot exists" + return + fi + for x in {30..1}; do echo "pid $$. unattended upgrade, rebooting in $((x*10)) seconds" | wall -n 2>/dev/null sleep 10 @@ -87,7 +91,7 @@ sleep 1 # isolation instead of as part of bring up and down the whole desktop. # But, I'd rather something gets messed up than things not get # restarted. -if ! /sbin/needrestart -p -l &>/dev/null; then +if ! /sbin/needrestart -p &>/dev/null; then if [[ $hn == "$MAIL_HOST" || $hn == kd ]]; then # send us an email so we can decide what to do needrestart -r l