Changeset View
Changeset View
Standalone View
Standalone View
head/mail/thunderbird/files/patch-bug1288587
| Property | Old Value | New Value |
|---|---|---|
| fbsd:nokeywords | null | yes \ No newline at end of property |
| svn:eol-style | null | native \ No newline at end of property |
| svn:mime-type | null | text/plain \ No newline at end of property |
| diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure | |||||
| index 855214a..1e91d51 100644 | |||||
| --- build/moz.configure/init.configure | |||||
| +++ build/moz.configure/init.configure | |||||
| @@ -165,16 +165,17 @@ option(env='PYTHON', nargs=1, help='Python interpreter') | |||||
| # ============================================================== | |||||
| @depends('PYTHON', check_build_environment, mozconfig, '--help') | |||||
| @imports('os') | |||||
| @imports('sys') | |||||
| @imports('subprocess') | |||||
| @imports(_from='mozbuild.configure.util', _import='LineIO') | |||||
| @imports(_from='mozbuild.virtualenv', _import='VirtualenvManager') | |||||
| @imports(_from='mozbuild.virtualenv', _import='verify_python_version') | |||||
| +@imports(_from='__builtin__', _import='KeyError') | |||||
| @imports('distutils.sysconfig') | |||||
| def virtualenv_python(env_python, build_env, mozconfig, help): | |||||
| if help: | |||||
| return | |||||
| python = env_python[0] if env_python else None | |||||
| # Ideally we'd rely on the mozconfig injection from mozconfig_options, | |||||
| @@ -184,16 +185,22 @@ def virtualenv_python(env_python, build_env, mozconfig, help): | |||||
| if 'PYTHON' in mozconfig['env']['added']: | |||||
| python = mozconfig['env']['added']['PYTHON'] | |||||
| elif 'PYTHON' in mozconfig['env']['modified']: | |||||
| python = mozconfig['env']['modified']['PYTHON'][1] | |||||
| elif 'PYTHON' in mozconfig['vars']['added']: | |||||
| python = mozconfig['vars']['added']['PYTHON'] | |||||
| elif 'PYTHON' in mozconfig['vars']['modified']: | |||||
| python = mozconfig['vars']['modified']['PYTHON'][1] | |||||
| + for i in ('env', 'vars'): | |||||
| + for j in ('added', 'modified'): | |||||
| + try: | |||||
| + del mozconfig[i][j]['PYTHON'] | |||||
| + except KeyError: | |||||
| + pass | |||||
| with LineIO(lambda l: log.error(l)) as out: | |||||
| verify_python_version(out) | |||||
| topsrcdir, topobjdir = build_env.topsrcdir, build_env.topobjdir | |||||
| if topobjdir.endswith('/js/src'): | |||||
| topobjdir = topobjdir[:-7] | |||||
| with LineIO(lambda l: log.info(l)) as out: | |||||
| @@ -219,17 +226,20 @@ def virtualenv_python(env_python, build_env, mozconfig, help): | |||||
| 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'] | |||||
| + try: | |||||
| + del os.environ['PYTHON'] | |||||
| + except KeyError: | |||||
| + pass | |||||
| # 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') | |||||