From 88cb3f43bc3737dd408df3c3cffbdf04acfb4613 Mon Sep 17 00:00:00 2001 From: ohfp <1813007-ohfp@users.noreply.gitlab.com> Date: Fri, 31 Jul 2020 12:11:59 +0200 Subject: [PATCH] v79.0-1 #5: python >= 3.5 for deb/xenial build --- .../scripts/3_Configure_Source_Code.sh | 1 + deb_patches/lower-python3-requirement.patch | 68 +++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 deb_patches/lower-python3-requirement.patch diff --git a/binary_tarball/scripts/3_Configure_Source_Code.sh b/binary_tarball/scripts/3_Configure_Source_Code.sh index 43fd01b..ae34231 100755 --- a/binary_tarball/scripts/3_Configure_Source_Code.sh +++ b/binary_tarball/scripts/3_Configure_Source_Code.sh @@ -111,6 +111,7 @@ END fi # hopefully the magic sauce that makes things build on 16.04 and later on work "everywhere": +patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/lower-python3-requirement.patch" patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/armhf-reduce-linker-memory-use.patch" patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/build-with-libstdc++-7.patch" patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/fix-armhf-webrtc-build.patch" diff --git a/deb_patches/lower-python3-requirement.patch b/deb_patches/lower-python3-requirement.patch new file mode 100644 index 0000000..94f8d91 --- /dev/null +++ b/deb_patches/lower-python3-requirement.patch @@ -0,0 +1,68 @@ +# Revert 6700a8dfaeb1e303955acc05dabd245b9ae3c97e + +Bug 1622963 - Require python 3.6 for the build system. r=firefox-build-system-reviewers,rstewart + +Differential Revision: https://phabricator.services.mozilla.com/D77754 + +diff -r ede1c973aa85 build/moz.configure/init.configure +--- a/build/moz.configure/init.configure Sun Jun 14 02:41:45 2020 +0000 ++++ b/build/moz.configure/init.configure Sun Jun 14 19:10:48 2020 +0200 +@@ -237,7 +237,7 @@ + # Python 3 + # ======== + +-option(env='PYTHON3', nargs=1, help='Python 3 interpreter (3.6 or later)') ++option(env='PYTHON3', nargs=1, help='Python 3 interpreter (3.5 or later)') + + + @depends('PYTHON3', check_build_environment, mozconfig, '--help') +@@ -334,20 +334,20 @@ + '(%s): %s' % (python, e)) + else: + # Fall back to the search routine. +- python, version = find_python3_executable(min_version='3.6.0') ++ python, version = find_python3_executable(min_version='3.5.0') + + # The API returns a bytes whereas everything in configure is unicode. + if python: + python = ensure_text(python) + + if not python: +- raise FatalCheckError('Python 3.6 or newer is required to build. ' ++ raise FatalCheckError('Python 3.5 or newer is required to build. ' + 'Ensure a `python3.x` executable is in your ' + 'PATH or define PYTHON3 to point to a Python ' +- '3.6 executable.') ++ '3.5 executable.') + +- if version < (3, 6, 0): +- raise FatalCheckError('Python 3.6 or newer is required to build; ' ++ if version < (3, 5, 0): ++ raise FatalCheckError('Python 3.5 or newer is required to build; ' + '%s is Python %d.%d' % (python, version[0], + version[1])) + +diff -r ede1c973aa85 python/mozbuild/mozbuild/pythonutil.py +--- a/python/mozbuild/mozbuild/pythonutil.py Sun Jun 14 02:41:45 2020 +0000 ++++ b/python/mozbuild/mozbuild/pythonutil.py Sun Jun 14 19:10:48 2020 +0200 +@@ -45,7 +45,7 @@ + def _find_python_executable(major): + if major not in (2, 3): + raise ValueError('Expected a Python major version of 2 or 3') +- min_versions = {2: '2.7.0', 3: '3.6.0'} ++ min_versions = {2: '2.7.0', 3: '3.5.0'} + + def ret(min_version=min_versions[major]): + from mozfile import which +diff -r ede1c973aa85 python/mozbuild/mozbuild/virtualenv.py +--- a/python/mozbuild/mozbuild/virtualenv.py Sun Jun 14 02:41:45 2020 +0000 ++++ b/python/mozbuild/mozbuild/virtualenv.py Sun Jun 14 19:10:48 2020 +0200 +@@ -687,7 +687,7 @@ + major, minor, micro = sys.version_info[:3] + minimum_python_versions = { + 2: LooseVersion('2.7.3'), +- 3: LooseVersion('3.6.0'), ++ 3: LooseVersion('3.5.0'), + } + our = LooseVersion('%d.%d.%d' % (major, minor, micro)) +