Backed out 6 changesets (bug 1502457) for causing Mn mozprocess automation failures in '/Users/cltbld/tasks/task_1542517470/build/venv/bin/python
authorshindli <shindli@mozilla.com>
Sun, 18 Nov 2018 10:24:11 +0200
changeset 446929 e432617f70989266c18ffc3cd26a985717fd1bff
parent 446928 aa0c5bc2a99ee57f82ca44da461ebd9870af4275
child 446936 b3ceae83e290925f754544cff4d30ef4de9ab399
push id35058
push usercbrindusan@mozilla.com
push dateSun, 18 Nov 2018 11:14:44 +0000
treeherdermozilla-central@e432617f7098 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1502457
milestone65.0a1
backs out9174dadf38b0d1763cd1d0591d4333c68b5480a6
2bc4c0bfa299a08006f17afda472705a52d7ec6d
1442604ea2668c096163776381579774c2114991
1cf7694c8aa247c169c93d279bd16201103b75a8
a73cfbabdd47368eee9682c24de75cbaf1564dde
2c2b09264a82bb21a56620189020e146d80259d3
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
Backed out 6 changesets (bug 1502457) for causing Mn mozprocess automation failures in '/Users/cltbld/tasks/task_1542517470/build/venv/bin/python Backed out changeset 9174dadf38b0 (bug 1502457) Backed out changeset 2bc4c0bfa299 (bug 1502457) Backed out changeset 1442604ea266 (bug 1502457) Backed out changeset 1cf7694c8aa2 (bug 1502457) Backed out changeset a73cfbabdd47 (bug 1502457) Backed out changeset 2c2b09264a82 (bug 1502457)
browser/confvars.sh
browser/installer/windows/moz.build
build/moz.configure/init.configure
embedding/ios/confvars.sh
extensions/confvars.sh
js/src/old-configure.in
mobile/android/confvars.sh
moz.configure
old-configure.in
--- a/browser/confvars.sh
+++ b/browser/confvars.sh
@@ -26,16 +26,19 @@ if test "$OS_ARCH" = "WINNT"; then
       fi
     fi
   fi
 fi
 
 # Enable building ./signmar and running libmar signature tests
 MOZ_ENABLE_SIGNMAR=1
 
+MOZ_APP_VERSION=$FIREFOX_VERSION
+MOZ_APP_VERSION_DISPLAY=$FIREFOX_VERSION_DISPLAY
+
 if [ "${MOZ_BROWSER_XHTML}" = "1" ]; then
   BROWSER_CHROME_URL=chrome://browser/content/browser.xhtml
 else
   BROWSER_CHROME_URL=chrome://browser/content/browser.xul
 fi
 
 # MOZ_APP_DISPLAYNAME will be set by branding/configure.sh
 # MOZ_BRANDING_DIRECTORY is the default branding directory used when none is
--- a/browser/installer/windows/moz.build
+++ b/browser/installer/windows/moz.build
@@ -1,13 +1,13 @@
 # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # 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/.
 
-DEFINES['APP_VERSION'] = CONFIG['MOZ_APP_VERSION']
+DEFINES['APP_VERSION'] = CONFIG['FIREFOX_VERSION']
 
 DEFINES['MOZ_APP_NAME'] = CONFIG['MOZ_APP_NAME']
 DEFINES['MOZ_APP_DISPLAYNAME'] = CONFIG['MOZ_APP_DISPLAYNAME']
 DEFINES['MOZILLA_VERSION'] = CONFIG['MOZILLA_VERSION']
 
 SPHINX_TREES['installer'] = 'docs'
