improve licensing
[distro-setup] / conflink
index e20da6e94f743b607aac6a17553591ca569e6f00..568152989a5ade5a1eb4c1a9a18c91248403a2be 100755 (executable)
--- a/conflink
+++ b/conflink
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-source /a/bin/errhandle/err
+source /a/bin/bash-bear-trap/bash-bear
 err-cleanup() {
   echo 1 >~/.local/conflink
 }
@@ -94,7 +94,7 @@ subdir-link-r() {
     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
@@ -114,7 +114,8 @@ common-file-setup() {
       # 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'
@@ -222,6 +223,7 @@ case $user in
       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
@@ -241,10 +243,12 @@ case $user in
 
     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