echo "MAIL_HOST=$MAIL_HOST, nothing to do"
exit 0
fi
+
+ at_work=false
+
case $HOSTNAME in
- kw|x2)
- if ping -q -c1 -w1 iank.vpn.office.fsf.org &>/dev/null; then
+ kw)
+ at_work=true
+ ;;&
+ x2|x3)
+ if ping -q -c1 -w1 hal.office.fsf.org \
+ && ip n show 192.168.0.26 | grep . &>/dev/null; then
+ at_work=true
+ fi
+ ;;&
+ kw|x2|x3)
+ 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
kw)
targets=($home x2)
;;
- x2)
+ x2|x3)
targets=($home kw)
;;
- x3)
- targets=($home)
- ;;
tp)
# kd disabled temporarily while its hot and i plan to work on it.
#targets=(frodo kd)
}
-
common-file-setup() {
- local dir fs x f
+ local dir fs x f systemd_reload
+ systemd_reload=false
for dir in "$@"; do
fs=$dir/filesystem
if [[ -e $fs && $user =~ ^iank?$ ]]; then
+ # this could be done with rsync, something like this,
+ # but I haven't looked at the symlinks.
+ # s rsync -n -ahviSAXPH --specials --devices --chown=root:root --chmod=g-s $fs /
# note, symlinks get resolved, not copied.
+ if s tar --mode=g-s --owner=0 --group=0 -cz -C $fs . | s tar -dz -C / | grep /etc/systemd &>/dev/null; then
+ systemd_reload=true
+ fi
s tar --mode=g-s --owner=0 --group=0 -cz -C $fs . | s tar -xz -C /
fi
(( ${#x[@]} >= 1 )) || continue
m lnf ${x[@]} ~
done
+ if $systemd_reload; then
+ m s systemctl daemon-reload
+ fi
}
user=$(id -un)