--- a/build/moz.configure/init.configure
+++ b/build/moz.configure/init.configure
@@ -1031,87 +1031,30 @@ def build_project(include_project_config
     return ret
 
 
 set_config('MOZ_BUILD_APP', build_project)
 set_define('MOZ_BUILD_APP', build_project)
 add_old_configure_assignment('MOZ_BUILD_APP', build_project)
 
 
-# This is temporary until js/src/configure and configure are merged.
-# Use instead of option() in js/moz.configure and more generally, for
-# options that are shared between configure and js/src/configure.
-@template
-def js_option(*args, **kwargs):
-    opt = option(*args, **kwargs)
-
-    @depends(opt.option, build_project, when=kwargs.get('when'))
-    def js_option(value, build_project):
-        if build_project != 'js':
-            return value.format(opt.option)
-
-    add_old_configure_arg(js_option)
-
-
-js_option(env='MOZILLA_OFFICIAL',
-          help='Build an official release')
-
-
-@depends('MOZILLA_OFFICIAL')
-def mozilla_official(official):
-    if official:
-        return True
-
-
-set_config('MOZILLA_OFFICIAL', mozilla_official)
-set_define('MOZILLA_OFFICIAL', mozilla_official)
-add_old_configure_assignment('MOZILLA_OFFICIAL', mozilla_official)
-
-
 # set RELEASE_OR_BETA and NIGHTLY_BUILD variables depending on the cycle we're in
 # The logic works like this:
 # - if we have "a1" in GRE_MILESTONE, we're building Nightly (define NIGHTLY_BUILD)
 # - otherwise, if we have "a" in GRE_MILESTONE, we're building Nightly or Aurora
 # - otherwise, we're building Release/Beta (define RELEASE_OR_BETA)
-@depends(check_build_environment, build_project, '--help')
+@depends(check_build_environment, '--help')
 @imports(_from='__builtin__', _import='open')
-@imports('os')
 @imports('re')
-def milestone(build_env, build_project, _):
-    versions = []
-    paths = ['config/milestone.txt']
-    if build_project == 'js':
-        paths = paths * 3
-    else:
-        paths += [
-            'browser/config/version.txt',
-            'browser/config/version_display.txt',
-        ]
-    for f in ('version.txt', 'version_display.txt'):
-        f = os.path.join(build_project, f)
-        if not os.path.exists(os.path.join(build_env.topsrcdir, f)):
-            break
-        paths.append(f)
-
-    for p in paths:
-        with open(os.path.join(build_env.topsrcdir, p), 'r') as fh:
-            content = fh.read().splitlines()
-            if not content:
-                die('Could not find a version number in {}'.format(p))
-            versions.append(content[-1])
-
-    milestone, firefox_version, firefox_version_display = versions[:3]
-
-    # version.txt content from the project directory if there is one, otherwise
-    # the firefox version.
-    app_version = versions[3] if len(versions) > 3 else firefox_version
-    # version_display.txt content from the project directory if there is one,
-    # otherwise version.txt content from the project directory, otherwise the
-    # firefox version for display.
-    app_version_display = versions[-1] if len(versions) > 3 else firefox_version_display
+def milestone(build_env, _):
+    milestone_path = os.path.join(build_env.topsrcdir,
+                                  'config',
+                                  'milestone.txt')
+    with open(milestone_path, 'r') as fh:
+        milestone = fh.read().splitlines()[-1]
 
     is_nightly = is_release_or_beta = None
 
     if 'a1' in milestone:
         is_nightly = True
     elif 'a' not in milestone:
         is_release_or_beta = True
 
@@ -1123,19 +1066,17 @@ def milestone(build_env, build_project, 
     # patch leve (bugs 572659 and 870868).
     #
     # Only expose major milestone and alpha version in the symbolversion
     # string; as the name suggests, we use it for symbol versioning on Linux.
     return namespace(version=milestone,
                      uaversion='%s.0' % major_version,
                      symbolversion='%s%s' % (major_version, ab_patch),
                      is_nightly=is_nightly,
-                     is_release_or_beta=is_release_or_beta,
-                     app_version=app_version,
-                     app_version_display=app_version_display)
+                     is_release_or_beta=is_release_or_beta)
 
 
 set_config('GRE_MILESTONE', milestone.version)
 set_config('NIGHTLY_BUILD', milestone.is_nightly)
 set_define('NIGHTLY_BUILD', milestone.is_nightly)
 add_old_configure_assignment('NIGHTLY_BUILD', milestone.is_nightly)
 set_config('RELEASE_OR_BETA', milestone.is_release_or_beta)
 set_define('RELEASE_OR_BETA', milestone.is_release_or_beta)
@@ -1145,43 +1086,23 @@ set_define('MOZILLA_VERSION', depends(mi
 set_config('MOZILLA_VERSION', milestone.version)
 set_define('MOZILLA_VERSION_U', milestone.version)
 set_define('MOZILLA_UAVERSION', depends(milestone)(lambda m: '"%s"' % m.uaversion))
 set_config('MOZILLA_SYMBOLVERSION', milestone.symbolversion)
 # JS configure still wants to look at these.
 add_old_configure_assignment('MOZILLA_VERSION', milestone.version)
 add_old_configure_assignment('MOZILLA_SYMBOLVERSION', milestone.symbolversion)
 
-set_config('MOZ_APP_VERSION', milestone.app_version)
-set_config('MOZ_APP_VERSION_DISPLAY', milestone.app_version_display)
-add_old_configure_assignment('MOZ_APP_VERSION', milestone.app_version)
-
-
-# The app update channel is 'default' when not supplied, and MOZILLA_OFFICIAL
-# is not set. When MOZILLA_OFFICIAL is set, the default is derived from
-# the application display version.
-@depends(milestone, mozilla_official)
-def default_update_channel(milestone, mozilla_official):
-    if not mozilla_official:
-        return 'default'
-    if milestone.is_release_or_beta:
-        if 'esr' in milestone.app_version_display:
-            return 'esr'
-        if 'b' in milestone.app_version_display:
-            return 'beta'
-        return 'release'
-    if milestone.is_nightly:
-        return 'nightly'
-    return 'default'
-
-
+# The app update channel is 'default' when not supplied. The value is used in
+# the application's confvars.sh (and is made available to a project specific
+# moz.configure).
 option('--enable-update-channel',
        nargs=1,
        help='Select application update channel',
-       default=default_update_channel)
+       default='default')
 
 
 @depends('--enable-update-channel')
 def update_channel(channel):
     if channel[0] == '':
         return 'default'
     return channel[0].lower()
 
@@ -1261,8 +1182,23 @@ def all_configure_options():
         elif (option.help == 'Help missing for old configure options' and
                 option in __sandbox__._raw_options):
             result.append(__sandbox__._raw_options[option])
 
     return quote(*result)
 
 
 set_config('MOZ_CONFIGURE_OPTIONS', all_configure_options)
+
+
+# This is temporary until js/src/configure and configure are merged.
+# Use instead of option() in js/moz.configure and more generally, for
+# options that are shared between configure and js/src/configure.
+@template
+def js_option(*args, **kwargs):
+    opt = option(*args, **kwargs)
+
+    @depends(opt.option, build_project, when=kwargs.get('when'))
+    def js_option(value, build_project):
+        if build_project != 'js':
+            return value.format(opt.option)
+
+    add_old_configure_arg(js_option)
--- a/embedding/ios/confvars.sh
+++ b/embedding/ios/confvars.sh
@@ -1,8 +1,9 @@
 #! /bin/sh
 # 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/.
 
 MOZ_APP_NAME=geckoembed
 MOZ_APP_DISPLAYNAME=GeckoEmbed
 MOZ_UPDATER=
+MOZ_APP_VERSION=$MOZILLA_VERSION
--- a/extensions/confvars.sh
+++ b/extensions/confvars.sh
@@ -1,7 +1,8 @@
 #! /bin/sh
 # 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/.
 
 MOZ_APP_NAME=mozilla
 MOZ_APP_DISPLAYNAME=Mozilla
+MOZ_APP_VERSION=$MOZILLA_VERSION
--- a/js/src/old-configure.in
+++ b/js/src/old-configure.in
@@ -1700,16 +1700,17 @@ AC_SUBST(PKG_SKIP_STRIP)
 AC_SUBST(INCREMENTAL_LINKER)
 
 AC_SUBST_LIST(MOZ_FIX_LINK_PATHS)
 
 AC_SUBST(MOZ_POST_PROGRAM_COMMAND)
 
 AC_SUBST(MOZ_APP_NAME)
 AC_SUBST(MOZ_APP_DISPLAYNAME)
+AC_SUBST(MOZ_APP_VERSION)
 
 AC_SUBST(MOZ_PKG_SPECIAL)
 
 dnl ========================================================
 dnl ECMAScript Internationalization API Support (uses ICU)
 dnl ========================================================
 
 dnl top-level configure may override this with --without-intl-api
@@ -1819,16 +1820,17 @@ dnl ====================================
 MOZ_CHECK_ALLOCATOR
 
 AC_CHECK_FUNCS(localeconv)
 
 AC_SUBST(ac_configure_args)
 
 if test -n "$JS_STANDALONE"; then
 MOZ_APP_NAME="mozjs"
+MOZ_APP_VERSION="$MOZILLA_SYMBOLVERSION"
 JS_LIBRARY_NAME="mozjs-$MOZILLA_SYMBOLVERSION"
 else
 JS_LIBRARY_NAME="mozjs"
 fi
 JS_CONFIG_LIBS="$NSPR_LIBS $LIBS"
 if test -n "$GNU_CC"; then
 JS_CONFIG_MOZ_JS_LIBS='-L${libdir} -l${JS_LIBRARY_NAME}'
 else
--- a/mobile/android/confvars.sh
+++ b/mobile/android/confvars.sh
@@ -1,15 +1,17 @@
 # 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/.
 
 MOZ_APP_BASENAME=Fennec
 MOZ_APP_VENDOR=Mozilla
 
+MOZ_APP_VERSION=$FIREFOX_VERSION
+MOZ_APP_VERSION_DISPLAY=$FIREFOX_VERSION_DISPLAY
 MOZ_APP_UA_NAME=Firefox
 
 BROWSER_CHROME_URL=chrome://browser/content/browser.xul
 
 MOZ_BRANDING_DIRECTORY=mobile/android/branding/unofficial
 MOZ_OFFICIAL_BRANDING_DIRECTORY=mobile/android/branding/official
 # MOZ_APP_DISPLAYNAME is set by branding/configure.sh
 
--- a/moz.configure
+++ b/moz.configure
@@ -64,16 +64,28 @@ js_option('--disable-tests',
 @depends('--disable-tests')
 def enable_tests(value):
     if value:
         return True
 
 set_config('ENABLE_TESTS', enable_tests)
 set_define('ENABLE_TESTS', enable_tests)
 
+js_option(env='MOZILLA_OFFICIAL',
+          help='Build an official release')
+
+@depends('MOZILLA_OFFICIAL')
+def mozilla_official(official):
+    if official:
+        return True
+
+set_config('MOZILLA_OFFICIAL', mozilla_official)
+set_define('MOZILLA_OFFICIAL', mozilla_official)
+add_old_configure_assignment('MOZILLA_OFFICIAL', mozilla_official)
+
 @depends(enable_tests)
 def gtest_has_rtti(value):
     if value:
         return '0'
 
 set_define('GTEST_HAS_RTTI', gtest_has_rtti)
 
 @depends(target, enable_tests)
--- a/old-configure.in
+++ b/old-configure.in
@@ -684,16 +684,28 @@ case "$host" in
     ;;
 
 *)
     HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX"
     HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O2}"
     ;;
 esac
 
+dnl Get version of various core apps from the version files.
+FIREFOX_VERSION=`cat $_topsrcdir/browser/config/version.txt`
+FIREFOX_VERSION_DISPLAY=`cat $_topsrcdir/browser/config/version_display.txt`
+
+if test -z "$FIREFOX_VERSION"; then
+    AC_MSG_ERROR([FIREFOX_VERSION is unexpectedly blank.])
+fi
+
+if test -z "$FIREFOX_VERSION_DISPLAY"; then
+    AC_MSG_ERROR([FIREFOX_VERSION_DISPLAY is unexpectedly blank.])
+fi
+
 MOZ_DOING_LTO(lto_is_enabled)
 
 dnl ========================================================
 dnl System overrides of the defaults for target
 dnl ========================================================
 
 case "$target" in
 *-darwin*)
