Bug 1074019 - Modify file structure of SeaMonkey.app to allow for OSX v2 signing r=stefanh r=Neil
--- a/suite/app/Makefile.in
+++ b/suite/app/Makefile.in
@@ -121,30 +121,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,40 +733,44 @@ 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
@BINPATH@/components/toolkit_crashservice.xpt
#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