macos: fix shlib link list
[openafs.git] / src / packaging / MacOS / buildpkg.sh.in
index c0beebc..ea549f6 100644 (file)
@@ -34,9 +34,17 @@ fi
 if [ $majorvers -eq 9 ]; then
   RELNAME="Leopard"
 fi
+if [ $majorvers -eq 10 ]; then
+  RELNAME="Snowleopard"
+fi
+if [ $majorvers -eq 11 ]; then
+  RELNAME="Lion"
+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
@@ -104,26 +112,28 @@ if [ $firstpass = yes ]; then
 
     mkdir -p $PKGROOT/Library
     mkdir -p $PKGROOT/Library/PreferencePanes
+    mkdir -p $PKGROOT/Library/Security/SecurityAgentPlugins
     chown root${SEP}admin $PKGROOT
-    chmod 775 $PKGROOT $PKGROOT/Library $PKGROOT/Library/PreferencePanes
-    (cd $BINDEST/tools && pax -rw * $PKGROOT/Library/PreferencePanes)
+    chmod 755 $PKGROOT $PKGROOT/Library $PKGROOT/Library/PreferencePanes $PKGROOT/Library/Security/SecurityAgentPlugins
+    (cd $BINDEST/tools && pax -rw OpenAFS.prefPane $PKGROOT/Library/PreferencePanes)
+    (cd $BINDEST/tools && pax -rw aklog.bundle $PKGROOT/Library/Security/SecurityAgentPlugins)
     mkdir -p $PKGROOT/Library/OpenAFS/Tools
     (cd $BINDEST && pax -rw * $PKGROOT/Library/OpenAFS/Tools)
     cd $RESSRC
-    mkdir -p $PKGROOT/Library/StartupItems/OpenAFS
-    cp $BINDEST/root.client/usr/vice/etc/afs.rc  $PKGROOT/Library/StartupItems/OpenAFS/OpenAFS
-    chmod a+x $PKGROOT/Library/StartupItems/OpenAFS/OpenAFS
-    cp $BINDEST/root.client/usr/vice/etc/StartupParameters.plist  $PKGROOT/Library/StartupItems/OpenAFS/StartupParameters.plist
-    chown -R root${SEP}admin $PKGROOT/Library
+    mkdir -p $PKGROOT/Library/LaunchDaemons
     chmod -R o-w $PKGROOT/Library
-    chmod -R g+w $PKGROOT/Library
-    chown -R root${SEP}wheel $PKGROOT/Library/StartupItems
-    chmod -R og-w $PKGROOT/Library/StartupItems
+    chmod -R g-w $PKGROOT/Library
+    cp openafs.launchd.plist $PKGROOT/Library/LaunchDaemons/org.openafs.filesystems.afs.plist
+    chmod 644 $PKGROOT/Library/LaunchDaemons/org.openafs.filesystems.afs.plist
+    chown root${SEP}admin $PKGROOT/Library
+    chown -R root${SEP}wheel $PKGROOT/Library/LaunchDaemons
     chown -R root${SEP}wheel $PKGROOT/Library/OpenAFS/Tools
     chmod -R og-w $PKGROOT/Library/OpenAFS/Tools
 
     mkdir -p $PKGROOT/private/var/db/openafs/cache
     mkdir -p $PKGROOT/private/var/db/openafs/etc/config
+    cp openafs.launchdaemon $PKGROOT/private/var/db/openafs/etc/launchafs.sh
+    chmod 755 $PKGROOT/private/var/db/openafs/etc/launchafs.sh
     cp $CURDIR/CellServDB $PKGROOT/private/var/db/openafs/etc/CellServDB.master
     echo grand.central.org > $PKGROOT/private/var/db/openafs/etc/ThisCell.sample
     if [ $majorvers -ge 7 ]; then
@@ -135,6 +145,19 @@ if [ $firstpass = yes ]; then
     fi
     cp afs.conf $PKGROOT/private/var/db/openafs/etc/config/afs.conf.sample
 
