mostly fixes
[distro-setup] / schrootupdate
1 #!/bin/bash
2
3 set -eE -o pipefail
4 trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
5
6 [[ $EUID == 0 ]] || exec sudo -E "${BASH_SOURCE[0]}" "$@"
7
8 for n in bullseye; do
9 if [[ -e /etc/schroot/chroot.d/$n.conf ]]; then
10 cd /
11 schroot -c $n -- apt-get -y update
12 schroot -c $n -- apt-get -y dist-upgrade --purge --auto-remove
13 fi
14 done
15
16 # if we haven't upgraded yet
17 if [[ ! -d /mnt/boot/debianbullseye_bootstrap ]]; then
18 exit 0
19 fi
20
21 dev=$(awk '$2 == "/mnt/boot" {print $1}' /etc/mtab)
22 if [[ ! $dev ]]; then
23 exit 0
24 fi
25 mkdir -p /mnt/tmptimer
26 if ! mountpoint /mnt/tmptimer &>/dev/null; then
27 mount -o subvol=debianbullseye_bootstrap $dev /mnt/tmptimer
28 fi
29 cd /mnt/tmptimer
30 for d in dev proc sys dev/pts; do
31 [[ -d $d ]]
32 if ! mountpoint $d &>/dev/null; then
33 mount -o bind /$d $d
34 fi
35 done
36 chroot . apt-get -y update
37 chroot . apt-get -y dist-upgrade --purge --auto-remove
38
39 for d in dev/pts dev proc sys; do
40 if mountpoint $d &>/dev/null; then
41 umount $d
42 fi
43 done
44 cd /
45 umount /mnt/tmptimer