38 lines
1.1 KiB
Bash
38 lines
1.1 KiB
Bash
safe_copy_config()
|
|
{
|
|
src=$1
|
|
dst=$2
|
|
$sudo_cmd mkdir -p $(dirname "$dst")
|
|
if [ -f "$dst" ]; then
|
|
$sudo_cmd rsync -av "$src" "$dst.latest"
|
|
# TODO edit config file with $my_user and $my_group
|
|
if [ "$(cat $dst)" == "$(cat $dst.latest)" ]; then
|
|
$sudo_cmd rm $dst.latest
|
|
else
|
|
echo "MANUAL INTERVENTION REQUIRED: check the systemd script update and manually decide what you want to do"
|
|
echo "diff $dst $dst.latest"
|
|
$sudo_cmd chown -R root:root "$dst.latest"
|
|
fi
|
|
else
|
|
$sudo_cmd rsync -av --ignore-existing "$src" "$dst"
|
|
fi
|
|
$sudo_cmd chown -R root:root "$dst"
|
|
$sudo_cmd chmod 644 "$dst"
|
|
}
|
|
|
|
installable=""
|
|
if [ -d "$my_root/etc/systemd/system" ]; then
|
|
source ./installer/install-for-systemd.sh
|
|
installable="true"
|
|
fi
|
|
if [ -d "/Library/LaunchDaemons" ]; then
|
|
source ./installer/install-for-launchd.sh
|
|
installable="true"
|
|
fi
|
|
if [ -z "$installable" ]; then
|
|
echo ""
|
|
echo "Unknown system service init type. You must install as a system service manually."
|
|
echo '(please file a bug with the output of "uname -a")'
|
|
echo ""
|
|
fi
|