@@ -3954,16 +3966,19 @@ AC_SUBST(MOZ_CHILD_PROCESS_BUNDLENAME)
 # versions of a given application (e.g. Aurora and Firefox both use
 # "Firefox"), but may vary for full rebrandings (e.g. Iceweasel). Used
 # for application.ini's "Name" field, which controls profile location in
 # the absence of a "Profile" field (see below), and various system
 # integration hooks (Unix remoting, Windows MessageWindow name, etc.)
 # - MOZ_APP_DISPLAYNAME: Used in user-visible fields (DLL properties,
 # Mac Bundle name, Updater, Installer), it is typically used for nightly
 # builds (e.g. Aurora for Firefox).
+# - MOZ_APP_VERSION: Defines the application version number.
+# - MOZ_APP_VERSION_DISPLAY: Defines the application version number. Used
+# in the "About" window. If not set, defaults to MOZ_APP_VERSION.
 # - MOZ_APP_NAME: Used for e.g. the binary program file name. If not set,
 # defaults to a lowercase form of MOZ_APP_BASENAME.
 # - MOZ_APP_REMOTINGNAME: Used for the internal program name, which affects
 # profile name and remoting. If not set, defaults to MOZ_APP_NAME.
 # - MOZ_APP_PROFILE: When set, used for application.ini's
 # "Profile" field, which controls profile location.
 # - MOZ_APP_ID: When set, used for application.ini's "ID" field, and
 # crash reporter server url.
