From 5028d1cd669c179ed49061316d04c8e8862a5bd8 Mon Sep 17 00:00:00 2001 From: Hongxu Jia Date: Thu, 12 Jul 2018 15:04:47 +0800 Subject: [PATCH 1/5] do not create python environment Use oe's python environment rather than create one of host Upstream-Status: Inappropriate [oe specific] Signed-off-by: Hongxu Jia --- build/moz.configure/init.configure | 18 ------------------ configure.py | 10 +++++++++- js/src/old-configure | 4 ++-- 3 files changed, 11 insertions(+), 21 deletions(-) diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure index 2123beb..6fe6591 100644 --- a/build/moz.configure/init.configure +++ b/build/moz.configure/init.configure @@ -179,24 +179,6 @@ def virtualenv_python(env_python, build_env, mozconfig, help): else: python = sys.executable - if not manager.up_to_date(python): - log.info('Creating Python environment') - manager.build(python) - - python = normsep(manager.python_path) - - if python != normsep(sys.executable): - log.info('Reexecuting in the virtualenv') - if env_python: - del os.environ['PYTHON'] - # One would prefer to use os.execl, but that's completely borked on - # Windows. - sys.exit(subprocess.call([python] + sys.argv)) - - # We are now in the virtualenv - if not distutils.sysconfig.get_python_lib(): - die('Could not determine python site packages directory') - return python set_config('PYTHON', virtualenv_python) diff --git a/configure.py b/configure.py index f7392d0..45323a5 100644 --- a/configure.py +++ b/configure.py @@ -12,7 +12,15 @@ import textwrap base_dir = os.path.abspath(os.path.dirname(__file__)) -sys.path.insert(0, os.path.join(base_dir, 'python', 'mozbuild')) +sys.path.insert(0, os.path.join(base_dir, 'config')) +def get_immediate_subdirectories(a_dir): + return [name for name in os.listdir(a_dir) + if os.path.isdir(os.path.join(a_dir, name))] +for s in ["python", "testing/mozbase"]: + sub_dir = os.path.join(base_dir, s) + for module_dir in get_immediate_subdirectories(sub_dir): + sys.path.insert(0, os.path.join(sub_dir, module_dir)) + from mozbuild.configure import ConfigureSandbox from mozbuild.util import ( indented_repr, diff --git a/js/src/old-configure b/js/src/old-configure index ee4527b..75b00e1 100644 --- a/js/src/old-configure +++ b/js/src/old-configure @@ -10512,7 +10512,7 @@ if test "$MOZ_BUILD_APP" != js -o -n "$JS_STANDALONE"; then ;; esac - eval $dumpenv $PYTHON $_topsrcdir/build/subconfigure.py --prepare "$srcdir" "$moz_config_dir" "$_CONFIG_SHELL" $ac_configure_args + eval $dumpenv PYTHONPATH=$_topsrcdir/python/mozbuild/ $PYTHON $_topsrcdir/build/subconfigure.py --prepare "$srcdir" "$moz_config_dir" "$_CONFIG_SHELL" $ac_configure_args done @@ -10931,7 +10931,7 @@ if test "$JS_STANDALONE"; then if test "$no_recursion" != yes; then trap '' EXIT - if ! $PYTHON $_topsrcdir/build/subconfigure.py --list subconfigures --skip skip_subconfigures; then + if ! PYTHONPATH=$_topsrcdir/python/mozbuild/ $PYTHON $_topsrcdir/build/subconfigure.py --list subconfigures --skip skip_subconfigures; then exit 1 fi fi -- 2.7.4