Blame tools/make-package-macosx

Packit b513ef
#!/bin/sh
Packit b513ef
Packit b513ef
# Shell script from Pietro Abate <pietro.abate@anu.edu.au> to create
Packit b513ef
# Mac OS X packages. Call from Makefile by "make package-macosx".
Packit b513ef
Packit b513ef
#########################################################################
Packit b513ef
#                                                                       #
Packit b513ef
#                            Objective Caml                             #
Packit b513ef
#                                                                       #
Packit b513ef
#          Damien Doligez, projet Moscova, INRIA Rocquencourt           #
Packit b513ef
#                                                                       #
Packit b513ef
#   Copyright 2003 Institut National de Recherche en Informatique et    #
Packit b513ef
#   en Automatique.  All rights reserved.  This file is distributed     #
Packit b513ef
#   under the terms of the Q Public License version 1.0.                #
Packit b513ef
#                                                                       #
Packit b513ef
#########################################################################
Packit b513ef
Packit b513ef
# $Id: make-package-macosx,v 1.10.2.2 2006/01/04 13:05:49 doligez Exp $
Packit b513ef
# adapted to findlib by Pietro.Abate <pietro.abate@anu.edu.au>
Packit b513ef
Packit b513ef
set -x
Packit b513ef
Packit b513ef
cd package-macosx
Packit b513ef
rm -rf findlib.pkg findlib-rw.dmg
Packit b513ef
mkdir -p resources
Packit b513ef
Packit b513ef
cat >Description.plist <
Packit b513ef
  
Packit b513ef
  
Packit b513ef
            "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
Packit b513ef
  <plist version="1.0">
Packit b513ef
  <dict>
Packit b513ef
          <key>IFPkgDescriptionDeleteWarning</key>
Packit b513ef
          <string></string>
Packit b513ef
          <key>IFPkgDescriptionDescription</key>
Packit b513ef
         <string>The findlib library manager</string>
Packit b513ef
          <key>IFPkgDescriptionTitle</key>
Packit b513ef
         <string>Findlib</string>
Packit b513ef
          <key>IFPkgDescriptionVersion</key>
Packit b513ef
          <string>${VERSION}</string>
Packit b513ef
  </dict>
Packit b513ef
  </plist>
Packit b513ef
EOF
Packit b513ef
Packit b513ef
cat >Info.plist <
Packit b513ef
Packit b513ef
Packit b513ef
          "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
Packit b513ef
<plist version="1.0">
Packit b513ef
<dict>
Packit b513ef
        <key>CFBundleGetInfoString</key>
Packit b513ef
       <string>The findlib library manager ${VERSION}</string>
Packit b513ef
        <key>CFBundleIdentifier</key>
Packit b513ef
        <string>http://www.ocaml-programming.de/packages/</string>
Packit b513ef
        <key>CFBundleName</key>
Packit b513ef
       <string>Findlib</string>
Packit b513ef
        <key>CFBundleShortVersionString</key>
Packit b513ef
        <string>${VERSION}</string>
Packit b513ef
        <key>IFPkgFlagAllowBackRev</key>
Packit b513ef
        <true/>
Packit b513ef
        <key>IFPkgFlagAuthorizationAction</key>
Packit b513ef
        <string>AdminAuthorization</string>
Packit b513ef
        <key>IFPkgFlagDefaultLocation</key>
Packit b513ef
        <string>/</string>
Packit b513ef
        <key>IFPkgFlagInstallFat</key>
Packit b513ef
        <false/>
Packit b513ef
        <key>IFPkgFlagIsRequired</key>
Packit b513ef
        <false/>
Packit b513ef
        <key>IFPkgFlagRelocatable</key>
Packit b513ef
        <false/>
Packit b513ef
        <key>IFPkgFlagRestartAction</key>
Packit b513ef
        <string>NoRestart</string>
Packit b513ef
        <key>IFPkgFlagRootVolumeOnly</key>
Packit b513ef
        <true/>
Packit b513ef
        <key>IFPkgFlagUpdateInstalledLanguages</key>
Packit b513ef
        <false/>
Packit b513ef
        <key>IFPkgFormatVersion</key>
Packit b513ef
        <real>0.10000000149011612</real>
Packit b513ef
</dict>
Packit b513ef
</plist>
Packit b513ef
EOF
Packit b513ef
Packit b513ef
#                                         stop here -> |
Packit b513ef
cat >resources/ReadMe.txt <
Packit b513ef
This package installs The findlib library manager ${VERSION}.
Packit b513ef
You need Mac OS X 10.4.x (Tiger).
Packit b513ef
Packit b513ef
Files will be installed in the following directories:
Packit b513ef
Packit b513ef
/usr/local/bin - command-line executables
Packit b513ef
/usr/local/lib/ocaml - library and support files
Packit b513ef
/usr/local/man - manual pages
Packit b513ef
EOF
Packit b513ef
Packit b513ef
chmod -R g-w root
Packit b513ef
sudo chown -R root:admin root
Packit b513ef
Packit b513ef
/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker \
Packit b513ef
-build -p "`pwd`/findlib.pkg" -f "`pwd`/root" -i "`pwd`/Info.plist" \
Packit b513ef
  -d "`pwd`/Description.plist" -r "`pwd`/resources"
Packit b513ef
Packit b513ef
size=`du -s findlib.pkg | cut -f 1`
Packit b513ef
size=`expr $size + 8192`
Packit b513ef
Packit b513ef
hdiutil create -sectors $size findlib-rw.dmg
Packit b513ef
name=`hdid -nomount findlib-rw.dmg | grep Apple_HFS | cut -d ' ' -f 1`
Packit b513ef
newfs_hfs -v 'Findlib' $name
Packit b513ef
hdiutil detach $name
Packit b513ef
Packit b513ef
name=`hdid findlib-rw.dmg | grep Apple_HFS | cut -d ' ' -f 1`
Packit b513ef
if test -d '/Volumes/Findlib'; then
Packit b513ef
  ditto -rsrcFork findlib.pkg "/Volumes/Findlib/findlib.pkg"
Packit b513ef
  cp resources/ReadMe.txt "/Volumes/Findlib/"
Packit b513ef
else
Packit b513ef
  echo 'Unable to mount the disk image as "/Volumes/Findlib"' >&2
Packit b513ef
  exit 3
Packit b513ef
fi
Packit b513ef
open "/Volumes/Findlib"
Packit b513ef
hdiutil detach $name
Packit b513ef
Packit b513ef
rm -rf "findlib-${VERSION}.dmg"
Packit b513ef
hdiutil convert findlib-rw.dmg -format UDZO -o "findlib-${VERSION}.dmg"