e762246d09756f9c12c9d3042e0d433c7a69c304
2 # Copyright (C) 2019 Ian Kelling
3 # SPDX-License-Identifier: AGPL-3.0-or-later
5 if [ -z "$BASH_VERSION" ]; then echo "error: shell is not bash" >&2; exit 1; fi
7 source /usr
/local
/lib
/err
9 m
() { printf "$pre %s\n" "$*"; "$@"; }
10 e
() { printf "$pre %s\n" "$*"; }
11 err
() { echo "[$(date +'%Y-%m-%d %H:%M:%S%z')]: $pre: $*" >&2; }
13 if [[ $EUID == 0 ]]; then
19 source /a
/bin
/bash_unpublished
/source-state
20 if [[ $HOSTNAME == "$MAIL_HOST" ||
$hn == li.b8.nz
]]; then
25 "$@" |
& systemd-cat
-t myupgrade
27 l
/a
/bin
/buildscripts
/tor-browser
28 l
/a
/bin
/buildscripts
/go
29 l
/a
/bin
/buildscripts
/rust
30 l
/a
/bin
/buildscripts
/misc
31 l go get
-u mvdan.cc
/fdroidcl
33 cmd
="sudo /usr/sbin/checkrestart -p"
34 if [[ $
($cmd |
sed '/^Found 0 processes using old versions of upgraded files$/d' |
wc -l) != 0 ]]; then
35 $cmd -v | pee
cat "wall -n"
38 if [[ -s /var
/log
/checkrestart.log
]]; then
40 echo "pid $PID. unattended upgrade, rebooting in $((x*10)) seconds" | wall
-n
44 if ! fuser
/var
/lib
/dpkg
/lock
&> /dev
/null
; then
45 echo "pid $PID. unattended upgrade, rebooting now" | pee
cat "wall -n"
49 echo "pid $PID. unattended upgrade reboot waiting 10 seconds for dpkg lock" | wall
-n
52 echo "pid $PID. dpkg locked for 5 minutes, automatic reboot failed" | pee
cat "wall -n"