diff -Nru firefox-60.0+build2/browser/build.mk firefox-60.0.1+build2/browser/build.mk --- firefox-60.0+build2/browser/build.mk 2018-05-08 11:07:51.000000000 +0000 +++ firefox-60.0.1+build2/browser/build.mk 2018-05-16 17:37:46.000000000 +0000 @@ -2,9 +2,6 @@ # 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/. -installer: - @$(MAKE) -C browser/installer installer - package: @$(MAKE) -C browser/installer diff -Nru firefox-60.0+build2/browser/config/version_display.txt firefox-60.0.1+build2/browser/config/version_display.txt --- firefox-60.0+build2/browser/config/version_display.txt 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/browser/config/version_display.txt 2018-05-16 17:37:47.000000000 +0000 @@ -1 +1 @@ -60.0 +60.0.1 diff -Nru firefox-60.0+build2/browser/config/version.txt firefox-60.0.1+build2/browser/config/version.txt --- firefox-60.0+build2/browser/config/version.txt 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/browser/config/version.txt 2018-05-16 17:37:47.000000000 +0000 @@ -1 +1 @@ -60.0 +60.0.1 diff -Nru firefox-60.0+build2/browser/extensions/activity-stream/lib/TopStoriesFeed.jsm firefox-60.0.1+build2/browser/extensions/activity-stream/lib/TopStoriesFeed.jsm --- firefox-60.0+build2/browser/extensions/activity-stream/lib/TopStoriesFeed.jsm 2018-05-08 11:07:51.000000000 +0000 +++ firefox-60.0.1+build2/browser/extensions/activity-stream/lib/TopStoriesFeed.jsm 2018-05-16 17:37:47.000000000 +0000 @@ -440,6 +440,13 @@ this._prefs.set(pref, JSON.stringify(impressions)); } + removeSpocs() { + // Uninit+re-init so that spocs are removed from all open and preloaded tabs when + // they are disabled. + this.uninit(); + this.init(); + } + onAction(action) { switch (action.type) { case at.INIT: @@ -495,6 +502,12 @@ } break; } + case at.PREF_CHANGED: + // Check if spocs was disabled. Remove them if they were. + if (action.data.name === "showSponsored" && !action.data.value) { + this.removeSpocs(); + } + break; } } }; diff -Nru firefox-60.0+build2/browser/extensions/activity-stream/test/unit/lib/TopStoriesFeed.test.js firefox-60.0.1+build2/browser/extensions/activity-stream/test/unit/lib/TopStoriesFeed.test.js --- firefox-60.0+build2/browser/extensions/activity-stream/test/unit/lib/TopStoriesFeed.test.js 2018-05-08 11:07:52.000000000 +0000 +++ firefox-60.0.1+build2/browser/extensions/activity-stream/test/unit/lib/TopStoriesFeed.test.js 2018-05-16 17:37:47.000000000 +0000 @@ -974,4 +974,11 @@ assert.isUndefined(instance.affinityProvider); }); }); + it("should call uninit and init on disabling of showSponsored pref", () => { + sinon.stub(instance, "uninit"); + sinon.stub(instance, "init"); + instance.onAction({type: at.PREF_CHANGED, data: {name: "showSponsored", value: false}}); + assert.calledOnce(instance.uninit); + assert.calledOnce(instance.init); + }); }); diff -Nru firefox-60.0+build2/browser/installer/Makefile.in firefox-60.0.1+build2/browser/installer/Makefile.in --- firefox-60.0+build2/browser/installer/Makefile.in 2018-05-08 11:07:52.000000000 +0000 +++ firefox-60.0.1+build2/browser/installer/Makefile.in 2018-05-16 17:37:47.000000000 +0000 @@ -179,11 +179,6 @@ -diff -u $(DIST)/pack-list.txt $(DIST)/bin-list.txt rm -f $(DIST)/pack-list.txt $(DIST)/bin-list.txt -installer:: -ifdef INSTALLER_DIR - $(MAKE) -C $(INSTALLER_DIR) -endif - ifdef ENABLE_MARIONETTE DEFINES += -DENABLE_MARIONETTE=1 endif diff -Nru firefox-60.0+build2/browser/installer/windows/Makefile.in firefox-60.0.1+build2/browser/installer/windows/Makefile.in --- firefox-60.0+build2/browser/installer/windows/Makefile.in 2018-05-08 11:07:52.000000000 +0000 +++ firefox-60.0.1+build2/browser/installer/windows/Makefile.in 2018-05-16 17:37:47.000000000 +0000 @@ -44,24 +44,6 @@ PPL_LOCALE_ARGS=$(call EXPAND_LOCALE_SRCDIR,browser/locales)/installer endif -OVERRIDE_DEFAULT_GOAL := installer -installer:: - $(MAKE) -C .. installer-stage - $(MAKE) $(CONFIG_DIR)/setup.exe - -# For building the uninstaller during the application build so it can be -# included for mar file generation. -uninstaller:: - $(RM) -r $(CONFIG_DIR) - $(MKDIR) $(CONFIG_DIR) - $(INSTALL) $(addprefix $(srcdir)/,$(INSTALLER_FILES)) $(CONFIG_DIR) - $(INSTALL) $(addprefix $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/,$(BRANDING_FILES)) $(CONFIG_DIR) - $(call py_action,preprocessor,-Fsubstitution $(DEFINES) $(ACDEFINES) \ - $(srcdir)/nsis/defines.nsi.in -o $(CONFIG_DIR)/defines.nsi) - $(PYTHON) $(topsrcdir)/toolkit/mozapps/installer/windows/nsis/preprocess-locale.py \ - --preprocess-locale $(topsrcdir) \ - $(PPL_LOCALE_ARGS) $(AB_CD) $(CONFIG_DIR) - # For building the maintenanceservice installer ifdef MOZ_MAINTENANCE_SERVICE maintenanceservice_installer:: diff -Nru firefox-60.0+build2/browser/locales/Makefile.in firefox-60.0.1+build2/browser/locales/Makefile.in --- firefox-60.0+build2/browser/locales/Makefile.in 2018-05-08 11:07:52.000000000 +0000 +++ firefox-60.0.1+build2/browser/locales/Makefile.in 2018-05-16 17:37:47.000000000 +0000 @@ -34,7 +34,6 @@ endif MOZ_SFX_PACKAGE=$(topsrcdir)/other-licenses/7zstub/firefox/7zSD.sfx -MOZ_INSTALLER_PATH=$(topsrcdir)/browser/installer/windows SEARCHPLUGINS_FILENAMES := $(or $(shell $(call py_action,output_searchplugins_list,$(srcdir)/search/list.json $(AB_CD))), $(error Missing search plugins)) SEARCHPLUGINS_PATH := .deps/generated_$(AB_CD) @@ -111,26 +110,8 @@ @$(MAKE) -C ../extensions/webcompat-reporter/locales chrome AB_CD=$* endif -package-win32-installer: WIN32_INSTALLER_OUT=$(ABS_DIST)/$(PKG_INST_PATH)$(PKG_INST_BASENAME).exe package-win32-installer: $(SUBMAKEFILES) - @echo 'Packaging $(WIN32_INSTALLER_OUT).' - $(MAKE) -C ../installer/windows CONFIG_DIR=l10ngen l10ngen/setup.exe l10ngen/7zSD.sfx - $(RM) -r $(STAGEDIST)/uninstall - $(NSINSTALL) -D $(STAGEDIST)/uninstall - cp ../installer/windows/l10ngen/helper.exe $(STAGEDIST)/uninstall - $(RM) $(ABS_DIST)/l10n-stage/setup.exe - cp ../installer/windows/l10ngen/setup.exe $(ABS_DIST)/l10n-stage - $(NSINSTALL) -D '$(ABS_DIST)/$(PKG_INST_PATH)' - (cd $(DIST)/l10n-stage; \ - $(MAKE_PACKAGE)) - mv -f '$(DIST)/l10n-stage/$(PACKAGE)' '$(WIN32_INSTALLER_OUT)' - if test -f '$(DIST)/l10n-stage/$(PACKAGE).asc'; then mv -f '$(DIST)/l10n-stage/$(PACKAGE).asc' '$(WIN32_INSTALLER_OUT).asc'; fi -ifdef MOZ_STUB_INSTALLER - $(RM) '$(ABS_DIST)/$(PKG_INST_PATH)$(PKG_STUB_BASENAME).exe' - cp ../installer/windows/l10ngen/stub.exe '$(ABS_DIST)/$(PKG_INST_PATH)$(PKG_STUB_BASENAME).exe' - chmod 0755 '$(ABS_DIST)/$(PKG_INST_PATH)$(PKG_STUB_BASENAME).exe' -endif - + $(MAKE) -C ../installer/windows CONFIG_DIR=l10ngen ZIP_IN='$(ZIP_OUT)' installer langpack: langpack-$(AB_CD) @@ -145,7 +126,7 @@ @$(MAKE) package-langpack-$* @$(MAKE) repackage-zip-$* ifeq (WINNT,$(OS_ARCH)) - @$(MAKE) package-win32-installer AB_CD=$* MOZ_PKG_FORMAT=SFX7Z + @$(MAKE) package-win32-installer AB_CD=$* endif @echo 'repackaging done' diff -Nru firefox-60.0+build2/browser/themes/windows/browser.css firefox-60.0.1+build2/browser/themes/windows/browser.css --- firefox-60.0+build2/browser/themes/windows/browser.css 2018-05-08 11:07:52.000000000 +0000 +++ firefox-60.0.1+build2/browser/themes/windows/browser.css 2018-05-16 17:37:47.000000000 +0000 @@ -693,8 +693,8 @@ @media (-moz-windows-default-theme: 0) { /* For high contrast themes. */ - tabbrowser, - :root[privatebrowsingmode=temporary] tabbrowser { + #tabbrowser-tabpanels, + :root[privatebrowsingmode=temporary] #tabbrowser-tabpanels { background-color: -moz-default-background-color; } } diff -Nru firefox-60.0+build2/build/moz-automation.mk firefox-60.0.1+build2/build/moz-automation.mk --- firefox-60.0+build2/build/moz-automation.mk 2018-05-08 11:07:52.000000000 +0000 +++ firefox-60.0.1+build2/build/moz-automation.mk 2018-05-16 17:37:47.000000000 +0000 @@ -28,7 +28,6 @@ # corresponding the make target tier_MOZ_AUTOMATION_BUILD_SYMBOLS = buildsymbols tier_MOZ_AUTOMATION_L10N_CHECK = l10n-check -tier_MOZ_AUTOMATION_INSTALLER = installer tier_MOZ_AUTOMATION_PACKAGE = package tier_MOZ_AUTOMATION_PACKAGE_TESTS = package-tests tier_MOZ_AUTOMATION_UPDATE_PACKAGING = update-packaging @@ -45,7 +44,6 @@ MOZ_AUTOMATION_BUILD_SYMBOLS \ MOZ_AUTOMATION_UPLOAD_SYMBOLS \ MOZ_AUTOMATION_PACKAGE \ - MOZ_AUTOMATION_INSTALLER \ MOZ_AUTOMATION_UPDATE_PACKAGING \ MOZ_AUTOMATION_PACKAGE_GENERATED_SOURCES \ MOZ_AUTOMATION_L10N_CHECK \ @@ -57,22 +55,15 @@ automation/uploadsymbols: automation/buildsymbols automation/update-packaging: automation/package -automation/update-packaging: automation/installer automation/l10n-check: automation/package -automation/l10n-check: automation/installer -automation/upload: automation/installer automation/upload: automation/package automation/upload: automation/package-tests automation/upload: automation/buildsymbols automation/upload: automation/update-packaging automation/upload: automation/package-generated-sources -# The installer and packager all run stage-package, and may conflict -# with each other. -automation/installer: automation/package - automation/build: $(addprefix automation/,$(MOZ_AUTOMATION_TIERS)) @echo Automation steps completed. diff -Nru firefox-60.0+build2/build/mozconfig.automation firefox-60.0.1+build2/build/mozconfig.automation --- firefox-60.0+build2/build/mozconfig.automation 2018-05-08 11:07:52.000000000 +0000 +++ firefox-60.0.1+build2/build/mozconfig.automation 2018-05-16 17:37:47.000000000 +0000 @@ -13,7 +13,6 @@ mk_add_options "export MOZ_AUTOMATION_L10N_CHECK=${MOZ_AUTOMATION_L10N_CHECK-1}" mk_add_options "export MOZ_AUTOMATION_PACKAGE=${MOZ_AUTOMATION_PACKAGE-1}" mk_add_options "export MOZ_AUTOMATION_PACKAGE_TESTS=${MOZ_AUTOMATION_PACKAGE_TESTS-1}" -mk_add_options "export MOZ_AUTOMATION_INSTALLER=${MOZ_AUTOMATION_INSTALLER-0}" mk_add_options "export MOZ_AUTOMATION_UPDATE_PACKAGING=${MOZ_AUTOMATION_UPDATE_PACKAGING-0}" mk_add_options "export MOZ_AUTOMATION_PACKAGE_GENERATED_SOURCES=${MOZ_AUTOMATION_PACKAGE_GENERATED_SOURCES-1}" mk_add_options "export MOZ_AUTOMATION_UPLOAD=${MOZ_AUTOMATION_UPLOAD-1}" diff -Nru firefox-60.0+build2/build/mozconfig.win-common firefox-60.0.1+build2/build/mozconfig.win-common --- firefox-60.0+build2/build/mozconfig.win-common 2018-05-08 11:07:52.000000000 +0000 +++ firefox-60.0.1+build2/build/mozconfig.win-common 2018-05-16 17:37:47.000000000 +0000 @@ -7,9 +7,5 @@ MOZ_AUTOMATION_UPDATE_PACKAGING=${MOZ_AUTOMATION_UPDATE_PACKAGING-1} fi -# Some builds (eg: Mulet) don't want the installer, so only set this if it -# hasn't already been set. -MOZ_AUTOMATION_INSTALLER=${MOZ_AUTOMATION_INSTALLER-1} - TOOLTOOL_DIR=${TOOLTOOL_DIR:-$topsrcdir} export MAKECAB=$TOOLTOOL_DIR/makecab.exe diff -Nru firefox-60.0+build2/config/config.mk firefox-60.0.1+build2/config/config.mk --- firefox-60.0+build2/config/config.mk 2018-05-08 11:07:52.000000000 +0000 +++ firefox-60.0.1+build2/config/config.mk 2018-05-16 17:37:48.000000000 +0000 @@ -410,8 +410,6 @@ JAVAC_FLAGS += -g endif -CREATE_PRECOMPLETE_CMD = $(PYTHON) $(abspath $(MOZILLA_DIR)/config/createprecomplete.py) - # MDDEPDIR is the subdirectory where dependency files are stored MDDEPDIR := .deps diff -Nru firefox-60.0+build2/config/milestone.txt firefox-60.0.1+build2/config/milestone.txt --- firefox-60.0+build2/config/milestone.txt 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/config/milestone.txt 2018-05-16 17:37:47.000000000 +0000 @@ -10,4 +10,4 @@ # hardcoded milestones in the tree from these two files. #-------------------------------------------------------- -60.0 +60.0.1 diff -Nru firefox-60.0+build2/debian/changelog firefox-60.0.1+build2/debian/changelog --- firefox-60.0+build2/debian/changelog 2018-05-09 23:16:34.000000000 +0000 +++ firefox-60.0.1+build2/debian/changelog 2018-05-17 10:19:39.000000000 +0000 @@ -1,3 +1,9 @@ +firefox (60.0.1+build2-0ubuntu0.16.04.1) xenial-security; urgency=medium + + * New upstream stable release (60.0.1build2) + + -- Chris Coulson Thu, 17 May 2018 11:19:39 +0100 + firefox (60.0+build2-0ubuntu0.16.04.1) xenial-security; urgency=medium * New upstream stable release (60.0build2) diff -Nru firefox-60.0+build2/dom/tests/mochitest/general/test_interfaces.js firefox-60.0.1+build2/dom/tests/mochitest/general/test_interfaces.js --- firefox-60.0+build2/dom/tests/mochitest/general/test_interfaces.js 2018-05-08 11:07:54.000000000 +0000 +++ firefox-60.0.1+build2/dom/tests/mochitest/general/test_interfaces.js 2018-05-16 17:37:54.000000000 +0000 @@ -1173,21 +1173,21 @@ // IMPORTANT: Do not change this list without review from a DOM peer! {name: "VideoStreamTrack", insecureContext: true}, // IMPORTANT: Do not change this list without review from a DOM peer! - {name: "VRDisplay", insecureContext: true, releaseNonWindowsAndMac: false}, + {name: "VRDisplay", insecureContext: true, releaseNonWindows: false}, // IMPORTANT: Do not change this list without review from a DOM peer! - {name: "VRDisplayCapabilities", insecureContext: true, releaseNonWindowsAndMac: false}, + {name: "VRDisplayCapabilities", insecureContext: true, releaseNonWindows: false}, // IMPORTANT: Do not change this list without review from a DOM peer! - {name: "VRDisplayEvent", insecureContext: true, releaseNonWindowsAndMac: false}, + {name: "VRDisplayEvent", insecureContext: true, releaseNonWindows: false}, // IMPORTANT: Do not change this list without review from a DOM peer! - {name: "VREyeParameters", insecureContext: true, releaseNonWindowsAndMac: false}, + {name: "VREyeParameters", insecureContext: true, releaseNonWindows: false}, // IMPORTANT: Do not change this list without review from a DOM peer! - {name: "VRFieldOfView", insecureContext: true, releaseNonWindowsAndMac: false}, + {name: "VRFieldOfView", insecureContext: true, releaseNonWindows: false}, // IMPORTANT: Do not change this list without review from a DOM peer! - {name: "VRFrameData", insecureContext: true, releaseNonWindowsAndMac: false}, + {name: "VRFrameData", insecureContext: true, releaseNonWindows: false}, // IMPORTANT: Do not change this list without review from a DOM peer! - {name: "VRPose", insecureContext: true, releaseNonWindowsAndMac: false}, + {name: "VRPose", insecureContext: true, releaseNonWindows: false}, // IMPORTANT: Do not change this list without review from a DOM peer! - {name: "VRStageParameters", insecureContext: true, releaseNonWindowsAndMac: false}, + {name: "VRStageParameters", insecureContext: true, releaseNonWindows: false}, // IMPORTANT: Do not change this list without review from a DOM peer! {name: "VTTCue", insecureContext: true}, // IMPORTANT: Do not change this list without review from a DOM peer! @@ -1293,7 +1293,7 @@ (entry.linux === !isLinux) || (entry.android === !isAndroid && !entry.nightlyAndroid) || (entry.release === !isRelease) || - (entry.releaseNonWindowsAndMac === !(isRelease && !isWindows && !isMac)) || + (entry.releaseNonWindows === !(isRelease && !isWindows)) || // The insecureContext test is very purposefully converting // entry.insecureContext to boolean, so undefined will convert to // false. That way entries without an insecureContext annotation diff -Nru firefox-60.0+build2/gfx/layers/apz/src/AsyncPanZoomController.cpp firefox-60.0.1+build2/gfx/layers/apz/src/AsyncPanZoomController.cpp --- firefox-60.0+build2/gfx/layers/apz/src/AsyncPanZoomController.cpp 2018-05-08 11:07:55.000000000 +0000 +++ firefox-60.0.1+build2/gfx/layers/apz/src/AsyncPanZoomController.cpp 2018-05-16 17:37:56.000000000 +0000 @@ -1573,6 +1573,7 @@ // may start an animation, but otherwise we want to end up in the NOTHING // state. To avoid state change notification churn, we use a // notification blocker. + bool stateWasPinching = (mState == PINCHING); StateChangeNotificationBlocker blocker(this); SetState(NOTHING); @@ -1599,7 +1600,7 @@ // when zoom is not allowed mX.EndTouch(aEvent.mTime); mY.EndTouch(aEvent.mTime); - if (mState == PINCHING) { + if (stateWasPinching) { // still pinching if (HasReadyTouchBlock()) { return HandleEndOfPan(); diff -Nru firefox-60.0+build2/js/src/gc/GC.cpp firefox-60.0.1+build2/js/src/gc/GC.cpp --- firefox-60.0+build2/js/src/gc/GC.cpp 2018-05-08 11:07:55.000000000 +0000 +++ firefox-60.0.1+build2/js/src/gc/GC.cpp 2018-05-16 17:37:57.000000000 +0000 @@ -8017,9 +8017,11 @@ if (GlobalObject::isOffThreadPrototypePlaceholder(obj)) { JSObject* targetProto = global->getPrototypeForOffThreadPlaceholder(obj); MOZ_ASSERT(targetProto->isDelegate()); + MOZ_ASSERT_IF(targetProto->staticPrototypeIsImmutable(), + obj->staticPrototypeIsImmutable()); + MOZ_ASSERT_IF(targetProto->isNewGroupUnknown(), + obj->isNewGroupUnknown()); group->setProtoUnchecked(TaggedProto(targetProto)); - if (targetProto->isNewGroupUnknown() && !group->unknownProperties()) - group->markUnknown(cx); } } diff -Nru firefox-60.0+build2/js/src/vm/GlobalObject.cpp firefox-60.0.1+build2/js/src/vm/GlobalObject.cpp --- firefox-60.0+build2/js/src/vm/GlobalObject.cpp 2018-05-08 11:07:57.000000000 +0000 +++ firefox-60.0.1+build2/js/src/vm/GlobalObject.cpp 2018-05-16 17:38:10.000000000 +0000 @@ -341,6 +341,12 @@ return false; } + if ((key == JSProto_Object || key == JSProto_Function || key == JSProto_Array) && + !JSObject::setNewGroupUnknown(cx, placeholder->getClass(), placeholder)) + { + return false; + } + global->setPrototype(key, ObjectValue(*placeholder)); global->setConstructor(key, MagicValue(JS_OFF_THREAD_CONSTRUCTOR)); return true; diff -Nru firefox-60.0+build2/mobile/android/config/mozconfigs/android-api-16-frontend/nightly firefox-60.0.1+build2/mobile/android/config/mozconfigs/android-api-16-frontend/nightly --- firefox-60.0+build2/mobile/android/config/mozconfigs/android-api-16-frontend/nightly 2018-05-08 11:08:00.000000000 +0000 +++ firefox-60.0.1+build2/mobile/android/config/mozconfigs/android-api-16-frontend/nightly 2018-05-16 17:38:21.000000000 +0000 @@ -1,6 +1,5 @@ # Many things aren't appropriate for a frontend-only build. MOZ_AUTOMATION_BUILD_SYMBOLS=0 -MOZ_AUTOMATION_INSTALLER=0 MOZ_AUTOMATION_L10N_CHECK=0 MOZ_AUTOMATION_PACKAGE=0 MOZ_AUTOMATION_PACKAGE_TESTS=0 diff -Nru firefox-60.0+build2/mobile/android/config/mozconfigs/android-api-16-gradle-dependencies/nightly firefox-60.0.1+build2/mobile/android/config/mozconfigs/android-api-16-gradle-dependencies/nightly --- firefox-60.0+build2/mobile/android/config/mozconfigs/android-api-16-gradle-dependencies/nightly 2018-05-08 11:08:00.000000000 +0000 +++ firefox-60.0.1+build2/mobile/android/config/mozconfigs/android-api-16-gradle-dependencies/nightly 2018-05-16 17:38:14.000000000 +0000 @@ -1,6 +1,5 @@ # Many things aren't appropriate for a frontend-only build. MOZ_AUTOMATION_BUILD_SYMBOLS=0 -MOZ_AUTOMATION_INSTALLER=0 MOZ_AUTOMATION_L10N_CHECK=0 MOZ_AUTOMATION_PACKAGE=0 MOZ_AUTOMATION_PACKAGE_TESTS=0 diff -Nru firefox-60.0+build2/modules/libpref/init/all.js firefox-60.0.1+build2/modules/libpref/init/all.js --- firefox-60.0+build2/modules/libpref/init/all.js 2018-05-08 11:08:00.000000000 +0000 +++ firefox-60.0.1+build2/modules/libpref/init/all.js 2018-05-16 17:38:23.000000000 +0000 @@ -5338,7 +5338,7 @@ // WebVR is enabled by default in beta and release for Windows and for all // platforms in nightly and aurora. -#if defined(XP_WIN) || defined(XP_MACOSX) || !defined(RELEASE_OR_BETA) +#if defined(XP_WIN) || !defined(RELEASE_OR_BETA) pref("dom.vr.enabled", true); #else pref("dom.vr.enabled", false); diff -Nru firefox-60.0+build2/netwerk/protocol/res/nsISubstitutingProtocolHandler.idl firefox-60.0.1+build2/netwerk/protocol/res/nsISubstitutingProtocolHandler.idl --- firefox-60.0+build2/netwerk/protocol/res/nsISubstitutingProtocolHandler.idl 2018-05-08 11:08:01.000000000 +0000 +++ firefox-60.0.1+build2/netwerk/protocol/res/nsISubstitutingProtocolHandler.idl 2018-05-16 17:38:23.000000000 +0000 @@ -25,8 +25,8 @@ * * A null baseURI removes the specified substitution. * - * A root key should always be lowercase; however, this may not be - * enforced. + * The root key will be converted to lower-case to conform to + * case-insensitive URI hostname matching behavior. */ [must_use] void setSubstitution(in ACString root, in nsIURI baseURI); diff -Nru firefox-60.0+build2/netwerk/protocol/res/SubstitutingProtocolHandler.cpp firefox-60.0.1+build2/netwerk/protocol/res/SubstitutingProtocolHandler.cpp --- firefox-60.0+build2/netwerk/protocol/res/SubstitutingProtocolHandler.cpp 2018-05-08 11:08:01.000000000 +0000 +++ firefox-60.0.1+build2/netwerk/protocol/res/SubstitutingProtocolHandler.cpp 2018-05-16 17:38:22.000000000 +0000 @@ -14,6 +14,7 @@ #include "nsIFile.h" #include "nsNetCID.h" #include "nsNetUtil.h" +#include "nsReadableUtils.h" #include "nsURLHelper.h" #include "nsEscape.h" @@ -303,8 +304,11 @@ } nsresult -SubstitutingProtocolHandler::SetSubstitutionWithFlags(const nsACString& root, nsIURI *baseURI, uint32_t flags) +SubstitutingProtocolHandler::SetSubstitutionWithFlags(const nsACString& origRoot, nsIURI *baseURI, uint32_t flags) { + nsAutoCString root; + ToLowerCase(origRoot, root); + if (!baseURI) { mSubstitutions.Remove(root); NotifyObservers(root, baseURI); @@ -346,10 +350,13 @@ } nsresult -SubstitutingProtocolHandler::GetSubstitution(const nsACString& root, nsIURI **result) +SubstitutingProtocolHandler::GetSubstitution(const nsACString& origRoot, nsIURI **result) { NS_ENSURE_ARG_POINTER(result); + nsAutoCString root; + ToLowerCase(origRoot, root); + SubstitutionEntry entry; if (mSubstitutions.Get(root, &entry)) { nsCOMPtr baseURI = entry.baseURI; @@ -364,6 +371,12 @@ nsresult SubstitutingProtocolHandler::GetSubstitutionFlags(const nsACString& root, uint32_t* flags) { +#ifdef DEBUG + nsAutoCString lcRoot; + ToLowerCase(root, lcRoot); + MOZ_ASSERT(root.Equals(lcRoot), "GetSubstitutionFlags should never receive mixed-case root name"); +#endif + *flags = 0; SubstitutionEntry entry; if (mSubstitutions.Get(root, &entry)) { @@ -376,9 +389,13 @@ } nsresult -SubstitutingProtocolHandler::HasSubstitution(const nsACString& root, bool *result) +SubstitutingProtocolHandler::HasSubstitution(const nsACString& origRoot, bool *result) { NS_ENSURE_ARG_POINTER(result); + + nsAutoCString root; + ToLowerCase(origRoot, root); + *result = HasSubstitution(root); return NS_OK; } diff -Nru firefox-60.0+build2/netwerk/test/unit/test_substituting_protocol_handler.js firefox-60.0.1+build2/netwerk/test/unit/test_substituting_protocol_handler.js --- firefox-60.0+build2/netwerk/test/unit/test_substituting_protocol_handler.js 1970-01-01 00:00:00.000000000 +0000 +++ firefox-60.0.1+build2/netwerk/test/unit/test_substituting_protocol_handler.js 2018-05-16 17:38:22.000000000 +0000 @@ -0,0 +1,41 @@ +"use strict"; + +ChromeUtils.import("resource://gre/modules/Services.jsm"); + +add_task(async function test_case_insensitive_substitutions() { + let resProto = Services.io.getProtocolHandler("resource") + .QueryInterface(Ci.nsISubstitutingProtocolHandler); + + let uri = Services.io.newFileURI(do_get_file("data")); + + resProto.setSubstitution("FooBar", uri); + resProto.setSubstitutionWithFlags("BarBaz", uri, 0); + + equal(resProto.resolveURI(Services.io.newURI("resource://foobar/")), + uri.spec, "Got correct resolved URI for setSubstitution"); + + equal(resProto.resolveURI(Services.io.newURI("resource://foobar/")), + uri.spec, "Got correct resolved URI for setSubstitutionWithFlags"); + + ok(resProto.hasSubstitution("foobar"), "hasSubstitution works with all-lower-case root"); + ok(resProto.hasSubstitution("FooBar"), "hasSubstitution works with mixed-case root"); + + equal(resProto.getSubstitution("foobar").spec, uri.spec, + "getSubstitution works with all-lower-case root"); + equal(resProto.getSubstitution("FooBar").spec, uri.spec, + "getSubstitution works with mixed-case root"); + + resProto.setSubstitution("foobar", null); + resProto.setSubstitution("barbaz", null); + + Assert.throws(() => resProto.resolveURI(Services.io.newURI("resource://foobar/")), + e => e.result == Cr.NS_ERROR_NOT_AVAILABLE, + "Correctly unregistered case-insensitive substitution in setSubstitution"); + Assert.throws(() => resProto.resolveURI(Services.io.newURI("resource://barbaz/")), + e => e.result == Cr.NS_ERROR_NOT_AVAILABLE, + "Correctly unregistered case-insensitive substitution in setSubstitutionWithFlags"); + + Assert.throws(() => resProto.getSubstitution("foobar"), + e => e.result == Cr.NS_ERROR_NOT_AVAILABLE, + "foobar substitution has been removed"); +}); diff -Nru firefox-60.0+build2/netwerk/test/unit/xpcshell.ini firefox-60.0.1+build2/netwerk/test/unit/xpcshell.ini --- firefox-60.0+build2/netwerk/test/unit/xpcshell.ini 2018-05-08 11:08:01.000000000 +0000 +++ firefox-60.0.1+build2/netwerk/test/unit/xpcshell.ini 2018-05-16 17:38:22.000000000 +0000 @@ -423,3 +423,4 @@ # http2-using tests require node available skip-if = os == "android" [test_ioservice.js] +[test_substituting_protocol_handler.js] diff -Nru firefox-60.0+build2/python/mozbuild/mozbuild/action/langpack_manifest.py firefox-60.0.1+build2/python/mozbuild/mozbuild/action/langpack_manifest.py --- firefox-60.0+build2/python/mozbuild/mozbuild/action/langpack_manifest.py 2018-05-08 11:08:00.000000000 +0000 +++ firefox-60.0.1+build2/python/mozbuild/mozbuild/action/langpack_manifest.py 2018-05-16 17:38:25.000000000 +0000 @@ -24,6 +24,7 @@ ManifestLocale, parse_manifest, ) +from mozbuild.configure.util import Version from mozbuild.preprocessor import Preprocessor @@ -458,9 +459,20 @@ defines = parse_defines(args.defines) + min_app_version = args.min_app_ver + if 'a' not in min_app_version: # Don't mangle alpha versions + v = Version(min_app_version) + if args.app_name == "SeaMonkey": + # SeaMonkey is odd in that hasn't changed for many years. + # So min is ..0 + min_app_version = "{}.{}.0".format(v.major, v.minor) + else: + # Language packs should be minversion of {major}.0 + min_app_version = "{}.0".format(v.major) + res = create_webmanifest( args.locales, - args.min_app_ver, + min_app_version, args.max_app_ver, args.app_name, args.l10n_basedir, diff -Nru firefox-60.0+build2/security/sandbox/mac/SandboxPolicies.h firefox-60.0.1+build2/security/sandbox/mac/SandboxPolicies.h --- firefox-60.0+build2/security/sandbox/mac/SandboxPolicies.h 2018-05-08 11:08:01.000000000 +0000 +++ firefox-60.0.1+build2/security/sandbox/mac/SandboxPolicies.h 2018-05-16 17:38:19.000000000 +0000 @@ -80,10 +80,12 @@ (allow file-map-executable file-read* (subpath "/System") (subpath "/usr/lib") + (subpath "/Library/GPUBundles") (subpath appdir-path)) (allow file-read* (subpath "/System") (subpath "/usr/lib") + (subpath "/Library/GPUBundles") (subpath appdir-path))) ; Allow read access to standard system paths. @@ -91,7 +93,6 @@ (require-all (file-mode #o0004) (require-any (subpath "/Library/Filesystems/NetFSPlugins") - (subpath "/Library/GPUBundles") (subpath "/usr/share")))) ; Top-level directory metadata access (bug 1404298) diff -Nru firefox-60.0+build2/SOURCE_CHANGESET firefox-60.0.1+build2/SOURCE_CHANGESET --- firefox-60.0+build2/SOURCE_CHANGESET 2018-05-08 11:08:12.000000000 +0000 +++ firefox-60.0.1+build2/SOURCE_CHANGESET 2018-05-16 17:38:47.000000000 +0000 @@ -1 +1 @@ -ea4f3168c604994f051644b467aad92723448d12 \ No newline at end of file +03d4f76300bedeffd47c726ce7fee0221873da11 \ No newline at end of file diff -Nru firefox-60.0+build2/taskcluster/ci/balrog/kind.yml firefox-60.0.1+build2/taskcluster/ci/balrog/kind.yml --- firefox-60.0+build2/taskcluster/ci/balrog/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/balrog/kind.yml 2018-05-16 17:38:27.000000000 +0000 @@ -7,7 +7,6 @@ transforms: - taskgraph.transforms.name_sanity:transforms - taskgraph.transforms.balrog_submit:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/beetmover/kind.yml firefox-60.0.1+build2/taskcluster/ci/beetmover/kind.yml --- firefox-60.0+build2/taskcluster/ci/beetmover/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/beetmover/kind.yml 2018-05-16 17:38:19.000000000 +0000 @@ -7,7 +7,6 @@ transforms: - taskgraph.transforms.name_sanity:transforms - taskgraph.transforms.beetmover:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/beetmover-cdns/kind.yml firefox-60.0.1+build2/taskcluster/ci/beetmover-cdns/kind.yml --- firefox-60.0+build2/taskcluster/ci/beetmover-cdns/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/beetmover-cdns/kind.yml 2018-05-16 17:38:19.000000000 +0000 @@ -7,7 +7,6 @@ transforms: - taskgraph.transforms.release_deps:transforms - taskgraph.transforms.beetmover_cdns:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/beetmover-checksums/kind.yml firefox-60.0.1+build2/taskcluster/ci/beetmover-checksums/kind.yml --- firefox-60.0+build2/taskcluster/ci/beetmover-checksums/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/beetmover-checksums/kind.yml 2018-05-16 17:38:23.000000000 +0000 @@ -7,7 +7,6 @@ transforms: - taskgraph.transforms.name_sanity:transforms - taskgraph.transforms.beetmover_checksums:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/beetmover-repackage/kind.yml firefox-60.0.1+build2/taskcluster/ci/beetmover-repackage/kind.yml --- firefox-60.0+build2/taskcluster/ci/beetmover-repackage/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/beetmover-repackage/kind.yml 2018-05-16 17:38:24.000000000 +0000 @@ -8,7 +8,6 @@ - taskgraph.transforms.name_sanity:transforms - taskgraph.transforms.beetmover_repackage_l10n:transforms - taskgraph.transforms.beetmover_repackage:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/beetmover-source/kind.yml firefox-60.0.1+build2/taskcluster/ci/beetmover-source/kind.yml --- firefox-60.0+build2/taskcluster/ci/beetmover-source/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/beetmover-source/kind.yml 2018-05-16 17:38:26.000000000 +0000 @@ -8,7 +8,6 @@ - taskgraph.transforms.name_sanity:transforms - taskgraph.transforms.beetmover:transforms - taskgraph.transforms.beetmover_source:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/build/kind.yml firefox-60.0.1+build2/taskcluster/ci/build/kind.yml --- firefox-60.0+build2/taskcluster/ci/build/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/build/kind.yml 2018-05-16 17:38:23.000000000 +0000 @@ -12,7 +12,6 @@ - taskgraph.transforms.build_attrs:transforms - taskgraph.transforms.build_lints:transforms - taskgraph.transforms.use_toolchains:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.job:transforms - taskgraph.transforms.task:transforms diff -Nru firefox-60.0+build2/taskcluster/ci/build-signing/kind.yml firefox-60.0.1+build2/taskcluster/ci/build-signing/kind.yml --- firefox-60.0+build2/taskcluster/ci/build-signing/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/build-signing/kind.yml 2018-05-16 17:38:27.000000000 +0000 @@ -8,7 +8,6 @@ - taskgraph.transforms.name_sanity:transforms - taskgraph.transforms.build_signing:transforms - taskgraph.transforms.signing:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/checksums-signing/kind.yml firefox-60.0.1+build2/taskcluster/ci/checksums-signing/kind.yml --- firefox-60.0+build2/taskcluster/ci/checksums-signing/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/checksums-signing/kind.yml 2018-05-16 17:38:19.000000000 +0000 @@ -7,7 +7,6 @@ transforms: - taskgraph.transforms.name_sanity:transforms - taskgraph.transforms.checksums_signing:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/config.yml firefox-60.0.1+build2/taskcluster/ci/config.yml --- firefox-60.0+build2/taskcluster/ci/config.yml 2018-05-08 11:08:01.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/config.yml 2018-05-16 17:38:27.000000000 +0000 @@ -124,3 +124,12 @@ - 'project:releng:balrog:server:esr' 'scriptworker-prov-v1/balrog-dev': - 'project:releng:balrog:server:dep' + + +partner: + release: + release-partner-repack: git@github.com:mozilla-partners/repack-manifests.git + release-eme-free-repack: git@github.com:mozilla-partners/mozilla-EME-free-manifest + staging: + release-partner-repack: git@github.com:mozilla-releng/staging-repack-manifests.git + release-eme-free-repack: git@github.com:mozilla-releng/staging-repack-manifests.git diff -Nru firefox-60.0+build2/taskcluster/ci/google-play-strings/kind.yml firefox-60.0.1+build2/taskcluster/ci/google-play-strings/kind.yml --- firefox-60.0+build2/taskcluster/ci/google-play-strings/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/google-play-strings/kind.yml 2018-05-16 17:38:23.000000000 +0000 @@ -6,7 +6,6 @@ transforms: - taskgraph.transforms.google_play_strings:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms jobs: diff -Nru firefox-60.0+build2/taskcluster/ci/nightly-l10n/kind.yml firefox-60.0.1+build2/taskcluster/ci/nightly-l10n/kind.yml --- firefox-60.0+build2/taskcluster/ci/nightly-l10n/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/nightly-l10n/kind.yml 2018-05-16 17:38:19.000000000 +0000 @@ -8,7 +8,6 @@ - taskgraph.transforms.l10n:transforms - taskgraph.transforms.use_toolchains:transforms - taskgraph.transforms.job:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/nightly-l10n-signing/kind.yml firefox-60.0.1+build2/taskcluster/ci/nightly-l10n-signing/kind.yml --- firefox-60.0+build2/taskcluster/ci/nightly-l10n-signing/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/nightly-l10n-signing/kind.yml 2018-05-16 17:38:26.000000000 +0000 @@ -8,7 +8,6 @@ - taskgraph.transforms.name_sanity:transforms - taskgraph.transforms.nightly_l10n_signing:transforms - taskgraph.transforms.signing:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/post-beetmover-checksums-dummy/kind.yml firefox-60.0.1+build2/taskcluster/ci/post-beetmover-checksums-dummy/kind.yml --- firefox-60.0+build2/taskcluster/ci/post-beetmover-checksums-dummy/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/post-beetmover-checksums-dummy/kind.yml 2018-05-16 17:38:26.000000000 +0000 @@ -6,7 +6,6 @@ transforms: - taskgraph.transforms.reverse_chunk_deps:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/post-beetmover-dummy/kind.yml firefox-60.0.1+build2/taskcluster/ci/post-beetmover-dummy/kind.yml --- firefox-60.0+build2/taskcluster/ci/post-beetmover-dummy/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/post-beetmover-dummy/kind.yml 2018-05-16 17:38:24.000000000 +0000 @@ -6,7 +6,6 @@ transforms: - taskgraph.transforms.reverse_chunk_deps:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/post-langpack-dummy/kind.yml firefox-60.0.1+build2/taskcluster/ci/post-langpack-dummy/kind.yml --- firefox-60.0+build2/taskcluster/ci/post-langpack-dummy/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/post-langpack-dummy/kind.yml 2018-05-16 17:38:26.000000000 +0000 @@ -6,7 +6,6 @@ transforms: - taskgraph.transforms.reverse_chunk_deps:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/push-apk/kind.yml firefox-60.0.1+build2/taskcluster/ci/push-apk/kind.yml --- firefox-60.0+build2/taskcluster/ci/push-apk/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/push-apk/kind.yml 2018-05-16 17:38:19.000000000 +0000 @@ -6,7 +6,6 @@ transforms: - taskgraph.transforms.push_apk:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/release-balrog-scheduling/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-balrog-scheduling/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-balrog-scheduling/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-balrog-scheduling/kind.yml 2018-05-16 17:38:27.000000000 +0000 @@ -7,7 +7,6 @@ transforms: - taskgraph.transforms.release_deps:transforms - taskgraph.transforms.worker_type:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/release-balrog-submit-toplevel/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-balrog-submit-toplevel/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-balrog-submit-toplevel/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-balrog-submit-toplevel/kind.yml 2018-05-16 17:38:27.000000000 +0000 @@ -11,7 +11,6 @@ transforms: - taskgraph.transforms.release_deps:transforms - taskgraph.transforms.worker_type:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms job-defaults: diff -Nru firefox-60.0+build2/taskcluster/ci/release-beetmover-signed-langpacks/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-beetmover-signed-langpacks/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-beetmover-signed-langpacks/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-beetmover-signed-langpacks/kind.yml 2018-05-16 17:38:19.000000000 +0000 @@ -7,7 +7,6 @@ transforms: - taskgraph.transforms.name_sanity:transforms - taskgraph.transforms.release_beetmover_signed_addons:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/release-binary-transparency/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-binary-transparency/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-binary-transparency/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-binary-transparency/kind.yml 2018-05-16 17:38:23.000000000 +0000 @@ -6,7 +6,6 @@ transforms: - taskgraph.transforms.release_deps:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/release-bouncer-aliases/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-bouncer-aliases/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-bouncer-aliases/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-bouncer-aliases/kind.yml 2018-05-16 17:38:26.000000000 +0000 @@ -7,7 +7,6 @@ transforms: - taskgraph.transforms.release_deps:transforms - taskgraph.transforms.bouncer_aliases:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/release-bouncer-check/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-bouncer-check/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-bouncer-check/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-bouncer-check/kind.yml 2018-05-16 17:38:24.000000000 +0000 @@ -10,7 +10,6 @@ transforms: - taskgraph.transforms.release_deps:transforms - taskgraph.transforms.bouncer_check:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.job:transforms - taskgraph.transforms.task:transforms diff -Nru firefox-60.0+build2/taskcluster/ci/release-bouncer-sub/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-bouncer-sub/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-bouncer-sub/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-bouncer-sub/kind.yml 2018-05-16 17:38:26.000000000 +0000 @@ -6,7 +6,6 @@ transforms: - taskgraph.transforms.bouncer_submission:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms job-defaults: diff -Nru firefox-60.0+build2/taskcluster/ci/release-eme-free-repack/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-eme-free-repack/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-eme-free-repack/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-eme-free-repack/kind.yml 2018-05-16 17:38:23.000000000 +0000 @@ -7,7 +7,6 @@ transforms: - taskgraph.transforms.release_deps:transforms - taskgraph.transforms.partner_repack:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.job:transforms - taskgraph.transforms.task:transforms @@ -27,13 +26,6 @@ in-tree: "partner-repack" chain-of-trust: true max-run-time: 7200 - env: - REPACK_MANIFESTS_URL: - by-project: - mozilla-beta: "git@github.com:mozilla-partners/mozilla-EME-free-manifest" - mozilla-release: "git@github.com:mozilla-partners/mozilla-EME-free-manifest" - maple: "git@github.com:mozilla-partners/mozilla-EME-free-manifest" - default: "git@github.com:mozilla-releng/staging-repack-manifests.git" run: using: mozharness config: diff -Nru firefox-60.0+build2/taskcluster/ci/release-eme-free-repack-beetmover/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-eme-free-repack-beetmover/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-eme-free-repack-beetmover/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-eme-free-repack-beetmover/kind.yml 2018-05-16 17:38:19.000000000 +0000 @@ -7,7 +7,6 @@ transforms: - taskgraph.transforms.name_sanity:transforms - taskgraph.transforms.beetmover_repackage_partner:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/release-eme-free-repack-repackage/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-eme-free-repack-repackage/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-eme-free-repack-repackage/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-eme-free-repack-repackage/kind.yml 2018-05-16 17:38:27.000000000 +0000 @@ -10,7 +10,6 @@ - taskgraph.transforms.repackage_partner:transforms - taskgraph.transforms.use_toolchains:transforms - taskgraph.transforms.job:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/release-eme-free-repack-repackage-signing/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-eme-free-repack-repackage-signing/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-eme-free-repack-repackage-signing/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-eme-free-repack-repackage-signing/kind.yml 2018-05-16 17:38:27.000000000 +0000 @@ -7,7 +7,6 @@ transforms: - taskgraph.transforms.name_sanity:transforms - taskgraph.transforms.repackage_signing_partner:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/release-eme-free-repack-signing/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-eme-free-repack-signing/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-eme-free-repack-signing/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-eme-free-repack-signing/kind.yml 2018-05-16 17:38:19.000000000 +0000 @@ -8,7 +8,6 @@ - taskgraph.transforms.name_sanity:transforms - taskgraph.transforms.partner_signing:transforms - taskgraph.transforms.signing:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/release-final-verify/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-final-verify/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-final-verify/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-final-verify/kind.yml 2018-05-16 17:38:26.000000000 +0000 @@ -11,7 +11,6 @@ transforms: - taskgraph.transforms.release_deps:transforms - taskgraph.transforms.final_verify:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms job-defaults: diff -Nru firefox-60.0+build2/taskcluster/ci/release-generate-checksums/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-generate-checksums/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-generate-checksums/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-generate-checksums/kind.yml 2018-05-16 17:38:19.000000000 +0000 @@ -13,7 +13,6 @@ - taskgraph.transforms.build:transforms - taskgraph.transforms.release_deps:transforms - taskgraph.transforms.release_generate_checksums:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.job:transforms - taskgraph.transforms.task:transforms diff -Nru firefox-60.0+build2/taskcluster/ci/release-generate-checksums-beetmover/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-generate-checksums-beetmover/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-generate-checksums-beetmover/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-generate-checksums-beetmover/kind.yml 2018-05-16 17:38:24.000000000 +0000 @@ -6,7 +6,6 @@ transforms: - taskgraph.transforms.release_generate_checksums_beetmover:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/release-generate-checksums-signing/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-generate-checksums-signing/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-generate-checksums-signing/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-generate-checksums-signing/kind.yml 2018-05-16 17:38:26.000000000 +0000 @@ -9,7 +9,6 @@ transforms: - taskgraph.transforms.release_generate_checksums_signing:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms job-template: diff -Nru firefox-60.0+build2/taskcluster/ci/release-mark-as-shipped/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-mark-as-shipped/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-mark-as-shipped/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-mark-as-shipped/kind.yml 2018-05-16 17:38:27.000000000 +0000 @@ -7,7 +7,6 @@ transforms: - taskgraph.transforms.release_deps:transforms - taskgraph.transforms.release_mark_as_shipped:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/release-partner-repack/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-partner-repack/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-partner-repack/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-partner-repack/kind.yml 2018-05-16 17:38:27.000000000 +0000 @@ -7,7 +7,6 @@ transforms: - taskgraph.transforms.release_deps:transforms - taskgraph.transforms.partner_repack:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.job:transforms - taskgraph.transforms.task:transforms @@ -27,13 +26,6 @@ in-tree: "partner-repack" chain-of-trust: true max-run-time: 7200 - env: - REPACK_MANIFESTS_URL: - by-project: - mozilla-beta: "git@github.com:mozilla-partners/repack-manifests.git" - mozilla-release: "git@github.com:mozilla-partners/repack-manifests.git" - maple: "git@github.com:mozilla-partners/repack-manifests.git" - default: "git@github.com:mozilla-releng/staging-repack-manifests.git" run: using: mozharness config: diff -Nru firefox-60.0+build2/taskcluster/ci/release-partner-repack-beetmover/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-partner-repack-beetmover/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-partner-repack-beetmover/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-partner-repack-beetmover/kind.yml 2018-05-16 17:38:26.000000000 +0000 @@ -7,7 +7,6 @@ transforms: - taskgraph.transforms.name_sanity:transforms - taskgraph.transforms.beetmover_repackage_partner:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/release-partner-repack-chunking-dummy/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-partner-repack-chunking-dummy/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-partner-repack-chunking-dummy/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-partner-repack-chunking-dummy/kind.yml 2018-05-16 17:38:24.000000000 +0000 @@ -16,7 +16,6 @@ # name_sanity, and copy_build_platform_from_dependent_task to work). - taskgraph.transforms.strip_dependent_task:transforms - taskgraph.transforms.release_deps:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/release-partner-repack-repackage/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-partner-repack-repackage/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-partner-repack-repackage/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-partner-repack-repackage/kind.yml 2018-05-16 17:38:19.000000000 +0000 @@ -10,7 +10,6 @@ - taskgraph.transforms.repackage_partner:transforms - taskgraph.transforms.use_toolchains:transforms - taskgraph.transforms.job:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/release-partner-repack-repackage-signing/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-partner-repack-repackage-signing/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-partner-repack-repackage-signing/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-partner-repack-repackage-signing/kind.yml 2018-05-16 17:38:26.000000000 +0000 @@ -7,7 +7,6 @@ transforms: - taskgraph.transforms.name_sanity:transforms - taskgraph.transforms.repackage_signing_partner:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/release-partner-repack-signing/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-partner-repack-signing/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-partner-repack-signing/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-partner-repack-signing/kind.yml 2018-05-16 17:38:27.000000000 +0000 @@ -8,7 +8,6 @@ - taskgraph.transforms.name_sanity:transforms - taskgraph.transforms.partner_signing:transforms - taskgraph.transforms.signing:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/release-secondary-balrog-scheduling/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-secondary-balrog-scheduling/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-secondary-balrog-scheduling/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-secondary-balrog-scheduling/kind.yml 2018-05-16 17:38:19.000000000 +0000 @@ -7,7 +7,6 @@ transforms: - taskgraph.transforms.release_deps:transforms - taskgraph.transforms.worker_type:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/release-secondary-balrog-submit-toplevel/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-secondary-balrog-submit-toplevel/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-secondary-balrog-submit-toplevel/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-secondary-balrog-submit-toplevel/kind.yml 2018-05-16 17:38:23.000000000 +0000 @@ -11,7 +11,6 @@ transforms: - taskgraph.transforms.release_deps:transforms - taskgraph.transforms.worker_type:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms job-defaults: diff -Nru firefox-60.0+build2/taskcluster/ci/release-secondary-final-verify/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-secondary-final-verify/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-secondary-final-verify/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-secondary-final-verify/kind.yml 2018-05-16 17:38:26.000000000 +0000 @@ -13,7 +13,6 @@ transforms: - taskgraph.transforms.release_deps:transforms - taskgraph.transforms.final_verify:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms job-defaults: diff -Nru firefox-60.0+build2/taskcluster/ci/release-secondary-update-verify/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-secondary-update-verify/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-secondary-update-verify/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-secondary-update-verify/kind.yml 2018-05-16 17:38:19.000000000 +0000 @@ -13,7 +13,6 @@ transforms: - taskgraph.transforms.release_deps:transforms - taskgraph.transforms.update_verify:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms job-defaults: diff -Nru firefox-60.0+build2/taskcluster/ci/release-secondary-update-verify-config/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-secondary-update-verify-config/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-secondary-update-verify-config/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-secondary-update-verify-config/kind.yml 2018-05-16 17:38:26.000000000 +0000 @@ -6,7 +6,6 @@ transforms: - taskgraph.transforms.update_verify_config:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.job:transforms - taskgraph.transforms.task:transforms @@ -26,7 +25,7 @@ type: file run: using: run-task - sparse-profile: update-verify + sparse-profile: mozharness extra: app-name: browser product: firefox diff -Nru firefox-60.0+build2/taskcluster/ci/release-sign-and-push-langpacks/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-sign-and-push-langpacks/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-sign-and-push-langpacks/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-sign-and-push-langpacks/kind.yml 2018-05-16 17:38:27.000000000 +0000 @@ -6,7 +6,6 @@ transforms: - taskgraph.transforms.release_sign_and_push_langpacks:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: @@ -33,7 +32,10 @@ channel: by-project: # Only release langpacks are listed publicly - mozilla-release: listed + mozilla-release: + by-platform: + macosx64.*: unlisted # ja-JP-mac is only langpack on mac, and is unlisted always + default: listed default: unlisted upstream-artifacts: # See transforms run-on-projects: [] diff -Nru firefox-60.0+build2/taskcluster/ci/release-snap-push/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-snap-push/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-snap-push/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-snap-push/kind.yml 2018-05-16 17:38:27.000000000 +0000 @@ -7,7 +7,6 @@ transforms: - taskgraph.transforms.release_deps:transforms - taskgraph.transforms.release_snap_push:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/release-snap-repackage/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-snap-repackage/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-snap-repackage/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-snap-repackage/kind.yml 2018-05-16 17:38:19.000000000 +0000 @@ -7,7 +7,6 @@ transforms: - taskgraph.transforms.release_deps:transforms - taskgraph.transforms.release_snap_repackage:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/release-source/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-source/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-source/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-source/kind.yml 2018-05-16 17:38:26.000000000 +0000 @@ -12,7 +12,6 @@ - taskgraph.transforms.build_attrs:transforms - taskgraph.transforms.build_lints:transforms - taskgraph.transforms.use_toolchains:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.job:transforms - taskgraph.transforms.task:transforms diff -Nru firefox-60.0+build2/taskcluster/ci/release-source-signing/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-source-signing/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-source-signing/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-source-signing/kind.yml 2018-05-16 17:38:23.000000000 +0000 @@ -8,7 +8,6 @@ - taskgraph.transforms.name_sanity:transforms - taskgraph.transforms.build_signing:transforms - taskgraph.transforms.signing:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/release-update-verify/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-update-verify/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-update-verify/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-update-verify/kind.yml 2018-05-16 17:38:19.000000000 +0000 @@ -13,7 +13,6 @@ transforms: - taskgraph.transforms.release_deps:transforms - taskgraph.transforms.update_verify:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms job-defaults: diff -Nru firefox-60.0+build2/taskcluster/ci/release-update-verify-config/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-update-verify-config/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-update-verify-config/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-update-verify-config/kind.yml 2018-05-16 17:38:26.000000000 +0000 @@ -6,7 +6,6 @@ transforms: - taskgraph.transforms.update_verify_config:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.job:transforms - taskgraph.transforms.task:transforms diff -Nru firefox-60.0+build2/taskcluster/ci/release-version-bump/kind.yml firefox-60.0.1+build2/taskcluster/ci/release-version-bump/kind.yml --- firefox-60.0+build2/taskcluster/ci/release-version-bump/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/release-version-bump/kind.yml 2018-05-16 17:38:27.000000000 +0000 @@ -7,7 +7,6 @@ transforms: - taskgraph.transforms.release_deps:transforms - taskgraph.transforms.release_version_bump:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/repackage-l10n/kind.yml firefox-60.0.1+build2/taskcluster/ci/repackage-l10n/kind.yml --- firefox-60.0+build2/taskcluster/ci/repackage-l10n/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/repackage-l10n/kind.yml 2018-05-16 17:38:27.000000000 +0000 @@ -10,7 +10,6 @@ - taskgraph.transforms.repackage:transforms - taskgraph.transforms.use_toolchains:transforms - taskgraph.transforms.job:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/ci/repackage-signing/kind.yml firefox-60.0.1+build2/taskcluster/ci/repackage-signing/kind.yml --- firefox-60.0+build2/taskcluster/ci/repackage-signing/kind.yml 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/ci/repackage-signing/kind.yml 2018-05-16 17:38:19.000000000 +0000 @@ -8,7 +8,6 @@ - taskgraph.transforms.name_sanity:transforms - taskgraph.transforms.repackage_signing:transforms - taskgraph.transforms.repackage_routes:transforms - - taskgraph.transforms.release_notifications:transforms - taskgraph.transforms.task:transforms kind-dependencies: diff -Nru firefox-60.0+build2/taskcluster/taskgraph/actions/release_promotion.py firefox-60.0.1+build2/taskcluster/taskgraph/actions/release_promotion.py --- firefox-60.0+build2/taskcluster/taskgraph/actions/release_promotion.py 2018-05-08 11:08:02.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/taskgraph/actions/release_promotion.py 2018-05-16 17:38:27.000000000 +0000 @@ -15,7 +15,14 @@ find_hg_revision_pushlog_id) from taskgraph.util.taskcluster import get_artifact from taskgraph.util.partials import populate_release_history -from taskgraph.util.partners import fix_partner_config +from taskgraph.util.partners import ( + EMEFREE_BRANCHES, + PARTNER_BRANCHES, + fix_partner_config, + get_partner_config_by_url, + get_partner_url_config, + get_token +) from taskgraph.taskgraph import TaskGraph from taskgraph.decision import taskgraph_decision from taskgraph.parameters import Parameters @@ -101,14 +108,18 @@ 'ship_devedition', ) -PARTNER_BRANCHES = ('mozilla-beta', 'mozilla-release', 'maple', 'birch', 'jamun') -EMEFREE_BRANCHES = ('mozilla-beta', 'mozilla-release', 'maple', 'birch', 'jamun') - def is_release_promotion_available(parameters): return parameters['project'] in RELEASE_PROMOTION_PROJECTS +def get_partner_config(partner_url_config, github_token): + partner_config = {} + for kind, url in partner_url_config.items(): + partner_config[kind] = get_partner_config_by_url(url, kind, github_token) + return partner_config + + @register_callback_action( name='release-promotion', title='Release Promotion', @@ -344,10 +355,23 @@ parameters['release_eta'] = input.get('release_eta', '') parameters['release_enable_partners'] = release_enable_partners parameters['release_partners'] = input.get('release_partners') - if input.get('release_partner_config'): - parameters['release_partner_config'] = fix_partner_config(input['release_partner_config']) parameters['release_enable_emefree'] = release_enable_emefree + partner_config = input.get('release_partner_config') + if not partner_config and (release_enable_emefree or release_enable_partners): + partner_url_config = get_partner_url_config( + parameters, enable_emefree=release_enable_emefree, + enable_partners=release_enable_partners + ) + github_token = get_token(parameters) + partner_config = get_partner_config(partner_url_config, github_token) + + if input.get('release_partner_build_number'): + parameters['release_partner_build_number'] = input['release_partner_build_number'] + + if partner_config: + parameters['release_partner_config'] = fix_partner_config(partner_config) + if input['version']: parameters['version'] = input['version'] diff -Nru firefox-60.0+build2/taskcluster/taskgraph/config.py firefox-60.0.1+build2/taskcluster/taskgraph/config.py --- firefox-60.0+build2/taskcluster/taskgraph/config.py 2018-05-08 11:08:02.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/taskgraph/config.py 2018-05-16 17:38:26.000000000 +0000 @@ -32,6 +32,12 @@ # Mapping of scriptworker types to scopes they accept Required('worker-types'): {basestring: [basestring]} }, + Required('partner'): { + # Release config for partner repacks + Required('release'): {basestring: basestring}, + # Staging config for partner repacks + Required('staging'): {basestring: basestring}, + }, }) diff -Nru firefox-60.0+build2/taskcluster/taskgraph/transforms/partner_repack.py firefox-60.0.1+build2/taskcluster/taskgraph/transforms/partner_repack.py --- firefox-60.0+build2/taskcluster/taskgraph/transforms/partner_repack.py 2018-05-08 11:08:02.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/taskgraph/transforms/partner_repack.py 2018-05-16 17:38:27.000000000 +0000 @@ -8,9 +8,11 @@ from __future__ import absolute_import, print_function, unicode_literals from taskgraph.transforms.base import TransformSequence -from taskgraph.util.schema import resolve_keyed_by from taskgraph.util.scriptworker import get_release_config -from taskgraph.util.partners import check_if_partners_enabled +from taskgraph.util.partners import ( + check_if_partners_enabled, + get_partner_url_config, +) transforms = TransformSequence() @@ -19,11 +21,17 @@ @transforms.add -def resolve_properties(config, tasks): +def populate_repack_manifests_url(config, tasks): for task in tasks: - for property in ("REPACK_MANIFESTS_URL", ): - property = "worker.env.{}".format(property) - resolve_keyed_by(task, property, property, **config.params) + partner_url_config = get_partner_url_config(config.params, config.graph_config) + + for k in partner_url_config: + if config.kind.startswith(k): + task['worker'].setdefault('env', {})['REPACK_MANIFESTS_URL'] = \ + partner_url_config[k] + break + else: + raise Exception("Can't find partner REPACK_MANIFESTS_URL") if task['worker']['env']['REPACK_MANIFESTS_URL'].startswith('git@'): task.setdefault('scopes', []).append( @@ -52,6 +60,9 @@ 'build-number={}'.format(release_config['build_number']), 'platform={}'.format(task['attributes']['build_platform'].split('-')[0]), ] + if 'partner' in config.kind and config.params['release_partners']: + for partner in config.params['release_partners']: + task['run']['options'].append('p={}'.format(partner)) # The upstream taskIds are stored a special environment variable, because we want to use # task-reference's to resolve dependencies, but the string handling of MOZHARNESS_OPTIONS diff -Nru firefox-60.0+build2/taskcluster/taskgraph/transforms/release_notifications.py firefox-60.0.1+build2/taskcluster/taskgraph/transforms/release_notifications.py --- firefox-60.0+build2/taskcluster/taskgraph/transforms/release_notifications.py 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/taskgraph/transforms/release_notifications.py 2018-05-16 17:38:27.000000000 +0000 @@ -8,43 +8,20 @@ from __future__ import absolute_import, print_function, unicode_literals from taskgraph.transforms.base import TransformSequence -from taskgraph.util.scriptworker import get_release_config, RELEASE_NOTIFICATION_PHASES +from taskgraph.util.scriptworker import get_release_config from taskgraph.util.schema import resolve_keyed_by transforms = TransformSequence() -EMAIL_DESTINATIONS = { - 'mozilla-beta': ["release-automation-notifications@mozilla.com"], - 'mozilla-release': ["release-automation-notifications@mozilla.com"], - 'mozilla-esr60': ["release-automation-notifications@mozilla.com"], - # otherwise [] -} - -# Only notify on tasks that have issues -DEFAULT_ROUTES = [ - 'notify.email.{email_dest}.on-failed', - 'notify.email.{email_dest}.on-exception', -] - -SUBJECT_TEMPLATE = "${{status.state}}: [{shipping_product} {release_config[version]} " + \ - "build{release_config[build_number]}/{config[params][project]}] {label}" - @transforms.add def add_notifications(config, jobs): release_config = get_release_config(config) - email_dest = EMAIL_DESTINATIONS.get(config.params['project'], []) for job in jobs: - # Frankly, my dear, you're all over the place - shipping_phase = job.get('attributes', {}).get('shipping_phase') or \ - job.get('shipping-phase') - shipping_product = job.get('attributes', {}).get('shipping_product') or \ - job.get('shipping-product') - label = job.get('label') or '{}-{}'.format(config.kind, job['name']) + label = '{}-{}'.format(config.kind, job['name']) - # Handle notification overrides notifications = job.get('notifications') if notifications: resolve_keyed_by(notifications, 'emails', label, project=config.params['project']) @@ -56,32 +33,14 @@ ) subject = notifications['subject'].format(**format_kwargs) message = notifications['message'].format(**format_kwargs) - # we only send these on succces to avoid messages like 'blah is in the - # candidates dir' when cancelling graphs, dummy job failure, etc - routes = ['notify.email.{email_dest}.on-success'] # Don't need this any more del job['notifications'] - else: - emails = email_dest - format_kwargs = dict( - label=label, - shipping_product=shipping_product, - config=config.__dict__, - release_config=release_config, + + # We only send mail on success to avoid messages like 'blah is in the + # candidates dir' when cancelling graphs, dummy job failure, etc + job.setdefault('routes', []).extend( + ['notify.email.{}.on-completed'.format(email) for email in emails] ) - subject = SUBJECT_TEMPLATE.format(**format_kwargs) - message = None - routes = DEFAULT_ROUTES - - # We only modify release jobs, or nightly & release being run in the context of a release - if shipping_phase in RELEASE_NOTIFICATION_PHASES and \ - config.params['target_tasks_method'].startswith(RELEASE_NOTIFICATION_PHASES): - - # Add routes to trigger notifications via tc-notify - for dest in emails: - job.setdefault('routes', []).extend( - [r.format(email_dest=dest) for r in routes] - ) # Customize the email subject to include release name and build number job.setdefault('extra', {}).update( diff -Nru firefox-60.0+build2/taskcluster/taskgraph/transforms/release_sign_and_push_langpacks.py firefox-60.0.1+build2/taskcluster/taskgraph/transforms/release_sign_and_push_langpacks.py --- firefox-60.0+build2/taskcluster/taskgraph/transforms/release_sign_and_push_langpacks.py 2018-05-08 11:08:11.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/taskgraph/transforms/release_sign_and_push_langpacks.py 2018-05-16 17:38:27.000000000 +0000 @@ -29,7 +29,9 @@ Required('worker-type'): optionally_keyed_by('project', basestring), Required('worker'): { Required('implementation'): 'sign-and-push-addons', - Required('channel'): optionally_keyed_by('project', Any('listed', 'unlisted')), + Required('channel'): optionally_keyed_by( + 'project', + optionally_keyed_by('platform', Any('listed', 'unlisted'))), Required('upstream-artifacts'): None, # Processed here below }, @@ -69,7 +71,9 @@ job, 'scopes', item_name=job['label'], project=config.params['project'] ) resolve_keyed_by( - job, 'worker.channel', item_name=job['label'], project=config.params['project'] + job, 'worker.channel', item_name=job['label'], + project=config.params['project'], + platform=job['dependent-task'].attributes['build_platform'], ) yield job diff -Nru firefox-60.0+build2/taskcluster/taskgraph/util/partners.py firefox-60.0.1+build2/taskcluster/taskgraph/util/partners.py --- firefox-60.0+build2/taskcluster/taskgraph/util/partners.py 2018-05-08 11:08:02.000000000 +0000 +++ firefox-60.0.1+build2/taskcluster/taskgraph/util/partners.py 2018-05-16 17:38:19.000000000 +0000 @@ -2,13 +2,320 @@ from copy import deepcopy import json +import logging import os +from redo import retry +import requests +import xml.etree.ElementTree as ET +from yaml import safe_load + + +# Suppress chatty requests logging +logging.getLogger("requests").setLevel(logging.WARNING) + +log = logging.getLogger(__name__) + +CONFIG_YAML = os.path.join( + os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))), + "ci", "config.yml" +) +with open(CONFIG_YAML) as fh: + graph_config = safe_load(fh) + +GITHUB_API_ENDPOINT = "https://api.github.com/graphql" +PARTNER_BRANCHES = { + 'mozilla-beta': 'release', + 'mozilla-release': 'release', + 'maple': 'release', + 'birch': 'release', + 'jamun': 'release', +} +EMEFREE_BRANCHES = { + 'mozilla-beta': 'release', + 'mozilla-release': 'release', + 'maple': 'release', + 'birch': 'release', + 'jamun': 'release', +} + +""" +LOGIN_QUERY, MANIFEST_QUERY, and REPACK_CFG_QUERY are all written to the Github v4 API, +which users GraphQL. See https://developer.github.com/v4/ +""" + +LOGIN_QUERY = """query { + viewer { + login + name + } +} +""" + +# Returns the contents of default.xml from a manifest repository +MANIFEST_QUERY = """query { + repository(owner:"%(owner)s", name:"%(repo)s") { + object(expression: "master:default.xml") { + ... on Blob { + text + } + } + } +} +""" + +r""" +Example response: +{ + "data": { + "repository": { + "object": { + "text": "\n\n " + + "\n " + + "\n\n " + + "\n \n \n\n" + } + } + } +} +""" + +# Returns the contents of desktop/*/repack.cfg for a partner repository +REPACK_CFG_QUERY = """query{ + repository(owner:"%(owner)s", name:"%(repo)s") { + object(expression: "master:desktop/"){ + ... on Tree { + entries { + name + object { + ... on Tree { + entries { + name + object { + ... on Blob { + text + } + } + } + } + } + } + } + } + } +} +""" +r""" +Example response: +{ + "data": { + "repository": { + "object": { + "entries": [ + { + "name": "mozilla-EME-free", + "object": { + "entries": [ + { + "name": "distribution", + "object": {} + }, + { + "name": "repack.cfg", + "object": { + "text": "aus=\"mozilla-EMEfree\"\ndist_id=\"mozilla-EMEfree\"\n" + + "dist_version=\"1.0\"\nlinux-i686=true\nlinux-x86_64=true\n" + + " locales=\"ach af de en-US\"\nmac=true\nwin32=true\nwin64=true\n" + + "output_dir=\"%(platform)s-EME-free/%(locale)s\"\n\n" + + "# Upload params\nbucket=\"net-mozaws-prod-delivery-firefox\"\n" + + "upload_to_candidates=true\n" + } + } + ] + } + } + ] + } + } + } +} +""" + +# Map platforms in repack.cfg into their equivalents in taskcluster +TC_PLATFORM_PER_FTP = { + 'linux-i686': 'linux-nightly', + 'linux-x86_64': 'linux64-nightly', + 'mac': 'macosx64-nightly', + 'win32': 'win32-nightly', + 'win64': 'win64-nightly', +} + +TASKCLUSTER_PROXY_SECRET_ROOT = 'http://taskcluster/secrets/v1/secret' LOCALES_FILE = os.path.join( os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(__file__)))), 'browser', 'locales', 'l10n-changesets.json' ) +# cache data at the module level +partner_configs = {} + + +# TODO - grant private repo access to P.A.T. +# TODO - add level-3 as well, cleanup as of level +def get_token(params): + """ We use a Personal Access Token from Github to lookup partner config. No extra scopes are + needed on the token to read public repositories, but need the 'repo' scope to see private + repositories. This is not fine grained and also grants r/w access, but is revoked at the repo + level. + """ + + # The 'usual' method - via taskClusterProxy for decision tasks + # TODO use {level}? Or allow the token to level 1 and remove level from the path? + url = "{secret_root}/project/releng/gecko/build/level-2/partner-github-api".format( + secret_root=TASKCLUSTER_PROXY_SECRET_ROOT, **params + ) + try: + resp = retry(requests.get, attempts=2, sleeptime=10, + args=(url, ), + kwargs={'timeout': 60, 'headers': ''}) + j = resp.json() + return j['secret']['key'] + except (requests.ConnectionError, ValueError, KeyError): + raise RuntimeError('Could not get Github API token to lookup partner data') + + +def query_api(query, token): + """ Make a query with a Github auth header, returning the json """ + headers = {'Authorization': 'bearer %s' % token} + r = requests.post(GITHUB_API_ENDPOINT, json={'query': query}, headers=headers) + r.raise_for_status() + + j = r.json() + if 'errors' in j: + raise RuntimeError("Github query error - %s", j['errors']) + return j + + +def check_login(token): + log.debug("Checking we have a valid login") + query_api(LOGIN_QUERY, token) + + +def get_repo_params(repo): + """ Parse the organisation and repo name from an https or git url for a repo """ + if repo.startswith('https'): + # eg https://github.com/mozilla-partners/mozilla-EME-free + return repo.rsplit('/', 2)[-2:] + elif repo.startswith('git@'): + # eg git@github.com:mozilla-partners/mailru.git + repo = repo.replace('.git', '') + return repo.split(':')[-1].split('/') + + +def get_partners(manifestRepo, token): + """ Given the url to a manifest repository, retieve the default.xml and parse it into a + list of parter repos. + """ + log.debug("Querying for manifest in %s", manifestRepo) + owner, repo = get_repo_params(manifestRepo) + query = MANIFEST_QUERY % {'owner': owner, 'repo': repo} + raw_manifest = query_api(query, token) + log.debug("Raw manifest: %s", raw_manifest) + if not raw_manifest['data']['repository']: + raise RuntimeError( + "Couldn't load partner manifest at %s, insufficient permissions ?" % + manifestRepo + ) + e = ET.fromstring(raw_manifest['data']['repository']['object']['text']) + + remotes = {} + partners = {} + for child in e: + if child.tag == 'remote': + name = child.attrib['name'] + url = child.attrib['fetch'] + remotes[name] = url + log.debug('Added remote %s from %s', name, url) + elif child.tag == 'project': + # we don't need to check any code repos + if 'scripts' in child.attrib['path']: + continue + partner_url = "%s%s" % (remotes[child.attrib['remote']], + child.attrib['name']) + partners[child.attrib['name']] = partner_url + log.debug("Added partner %s" % partner_url) + return partners + + +def parse_config(data): + """ Parse a single repack.cfg file into a python dictionary. + data is contents of the file, in "foo=bar\nbaz=buzz" style. We do some translation on + locales and platforms data, otherewise passthrough + """ + ALLOWED_KEYS = ('locales', 'upload_to_candidates', 'platforms') + config = {'platforms': []} + for l in data.splitlines(): + if '=' in l: + l = str(l) + key, value = l.split('=', 2) + value = value.strip('\'"').rstrip('\'"') + if key in ('linux-i686', 'linux-x86_64', 'mac', 'win32', 'win64'): + if value.lower() == 'true': + config['platforms'].append(TC_PLATFORM_PER_FTP[key]) + continue + if key not in ALLOWED_KEYS: + continue + if key == 'locales': + # a list please + value = value.split(" ") + config[key] = value + return config + + +def get_repack_configs(repackRepo, token): + """ For a partner repository, retrieve all the repack.cfg files and parse them into a dict """ + log.debug("Querying for configs in %s", repackRepo) + owner, repo = get_repo_params(repackRepo) + query = REPACK_CFG_QUERY % {'owner': owner, 'repo': repo} + raw_configs = query_api(query, token) + raw_configs = raw_configs['data']['repository']['object']['entries'] + + configs = {} + for sub_config in raw_configs: + name = sub_config['name'] + for file in sub_config['object'].get('entries', []): + if file['name'] != 'repack.cfg': + continue + configs[name] = parse_config(file['object']['text']) + return configs + + +def get_partner_config_by_url(manifest_url, kind, token, partner_subset=None): + """ Retrieve partner data starting from the manifest url, which points to a repository + containing a default.xml that is intended to be drive the Google tool 'repo'. It + descends into each partner repo to lookup and parse the repack.cfg file(s). + + If partner_subset is a list of sub_config names only return data for those. + + Supports caching data by kind to avoid repeated requests, relying on the related kinds for + partner repacking, signing, repackage, repackage signing all having the same kind prefix. + """ + if kind not in partner_configs: + log.info('Looking up data for %s from %s', kind, manifest_url) + check_login(token) + partners = get_partners(manifest_url, token) + + partner_configs[kind] = {} + for partner, partner_url in partners.items(): + if partner_subset and partner not in partner_subset: + continue + partner_configs[kind][partner] = get_repack_configs(partner_url, token) + return partner_configs[kind] + def check_if_partners_enabled(config, tasks): if ( @@ -101,3 +408,17 @@ else: exclude = ['ja-JP-mac'] return [locale for locale in locales if locale not in exclude] + + +def get_partner_url_config(parameters, enable_emefree=True, enable_partners=True): + partner_url_config = {} + project = parameters['project'] + if enable_emefree: + alias = EMEFREE_BRANCHES[project] + partner_url_config['release-eme-free-repack'] = \ + graph_config['partner'][alias]['release-eme-free-repack'] + if enable_partners: + alias = PARTNER_BRANCHES[project] + partner_url_config['release-partner-repack'] = \ + graph_config['partner'][alias]['release-partner-repack'] + return partner_url_config diff -Nru firefox-60.0+build2/testing/mozharness/configs/unittests/mac_unittest.py firefox-60.0.1+build2/testing/mozharness/configs/unittests/mac_unittest.py --- firefox-60.0+build2/testing/mozharness/configs/unittests/mac_unittest.py 2018-05-08 11:08:02.000000000 +0000 +++ firefox-60.0.1+build2/testing/mozharness/configs/unittests/mac_unittest.py 2018-05-16 17:38:27.000000000 +0000 @@ -13,6 +13,7 @@ "http://pypi.pvt.build.mozilla.org/pub", "http://pypi.pub.build.mozilla.org/pub", ], + "virtualenv_modules": ['six==1.10.0', 'vcversioner==2.16.0.0'], "pip_index": False, ### "installer_path": INSTALLER_PATH, diff -Nru firefox-60.0+build2/toolkit/locales/l10n.mk firefox-60.0.1+build2/toolkit/locales/l10n.mk --- firefox-60.0+build2/toolkit/locales/l10n.mk 2018-05-08 11:08:07.000000000 +0000 +++ firefox-60.0.1+build2/toolkit/locales/l10n.mk 2018-05-16 17:38:40.000000000 +0000 @@ -130,6 +130,10 @@ $(RM) -rf '$(STAGEDIST)'/crashreporter.app endif endif +ifeq (WINNT,$(OS_ARCH)) + $(MAKE) -C ../installer/windows CONFIG_DIR=l10ngen l10ngen/helper.exe + cp ../installer/windows/l10ngen/helper.exe $(STAGEDIST)/uninstall +endif $(NSINSTALL) -D $(DIST)/l10n-stage/$(PKG_PATH) (cd $(DIST)/l10n-stage; \ diff -Nru firefox-60.0+build2/toolkit/mozapps/installer/packager.mk firefox-60.0.1+build2/toolkit/mozapps/installer/packager.mk --- firefox-60.0+build2/toolkit/mozapps/installer/packager.mk 2018-05-08 11:08:07.000000000 +0000 +++ firefox-60.0.1+build2/toolkit/mozapps/installer/packager.mk 2018-05-16 17:38:42.000000000 +0000 @@ -13,20 +13,6 @@ libs:: make-package endif -installer-stage: prepare-package -ifndef MOZ_PKG_MANIFEST - $(error MOZ_PKG_MANIFEST unspecified!) -endif - @rm -rf $(DEPTH)/installer-stage $(DIST)/xpt - @echo 'Staging installer files...' - @$(NSINSTALL) -D $(DEPTH)/installer-stage/core - @cp -av $(DIST)/$(MOZ_PKG_DIR)$(_BINPATH)/. $(DEPTH)/installer-stage/core - @(cd $(DEPTH)/installer-stage/core && $(CREATE_PRECOMPLETE_CMD)) -ifdef MOZ_SIGN_PREPARED_PACKAGE_CMD -# The && true is necessary to make sure Pymake spins a shell - $(MOZ_SIGN_PREPARED_PACKAGE_CMD) $(DEPTH)/installer-stage && true -endif - export USE_ELF_HACK ELF_HACK_FLAGS # Override the value of OMNIJAR_NAME from config.status with the value @@ -107,6 +93,11 @@ make-package: FORCE $(MAKE) make-package-internal +ifeq (WINNT,$(OS_ARCH)) +ifeq ($(MOZ_PKG_FORMAT),ZIP) + $(MAKE) -C windows ZIP_IN='$(ABS_DIST)/$(PACKAGE)' installer +endif +endif $(TOUCH) $@ GARBAGE += make-package diff -Nru firefox-60.0+build2/toolkit/mozapps/installer/windows/nsis/makensis.mk firefox-60.0.1+build2/toolkit/mozapps/installer/windows/nsis/makensis.mk --- firefox-60.0+build2/toolkit/mozapps/installer/windows/nsis/makensis.mk 2018-05-08 11:08:07.000000000 +0000 +++ firefox-60.0.1+build2/toolkit/mozapps/installer/windows/nsis/makensis.mk 2018-05-16 17:38:40.000000000 +0000 @@ -48,48 +48,54 @@ cd $(CONFIG_DIR) && $(MAKENSISU) $(MAKENSISU_FLAGS) installer.nsi ifdef MOZ_STUB_INSTALLER cd $(CONFIG_DIR) && $(MAKENSISU) $(MAKENSISU_FLAGS) stub.nsi -ifdef MOZ_EXTERNAL_SIGNING_FORMAT - $(MOZ_SIGN_CMD) $(foreach f,$(MOZ_EXTERNAL_SIGNING_FORMAT),-f $(f)) $(CONFIG_DIR)/setup-stub.exe -endif - $(MAKE) $(CONFIG_DIR)/7zSD.sfx - cd $(CONFIG_DIR) && $(CYGWIN_WRAPPER) $(7Z) a -t7z $(ABS_CONFIG_DIR)/stub.7z setup-stub.exe -mx -m0=BCJ2 -m1=LZMA:d21 -m2=LZMA:d17 -m3=LZMA:d17 -mb0:1 -mb0s1:2 -mb0s2:3 - cat $(CONFIG_DIR)/7zSD.sfx $(CONFIG_DIR)/stub.tag $(CONFIG_DIR)/stub.7z > "$(CONFIG_DIR)/stub.exe" -ifdef MOZ_EXTERNAL_SIGNING_FORMAT_STUB - $(MOZ_SIGN_CMD) $(foreach f,$(MOZ_EXTERNAL_SIGNING_FORMAT_STUB),-f $(f)) $(CONFIG_DIR)/stub.exe -endif -endif -# Support for building the uninstaller when repackaging locales -ifeq ($(CONFIG_DIR),l10ngen) - cd $(CONFIG_DIR) && $(MAKENSISU) $(MAKENSISU_FLAGS) uninstaller.nsi endif ifdef MOZ_EXTERNAL_SIGNING_FORMAT $(MOZ_SIGN_CMD) $(foreach f,$(MOZ_EXTERNAL_SIGNING_FORMAT),-f $(f)) "$@" endif -$(CONFIG_DIR)/7zSD.sfx: - $(CYGWIN_WRAPPER) upx --best -o $(CONFIG_DIR)/7zSD.sfx $(SFX_MODULE) - -installer:: - $(INSTALL) $(CONFIG_DIR)/setup.exe $(DEPTH)/installer-stage - cd $(DEPTH)/installer-stage && $(CYGWIN_WRAPPER) $(7Z) a -r -t7z $(ABS_CONFIG_DIR)/app.7z -mx -m0=BCJ2 -m1=LZMA:d25 -m2=LZMA:d19 -m3=LZMA:d19 -mb0:1 -mb0s1:2 -mb0s2:3 - $(MAKE) $(CONFIG_DIR)/7zSD.sfx - $(NSINSTALL) -D $(DIST)/$(PKG_INST_PATH) - cat $(CONFIG_DIR)/7zSD.sfx $(CONFIG_DIR)/app.tag $(CONFIG_DIR)/app.7z > "$(DIST)/$(PKG_INST_PATH)$(PKG_INST_BASENAME).exe" - chmod 0755 "$(DIST)/$(PKG_INST_PATH)$(PKG_INST_BASENAME).exe" -ifdef MOZ_STUB_INSTALLER - cp $(CONFIG_DIR)/stub.exe "$(DIST)/$(PKG_INST_PATH)$(PKG_STUB_BASENAME).exe" - chmod 0755 "$(DIST)/$(PKG_INST_PATH)$(PKG_STUB_BASENAME).exe" -endif +ifdef ZIP_IN +installer:: $(CONFIG_DIR)/setup.exe $(ZIP_IN) + @echo 'Packaging $(WIN32_INSTALLER_OUT).' + $(NSINSTALL) -D '$(ABS_DIST)/$(PKG_INST_PATH)' + $(MOZILLA_DIR)/mach repackage installer \ + -o '$(ABS_DIST)/$(PKG_INST_PATH)$(PKG_INST_BASENAME).exe' \ + --package-name '$(MOZ_PKG_DIR)' \ + --package '$(ZIP_IN)' \ + --tag $(topsrcdir)/$(MOZ_BUILD_APP)/installer/windows/app.tag \ + --setupexe $(CONFIG_DIR)/setup.exe \ + --sfx-stub $(SFX_MODULE) ifdef MOZ_EXTERNAL_SIGNING_FORMAT $(MOZ_SIGN_CMD) $(foreach f,$(MOZ_EXTERNAL_SIGNING_FORMAT),-f $(f)) "$(DIST)/$(PKG_INST_PATH)$(PKG_INST_BASENAME).exe" endif +ifdef MOZ_STUB_INSTALLER + $(MOZILLA_DIR)/mach repackage installer \ + -o '$(ABS_DIST)/$(PKG_INST_PATH)$(PKG_STUB_BASENAME).exe' \ + --tag $(topsrcdir)/browser/installer/windows/stub.tag \ + --setupexe $(CONFIG_DIR)/setup-stub.exe \ + --sfx-stub $(SFX_MODULE) +endif +else +installer:: + $(error ZIP_IN must be set when building installer) +endif # For building the uninstaller during the application build so it can be # included for mar file generation. -uninstaller:: +$(CONFIG_DIR)/helper.exe: + $(RM) -r $(CONFIG_DIR) + $(MKDIR) $(CONFIG_DIR) + $(INSTALL) $(addprefix $(srcdir)/,$(INSTALLER_FILES)) $(CONFIG_DIR) + $(INSTALL) $(addprefix $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/,$(BRANDING_FILES)) $(CONFIG_DIR) + $(call py_action,preprocessor,-Fsubstitution $(DEFINES) $(ACDEFINES) \ + $(srcdir)/nsis/defines.nsi.in -o $(CONFIG_DIR)/defines.nsi) + $(PYTHON) $(topsrcdir)/toolkit/mozapps/installer/windows/nsis/preprocess-locale.py \ + --preprocess-locale $(topsrcdir) \ + $(PPL_LOCALE_ARGS) $(AB_CD) $(CONFIG_DIR) $(INSTALL) $(addprefix $(MOZILLA_DIR)/toolkit/mozapps/installer/windows/nsis/,$(TOOLKIT_NSIS_FILES)) $(CONFIG_DIR) $(INSTALL) $(addprefix $(MOZILLA_DIR)/other-licenses/nsis/Plugins/,$(CUSTOM_NSIS_PLUGINS)) $(CONFIG_DIR) cd $(CONFIG_DIR) && $(MAKENSISU) $(MAKENSISU_FLAGS) uninstaller.nsi + +uninstaller:: $(CONFIG_DIR)/helper.exe $(NSINSTALL) -D $(DIST)/bin/uninstall cp $(CONFIG_DIR)/helper.exe $(DIST)/bin/uninstall