@@ -3973,33 +3988,28 @@ AC_SUBST(MOZ_CHILD_PROCESS_BUNDLENAME)
 # build ID.
 # - MOZ_ANDROID_SHARED_ID: On Android, "android:sharedUserId" for all Android
 # packages produced.
 # - MOZ_ANDROID_GCM_SENDERID: On Android, the Android GCM Sender ID used.  GCM
 # sender IDs are not sensitive: see, http://stackoverflow.com/a/18216063.
 # - MOZ_MMA_GCM_SENDERID: This GCM Sender ID is used for MMA integration.
 # - MOZ_PROFILE_MIGRATOR: When set, enables profile migrator.
 
-# The following environment variables used to have an effect, but don't anymore:
-# - MOZ_APP_VERSION: Defines the application version number. This was replaced with
-# the contents from the version.txt file in the application directory, or
-# browser/config/version.txt if there isn't one.
-# - MOZ_APP_VERSION_DISPLAY: Defines the application version number. Used
-# in the "About" window. This was replaced with the contents from the
-# version_display.txt or version.txt in the application directory, or
-# browser/config/version_display.txt.
-
 if test -z "$MOZ_APP_NAME"; then
    MOZ_APP_NAME=`echo $MOZ_APP_BASENAME | tr A-Z a-z`
 fi
 
 if test -z "$MOZ_APP_REMOTINGNAME"; then
    MOZ_APP_REMOTINGNAME=$MOZ_APP_NAME
 fi
 
