Bug 1514806 Part 5 - Select the appropriate 7-zip SFX stub binary for the build target. r=firefox-build-system-reviewers,mshal#firefox-build-system-reviewers
authorMatt Howell <mhowell@mozilla.com>
Tue, 22 Jan 2019 21:58:49 +0000
changeset 514884 ef7f2df97310b33a4e45467f53159c58bec3ec25
parent 514883 f66cc702c86d3c5582af884f1908ad22ad2f33d9
child 514885 11a6b0fbd28987f9ef2b8935cba2d6f87b623a1f
push id1953
push userffxbld-merge
push dateMon, 11 Mar 2019 12:10:20 +0000
treeherdermozilla-release@9c35dcbaa899 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersfirefox-build-system-reviewers, mshal
bugs1514806
milestone66.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 1514806 Part 5 - Select the appropriate 7-zip SFX stub binary for the build target. r=firefox-build-system-reviewers,mshal#firefox-build-system-reviewers Differential Revision: https://phabricator.services.mozilla.com/D15983
browser/installer/windows/Makefile.in
browser/locales/Makefile.in
taskcluster/ci/release-eme-free-repack-repackage/kind.yml
taskcluster/ci/release-partner-repack-repackage/kind.yml
taskcluster/ci/repackage-l10n/kind.yml
taskcluster/ci/repackage-msi/kind.yml
taskcluster/ci/repackage/kind.yml
testing/mozharness/configs/repackage/base.py
testing/mozharness/configs/repackage/win32_sfx_stub.py
testing/mozharness/configs/repackage/win64-aarch64_sfx_stub.py
testing/mozharness/scripts/repackage.py
--- a/browser/installer/windows/Makefile.in
+++ b/browser/installer/windows/Makefile.in
@@ -1,16 +1,20 @@
 # 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/.
 
 include $(topsrcdir)/toolkit/mozapps/installer/package-name.mk
 
 CONFIG_DIR = instgen
-SFX_MODULE = $(topsrcdir)/other-licenses/7zstub/firefox/7zSD.sfx
+ifeq ($(CPU_ARCH), aarch64)
+SFX_MODULE = $(topsrcdir)/other-licenses/7zstub/firefox/7zSD.ARM64.sfx
+else
+SFX_MODULE = $(topsrcdir)/other-licenses/7zstub/firefox/7zSD.Win32.sfx
+endif
 
 INSTALLER_FILES = \
 	app.tag \
 	nsis/installer.nsi \
 	nsis/uninstaller.nsi \
 	nsis/stub.nsi \
 	nsis/shared.nsh \
 	stub.tag \
--- a/browser/locales/Makefile.in
+++ b/browser/locales/Makefile.in
@@ -32,17 +32,21 @@ endif
 
 ifneq (,$(filter cocoa,$(MOZ_WIDGET_TOOLKIT)))
 MOZ_PKG_MAC_DSSTORE=$(ABS_DIST)/branding/dsstore
 MOZ_PKG_MAC_BACKGROUND=$(ABS_DIST)/branding/background.png
 MOZ_PKG_MAC_ICON=$(ABS_DIST)/branding/disk.icns
 MOZ_PKG_MAC_EXTRA=--symlink '/Applications:/ '
 endif
 
-MOZ_SFX_PACKAGE=$(topsrcdir)/other-licenses/7zstub/firefox/7zSD.sfx
+ifeq ($(CPU_ARCH), aarch64)
+MOZ_SFX_PACKAGE=$(topsrcdir)/other-licenses/7zstub/firefox/7zSD.ARM64.sfx
+else
+MOZ_SFX_PACKAGE=$(topsrcdir)/other-licenses/7zstub/firefox/7zSD.Win32.sfx
+endif
 
 # Required for l10n.mk - defines a list of app sub dirs that should
 # be included in langpack xpis.
 DIST_SUBDIRS = $(DIST_SUBDIR)
 
 include $(topsrcdir)/config/rules.mk
 
 include $(topsrcdir)/toolkit/locales/l10n.mk
--- a/taskcluster/ci/release-eme-free-repack-repackage/kind.yml
+++ b/taskcluster/ci/release-eme-free-repack-repackage/kind.yml
@@ -26,17 +26,23 @@ job-template:
    mozharness:
       config:
          by-build-platform:
             macosx64-.*:
                - repackage/base.py
                - repackage/osx_partner.py
             win32-.*:
                - repackage/base.py
-               - repackage/win32_partner.py
-            win64-.*:
+               - repackage/win32_sfx_stub.py
+               - repackage/win32_signed.py
+            win64-(?!aarch64).*:
                - repackage/base.py
-               - repackage/win64_partner.py
+               - repackage/win32_sfx_stub.py
+               - repackage/win64_signed.py
+            win64-aarch64-.*:
+               - repackage/base.py
+               - repackage/win64-aarch64_sfx_stub.py
+               - repackage/win64_signed.py
    package-formats:
       by-build-platform:
          macosx64\b.*: [dmg]
          win32\b.*: [installer]
          win64\b.*: [installer]
--- a/taskcluster/ci/release-partner-repack-repackage/kind.yml
+++ b/taskcluster/ci/release-partner-repack-repackage/kind.yml
@@ -26,17 +26,23 @@ job-template:
    mozharness:
       config:
          by-build-platform:
             macosx64-.*:
                - repackage/base.py
                - repackage/osx_partner.py
             win32-.*:
                - repackage/base.py
-               - repackage/win32_partner.py
-            win64-.*:
+               - repackage/win32_sfx_stub.py
+               - repackage/win32_signed.py
+            win64-(?!aarch64).*:
                - repackage/base.py
