Bug 1074019 - Modify file structure of SeaMonkey.app to allow for OSX v2 signing r=stefanh r=Neil a=Callek/Neil for -aurora/-beta CLOSED TREE
authorRobert Strong <robert.strong.bugs@gmail.com>
Mon, 13 Oct 2014 12:29:40 +0800
changeset 25487 e567470af025ac6488493d586316d8362aed4060
parent 25486 53f91117c4e5e8bf8fc2a8b396ff43a9d1206175
child 25488 cbfb56b50760c0244d0860ae2c61f3d0c0eb4917
push id1850
push userclokep@gmail.com
push dateWed, 08 Mar 2017 19:29:12 +0000
treeherdercomm-esr52@028df196b2d9 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersstefanh, Neil, Callek, Neil
bugs1074019
Bug 1074019 - Modify file structure of SeaMonkey.app to allow for OSX v2 signing r=stefanh r=Neil a=Callek/Neil for -aurora/-beta CLOSED TREE
suite/app/Makefile.in
suite/app/macbuild/Contents/MacOS-files.in
suite/installer/package-manifest.in
--- a/suite/app/Makefile.in
+++ b/suite/app/Makefile.in
@@ -132,30 +132,25 @@ endif
 
 LOWER_MAC_APP_NAME = $(shell echo $(MAC_APP_NAME) | tr '[A-Z]' '[a-z]')
 
 AB := $(firstword $(subst -, ,$(AB_CD)))
 
 clean clobber repackage::
 	$(RM) -r $(DIST)/$(MOZ_MACBUNDLE_NAME)
 