+if test -z "$MOZ_APP_VERSION_DISPLAY"; then
+   MOZ_APP_VERSION_DISPLAY=$MOZ_APP_VERSION
+fi
+
 if test -z "$ANDROID_PACKAGE_NAME" ; then
    # When we got rid of the Aurora channel we decided to replace the old
    # Nightly ANDROID_PACKAGE_NAME with Aurora. To make sure this is inherited
    # by all mozilla-central based branches we make this the new "default"
    # for Fennec. Non mozilla-central based branches set ANDROID_PACKAGE_NAME
    # in their mozconfig, so they will never get this. If there are ever
    # non-Fennec builds for Android, they will fall into the else block
    # and use their own default name.
@@ -4050,20 +4060,24 @@ AC_SUBST(MOZ_ANDROID_SHARED_ID)
 AC_SUBST(MOZ_ANDROID_GCM_SENDERID)
 AC_SUBST(MOZ_MMA_GCM_SENDERID)
 AC_SUBST(MAR_CHANNEL_ID)
 AC_SUBST(ACCEPTED_MAR_CHANNEL_IDS)
 AC_SUBST(MOZ_PROFILE_MIGRATOR)
 AC_DEFINE_UNQUOTED(MOZ_APP_UA_NAME, "$MOZ_APP_UA_NAME")
 AC_SUBST(MOZ_APP_UA_NAME)
 AC_DEFINE_UNQUOTED(MOZ_APP_UA_VERSION, "$MOZ_APP_VERSION")
+AC_SUBST(MOZ_APP_VERSION)
+AC_SUBST(MOZ_APP_VERSION_DISPLAY)
 AC_DEFINE_UNQUOTED(BROWSER_CHROME_URL, $BROWSER_CHROME_URL)
 AC_DEFINE_UNQUOTED(BROWSER_CHROME_URL_QUOTED, "$BROWSER_CHROME_URL")
 
 AC_SUBST(MOZ_APP_MAXVERSION)
+AC_DEFINE_UNQUOTED(FIREFOX_VERSION,$FIREFOX_VERSION)
+AC_SUBST(FIREFOX_VERSION)
 AC_SUBST(MOZ_UA_OS_AGNOSTIC)
 if test -n "$MOZ_UA_OS_AGNOSTIC"; then
   AC_DEFINE(MOZ_UA_OS_AGNOSTIC)
 fi
 
 AC_SUBST(MOZ_PKG_SPECIAL)
 AC_SUBST(MOZ_SIMPLE_PACKAGE_NAME)