-#!/bin/sh
+#!/bin/bash
# Portions Copyright (c) 2003, 2006 Apple Computer, Inc. All rights reserved.
if [ -z "$1" ]; then
if [ $majorvers -eq 11 ]; then
RELNAME="Lion"
fi
+if [ $majorvers -eq 12 ]; then
+ RELNAME="MountainLion"
+fi
+if [ $majorvers -eq 13 ]; then
+ RELNAME="Mavericks"
+fi
+if [ $majorvers -eq 14 ]; then
+ RELNAME="Yosemite"
+fi
+
PKGROOT=$CURDIR/pkgroot
PKGRES=$CURDIR/pkgres
DPKGROOT=$CURDIR/dpkgroot
DPKGRES=$CURDIR/dpkgres
-if [ $majorvers -ge 7 ]; then
- SEP=:
- package=/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
- if [ ! -x $package ]; then
- echo "PackageMaker does not exist. Please run this script on a MacOS X system"
- echo "with the DeveloperTools package installed"
- exit 1
- fi
+PACKAGEMAKER=""
+if [ -e "/Developer/usr/bin/packagemaker" ]; then
+ PACKAGEMAKER="/Developer/usr/bin/packagemaker"
else
- SEP=.
- package=/usr/bin/package
- if [ ! -f $package ]; then
- echo "$package does not exist. Please run this script on a MacOS X system"
- echo "with the BSD subsystem installed"
- exit 1
- fi
- if grep -q 'set resDir = ""' $package ; then
- echo $package is buggy.
- echo remove the line \''set resDir = ""'\' from $package and try again
- exit 1
- fi
+ while IFS= read -d $'\0' -r file ; do
+ if [ -e "$file/Contents/MacOS/PackageMaker" ]; then
+ PACKAGEMAKER="$file/Contents/MacOS/PackageMaker"
+ fi
+ done < <(mdfind -0 "(kMDItemCFBundleIdentifier == 'com.apple.PackageMaker')")
+fi
+if [ -z "$PACKAGEMAKER" ]; then
+ echo "packagemaker not found"
+ exit 1
fi
if [ $firstpass = yes ]; then
exit 1
fi
+ SEP=:
+
rm -rf $PKGROOT
mkdir $PKGROOT
echo /Network/afs:/var/db/openafs/cache:30000 > $PKGROOT/private/var/db/openafs/etc/cacheinfo.sample
fi
cp afs.conf $PKGROOT/private/var/db/openafs/etc/config/afs.conf.sample
+ cp krb5-weak.conf $PKGROOT/private/var/db/openafs/etc/krb5-weak.conf
cp decode-panic $PKGROOT/Library/OpenAFS/Tools/tools
chmod a+x $PKGROOT/Library/OpenAFS/Tools/tools/decode-panic
chmod -R og-w $PKGROOT/private
chmod og-rx $PKGROOT/private/var/db/openafs/cache
- mkdir -p $PKGROOT/usr/bin $PKGROOT/usr/sbin $PKGROOT/usr/share/man/man1 $PKGROOT/usr/share/man/man5 $PKGROOT/usr/share/man/man8
+ mkdir -p $PKGROOT/usr/bin $PKGROOT/usr/lib $PKGROOT/usr/sbin $PKGROOT/usr/share/man/man1 $PKGROOT/usr/share/man/man5 $PKGROOT/usr/share/man/man8
BINLIST="fs klog klog.krb pagsh pagsh.krb pts sys tokens tokens.krb unlog unlog.krb aklog"
ETCLIST="vos"
+ SHLIBLIST="libafsauthent.dylib libafsauthent.dylib.1 libafsauthent.dylib.1.1 libafshcrypto.dylib libafshcrypto.dylib.1 libafshcrypto.dylib.1.1 libafsrpc.dylib libafsrpc.dylib.1 libafsrpc.dylib.1.4 libkopenafs.dylib libkopenafs.dylib.1 libkopenafs.dylib.1.1 librokenafs.dylib librokenafs.dylib.1 librokenafs.dylib.1.1"
# Should these be linked into /usr too?
OTHER_BINLIST="bos cmdebug rxgen translate_et udebug xstat_cm_test xstat_fs_test"
for f in $ETCLIST; do
ln -s ../../Library/OpenAFS/Tools/etc/$f $PKGROOT/usr/sbin/$f
done
+ for f in $SHLIBLIST; do
+ ln -s ../../Library/OpenAFS/Tools/lib/$f $PKGROOT/usr/lib/$f
+ done
for f in `ls $PKGROOT/Library/OpenAFS/Tools/man/man1`; do
gzip -9 $PKGROOT/Library/OpenAFS/Tools/man/man1/$f
ln -s ../../../../Library/OpenAFS/Tools/man/man1/$f.gz $PKGROOT/usr/share/man/man1/$f.gz
cp background.jpg $DPKGRES/background.jpg
chown -R root${SEP}wheel $DPKGRES
rm -rf $CURDIR/OpenAFS-debug-extension.pkg
- echo $package -build -p $CURDIR/OpenAFS-debug-extension.pkg -f $DPKGROOT -r $DPKGRES \
+ echo $PACKAGEMAKER -build -p $CURDIR/OpenAFS-debug-extension.pkg -f $DPKGROOT -r $DPKGRES \
-i OpenAFS-debug.Info.plist -d OpenAFS-debug.Description.plist
- $package -build -p $CURDIR/OpenAFS-debug-extension.pkg -f $DPKGROOT -r $DPKGRES \
+ "$PACKAGEMAKER" -build -p $CURDIR/OpenAFS-debug-extension.pkg -f $DPKGROOT -r $DPKGRES \
-i OpenAFS-debug.Info.plist -d OpenAFS-debug.Description.plist
fi
chown -R root${SEP}wheel $PKGRES
rm -rf $CURDIR/OpenAFS.pkg
if [ $majorvers -ge 7 ]; then
- echo $package -build -p $CURDIR/OpenAFS.pkg -f $PKGROOT -r $PKGRES \
+ echo $PACKAGEMAKER -build -p $CURDIR/OpenAFS.pkg -f $PKGROOT -r $PKGRES \
-i OpenAFS.Info.plist -d OpenAFS.Description.plist
- $package -build -p $CURDIR/OpenAFS.pkg -f $PKGROOT -r $PKGRES \
+ "$PACKAGEMAKER" -build -p $CURDIR/OpenAFS.pkg -f $PKGROOT -r $PKGRES \
-i OpenAFS.Info.plist -d OpenAFS.Description.plist
else
- echo $package $PKGROOT $RESSRC/OpenAFS.info -r $PKGRES
- (cd $CURDIR && $package $PKGROOT $RESSRC/OpenAFS.info -r $PKGRES)
+ echo $PACKAGEMAKER $PKGROOT $RESSRC/OpenAFS.info -r $PKGRES
+ (cd $CURDIR && "$PACKAGEMAKER" $PKGROOT $RESSRC/OpenAFS.info -r $PKGRES)
#old versions of package didn't handle this properly
if [ ! -r $CURDIR/OpenAFS.pkg/Contents ]; then
mkdir -p $CURDIR/OpenAFS.pkg/Contents/Resources