#!/bin/bash
-source /a/bin/errhandle/err
+source /a/bin/bash-bear-trap/bash-bear
err-cleanup() {
echo 1 >~/.local/conflink
}
local fullpath
fullpath="$(readlink -f "$path")"
if [[ -f $path || $(dirname "$fullpath") == "$below" ]]; then
- m lnf -T "$path" "$HOME/${path#$root/}"
+ m lnf -T "$path" "$HOME/${path#"$root/"}"
elif [[ -d "$path" ]]; then
subdir-link-r "$root" "$path"
fi
# we dont want t, instead c for checksum.
# That way we dont set times on directories.
# -a = -rlptgoD
- cmd=( s rsync -rclpgoDiSAX --chmod=Dg-s --chown=root:root
+ # -A is acls, implies -p
+ cmd=( s rsync -rclgoDiSAX --chmod=Dg-s --chown=root:root
--exclude=/etc/dovecot/users
--exclude='/etc/exim4/passwd*'
--exclude='/etc/exim4/*.pem'
m s chgrp -R bind $f
m s chmod g+w $f
fi
+ # shellcheck disable=SC2016 # obviously expected
s bash -c 'shopt -s nullglob; for f in /etc/bind/*.key /etc/bind/*.private /etc/bind/key.*; do chgrp bind $f; done'
if [[ -e /etc/caldav-htpasswd ]] && getent group www-data &>/dev/null; then
s chgrp www-data /etc/caldav-htpasswd
if [[ -d /var/lib/bitcoind && -d /p/c/user-specific/bitcoin ]]; then
s rsync -clpgoDiSAX --chmod=Dg-s --chown=bitcoin:bitcoin /p/c/user-specific/bitcoin/settings.json /var/lib/bitcoind
- # i'm not sure of the perfect permissions here, but
- # 640 seems good.
s rsync -rclpgoDiSAX --chmod=Dg-s --chown=root:bitcoin /p/c/user-specific/bitcoin/bitcoin /etc
fi
+ # this folder strangely requires ownership as icecast2
+ if [[ -d /etc/icecast2 && -f /p/c/icecast.xml ]]; then
+ m s rsync -rclgoDiSAX --chmod=0644 --chown=root:root /p/c/icecast.xml /etc/icecast2
+ fi
##### end special extra stuff #####
if ! $fast; then