X-Git-Url: https://iankelling.org/git/?p=distro-setup;a=blobdiff_plain;f=filesystem%2Fusr%2Flocal%2Fbin%2Fmyupgrade;h=eedc62d1e8bb63e2316cdc0d2a8b1ca86425df55;hp=e762246d09756f9c12c9d3042e0d433c7a69c304;hb=32a1673064cfd9eaa165b4ea62fa416f02f3dfd2;hpb=4d0dc703ef2e62cd16ea84f27456f6f50f74baa3 diff --git a/filesystem/usr/local/bin/myupgrade b/filesystem/usr/local/bin/myupgrade index e762246..eedc62d 100755 --- a/filesystem/usr/local/bin/myupgrade +++ b/filesystem/usr/local/bin/myupgrade @@ -17,17 +17,31 @@ fi hn=$(hostname -f) source /a/bin/bash_unpublished/source-state -if [[ $HOSTNAME == "$MAIL_HOST" || $hn == li.b8.nz ]]; then - exit 0 -fi l() { "$@" |& systemd-cat -t myupgrade } -l /a/bin/buildscripts/tor-browser -l /a/bin/buildscripts/go l /a/bin/buildscripts/rust -l /a/bin/buildscripts/misc + +has_x=false +for pkg in xorg wayland; do + if dpkg -s -- $x |& grep -Fx "Status: install ok installed" &> /dev/null; then + has_x=true + break + fi +done + +if $has_x; then + l /a/bin/buildscripts/tor-browser + l /a/bin/buildscripts/misc +fi + + +source /a/bin/distro-setup/path-add-function +export GOPATH=$HOME/go +path-add $GOPATH/bin +path-add /usr/local/go/bin +l /a/bin/buildscripts/go l go get -u mvdan.cc/fdroidcl cmd="sudo /usr/sbin/checkrestart -p" @@ -35,19 +49,24 @@ if [[ $($cmd | sed '/^Found 0 processes using old versions of upgraded files$/d' $cmd -v | pee cat "wall -n" fi +# no automatic reboot for these hosts +if [[ $HOSTNAME == "$MAIL_HOST" || $hn == li.b8.nz ]]; then + exit 0 +fi + if [[ -s /var/log/checkrestart.log ]]; then for x in {30..1}; do - echo "pid $PID. unattended upgrade, rebooting in $((x*10)) seconds" | wall -n + echo "pid $PID. unattended upgrade, rebooting in $((x*10)) seconds" | sudo wall -n sleep 10 done for x in {30..1}; do if ! fuser /var/lib/dpkg/lock &> /dev/null; then - echo "pid $PID. unattended upgrade, rebooting now" | pee cat "wall -n" + echo "pid $PID. unattended upgrade, rebooting now" | pee cat "sudo wall -n" sudo /sbin/reboot exit 0 fi - echo "pid $PID. unattended upgrade reboot waiting 10 seconds for dpkg lock" | wall -n + echo "pid $PID. unattended upgrade reboot waiting 10 seconds for dpkg lock" | sudo wall -n sleep 10 done - echo "pid $PID. dpkg locked for 5 minutes, automatic reboot failed" | pee cat "wall -n" + echo "pid $PID. dpkg locked for 5 minutes, automatic reboot failed" | pee cat "sudo wall -n" fi