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 -a "$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 -a --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
 |