+    cp decode-panic $PKGROOT/Library/OpenAFS/Tools/tools
+    chmod a+x $PKGROOT/Library/OpenAFS/Tools/tools/decode-panic
+
+    if [ $majorvers -ge 9 ]; then
+       rm -rf $DPKGROOT
+       mkdir $DPKGROOT
+       mkdir -p $DPKGROOT/Library/OpenAFS/Debug
+       mv $PKGROOT/Library/OpenAFS/Tools/root.client/usr/vice/etc/afs.kext.dSYM $DPKGROOT/Library/OpenAFS/Debug
+       cp -RP $PKGROOT/Library/OpenAFS/Tools/root.client/usr/vice/etc/afs.kext $DPKGROOT/Library/OpenAFS/Debug
+       chown -R root${SEP}wheel $DPKGROOT/Library/OpenAFS/Debug
+       chmod -R og-w $DPKGROOT/Library/OpenAFS/Debug
+    fi
+
     strip -X -S $PKGROOT/Library/OpenAFS/Tools/root.client/usr/vice/etc/afs.kext/Contents/MacOS/afs
 
     cp -RP $PKGROOT/Library/OpenAFS/Tools/root.client/usr/vice/etc/afs.kext $PKGROOT/private/var/db/openafs/etc
@@ -148,6 +171,7 @@ if [ $firstpass = yes ]; then
 
     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"
@@ -159,6 +183,9 @@ if [ $firstpass = yes ]; then
     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
@@ -186,6 +213,24 @@ fi
 if [ $secondpass = yes ]; then
     rm -rf $PKGRES
     mkdir $PKGRES
+    cd $RESSRC
+    if [ $majorvers -ge 9 ]; then
+       rm -rf $DPKGRES
+       mkdir $DPKGRES
+       cp License.rtf $DPKGRES
+       cp InstallationCheck.$majorvers $DPKGRES/InstallationCheck
+       chmod a+x $DPKGRES/InstallationCheck
+       mkdir -p $DPKGRES/English.lproj
+       cp InstallationCheck.strings.$majorvers \
+               $DPKGRES/English.lproj/InstallationCheck.strings
+       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 \
+           -i OpenAFS-debug.Info.plist -d OpenAFS-debug.Description.plist
+       $package -build -p $CURDIR/OpenAFS-debug-extension.pkg -f $DPKGROOT -r $DPKGRES \
+           -i OpenAFS-debug.Info.plist -d OpenAFS-debug.Description.plist
+    fi
 
     cd $RESSRC
     if [ $majorvers -ge 7 ]; then
@@ -196,7 +241,7 @@ if [ $secondpass = yes ]; then
        if [ $majorvers -ge 8 ]; then
            cp InstallationCheck.$majorvers $PKGRES/InstallationCheck
            mkdir -p $PKGRES/English.lproj
-           cp InstallationCheck.$majorvers $PKGRES/English.lproj/InstallationCheck
+           cp InstallationCheck.strings.$majorvers $PKGRES/English.lproj/InstallationCheck.strings
            chmod a+x $PKGRES/InstallationCheck
        fi
        chmod a+x $PKGRES/postinstall $PKGRES/postupgrade $PKGRES/preupgrade
@@ -231,7 +276,7 @@ if [ $secondpass = yes ]; then
     fi
 
     rm -rf $PKGROOT $PKGRES
-
+    rm -rf $DPKGROOT $DPKGRES
     # here we want to build installer plugin and install
     # for Tiger and later only
     if [ $majorvers -ge 8 ]; then
@@ -250,6 +295,9 @@ if [ $secondpass = yes ]; then
 
     mkdir $CURDIR/dmg
     mv $CURDIR/OpenAFS.pkg $CURDIR/dmg
+    if [ $majorvers -ge 8 ]; then
+       mv $CURDIR/OpenAFS-debug-extension.pkg $CURDIR/dmg
+    fi
     rm -rf $CURDIR/OpenAFS-@VERSION@-$RELNAME.dmg
     cp $RESSRC/Uninstall $CURDIR/dmg/Uninstall.command
     cp $RESSRC/DS_Store $CURDIR/dmg/.DS_Store