X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=primary-setup;h=df30f294662019352acd32ac79d9251a7f391b87;hb=165008e5b82c81ebff1061c8f8294c3bc6e9dced;hp=22ec48eb9c1b8539895a3c36d9fd6cabb5d27c7c;hpb=f7eaad64a7c5f3bc851f146e1f258d34f398a7d7;p=distro-setup diff --git a/primary-setup b/primary-setup index 22ec48e..df30f29 100755 --- a/primary-setup +++ b/primary-setup @@ -1,28 +1,42 @@ #!/bin/bash # usage $0 [MAIL_HOST] +# setup things which involve being the primary host or not -set -eE -o pipefail -trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR +source /usr/local/lib/err -# setup things which involve being the primary host or not +pre="${0##*/}:" +m() { printf "$pre %s\n" "$*"; "$@"; } +e() { printf "$pre %s\n" "$*"; } +err() { echo "[$(date +'%Y-%m-%d %H:%M:%S%z')]: $0: $*" >&2; } + + +if [[ $EUID == 0 && ! $SUDO_USER ]]; then + err "requires running as nonroot or sudo" + exit 1 +fi if [[ $1 ]]; then new_host=$1 - sed -ri "s/MAIL_HOST=.*/MAIL_HOST=$new_host/" /a/bin/bash_unpublished/source-state + if [[ $new_host == localhost ]]; then + new_host=$HOSTNAME + fi + m sed -ri "s/MAIL_HOST=.*/MAIL_HOST=$new_host/" /a/bin/bash_unpublished/source-state source /a/bin/bash_unpublished/source-state fi -if [[ $HOSTNAME == $MAIL_HOST ]]; then +if [[ $HOSTNAME == "$MAIL_HOST" ]]; then # arbtt disabled for now #DISPLAY=:0 arbtt-capture --sample-rate=10 & - sudo systemctl start rss2email.timer - sudo systemctl enable rss2email.timer + m sudo systemctl start rss2email.timer + m sudo systemctl enable rss2email.timer + m sudo systemctl start btrbk.timer + m sudo systemctl enable btrbk.timer else - sudo systemctl stop rss2email.timer - sudo systemctl stop rss2email.service - sudo systemctl disable rss2email.timer + m sudo systemctl stop rss2email.timer + m sudo systemctl stop rss2email.service + m sudo systemctl disable rss2email.timer # arbtt disabled for now # for ((i=0; i<10; i++)); do # killall arbtt-capture || break @@ -33,6 +47,23 @@ else # done fi -mail-setup +if dpkg -s radicale &>/dev/null; then + if [[ $HOSTNAME == "$MAIL_HOST" ]]; then + m sudo systemctl restart radicale + m sudo systemctl enable radicale + if [[ -e /etc/logrotate.d/radicale.disabled ]]; then + m sudo mv /etc/logrotate.d/radicale{.disabled,} + fi + else + m sudo systemctl stop radicale + m sudo systemctl disable radicale + # weekly logrotate tries to restart radicale even if it's a disabled service in flidas. + if [[ -e /etc/logrotate.d/radicale ]]; then + m sudo mv /etc/logrotate.d/radicale{,.disabled} + fi + fi +fi + +m /a/exe/mail-setup exit 0 :