-\`make-package' generates a Mac OS X installer package from an Emacs
-distribution. By default, this first runs ./configure on the emacs
-directory. Then make install to create the emacs distribution.
-Then some mac-specific commands to generate the required information
+\`make-package' generates a Mac OS X installer package from an Emacs
+distribution. By default, this first runs ./configure on the emacs
+directory. Then make install to create the emacs distribution.
+Then some mac-specific commands to generate the required information
for the mac package. The installer will, by default, create a
Carbon application called Emacs in the ${appsdir} directory, with the
shared emacs files in /usr/local
for the mac package. The installer will, by default, create a
Carbon application called Emacs in the ${appsdir} directory, with the
shared emacs files in /usr/local
--no-conf Do not run the configure script before running
make install.
--without-app Do not create the Emacs application bundle
--no-conf Do not run the configure script before running
make install.
--without-app Do not create the Emacs application bundle
windowed display, instead of carbon. Implies
--without-app.
--without-full-dist Do not include all the .el files in the distribution.
windowed display, instead of carbon. Implies
--without-app.
--without-full-dist Do not include all the .el files in the distribution.
to the install in [prefix]/bin/emacs and have
the emacs executable link to emacs-${version}
--self-contained Create an Emacs.app that is self-contained;
to the install in [prefix]/bin/emacs and have
the emacs executable link to emacs-${version}
--self-contained Create an Emacs.app that is self-contained;
--build-dir=DIR Build the application in the specified directory
instead of a temporary directory. Mutually exclusive
with --build-in-place.
--build-dir=DIR Build the application in the specified directory
instead of a temporary directory. Mutually exclusive
with --build-in-place.
tempbuild="make-package.build.$$"
builddir="`pwd`/${tempbuild}"
removable_build_dir=${builddir}
tempbuild="make-package.build.$$"
builddir="`pwd`/${tempbuild}"
removable_build_dir=${builddir}
if test "$self_contained" = "yes"; then
# Move shared files down to Resources directory
mv $installprefix/share/emacs/$version/* $installprefix
rm -rf $installprefix/share
# These directories might remain in Resources
mv $installprefix/bin $installprefix/../MacOS/bin
if test "$self_contained" = "yes"; then
# Move shared files down to Resources directory
mv $installprefix/share/emacs/$version/* $installprefix
rm -rf $installprefix/share
# These directories might remain in Resources
mv $installprefix/bin $installprefix/../MacOS/bin
# Make the application binary a hard link
rm $installprefix/../MacOS/Emacs
ln $installprefix/../MacOS/bin/emacs $installprefix/../MacOS/Emacs
# Make the application binary a hard link
rm $installprefix/../MacOS/Emacs
ln $installprefix/../MacOS/bin/emacs $installprefix/../MacOS/Emacs
mkdir ${packagedir}/Contents
mkdir ${packagedir}/Contents/Resources
mkdir ${packagedir}/Contents/Resources/English.lproj
mkdir ${packagedir}/Contents
mkdir ${packagedir}/Contents/Resources
mkdir ${packagedir}/Contents/Resources/English.lproj
### Not sure if this is a good diea
# echo "Setting owner to root"
# chown -Rh 0 ${tempparentfull}
### Not sure if this is a good diea
# echo "Setting owner to root"
# chown -Rh 0 ${tempparentfull}
-## Allocate an extra 5000 sectors (about 2.5 mg)
-## Note a sector appears to be 512k
-sectorsAlloced=`echo 2*${compressedSize}+20|bc`
+## From hdiutil man page, a sector is 512k. Allocate an extra 5% for
+## directories and partition tables.
+sectorsAlloced=`echo 2.1*${compressedSize}|bc`
hdiutil create -ov ${builddir}/mac/EmacsRW -sectors ${sectorsAlloced}
## Need to format the disc image before mounting
mountLoc=`hdid -nomount ${builddir}/mac/EmacsRW.dmg | grep HFS | cut -f1`
hdiutil create -ov ${builddir}/mac/EmacsRW -sectors ${sectorsAlloced}
## Need to format the disc image before mounting
mountLoc=`hdid -nomount ${builddir}/mac/EmacsRW.dmg | grep HFS | cut -f1`
if [ ! -d /Volumes/Emacs ]; then
echo "Could not create disc image. The Emacs installer package (Emacs.pkg)
if [ ! -d /Volumes/Emacs ]; then
echo "Could not create disc image. The Emacs installer package (Emacs.pkg)