-ifdef LIBXUL_SDK
-APPFILES = Resources
-else
-APPFILES = MacOS
-endif
-
 tools:: $(PROGRAM)
 	mkdir -p $(DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/MacOS
 	rsync -a --exclude CVS --exclude "*.in" $(srcdir)/macbuild/Contents $(DIST)/$(MOZ_MACBUNDLE_NAME) --exclude English.lproj
 	mkdir -p $(DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/Resources/$(AB).lproj
 	rsync -a --exclude CVS --exclude "*.in" $(srcdir)/macbuild/Contents/Resources/English.lproj/ $(DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/Resources/$(AB).lproj
 	sed -e "s/\@MOZ_APP_NAME\@/$(MOZ_APP_NAME)/" -e "s/\@MAC_APP_NAME\@/$(MAC_APP_NAME)/" -e "s/\@MOZ_APP_DISPLAYNAME\@/$(MOZ_APP_DISPLAYNAME)/" -e "s/\@MOZ_APP_VERSION\@/$(MOZ_APP_VERSION)/" $(srcdir)/macbuild/Contents/Info.plist.in > $(DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/Info.plist
 	sed -e "s/\@MOZ_APP_NAME\@/$(MOZ_APP_NAME)/" -e "s/\@MAC_APP_NAME\@/$(MAC_APP_NAME)/" -e "s/\@MOZ_APP_DISPLAYNAME\@/$(MOZ_APP_DISPLAYNAME)/" -e "s/\@MOZ_APP_VERSION\@/$(MOZ_APP_VERSION)/" $(srcdir)/macbuild/Contents/Resources/English.lproj/InfoPlist.strings.in | iconv -f UTF-8 -t UTF-16 > $(DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/Resources/$(AB).lproj/InfoPlist.strings
-	rsync -a $(DIST)/bin/ $(DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/$(APPFILES)
+	rsync -a --exclude-from='$(srcdir)/macbuild/Contents/MacOS-files.in' $(DIST)/bin/ $(DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/Resources
+	rsync -a --include-from='$(srcdir)/macbuild/Contents/MacOS-files.in' --exclude '*' $(DIST)/bin/ $(DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/MacOS
 	rm -f $(DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/$(APPFILES)/mangle $(DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/$(APPFILES)/shlibsign
 ifdef LIBXUL_SDK
 	cp $(LIBXUL_DIST)/bin/$(XR_STUB_NAME) $(DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/MacOS/seamonkey
 else
 	rm -f $(DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/MacOS/$(PROGRAM)
 	rsync -aL $(PROGRAM) $(DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/MacOS
 endif
 	-cp -L $(DIST)/bin/mangle $(DIST)/bin/shlibsign $(DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/$(APPFILES)
new file mode 100644
--- /dev/null
+++ b/suite/app/macbuild/Contents/MacOS-files.in
@@ -0,0 +1,8 @@
+/*.app/***
+/*.dylib
+/certutil
+/seamonkey-bin
+/pk12util
+/ssltunnel
+/xpcshell
+/XUL
--- a/suite/installer/package-manifest.in
+++ b/suite/installer/package-manifest.in
@@ -20,17 +20,18 @@
 #define UNIX_BUT_NOT_MAC
 #endif
 #endif
 
 #ifdef XP_MACOSX
 ; Mac bundle stuff
 @APPNAME@/Contents/Info.plist
 @APPNAME@/Contents/PkgInfo
-@APPNAME@/Contents/Resources/
+@APPNAME@/Contents/Resources/seamonkey.icns
+@APPNAME@/Contents/Resources/en.lproj/*
 #endif
 
 [@AB_CD@]
 @BINPATH@/chrome/@AB_CD@@JAREXT@
 @BINPATH@/chrome/@AB_CD@.manifest
 @BINPATH@/defaults/messenger/mailViews.dat
 @BINPATH@/defaults/profile/bookmarks.html
 @BINPATH@/defaults/profile/chrome/*
@@ -48,38 +49,50 @@
 @BINPATH@/updater.ini
 #endif
 
 [xpcom]
 @BINPATH@/dependentlibs.list
 #ifdef XP_WIN32
 @BINPATH@/@DLL_PREFIX@gkmedias@DLL_SUFFIX@
 #endif
+#ifdef XP_MACOSX
+@APPNAME@/Contents/MacOS/@DLL_PREFIX@mozalloc@DLL_SUFFIX@
+#else
 @BINPATH@/@DLL_PREFIX@mozalloc@DLL_SUFFIX@
+#endif
 #ifdef MOZ_SHARED_MOZGLUE
+#ifdef XP_MACOSX
+@APPNAME@/Contents/MacOS/@DLL_PREFIX@mozglue@DLL_SUFFIX@
+#else
 @BINPATH@/@DLL_PREFIX@mozglue@DLL_SUFFIX@
 #endif
+#endif
 #ifndef MOZ_STATIC_JS
+#ifdef XP_MACOSX
+@APPNAME@/Contents/MacOS/@DLL_PREFIX@mozjs@DLL_SUFFIX@
+#else
 @BINPATH@/@DLL_PREFIX@mozjs@DLL_SUFFIX@
 #endif
+#endif
 #ifndef MOZ_NATIVE_NSPR
 #ifndef MOZ_FOLD_LIBS
 @BINPATH@/@DLL_PREFIX@nspr4@DLL_SUFFIX@
 @BINPATH@/@DLL_PREFIX@plc4@DLL_SUFFIX@
 @BINPATH@/@DLL_PREFIX@plds4@DLL_SUFFIX@
 #endif
 #endif
 #ifdef XP_MACOSX
-@BINPATH@/XUL
+@APPNAME@/Contents/MacOS/XUL
 #else
 @BINPATH@/@DLL_PREFIX@xul@DLL_SUFFIX@
 #endif
 #ifdef XP_MACOSX
-@BINPATH@/@MOZ_CHILD_PROCESS_NAME@.app/
-@BINPATH@/@DLL_PREFIX@plugin_child_interpose@DLL_SUFFIX@
+@APPNAME@/Contents/MacOS/@MOZ_CHILD_PROCESS_NAME@.app/
+@APPNAME@/Contents/MacOS/@DLL_PREFIX@plugin_child_interpose@DLL_SUFFIX@
 #else
 @BINPATH@/@MOZ_CHILD_PROCESS_NAME@
 #endif
 ; ANGLE GLES-on-D3D rendering library
 #ifdef MOZ_ANGLE_RENDERER
 @BINPATH@/libEGL.dll
 @BINPATH@/libGLESv2.dll
 #ifdef MOZ_D3DCOMPILER_VISTA_DLL
@@ -129,16 +142,19 @@
 #endif
 #endif
 #endif
 
 [browser]
 ; [Base Browser Files]
 #ifdef XP_WIN32
 @BINPATH@/@MOZ_APP_NAME@.exe
+#elif XP_MACOSX
+@APPNAME@/Contents/MacOS/@MOZ_APP_NAME@-bin
+@APPNAME@/Contents/MacOS/@MOZ_APP_NAME@
 #else
 @BINPATH@/@MOZ_APP_NAME@-bin
 @BINPATH@/@MOZ_APP_NAME@
 #endif
 @BINPATH@/application.ini
 @BINPATH@/platform.ini
 #ifdef MOZ_UPDATER
 @BINPATH@/update-settings.ini
@@ -661,29 +677,43 @@
 #endif
 
 ; [Personal Security Manager]
 ;
 ; NSS libraries are signed in the staging directory,
 ; meaning their .chk files are created there directly.
 ;
 #ifndef MOZ_NATIVE_NSS
+#ifdef XP_MACOSX
+@APPNAME@/Contents/MacOS/@DLL_PREFIX@freebl3@DLL_SUFFIX@
+@APPNAME@/Contents/MacOS/@DLL_PREFIX@nss3@DLL_SUFFIX@
+@APPNAME@/Contents/MacOS/@DLL_PREFIX@nssckbi@DLL_SUFFIX@
+#else
 @BINPATH@/@DLL_PREFIX@freebl3@DLL_SUFFIX@
 @BINPATH@/@DLL_PREFIX@nss3@DLL_SUFFIX@
 @BINPATH@/@DLL_PREFIX@nssckbi@DLL_SUFFIX@
+#endif
 #ifndef NSS_DISABLE_DBM
+#ifdef XP_MACOSX
+@APPNAME@/Contents/MacOS/@DLL_PREFIX@nssdbm3@DLL_SUFFIX@
+#else
 @BINPATH@/@DLL_PREFIX@nssdbm3@DLL_SUFFIX@
 #endif
+#endif
 #ifndef MOZ_FOLD_LIBS
 @BINPATH@/@DLL_PREFIX@nssutil3@DLL_SUFFIX@
 @BINPATH@/@DLL_PREFIX@smime3@DLL_SUFFIX@
 @BINPATH@/@DLL_PREFIX@ssl3@DLL_SUFFIX@
 #endif
+#ifdef XP_MACOSX
+@APPNAME@/Contents/MacOS/@DLL_PREFIX@softokn3@DLL_SUFFIX@
+#else
 @BINPATH@/@DLL_PREFIX@softokn3@DLL_SUFFIX@
 #endif
+#endif
 @BINPATH@/chrome/pippki@JAREXT@
 @BINPATH@/chrome/pippki.manifest
 @BINPATH@/components/pipboot.xpt
 @BINPATH@/components/pipnss.xpt
 @BINPATH@/components/pippki.xpt
 
 ; For process sandboxing
 #if defined(XP_WIN)
@@ -703,39 +733,43 @@ bin/libfreebl_32int64_3.so
 
 ; LDAP components need to be in the browser for AutoConfig
 @BINPATH@/components/mozldap.xpt
 @BINPATH@/components/nsLDAPProtocolHandler.js
 #ifdef XP_WIN32
 @BINPATH@/nsldap32v60.dll
 @BINPATH@/nsldappr32v60.dll
 @BINPATH@/nsldif32v60.dll
+#elif defined(XP_MACOSX)
+@APPNAME@/Contents/MacOS/@DLL_PREFIX@ldap60@DLL_SUFFIX@
+@APPNAME@/Contents/MacOS/@DLL_PREFIX@ldif60@DLL_SUFFIX@
+@APPNAME@/Contents/MacOS/@DLL_PREFIX@prldap60@DLL_SUFFIX@
 #else
 @BINPATH@/@DLL_PREFIX@ldap60@DLL_SUFFIX@
 @BINPATH@/@DLL_PREFIX@ldif60@DLL_SUFFIX@
 @BINPATH@/@DLL_PREFIX@prldap60@DLL_SUFFIX@
 #endif
 
 ; [Updater]
 ;
 #ifdef MOZ_UPDATER
 #ifdef XP_MACOSX
-@BINPATH@/updater.app/
+@APPNAME@/Contents/MacOS/updater.app/
 #else
 @BINPATH@/updater@BIN_SUFFIX@
 #endif
 #endif
 
 ; [Crash Reporter]
 ;
 #ifdef MOZ_CRASHREPORTER
 @BINPATH@/components/CrashService.manifest
 @BINPATH@/components/CrashService.js
 #ifdef XP_MACOSX
-@BINPATH@/crashreporter.app/
+@APPNAME@/Contents/MacOS/crashreporter.app/
 #else
 @BINPATH@/crashreporter@BIN_SUFFIX@
 @BINPATH@/crashreporter.ini
 #ifdef XP_UNIX
 @BINPATH@/Throbber-small.gif
 #endif
 #endif
 @BINPATH@/crashreporter-override.ini