-               - repackage/win64_partner.py
+               - repackage/win32_sfx_stub.py
+               - repackage/win64_signed.py
+            win64-aarch64-.*:
+               - repackage/base.py
+               - repackage/win64-aarch64_sfx_stub.py
+               - repackage/win64_signed.py
    package-formats:
       by-build-platform:
          macosx64\b.*: [dmg]
          win32\b.*: [installer]
          win64\b.*: [installer]
--- a/taskcluster/ci/repackage-l10n/kind.yml
+++ b/taskcluster/ci/repackage-l10n/kind.yml
@@ -37,21 +37,27 @@ job-template:
                     - repackage/base.py
                     - repackage/linux32_signed.py
                 linux64-.*:
                     - repackage/base.py
                     - repackage/linux64_signed.py
                 macosx64-.*:
                     - repackage/base.py
                     - repackage/osx_signed.py
-                win32-.*:
+                win32\b.*:
                     - repackage/base.py
+                    - repackage/win32_sfx_stub.py
                     - repackage/win32_signed.py
-                win64-.*:
+                win64(?!-aarch64)\b.*:
                     - repackage/base.py
+                    - repackage/win32_sfx_stub.py
+                    - repackage/win64_signed.py
+                win64-aarch64\b.*:
+                    - repackage/base.py
+                    - repackage/win64-aarch64_sfx_stub.py
                     - repackage/win64_signed.py
     package-formats:
         by-release-type:
             esr60:
                 by-build-platform:
                     linux.*: [mar, mar-bz2]
                     linux4\b.*: [mar, mar-bz2]
                     macosx64\b.*: [mar, mar-bz2, dmg]
--- a/taskcluster/ci/repackage-msi/kind.yml
+++ b/taskcluster/ci/repackage-msi/kind.yml
@@ -23,16 +23,22 @@ only-for-build-platforms:
     - win64-devedition-nightly/opt
 
 job-template:
     mozharness:
         config:
             by-build-platform:
                 win32\b.*:
                     - repackage/base.py
+                    - repackage/win32_sfx_stub.py
                     - repackage/win32_signed.py
-                win64\b.*:
+                win64(?!-aarch64)\b.*:
                     - repackage/base.py
+                    - repackage/win32_sfx_stub.py
+                    - repackage/win64_signed.py
+                win64-aarch64\b.*:
+                    - repackage/base.py
+                    - repackage/win64-aarch64_sfx_stub.py
                     - repackage/win64_signed.py
     package-formats: [msi]
     fetches:
         fetch:
             - wix-3.1.1
--- a/taskcluster/ci/repackage/kind.yml
+++ b/taskcluster/ci/repackage/kind.yml
@@ -46,19 +46,25 @@ job-template:
                 linux64\b.*:
                     - repackage/base.py
                     - repackage/linux64_signed.py
                 macosx64\b.*:
                     - repackage/base.py
                     - repackage/osx_signed.py
                 win32\b.*:
                     - repackage/base.py
+                    - repackage/win32_sfx_stub.py
                     - repackage/win32_signed.py
-                win64\b.*:
+                win64(?!-aarch64)\b.*:
                     - repackage/base.py
+                    - repackage/win32_sfx_stub.py
+                    - repackage/win64_signed.py
+                win64-aarch64\b.*:
+                    - repackage/base.py
+                    - repackage/win64-aarch64_sfx_stub.py
                     - repackage/win64_signed.py
     package-formats:
         by-release-type:
             esr60:
                 by-build-platform:
                     linux.*: [mar, mar-bz2]
                     linux4\b.*: [mar, mar-bz2]
                     macosx64\b.*: [mar, mar-bz2, dmg]
--- a/testing/mozharness/configs/repackage/base.py
+++ b/testing/mozharness/configs/repackage/base.py
@@ -1,10 +1,9 @@
 import os
 
 config = {
     "package-name": "firefox",
     "installer-tag": "browser/installer/windows/app.tag",
     "stub-installer-tag": "browser/installer/windows/stub.tag",
-    "sfx-stub": "other-licenses/7zstub/firefox/7zSD.sfx",
     "wsx-stub": "browser/installer/windows/msi/installer.wxs",
     "fetch-dir": os.environ.get('MOZ_FETCHES_DIR'),
 }
new file mode 100644
--- /dev/null
+++ b/testing/mozharness/configs/repackage/win32_sfx_stub.py
@@ -0,0 +1,3 @@
+config = {
+   "sfx-stub": "other-licenses/7zstub/firefox/7zSD.Win32.sfx",
+}
new file mode 100644
--- /dev/null
+++ b/testing/mozharness/configs/repackage/win64-aarch64_sfx_stub.py
@@ -0,0 +1,3 @@
+config = {
+   "sfx-stub": "other-licenses/7zstub/firefox/7zSD.ARM64.sfx",
+}
--- a/testing/mozharness/scripts/repackage.py
+++ b/testing/mozharness/scripts/repackage.py
@@ -60,17 +60,18 @@ class Repackage(BaseScript):
         return self.abs_dirs
 
     def repackage(self):
         config = self.config
         dirs = self.query_abs_dirs()
 
         subst = {
             'package-name': config['package-name'],
-            'sfx-stub': config['sfx-stub'],
+            # sfx-stub is only defined for Windows targets
+            'sfx-stub': config.get('sfx-stub'),
             'installer-tag': config['installer-tag'],
             'stub-installer-tag': config['stub-installer-tag'],
             'wsx-stub': config['wsx-stub'],
         }
         subst.update(dirs)
         if config.get('fetch-dir'):
             subst.update({'fetch-dir': os.path.abspath(config['fetch-dir'])})