#!/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-semi-priv
- source /a/bin/bash_unpublished/source-semi-priv
+ 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
# 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
: