From 4908e68f61a8cf06f8d07985a493dbe648671fa8 Mon Sep 17 00:00:00 2001 From: Amar Takhar Date: Mon, 29 Dec 2008 08:07:06 +0000 Subject: [PATCH] First pass at osx-dmg.sh to create a dmg image. Originally committed to SVN as r2554. --- scripts/osx-dmg.sh | 57 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100755 scripts/osx-dmg.sh diff --git a/scripts/osx-dmg.sh b/scripts/osx-dmg.sh new file mode 100755 index 000000000..7b5a44f4a --- /dev/null +++ b/scripts/osx-dmg.sh @@ -0,0 +1,57 @@ +#!/bin/sh +# USAGE +# osx-dmg.sh [Bundle Directory] "[Package Name]" +# +# This script is based on osx-dmg.sh from the Inkscape Project http://www.inkscape.org/ +# +# Jean-Olivier Irisson +# Michael Wybrow +# +# Copyright (C) 2006-2007 +# Released under GNU GPL, read the file 'COPYING' for more information + +TMP_DMG="temp_dmg" +PKG_DIR="${1}" +PKG_NAME="${2}" +PKG_NAME_RW="${1}_rw.dmg" +PKG_NAME_VOLUME="${2}" + +mkdir -v ${TMP_DMG} +echo +echo "---- Copying ${1} into ${TMP_DMG}/ ----" +cp -R ${PKG_DIR} ${TMP_DMG} + +echo +echo "---- Setting up ----" +ln -vsf /Applications "${TMP_DMG}" +mkdir -v ${TMP_DMG}/.background +cp -v packages/osx_dmg/dmg_background.png ${TMP_DMG}/.background/background.png +cp -v packages/osx_dmg/DS_Store ${TMP_DMG}/.DS_Store + +echo +echo "---- Creating image ----" +/usr/bin/hdiutil create -srcfolder "${TMP_DMG}" -volname "${PKG_NAME}" -fs HFS+ -fsargs "-c c=64,a=16,e=16" -format UDRW "${PKG_NAME_RW}" + +echo +echo "---- Mounting image ----" +DEV_NAME=`/usr/bin/hdiutil attach -readwrite -noverify -noautoopen "${PKG_NAME_RW}" |awk '/Apple_partition_scheme/ {print $1}'` +echo "Device name: ${DEV_NAME}" + +echo +echo "---- Setting bless -openfolder \"/Volumes/${PKG_NAME_VOLUME}\" ----" +bless -openfolder "/Volumes/${PKG_NAME_VOLUME}" + +echo +echo "---- Detaching ----" +/usr/bin/hdiutil detach "${DEV_NAME}" + +echo +echo "---- Compressing ----" +/usr/bin/hdiutil convert "${PKG_NAME_RW}" -format UDZO -imagekey zlib-level=9 -o "${PKG_NAME}.dmg" + +echo +echo "---- Removing ${TMP_DMG}, ${PKG_NAME_RW} ----" +rm -rf ${TMP_DMG} ${PKG_NAME_RW} + +echo +echo "Done!"