#!/bin/sh set -eu dmg=$1 mount=$(mktemp -d) hdiutil attach -nobrowse -readonly -mountpoint "$mount" "$dmg" rm -rf /Applications/Byre.app.new ditto "$mount/Byre.app" /Applications/Byre.app.new hdiutil detach "$mount" rm -rf /Applications/Byre.app mv /Applications/Byre.app.new /Applications/Byre.app plutil -extract CFBundleVersion raw /Applications/Byre.app/Contents/Info.plist plutil -extract ByreCommit raw /Applications/Byre.app/Contents/Info.plist app='^/Applications/Byre.app/Contents/MacOS/Byre$' if pgrep -q -a -f "$app"; then # Job control puts the relaunch in its own process group, out of reach when byre kills this script's group on restart. set -m ( osascript -e 'tell application id "run.fc.byre.mac" to quit' while pgrep -q -a -f "$app"; do sleep 0.2 done open /Applications/Byre.app ) /dev/null 2>&1 & fi