Bug 734975 - Package a .tar.bz2 file for the XULRunner package on Mac, instead of the .pkg.dmg which installs XULRunner to an obsolete system location. r=Mossop
authorBenjamin Smedberg <benjamin@smedbergs.us>
Fri, 23 Mar 2012 13:57:23 -0400
changeset 93484 6fd5e0d9d94be3b9b4c7ec675df531c5a86232c0
parent 93483 23cf3da09191f5f69843d77138c5547d0299c232
child 93485 83107987850db1b230004ed9796e39cf167dfbda
push id886
push userlsblakk@mozilla.com
push dateMon, 04 Jun 2012 19:57:52 +0000
treeherdermozilla-beta@bbd8d5efd6d1 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersMossop
bugs734975
milestone14.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 734975 - Package a .tar.bz2 file for the XULRunner package on Mac, instead of the .pkg.dmg which installs XULRunner to an obsolete system location. r=Mossop
xulrunner/README.xulrunner
xulrunner/app/Makefile.in
xulrunner/installer/Makefile.in
xulrunner/installer/mac/Description.plist.in
xulrunner/installer/mac/Info.plist.in
xulrunner/installer/mac/Makefile.in
new file mode 100644
--- /dev/null
+++ b/xulrunner/README.xulrunner
@@ -0,0 +1,13 @@
+XULRunner is a package which can be used to run applications written in HTML
+or XUL. It can also be used to embed the gecko rendering engine into
+binary applications.
+
+XULRunner is not a product; it is a tool which can be used to create products.
+It is a byproduct of Firefox development and the Mozilla community does not
+have a strong commitment to support XULRunner development apart from Firefox
+development.
+
+For more information about using XULRunner or how to use this binary package,
+see the Mozilla Developer Center article:
+
+https://developer.mozilla.org/en/XULRunner
--- a/xulrunner/app/Makefile.in
+++ b/xulrunner/app/Makefile.in
@@ -223,13 +223,13 @@ libs:: $(PROGRAM) $(FRAMEWORK_DIR)/Resou
 	ln -s Versions/Current/libxpcom.dylib $(DIST)/$(FRAMEWORK_NAME).framework/libxpcom.dylib
 	ln -s Versions/Current/XUL $(DIST)/$(FRAMEWORK_NAME).framework/XUL
 	ln -s Versions/Current/xulrunner-bin $(DIST)/$(FRAMEWORK_NAME).framework/xulrunner-bin
 
 clean clobber::
 	rm -rf $(DIST)/$(FRAMEWORK_NAME).framework
 endif
 
-README_FILE = $(topsrcdir)/README.txt
+README_FILE = $(srcdir)/../README.xulrunner
 
 libs::
 	$(INSTALL) $(IFLAGS1) $(README_FILE) $(DIST)/bin
 	$(INSTALL) $(IFLAGS1) $(topsrcdir)/LICENSE	$(DIST)/bin
--- a/xulrunner/installer/Makefile.in
+++ b/xulrunner/installer/Makefile.in
@@ -45,26 +45,21 @@ VPATH		= @srcdir@
 include $(DEPTH)/config/autoconf.mk
 
 NO_PKG_FILES = \
 	xulrunner-config \
 	regchrome* \
 	regxpcom* \
 	$(NULL)
 
-# If we're on mac, we want to make the .pkg first, in the mac/
-# directory. Then packager.mk can put it into a DMG
+# If we're on mac, we don't want an end-user-facing DMG, we want a .tar.bz2
+# which developers then use to package their application.
 
 ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
-DIRS += mac
-_APPNAME = $(PKG_BASENAME).pkg
-_BINPATH = /XUL.framework/Versions/Current
-PKG_SKIP_STRIP = 1
-MOZ_PKG_SPECIAL = pkg
-PKG_DMG_SOURCE = $(STAGEPATH)xulrunner-pkg
+MOZ_PKG_FORMAT = BZ2
 endif
 
 include $(topsrcdir)/config/rules.mk
 
 INSTALL_SDK = 1
 ifndef MOZ_PLATFORM_MAEMO
 GENERATE_CACHE = 1
 endif
