tools/dmg_pkg_install.sh
author Wuzzy <Wuzzy2@mail.ru>
Fri, 27 Oct 2017 05:03:58 +0200
changeset 12787 389453e1e09e
parent 11592 cf83d9cb5590
permissions -rw-r--r--
ACF7: Fix possible Lua error spam in intro sequence This was caused by a race of onGearDelete vs AnimationSetup. If AnimationSetup came first, it uses old values from the natives table. The solution is to force the code to guarantee that AnimationSetup always coms after deleting gears in the natives table.

#!/bin/bash

# Downloads and install a .dmg from a URL
#
# Usage
# $ dmg_pkg_install [url]
#
# Adopted from https://gist.github.com/afgomez/4172338


if [[ $# -lt 1 ]]; then
  echo "Usage: dmg_pkg_install [url]"
  exit 1
fi

url=$*

# Generate a random file name
tmp_file=/tmp/`openssl rand -base64 10 | tr -dc '[:alnum:]'`.dmg

# Download file
echo "Downloading $url..."
curl -# -L -o $tmp_file $url

echo "Mounting image..."
volume=`hdiutil mount $tmp_file | tail -n1 | perl -nle '/(\/Volumes\/[^ ]+)/; print $1'`

# Locate .pkg
app_pkg=`find $volume/. -name *.pkg -maxdepth 1 -print0`
echo "Install pkg..."
installer -pkg $app_pkg -target /

# Unmount volume, delete temporal file
echo "Cleaning up..."
hdiutil unmount $volume -quiet
rm $tmp_file

echo "Done!"
exit 0