From 52cb294d2a5408d5eac6ac4ad5285165c6877932 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Wed, 27 Nov 2019 13:21:01 -0500 Subject: No Issue - Use alternative packaging for Pale Moon and Basilisk * This adds what will eventually be a rewritten packaging routine while maintaining backwards compatibility with the original mozilla routine * Changes the build target and installer makefile to use the alternative packaging * Adds build target to specifically invoke the original mozilla routine * Update mach commands accordingly --- application/basilisk/build.mk | 7 +++++-- application/basilisk/installer/Makefile.in | 2 +- application/palemoon/build.mk | 7 +++++-- application/palemoon/installer/Makefile.in | 2 +- python/mozbuild/mozbuild/mach_commands.py | 17 ++++++++++++++++- toolkit/mozapps/installer/packager-uxp.mk | 23 +++++++++++++++++++++++ 6 files changed, 51 insertions(+), 7 deletions(-) create mode 100644 toolkit/mozapps/installer/packager-uxp.mk diff --git a/application/basilisk/build.mk b/application/basilisk/build.mk index 539c57ab1..f78105d9d 100644 --- a/application/basilisk/build.mk +++ b/application/basilisk/build.mk @@ -6,13 +6,16 @@ installer: @$(MAKE) -C application/basilisk/installer installer package: - @$(MAKE) -C application/basilisk/installer + @$(MAKE) -C application/basilisk/installer make-archive + +mozpackage: + @$(MAKE) -C application/basilisk/installer make-package package-compare: @$(MAKE) -C application/basilisk/installer package-compare stage-package: - @$(MAKE) -C application/basilisk/installer stage-package + @$(MAKE) -C application/basilisk/installer stage-package make-buildinfo-file sdk: @$(MAKE) -C application/basilisk/installer make-sdk diff --git a/application/basilisk/installer/Makefile.in b/application/basilisk/installer/Makefile.in index 1ca3b8ee0..ef7df8bf4 100644 --- a/application/basilisk/installer/Makefile.in +++ b/application/basilisk/installer/Makefile.in @@ -95,7 +95,7 @@ endif INSTALL_SDK = 1 include $(topsrcdir)/toolkit/mozapps/installer/signing.mk -include $(topsrcdir)/toolkit/mozapps/installer/packager.mk +include $(topsrcdir)/toolkit/mozapps/installer/packager-uxp.mk ifeq (bundle, $(MOZ_FS_LAYOUT)) BINPATH = $(_BINPATH) diff --git a/application/palemoon/build.mk b/application/palemoon/build.mk index ae490aca7..8c0dd03b9 100644 --- a/application/palemoon/build.mk +++ b/application/palemoon/build.mk @@ -6,13 +6,16 @@ installer: @$(MAKE) -C application/palemoon/installer installer package: - @$(MAKE) -C application/palemoon/installer + @$(MAKE) -C application/palemoon/installer make-archive + +mozpackage: + @$(MAKE) -C application/palemoon/installer make-package package-compare: @$(MAKE) -C application/palemoon/installer package-compare stage-package: - @$(MAKE) -C application/palemoon/installer stage-package + @$(MAKE) -C application/palemoon/installer stage-package make-buildinfo-file install:: @$(MAKE) -C application/palemoon/installer install diff --git a/application/palemoon/installer/Makefile.in b/application/palemoon/installer/Makefile.in index a0c38f282..c02cdf96a 100644 --- a/application/palemoon/installer/Makefile.in +++ b/application/palemoon/installer/Makefile.in @@ -109,7 +109,7 @@ INSTALL_SDK = 1 endif include $(topsrcdir)/toolkit/mozapps/installer/signing.mk -include $(topsrcdir)/toolkit/mozapps/installer/packager.mk +include $(topsrcdir)/toolkit/mozapps/installer/packager-uxp.mk ifeq (bundle, $(MOZ_FS_LAYOUT)) BINPATH = $(_BINPATH) diff --git a/python/mozbuild/mozbuild/mach_commands.py b/python/mozbuild/mozbuild/mach_commands.py index 05b1f104d..26c05ee91 100644 --- a/python/mozbuild/mozbuild/mach_commands.py +++ b/python/mozbuild/mozbuild/mach_commands.py @@ -1084,7 +1084,7 @@ class Package(MachCommandBase): """Package the built product for distribution.""" @Command('package', category='post-build', - description='Package the built product for distribution as an APK, DMG, etc.') + description='Package the built product for distribution as an archive.') @CommandArgument('-v', '--verbose', action='store_true', help='Verbose output for what commands the packaging process is running.') def package(self, verbose=False): @@ -1094,6 +1094,21 @@ class Package(MachCommandBase): self.notify('Packaging complete') return ret +@CommandProvider +class Mozpackage(MachCommandBase): + """Package the built product for distribution.""" + + @Command('mozpackage', category='post-build', + description='Package the built product for distribution as an archive. (mozilla orginal routine)') + @CommandArgument('-v', '--verbose', action='store_true', + help='Verbose output for what commands the packaging process is running.') + def mozpackage(self, verbose=False): + ret = self._run_make(directory=".", target='mozpackage', + silent=not verbose, ensure_exit_code=False) + if ret == 0: + self.notify('Packaging complete') + return ret + @CommandProvider class Installer(MachCommandBase): """Create the windows installer for the built product.""" diff --git a/toolkit/mozapps/installer/packager-uxp.mk b/toolkit/mozapps/installer/packager-uxp.mk new file mode 100644 index 000000000..fdc9ccc18 --- /dev/null +++ b/toolkit/mozapps/installer/packager-uxp.mk @@ -0,0 +1,23 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# We need to include the mozilla packaging routines because we are +# very much still dependent on them +include $(MOZILLA_DIR)/toolkit/mozapps/installer/packager.mk + +# This is currently only used on Windows and Linux +# on other platforms such as Mac will fall back to the orginal +# mozilla packaging +make-archive: +ifeq (,$(filter Linux WINNT,$(OS_ARCH))) + $(MAKE) make-package +else + $(MAKE) stage-package make-buildinfo-file + @echo 'Compressing...' +ifeq (WINNT,$(OS_ARCH)) + cd $(DIST); $(CYGWIN_WRAPPER) 7z a -t7z -m0=lzma2 -mx=9 -aoa -bb3 $(PKG_BASENAME).7z $(MOZ_PKG_DIR) +else + cd $(DIST); XZ_OPT=-9e $(TAR) cfJv $(PKG_BASENAME).tar.xz $(MOZ_PKG_DIR) +endif +endif -- cgit v1.2.3