deleted file mode 100644
--- a/xulrunner/installer/mac/Description.plist.in
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-#filter substitution
-
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-
-<plist version="1.0">
-<dict>
-    <key>IFPkgDescriptionTitle</key>
-    <string>Mozilla XULRunner @MOZ_APP_VERSION@</string>
-</dict>
-</plist>
deleted file mode 100644
--- a/xulrunner/installer/mac/Info.plist.in
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-#filter substitution
-
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-
-<plist version="1.0">
-<dict>
-    <key>CFBundleIdentifier</key>
-    <string>org.mozilla.xulrunner</string>
-
-    <key>CFBundleName</key>
-    <string>Mozilla XULRunner</string>
-
-    <key>CFBundleShortVersionString</key>
-    <string>@MOZ_APP_VERSION@</string>
-
-    <key>IFPkgFlagAuthorizationAction</key>
-    <string>RootAuthorization</string>
-
-    <key>IFPkgFlagDefaultLocation</key>
-    <string>/Library/Frameworks</string>
-
-    <key>IFPkgFlagFollowLinks</key>
-    <true/>
-
-    <key>IFPkgFormatVersion</key>
-    <real>0.10000000149011612</real>
-
-    <key>LSMinimumSystemVersion</key>
-    <string>10.5</string>
-
-    <key>LSMinimumSystemVersionByArchitecture</key>
-    <dict>
-        <key>i386</key>
-        <string>10.5.0</string>
-        <key>x86_64</key>
-        <string>10.6.0</string>
-    </dict>
-</dict>
-</plist>
deleted file mode 100644
--- a/xulrunner/installer/mac/Makefile.in
+++ /dev/null
@@ -1,109 +0,0 @@
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is the Mozilla Browser code.
-#
-# The Initial Developer of the Original Code is
-# IBM Corporation.
-# Portions created by the Initial Developer are Copyright (C) 2004
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#  Brian Ryner <bryner@brianryner.com>
-#  Benjamin Smedberg <bsmedberg@covad.net>
-#  Darin Fisher <darin@meer.net>
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-DEPTH		= ../../..
-topsrcdir	= @top_srcdir@
-srcdir		= @srcdir@
-VPATH		= @srcdir@
-
-include $(DEPTH)/config/autoconf.mk
-
-DEFINES += -DMOZ_APP_VERSION=$(MOZ_APP_VERSION)
-
-NO_PKG_FILES = \
-	xulrunner-config \
-	regchrome* \
-	regxpcom* \
-	xpcshell* \
-	xpidl* \
-	xpt_dump* \
-	xpt_link* \
-	$(NULL)
-
-include $(topsrcdir)/config/rules.mk
-
-libs:: stage-package
-
-%.plist: %.plist.in
-	$(PYTHON) $(topsrcdir)/config/Preprocessor.py $(DEFINES) $(ACDEFINES) $< > $@
-
-PACKAGER_NO_LIBS=1
-_APPNAME = XUL.framework
-_BINPATH = /$(_APPNAME)/Versions/Current
-
-include $(topsrcdir)/toolkit/mozapps/installer/packager.mk
-
-_ABS_OBJDIR := $(shell pwd)
-_ABS_DIST := $(shell cd $(DIST) && pwd)
-
-# Syntax "chown_root <directory>"
-# Should be equivalent to "chown -R root:admin <directory>"
-CHOWN_ROOT ?= $(error CHOWN_ROOT must be set to a setuid script.)
-
-# Syntax "chown_revert <directory>"
-# Should be equivalent to "chown -R <getuid> <directory>"
-CHOWN_REVERT ?= $(error CHOWN_REVERT must be set to a setuid script.)
-
-# Do the real work here: we take $(DIST)/XUL.framework and make it into an
-# installer .pkg bundle. The xulrunner/installer makefile will then pack the
-# installer into a DMG.
-libs:: Info.plist Description.plist
-	$(RM) -rf resource-stage
-	mkdir resource-stage
-	$(RM) -rf $(DIST)/$(STAGEPATH)xulrunner-pkg
-	mkdir $(DIST)/$(STAGEPATH)xulrunner-pkg
-	chmod -R a+rX,u+w,go-w,-s,-t $(DIST)/$(STAGEPATH)$(MOZ_PKG_APPNAME)
-# For some unknown reason, PackageMaker requires absolute paths to everything.
-# For other poor reasons, PackageMaker returns an exit code of "1" if the
-# version string has any letters in it (e.g. 1.9a1).
-	unset NEXT_ROOT; \
-	$(CHOWN_ROOT) $(DIST)/$(STAGEPATH)$(MOZ_PKG_APPNAME) && \
-	  /Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker -build -v \
-	    -p $(_ABS_DIST)/$(STAGEPATH)xulrunner-pkg/$(PKG_BASENAME).pkg \
-	    -f $(_ABS_DIST)/$(STAGEPATH)$(MOZ_PKG_APPNAME) \
-	    -r $(_ABS_OBJDIR)/resource-stage \
-	    -i $(_ABS_OBJDIR)/Info.plist \
-	    -d $(_ABS_OBJDIR)/Description.plist > packagemaker.log; \
-	SAVED=$$?; \
-	if [ "$$SAVED" == "1" -a \
-	     `grep -c 'was completed with the following non-fatal errors' < packagemaker.log` -gt 0 ]; then \
-	  SAVED=0; \
-	fi; \
-	$(CHOWN_REVERT) $(DIST)/$(STAGEPATH)$(MOZ_PKG_APPNAME); \
-	exit $$SAVED