Added DiskImage scripts, for easier (LOL) image creation.
parent
8c182a43d4
commit
df20c6c423
Binary file not shown.
|
@ -0,0 +1,24 @@
|
|||
#!/bin/sh
|
||||
|
||||
#This script creates a .ds_store from a template dmg.
|
||||
|
||||
TEMPLATE_DMG=$1
|
||||
DSSTORE=$2
|
||||
|
||||
TEMP_DIR=temp
|
||||
|
||||
bunzip2 -k ${TEMPLATE_DMG}.bz2
|
||||
|
||||
mkdir -p ${TEMP_DIR}
|
||||
|
||||
hdiutil attach "${TEMPLATE_DMG}" -noautoopen -quiet -mountpoint "${TEMP_DIR}"
|
||||
|
||||
cp ${TEMP_DIR}/.DS_Store ${DSSTORE}
|
||||
|
||||
DMG_DEV=`hdiutil info | grep "${TEMP_DIR}" | grep "Apple_HFS" | awk '{print $1}'`
|
||||
hdiutil detach ${DMG_DEV} -quiet -force
|
||||
|
||||
rm -r ${TEMP_DIR}
|
||||
|
||||
rm ${TEMPLATE_DMG}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
1) Create (or modify) a template image that contains all of the files with their final names. Image can be created through Disk Utiliy. The defaults should be good.
|
||||
|
||||
2) Make sure the template image is bzip2'ed and named template.dmg.bz2. (The name can be changed in make-release.sh)
|
||||
|
||||
3)In make-release.sh:
|
||||
a) Set the VERSION.
|
||||
b) Ensure that the .app folder and the misc files are put in the destination folder. (Including Application link).
|
||||
|
||||
4) With the template image mounted:
|
||||
a) Change the name of the template image to have the same name as the final image, which is "Cog $VERSION".
|
||||
b) Copy in a background image to /Volumes/Cog $VERSION/.background/background.png
|
||||
c) Set the background in View->Show View Options. Ensure "This window only" is selected. Use shift+apple+G to type in the path to the background.
|
||||
d) Set custom icons.
|
||||
e) Hide the toolbar and set the size.
|
||||
|
||||
5) Eject the image very carefully.
|
||||
|
||||
6) Custom icons are copied through applescript in dmg-cog.scrpt. Make sure all files with custom icons have them copied.
|
||||
|
||||
7) Run make-release.sh, and hope his noodly appendage looks favourably upon you.
|
||||
|
||||
8) When it fails, maybe it'd be easier to just make the image manually.
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
#!/bin/sh
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is the make-diskimage script.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Netscape Communications Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2002
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Brian Ryner <bryner@brianryner.com>
|
||||
# Jean-Jacques Enser <jj@netscape.com>
|
||||
# Arthur Wiebe <artooro@gmail.com>
|
||||
# Mark Mentovai <mark@moxienet.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
# Create a read-only disk image of the contents of a folder
|
||||
#
|
||||
# Usage: make-diskimage <image_file>
|
||||
# <src_folder>
|
||||
# <volume_name>
|
||||
# <eula_resource_file>
|
||||
# <.dsstore_file>
|
||||
# <background_image_file>
|
||||
#
|
||||
# tip: use '-null-' for <eula-resource-file> if you only want to
|
||||
# provide <.dsstore_file> and <background_image_file>
|
||||
|
||||
DMG_PATH=$1
|
||||
SRC_FOLDER=$2
|
||||
VOLUME_NAME=$3
|
||||
|
||||
# optional arguments
|
||||
EULA_RSRC=$4
|
||||
DMG_DSSTORE=$5
|
||||
DMG_BKGND_IMG=$6
|
||||
|
||||
EXTRA_ARGS=
|
||||
|
||||
if test -n "$EULA_RSRC" && test "$EULA_RSRC" != "-null-" ; then
|
||||
EXTRA_ARGS="--resource $EULA_RSRC"
|
||||
fi
|
||||
|
||||
if test -n "$DMG_DSSTORE" ; then
|
||||
EXTRA_ARGS="$EXTRA_ARGS --copy $DMG_DSSTORE:/.DS_Store"
|
||||
fi
|
||||
|
||||
if test -n "$DMG_BKGND_IMG" ; then
|
||||
EXTRA_ARGS="$EXTRA_ARGS --mkdir /.background --copy $DMG_BKGND_IMG:/.background"
|
||||
fi
|
||||
|
||||
echo `dirname $0`/pkg-dmg --target "$DMG_PATH" --source "$SRC_FOLDER" \
|
||||
--volname "$VOLUME_NAME" $EXTRA_ARGS
|
||||
|
||||
`dirname $0`/pkg-dmg --target "$DMG_PATH" --source "$SRC_FOLDER" \
|
||||
--volname "$VOLUME_NAME" $EXTRA_ARGS
|
||||
|
||||
exit $?
|
|
@ -0,0 +1,67 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Create a read-only disk image of the contents of a folder
|
||||
#
|
||||
# Usage: make-release <version>
|
||||
|
||||
set -e;
|
||||
|
||||
VERSION=0.06
|
||||
|
||||
APP_NAME=Cog
|
||||
DEST_FOLDER=Release
|
||||
APPLESCRIPT=dmg-cog.scpt
|
||||
|
||||
TEMPLATE_DMG=template.dmg
|
||||
DSSTORE=cog.dsstore
|
||||
|
||||
APP_PATH=../build/Release/Cog.app
|
||||
LICENSE_PATH=../COPYING
|
||||
CHANGES_PATH=../ChangeLog
|
||||
README_PATH=../README
|
||||
|
||||
#Make dest
|
||||
echo "Creating destination..."
|
||||
mkdir ${DEST_FOLDER}
|
||||
|
||||
echo "Copying app..."
|
||||
cp -R ${APP_PATH} ${DEST_FOLDER}
|
||||
|
||||
echo "Copying misc files..."
|
||||
cp ${LICENSE_PATH} ${DEST_FOLDER}/License.txt
|
||||
cp ${CHANGES_PATH} ${DEST_FOLDER}/Changes.txt
|
||||
cp ${README_PATH} ${DEST_FOLDER}/Readme.txt
|
||||
|
||||
echo "Creating Applications alias..."
|
||||
ln -s /Applications ${DEST_FOLDER}/Applications
|
||||
|
||||
|
||||
echo "Mounting template..."
|
||||
TEMP_DIR=temp
|
||||
BACKGROUND=${TEMP_DIR}/.background/background.png
|
||||
|
||||
bunzip2 -k ${TEMPLATE_DMG}.bz2
|
||||
|
||||
mkdir -p ${TEMP_DIR}
|
||||
|
||||
hdiutil attach "${TEMPLATE_DMG}" -noautoopen -quiet -mountpoint "${TEMP_DIR}"
|
||||
|
||||
echo "Copying .DS_Store"
|
||||
cp ${TEMP_DIR}/.DS_Store ${DSSTORE}
|
||||
|
||||
echo "Launching applescript..."
|
||||
osascript ${APPLESCRIPT} ${DEST_FOLDER} ${TEMP_DIR}
|
||||
|
||||
echo "Creating image..."
|
||||
./make-diskimage.sh ${APP_NAME}-${VERSION}.dmg ${DEST_FOLDER} "${APP_NAME} ${VERSION}" -null- ${DSSTORE} ${BACKGROUND}
|
||||
|
||||
echo "Unmounting template..."
|
||||
DMG_DEV=`hdiutil info | grep "${TEMP_DIR}" | grep "Apple_HFS" | awk '{print $1}'`
|
||||
hdiutil detach ${DMG_DEV} -quiet -force
|
||||
|
||||
rm -r ${TEMP_DIR}
|
||||
|
||||
rm ${TEMPLATE_DMG}
|
||||
rm ${DSSTORE}
|
||||
|
||||
rm -r ${DEST_FOLDER}
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Loading…
Reference in New Issue