X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=switch-mail-host;h=ce1bc86abc5cb3259de218c88c6b5604af653dab;hb=d67edcdca8795a4bca116aa532d02dda246a6f53;hp=3f299bab601488f44c7d4a7f64ce2601c04ed76c;hpb=523b7ff889aaafdcd997d84b2a06744993018e89;p=distro-setup diff --git a/switch-mail-host b/switch-mail-host index 3f299ba..ce1bc86 100644 --- a/switch-mail-host +++ b/switch-mail-host @@ -1,6 +1,6 @@ #!/bin/bash -source /usr/local/lib/err +set -e; . /usr/local/lib/bash-bear; set +e usage() { cat </dev/null; then - bufs="$(sudo -u iank env XDG_RUNTIME_DIR=/run/user/1000 emacsclient --eval "$(cat /a/bin/ds/unsaved-buffers.el)"| sed '/^"nil"$/d;s/^"(/E: /;s/)"$//')" - if [[ $bufs ]]; then - echo "error: on $HOSTNAME, unsaved emacs files: $bufs" >&2 - exit 1 - fi -fi -EOF + cat /usr/local/bin/unsaved-buffers if ! $host2_only; then cat </dev/null; then - bufs="$(sudo -u iank env XDG_RUNTIME_DIR=/run/user/1000 emacsclient --eval "$(cat /a/bin/ds/unsaved-buffers.el)"| sed '/^"nil"$/d;s/^"(/E: /;s/)"$//')" - if [[ $bufs ]]; then - echo "error: on $HOSTNAME, unsaved emacs files: $bufs" >&2 - exit 1 - fi -fi + cat /usr/local/bin/unsaved-buffers - <<'EOF' | $old_shell bash -s # Try to prevent emacs from saving stale data it has in memory to disk. eg: files, recentf list, etc. # But if emacs ignores the signal, let it live. @@ -350,15 +344,18 @@ fi e Running main btrbk m btrbk-run -v --fast $bbk_args $force_arg $incremental_arg -m /o || ret=$? if (( ret )); then - bang="$(printf "$(tput setaf 5)█$(tput sgr0)%.0s" 1 2 3 4 5 6 7)" + bang="███████" e $bang failed btrbk of /o. restoring old host as primary - m $old_shell /a/exe/primary-setup localhost + if ! m $old_shell /a/exe/primary-setup localhost; then + die "due to failed btrbk of /o, we tried to restore old host as primary, but then we failed at that too. To resolve: Fix & rerun switch-mail-host, or fix and rerun primary-setup localhost on old shell so you have a working mail server and then rerun switch-mail-host." + fi + e finished restoring old host as primary, now exiting $ret due to earlier failed btrbk of /o. exit $ret fi # new system is usable at this point blocks=██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ -printf "%s\n" "$(tput setaf 5 2>/dev/null ||:)${blocks:0:${COLUMNS:-180}}$(tput sgr0 2>/dev/null||:)" +printf "%s\n" "${blocks:0:${COLUMNS:-100}}" # once I accidentally accepted incoming mail on old host. I used this script to copy over that mail: #