mostly fixes and improvements
[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 mount -o subvol=debianbullseye_bootstrap $dev /mnt/tmptimer
27 cd /mnt/tmptimer
28 for d in dev proc sys dev/pts; do
29 [[ -d $d ]]
30 if ! mountpoint $d &>/dev/null; then
31 mount -o bind /$d $d
32 fi
33 done
34 chroot . apt-get -y update
35 chroot . apt-get -y dist-upgrade --purge --auto-remove
36
37 for d in dev/pts dev proc sys; do
38 if mountpoint $d &>/dev/null; then
39 umount $d
40 fi
41 done