brew/package/scripts/postinstall
2022-12-23 19:36:13 +01:00

55 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
# $1 Full path to the installer - unused
# $2 Location of the temporary brew install we're moving into place
# $3 Target install location - unused
# $4 System root directory - unused
set -e
# verify the files exist
tmp_brew="$2"
if [[ ! -d "${tmp_brew:?}" ]]
then
echo "no directory at ${tmp_brew}, exiting"
exit 1
fi
# pick the correct target
if [[ $(uname -m) == "x86_64" ]]
then
target="/usr/local"
else
target="/opt/Homebrew"
fi
loggedInUser=$(echo "show State:/Users/ConsoleUser" | scutil | awk '/Name :/ { print $3 }')
if [[ -f "${target}/bin/brew" ]]
then
if [[ $(sudo -u"${loggedInUser}" git -C "${target}" branch --show-current) != "master" ]]
then
echo "working on brew modifications, exiting"
rm -rf "${tmp_brew:?}/*"
exit 0
fi
if [[ $("${tmp_brew}/bin/brew" --version | head -n1) != $("${target}/bin/brew" --version | head -n1) ]]
then
echo "already an outdated install at ${target}, updating"
sudo -u"${loggedInUser}" "${target}/bin/brew" update --auto-update
else
echo "already an up-to-date install at ${target}, exiting"
fi
rm -rf "${tmp_brew:?}/*"
exit 0
fi
group=$(id -gn "${loggedInUser}")
install -d -o "${loggedInUser}" -g "${group}" "${target}"
cp -RX "${tmp_brew}/" "${target}"
# set permissions
chown -R "${loggedInUser}:${group}" "${target}/*"
# cleanup
rm -rf "${tmp_brew:?}/*"