X-Git-Url: https://iankelling.org/git/?p=distro-setup;a=blobdiff_plain;f=switch-mail-host;h=df0b83605ee25fc8c7743504d18a5698278a2916;hp=edfc30ac827e7a5ca78443c2c23a4ef44b77c792;hb=HEAD;hpb=9a0f77b0495e6f2643d5646c54b4c99cf3118c67 diff --git a/switch-mail-host b/switch-mail-host index edfc30a..053134a 100644 --- a/switch-mail-host +++ b/switch-mail-host @@ -1,4 +1,25 @@ #!/bin/bash +# I, Ian Kelling, follow the GNU license recommendations at +# https://www.gnu.org/licenses/license-recommendations.en.html. They +# recommend that small programs, < 300 lines, be licensed under the +# Apache License 2.0. This file contains or is part of one or more small +# programs. If a small program grows beyond 300 lines, I plan to switch +# its license to GPL. + +# Copyright 2024 Ian Kelling + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + set -e; . /usr/local/lib/bash-bear; set +e @@ -113,6 +134,26 @@ source /a/bin/bash_unpublished/source-state direction=$1 host=$2 +case $script_name in + switch-mail-host) + if [[ $MAIL_HOST != "$HOST2" ]]; then + mail_only=true + fi + ;; + switch-host2) + host2_only=true + ;; + *) + err unexpected script name + ;; +esac + +if $mail_only; then + mp_args="-m /o" +elif $host2_only; then + mp_args="-m /a,/q,/qd,/qr" +fi + if ! $force && { $check_installed || [[ $direction == push ]]; } ; then install_bin_files=( @@ -175,7 +216,7 @@ case $direction in fi done if $diff; then - e "found different version on old_host=$old_hostname, reexecing" + e "found different version on old_host=$old_host, reexecing" m /usr/local/bin/switch-mail-host --pull-reexec "${orig_args[@]}" exit 0 fi @@ -197,25 +238,6 @@ case $direction in ;; esac -case $script_name in - switch-mail-host) - if [[ $MAIL_HOST != "$HOST2" ]]; then - mail_only=true - fi - ;; - switch-host2) - host2_only=true - ;; - *) - err unexpected script name - ;; -esac - -if $mail_only; then - mp_args="-m /o" -elif $host2_only; then - mp_args="-m /a,/q,/qd,/qr" -fi if ! $force; then if $host2_only; then @@ -267,12 +289,13 @@ while $active; do done done -# ensure these are unused before doing anything -e "On $new_host: umounting /m and /o, checking emacs" -{ - cat /usr/local/bin/unsaved-buffers - if ! $host2_only; then - cat <