Files
2021-06-13 15:01:57 +03:00

78 lines
2.8 KiB
Bash
Executable File

#!/bin/bash
# install.sh
# ALCPlugFix-Swift
#
# Created by Nick on 10/14/20.
#
# Get hold of actual directory
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
pledit=/usr/libexec/PlistBuddy
# Clean up old installs
function cleanUpOldInstall() {
# Remove codec commander based ALCPlugFix
sudo launchctl unload /Library/LaunchAgents/good.win.ALCPlugFix.plist
sudo rm -rf /Library/LaunchAgents/good.win.ALCPlugFix.plist
# Remove any existing alc-verb install
sudo launchctl unload /Library/LaunchAgents/com.black-dragon74.ALCPlugFix.plist
sudo rm -rf /Library/LaunchAgents/com.black-dragon74.ALCPlugFix.plist
}
# Function that exits with an error code and message
function abort() {
echo $1
exit 1
}
echo "** **"
echo "** Installing ALCPlugFix (AppleALC variant) **"
echo "** **"
echo ""
read -p "Please drag your config file to the terminal: " inputFile
# Verify the input file
if [[ ! -z $inputFile && -f $inputFile ]]; # If input exists and is of type 'file'
then
# Verify if it is a correct PLIST file
if /usr/bin/plutil "$inputFile" | grep -q "OK";
then
# Plist is valid, write the inputfile path to it
$pledit -c "Set ProgramArguments:1 $inputFile" ./com.black-dragon74.ALCPlugFix.plist || abort "Failed to write to launchd plist"
else
abort "The provided file is not a valid plist"
fi
else
abort "Invalid input."
fi
# Set the logs to be ~/Library/Logs
#$pledit -c "Set StandardOutPath ${HOME}/Library/Logs/alcplugfix_stdout.log" ./com.black-dragon74.ALCPlugFix.plist || abort "Failed to write STDOUT logpath to plist"
#$pledit -c "Set StandardErrorPath ${HOME}/Library/Logs/alcplugfix_stderr.log" ./com.black-dragon74.ALCPlugFix.plist || abort "Failed to write STDERR logpath to plist"
echo ""
echo "** Removing old installs **"
cleanUpOldInstall 2>/dev/null
echo "** Copying new files **"
sudo cp "$DIR/ALCPlugFix-Swift" /usr/local/bin/ALCPlugFix || abort "Failed to copy ALCPlugFix"
sudo cp "$DIR/com.black-dragon74.ALCPlugFix.plist" /Library/LaunchAgents || abort "Failed to copy launchd plist file"
echo "** Setting permissions **"
sudo chmod 755 /usr/local/bin/ALCPlugFix
sudo chmod 644 /Library/LaunchAgents/com.black-dragon74.ALCPlugFix.plist
sudo chown root:wheel /usr/local/bin/ALCPlugFix
sudo chown root:wheel /Library/LaunchAgents/com.black-dragon74.ALCPlugFix.plist
echo "** Loading launch daemon **"
sudo launchctl load /Library/LaunchAgents/com.black-dragon74.ALCPlugFix.plist
echo "** **"
echo "** All done. Enjoy! **"
echo "** **"