X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=filesystem%2Fusr%2Flocal%2Fbin%2Fmyupgrade;h=1b39e7ff1c881f5b63432319b4a59aa13fa108de;hb=5fc2a328a44bd7aac3110e7d9c49eaa3e0db8aaf;hp=3df5f0e12211b67707eb8616ed27bbd687254c65;hpb=343a048be4b32d18540c6531048d2b9a006774ae;p=distro-setup diff --git a/filesystem/usr/local/bin/myupgrade b/filesystem/usr/local/bin/myupgrade index 3df5f0e..1b39e7f 100755 --- a/filesystem/usr/local/bin/myupgrade +++ b/filesystem/usr/local/bin/myupgrade @@ -13,13 +13,28 @@ if [[ $HOSTNAME == "$MAIL_HOST" || $hn == li.b8.nz ]]; then exit 0 fi -if [[ $(/usr/sbin/checkrestart | wc -l) != 1 ]]; then +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 +l go get -u mvdan.cc/fdroidcl + +cmd="$s /usr/sbin/checkrestart -p" +if [[ $($cmd | sed '/^Found 0 processes using old versions of upgraded files$/d' | wc -l) != 0 ]]; then + $cmd -v | pee cat "wall -n" +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 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" /sbin/reboot exit 0 fi