tools/dmg_pkg_install.sh
author Wuzzy <Wuzzy2@mail.ru>
Tue, 02 Apr 2019 01:03:39 +0200
changeset 14740 7b2bd37d7503
parent 11587 cf83d9cb5590
permissions -rw-r--r--
Fix inconsistencies in guest nick name generation When the setting net/nick is empty, HW generates a guest name. But there were several problems: - Team name did not match guest name - Random guest number was re-rolled multiple times, causing inconsistencies - Guest number was often too large (now capped at 99999)

#!/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