mirror of
https://github.com/munki/munki.git
synced 2026-01-01 04:00:10 -06:00
38 lines
1.3 KiB
Bash
Executable File
38 lines
1.3 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
|
|
|
|
# relaunch MSC.app if it was running before we upgraded it
|
|
MSC_APP="/Applications/Managed Software Center.app"
|
|
|
|
if [ "$3" == "/" ]; then
|
|
if [ -e /tmp/com.googlecode.munki.relaunch_msc_app ] ; then
|
|
FRONTMOST=$(cat /tmp/com.googlecode.munki.relaunch_msc_app)
|
|
rm /tmp/com.googlecode.munki.relaunch_msc_app
|
|
if [ "$FRONTMOST" == "frontmost" ] ; then
|
|
OPENCMD="open -a"
|
|
else
|
|
OPENCMD="open -g -a"
|
|
fi
|
|
CONSOLEUSER=$(who | grep console | cut -d" " -f1)
|
|
if [ "$CONSOLEUSER" == "" ] ; then
|
|
exit 0
|
|
fi
|
|
CONSOLE_UID=$(id -u "$CONSOLEUSER")
|
|
os_major_version=$(sw_vers -productVersion | cut -d. -f2)
|
|
for pid_uid in $(ps -axo pid,uid,args | grep -i "[l]oginwindow.app" | awk '{print $1 "," $2}'); do
|
|
pid=$(echo $pid_uid | cut -d, -f1)
|
|
uid=$(echo $pid_uid | cut -d, -f2)
|
|
if [ "$uid" == "$CONSOLE_UID" ] ; then
|
|
if [[ $os_major_version -lt 10 ]] ; then
|
|
launchctl bsexec "$pid" chroot -u "$uid" / $OPENCMD "$MSC_APP"
|
|
exit 0
|
|
else
|
|
launchctl asuser "$uid" $OPENCMD "$MSC_APP"
|
|
exit 0
|
|
fi
|
|
fi
|
|
done
|
|
fi
|
|
fi
|