#!/bin/bash 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" "$target/bin/brew" developer) =~ "enabled" ]]; then echo "developer install, exiting" 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 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:?}/*"