From 6f0164664965753e5174330d180461f0a99a92ea Mon Sep 17 00:00:00 2001 From: Ian Kelling Date: Wed, 21 Jul 2021 18:06:46 -0400 Subject: [PATCH] mostly fixes --- btrbk-run | 10 +++---- check-subvol-stale | 24 ++++++++++++++--- distro-begin | 2 +- distro-end | 38 ++++++++++++++++++++++----- filesystem/etc/apt/apt.conf.d/02proxy | 35 +++++++++++++++++++++++- mail-setup | 12 +++++++++ mailtest-check | 5 +--- mount-latest-remote | 3 +-- mount-latest-subvol | 36 ++++++++++++++++--------- subdir_files/sieve/liststest.sieve | 1 + 10 files changed, 131 insertions(+), 35 deletions(-) diff --git a/btrbk-run b/btrbk-run index 88676be..fe9ffce 100644 --- a/btrbk-run +++ b/btrbk-run @@ -142,14 +142,14 @@ if $verbose; then fi ### end options parsing -# note, this test succeeds if not installed +# remove path from earlier version of btrbk +rm -f /usr/sbin/btrbk +# note, this still works as intended if there is no /usr/bin/btrbk if [[ /a/opt/btrbk/btrbk -nt /usr/bin/btrbk ]]; then if [[ -e /b/distro-functions/src/package-manager-abstractions ]]; then . /b/distro-functions/src/package-manager-abstractions pi asciidoctor fi - # remove path from earlier version of btrbk - rm -f /usr/sbin/btrbk cd /a/opt/btrbk m make m sudo make install @@ -183,8 +183,8 @@ if [[ ! -v targets && ! $source ]]; then fi ;;& kw|x2|x3|sy) - if $at_work && ping -q -c1 -w1 iank.vpn2.office.fsf.org &>/dev/null; then - home=iank.vpn2.office.fsf.org + if $at_work && ping -q -c1 -w1 iank.vpn.office.fsf.org &>/dev/null; then + home=iank.vpn.office.fsf.org else home=b8.nz fi diff --git a/check-subvol-stale b/check-subvol-stale index d20c1aa..3d64988 100644 --- a/check-subvol-stale +++ b/check-subvol-stale @@ -16,8 +16,7 @@ [[ $EUID == 0 ]] || exec sudo -E "${BASH_SOURCE[0]}" "$@" -set -eE -o pipefail -trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?. PIPESTATUS: ${PIPESTATUS[@]}" >&2' ERR +source /usr/local/lib/err shopt -s nullglob @@ -83,6 +82,20 @@ d() { fi } +# duplicated in mount-latest-sub +mapper-dev() { + local mapdev + local -n devref=$1 + if [[ $devref == /dev/dm-* ]]; then + for mapdev in /dev/mapper/*; do + if [[ $(readlink -f $mapdev) == "$devref" ]]; then + devref=$mapdev + break + fi + done + fi +} + for d; do if $subvol_path; then svp=$d @@ -105,7 +118,12 @@ for d; do ### this is duplicated in mount-latest-subvol # note, we need $dev because $d might not be mounted, and we do this loop # because the device in fstab for the rootfs can be different. - for devx in $(btrfs fil show $dev| sed -rn 's#.*path (/\S+)$#\1#p'); do + for devx in $(btrfs fil show $dev| sed -rn 's#.*path (\S+)$#\1#p'); do + if [[ $devx == dm-* ]]; then + devx=/dev/$devx + d mapper-dev $devx + mapper-dev devx + fi d devx=$devx root_dir=$(sed -rn "s,^\s*$devx\s+(\S+).*\bsubvolid=[05]\b.*,\1,p" /etc/mtab /etc/fstab|head -n1) if [[ $root_dir ]]; then diff --git a/distro-begin b/distro-begin index 0e0af0f..e84c883 100755 --- a/distro-begin +++ b/distro-begin @@ -351,7 +351,7 @@ fi if isdeb && [[ $(debian-codename) == nabia ]]; then sudo dd of=/etc/apt/preferences.d/nabia-focal-missing <<'EOF' Explanation: libilmbase* are needed for emacs -Package: libilmbase-dev libilmbase24 unrar-free pidgin pidgin-* libpurple0 p7zip mumble lightdm mate-desktop-environment mate-menus mate-panel mate-session-manager ubuntu-mate-default-settings mate-control-center mate-control-center-common lightdm-gtk-greeter firefox libfdk-aac1 +Package: libilmbase-dev libilmbase24 unrar-free pidgin pidgin-* libpurple0 p7zip mumble lightdm liblightdm-gobject-1-0 mate-desktop-environment mate-desktop-environment-* mate-panel mate-panel-* libmate-* mate-menus gir1.2-matemenu-2.0 mate-session-manager ubuntu-mate-default-settings mate-control-center mate-control-center-common lightdm-gtk-greeter firefox libfdk-aac1 mate-media mate-media-common Pin: release n=focal,o=Ubuntu Pin-Priority: 500 EOF diff --git a/distro-end b/distro-end index b1de654..66d6758 100755 --- a/distro-end +++ b/distro-end @@ -84,6 +84,8 @@ pi ${p2[@]} conflink +sudo rm -fv + # no equivalent in other distros: if isdeb && pcheck apt-file; then # this condition is just a speed optimization @@ -148,13 +150,11 @@ pi debootstrap ######### begin universal pinned packages ###### case $(debian-codename) in nabia|etiona|flidas) - sd /etc/apt/preferences.d/etiona-buster </etc/exim4/conf.d/rewrite/34_iank_rewriting <<'EOF' +ncsoft@zroe.org graceq2323@gmail.com hE +EOF + rm -vf /etc/exim4/conf.d/main/000_localmacros # old filename cat >/etc/exim4/conf.d/main/000_local <&2; exit 1; fi -shopt -s inherit_errexit 2>/dev/null ||: # ignore fail in bash < 4.4 -set -eE -o pipefail -trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?. PIPESTATUS: ${PIPESTATUS[*]}" >&2' ERR +source /b/errhandle/err [[ $EUID == 0 ]] || exec sudo -E "${BASH_SOURCE[0]}" "$@" diff --git a/mount-latest-remote b/mount-latest-remote index 3e36009..41fd2fc 100755 --- a/mount-latest-remote +++ b/mount-latest-remote @@ -13,8 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set -eE -o pipefail -trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR +source /usr/local/lib/err script_dir=$(dirname $(readlink -f "$BASH_SOURCE")) diff --git a/mount-latest-subvol b/mount-latest-subvol index eadb6c0..caa6177 100644 --- a/mount-latest-subvol +++ b/mount-latest-subvol @@ -131,6 +131,21 @@ umount-kill() { fi } +# duplicated in check-subvol +mapper-dev() { + local mapdev + local -n devref=$1 + if [[ $devref == /dev/dm-* ]]; then + for mapdev in /dev/mapper/*; do + if [[ $(readlink -f $mapdev) == "$devref" ]]; then + devref=$mapdev + break + fi + done + fi +} + + ##### begin command line parsing ######## # you can remove this if you do not have options which can have args with spaces or empty. @@ -170,18 +185,6 @@ if [[ -e /mnt/root/root2-fstab ]]; then mnt /mnt/boot2 fi -mapper-dev() { - local -n devref=$1 - if [[ $devref == /dev/dm-* ]]; then - for d in /dev/mapper/*; do - if [[ $(readlink -f $d) == "$root_dev" ]]; then - devref=$d - break - fi - done - fi -} - root_dev=$(awk '$2 == "/" {print $1}' /etc/mtab) mapper-dev root_dev @@ -327,9 +330,16 @@ for vol in q a o i; do ### begin getting root_dir ### this is duplicated in check-subvol-stale + + dev=$(sed -rn "s,^\s*([^#]\S*)\s+$d\s.*,\1,p" /etc/fstab /etc/mtab|head -n1) + d dev=$dev # note, we need $dev because $d might not be mounted, and we do this loop # because the device in fstab for the rootfs can be different. - for devx in $(btrfs fil show $dev| sed -rn 's#.*path (/\S+)$#\1#p'); do + for devx in $(btrfs fil show $dev| sed -rn 's#.*path (\S+)$#\1#p'); do + if [[ $devx == dm-* ]]; then + devx=/dev/$devx + mapper-dev devx + fi d devx=$devx root_dir=$(sed -rn "s,^\s*$devx\s+(\S+).*\bsubvolid=[05]\b.*,\1,p" /etc/mtab /etc/fstab|head -n1) if [[ $root_dir ]]; then diff --git a/subdir_files/sieve/liststest.sieve b/subdir_files/sieve/liststest.sieve index 1fda5cd..0e44307 100644 --- a/subdir_files/sieve/liststest.sieve +++ b/subdir_files/sieve/liststest.sieve @@ -32,6 +32,7 @@ if anyof ( if anyof ( header :contains "list-id" "", header :contains "list-id" "", + header :contains "list-id" "", header :contains "list-id" "", header :contains "list-id" "", header :contains "list-id" "", -- 2.30.2