From cc47e765912e1a5dedddb6ef00ca8b8c8d567f0e Mon Sep 17 00:00:00 2001 From: Derrick Brashear Date: Sun, 17 Jan 2010 01:10:28 -0500 Subject: [PATCH] create debugging kext package for MacOS this creates and installs a debugging kext package for macos. it also always installs the decode-panic script (which can be used even without the debug kext) Change-Id: Iff03de66cd3df2690f03333e6629d21660364cd1 Reviewed-on: http://gerrit.openafs.org/1120 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear --- configure.in | 3 ++ src/libafs/MakefileProto.DARWIN.in | 40 ++++++++++++---- .../MacOS/OpenAFS-debug.Description.plist.in | 14 ++++++ .../MacOS/OpenAFS-debug.Info.plist.in | 46 +++++++++++++++++++ ...ion.plist => OpenAFS.Description.plist.in} | 2 +- src/packaging/MacOS/OpenAFS.info.in | 2 +- src/packaging/MacOS/buildpkg.sh.in | 37 ++++++++++++++- 7 files changed, 133 insertions(+), 11 deletions(-) create mode 100644 src/packaging/MacOS/OpenAFS-debug.Description.plist.in create mode 100644 src/packaging/MacOS/OpenAFS-debug.Info.plist.in rename src/packaging/MacOS/{OpenAFS.Description.plist => OpenAFS.Description.plist.in} (94%) diff --git a/configure.in b/configure.in index b1ab05216..94e2c3c71 100644 --- a/configure.in +++ b/configure.in @@ -107,6 +107,9 @@ src/log/test/Makefile \ src/lwp/Makefile \ src/lwp/test/Makefile \ src/packaging/Debian/rules \ +src/packaging/MacOS/OpenAFS-debug.Description.plist \ +src/packaging/MacOS/OpenAFS-debug.Info.plist \ +src/packaging/MacOS/OpenAFS.Description.plist \ src/packaging/MacOS/OpenAFS.Info.plist \ src/packaging/MacOS/OpenAFS.info \ src/packaging/MacOS/buildpkg.sh \ diff --git a/src/libafs/MakefileProto.DARWIN.in b/src/libafs/MakefileProto.DARWIN.in index 3cfaf6d2e..58e6599df 100644 --- a/src/libafs/MakefileProto.DARWIN.in +++ b/src/libafs/MakefileProto.DARWIN.in @@ -131,32 +131,56 @@ INST_LIBAFS = ${DESTDIR}${afskerneldir}/afs-nfs.kext INST_LIBAFSNONFS = ${DESTDIR}${afskerneldir}/afs.kext DEST_LIBAFS = ${DEST}/root.client/usr/vice/etc/afs-nfs.kext DEST_LIBAFSNONFS = ${DEST}/root.client/usr/vice/etc/afs.kext + +LIBAFSDSYM = +LIBAFSNONFSDSYM = +INST_LIBAFSDSYM = +INST_LIBAFSNONFSDSYM = +DEST_LIBAFSDSYM = +DEST_LIBAFSNONFSDSYM = + +LIBAFSDSYM = libafs.o.dSYM +LIBAFSNONFSDSYM = libafs.nonfs.o.dSYM +INST_LIBAFSDSYM = ${DESTDIR}${afskerneldir}/afs-nfs.kext.dSYM +INST_LIBAFSNONFSDSYM = ${DESTDIR}${afskerneldir}/afs.kext.dSYM +DEST_LIBAFSDSYM = ${DEST}/root.client/usr/vice/etc/afs-nfs.kext.dSYM +DEST_LIBAFSNONFSDSYM = ${DEST}/root.client/usr/vice/etc/afs.kext.dSYM + - -libafs: $(LIBAFSNONFS) ; -install_libafs: $(LIBAFSNONFS) ; +libafs: $(LIBAFSNONFS) $(LIBAFSNONFSDSYM) ; +install_libafs: $(LIBAFSNONFS) $(LIBAFSNONFSDSYM) ; -mkdir -p ${INST_LIBAFSNONFS} -mkdir -p ${INST_LIBAFSNONFS}/Contents $(INSTALL) -m 644 ../${DARWIN_INFOFILE} ${INST_LIBAFSNONFS}/Contents/Info.plist -mkdir -p ${INST_LIBAFSNONFS}/Contents/MacOS $(INSTALL) -m 644 ${LIBAFSNONFS} ${INST_LIBAFSNONFS}/Contents/MacOS/afs + + -mkdir -p ${INST_LIBAFSNONFSDSYM}/Contents/Resources/DWARF + $(INSTALL) ${LIBAFSNONFSDSYM}/Contents/Info.plist ${INST_LIBAFSNONFSDSYM}/Contents + $(INSTALL) ${LIBAFSNONFSDSYM}/Contents/Resources/DWARF/${LIBAFSNONFS} ${INST_LIBAFSNONFSDSYM}/Contents/Resources/DWARF + -dest_libafs: $(LIBAFSNONFS) ; +dest_libafs: $(LIBAFSNONFS) $(LIBAFSNONFSDSYM) ; -mkdir -p ${DEST_LIBAFSNONFS} -mkdir -p ${DEST_LIBAFSNONFS}/Contents $(INSTALL) -m 644 ../${DARWIN_INFOFILE} ${DEST_LIBAFSNONFS}/Contents/Info.plist -mkdir -p ${DEST_LIBAFSNONFS}/Contents/MacOS $(INSTALL) -m 644 ${LIBAFSNONFS} ${DEST_LIBAFSNONFS}/Contents/MacOS/afs - + + -mkdir -p ${DEST_LIBAFSNONFSDSYM}/Contents/Resources/DWARF + $(INSTALL) ${LIBAFSNONFSDSYM}/Contents/Info.plist ${DEST_LIBAFSNONFSDSYM}/Contents + $(INSTALL) ${LIBAFSNONFSDSYM}/Contents/Resources/DWARF/${LIBAFSNONFS} ${DEST_LIBAFSNONFSDSYM}/Contents/Resources/DWARF + ${LIBAFS}: $(AFSAOBJS) $(AFSNFSOBJS) $(MODLD) -r -o ${LIBAFS} ${AFSAOBJS} ${AFSNFSOBJS} -lcc_kext - - dsymutil -o ${LIBAFS}.dSYM ${LIBAFS} - ${LIBAFSNONFS}: $(AFSAOBJS) $(AFSNONFSOBJS) $(MODLD) -r -o ${LIBAFSNONFS} ${AFSAOBJS} ${AFSNONFSOBJS} -lcc_kext + +$(LIBAFSDSYM): ${LIBAFS} + dsymutil -o ${LIBAFS}.dSYM ${LIBAFS} +${LIBAFSNONFSDSYM}: ${LIBAFSNONFS} dsymutil -o ${LIBAFSNONFS}.dSYM ${LIBAFSNONFS} diff --git a/src/packaging/MacOS/OpenAFS-debug.Description.plist.in b/src/packaging/MacOS/OpenAFS-debug.Description.plist.in new file mode 100644 index 000000000..2667452f0 --- /dev/null +++ b/src/packaging/MacOS/OpenAFS-debug.Description.plist.in @@ -0,0 +1,14 @@ + + + + + IFPkgDescriptionDeleteWarning + + IFPkgDescriptionDescription + Mac OS X debug symbols for OpenAFS client. + IFPkgDescriptionTitle + OpenAFS debug extension + IFPkgDescriptionVersion + @VERSION@ + + diff --git a/src/packaging/MacOS/OpenAFS-debug.Info.plist.in b/src/packaging/MacOS/OpenAFS-debug.Info.plist.in new file mode 100644 index 000000000..aa17c7e1b --- /dev/null +++ b/src/packaging/MacOS/OpenAFS-debug.Info.plist.in @@ -0,0 +1,46 @@ + + + + + CFBundleGetInfoString + OpenAFS-debug @MACOS_VERSION@ + CFBundleIdentifier + org.openafs.OpenAFS-debug.pkg + CFBundleName + OpenAFS-debug + CFBundleShortVersionString + @MACOS_VERSION@ + IFMajorVersion + 1 + IFMinorVersion + 5 + IFPkgFlagAllowBackRev + + IFPkgFlagAuthorizationAction + RootAuthorization + IFPkgFlagBackgroundAlignment + bottomright + IfPkgFlagBackgroundScaling + proportional + IFPkgFlagDefaultLocation + / + IFPkgFlagInstallFat + + IFPkgFlagIsRequired + + IFPkgFlagRelocatable + + IFPkgFlagRestartAction + NoRestart + IFPkgFlagRootVolumeOnly + + IFPkgFlagUpdateInstalledLanguages + + IFPkgFlagUseUserMask + + IFPkgFlagAllowBackRev + + IFPkgFormatVersion + 0.10000000149011612 + + diff --git a/src/packaging/MacOS/OpenAFS.Description.plist b/src/packaging/MacOS/OpenAFS.Description.plist.in similarity index 94% rename from src/packaging/MacOS/OpenAFS.Description.plist rename to src/packaging/MacOS/OpenAFS.Description.plist.in index d7c2cb879..8dece17c2 100644 --- a/src/packaging/MacOS/OpenAFS.Description.plist +++ b/src/packaging/MacOS/OpenAFS.Description.plist.in @@ -9,6 +9,6 @@ IFPkgDescriptionTitle OpenAFS IFPkgDescriptionVersion - 1.2.10 + @VERSION@ diff --git a/src/packaging/MacOS/OpenAFS.info.in b/src/packaging/MacOS/OpenAFS.info.in index b12969929..a3d04a5bc 100644 --- a/src/packaging/MacOS/OpenAFS.info.in +++ b/src/packaging/MacOS/OpenAFS.info.in @@ -1,6 +1,6 @@ Title OpenAFS Version @VERSION@ -Description The OpenAFS distributed filesystem. This package installs an almost-ready-to-run client for OpenAFS. see http://www.openafs.org for more information. +Description The OpenAFS distributed filesystem. This package installs a ready-to-run client for OpenAFS. See http://www.openafs.org for more information. DefaultLocation / Diskname (null) DeleteWarning diff --git a/src/packaging/MacOS/buildpkg.sh.in b/src/packaging/MacOS/buildpkg.sh.in index 50d6f411a..7731c2954 100644 --- a/src/packaging/MacOS/buildpkg.sh.in +++ b/src/packaging/MacOS/buildpkg.sh.in @@ -40,6 +40,8 @@ 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 @@ -138,6 +140,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 @@ -189,6 +204,23 @@ 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 + mkdir -p $DPKGRES/English.lproj + cp InstallationCheck.$majorvers $DPKGRES/English.lproj/InstallationCheck + chmod a+x $DPKGRES/InstallationCheck + 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 @@ -234,7 +266,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 @@ -253,6 +285,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 -- 2.39.5