mirror of
https://github.com/mongodb/mongo.git
synced 2024-12-01 09:32:32 +01:00
SERVER-42702 $PYTHON should not be used in build signature
This commit is contained in:
parent
afca00af8b
commit
02f3b3a204
@ -1061,7 +1061,7 @@ envDict = dict(BUILD_ROOT=buildDir,
|
||||
MODULE_INJECTORS=dict(),
|
||||
ARCHIVE_ADDITION_DIR_MAP={},
|
||||
ARCHIVE_ADDITIONS=[],
|
||||
PYTHON=utils.find_python(),
|
||||
PYTHON="$( {} $)".format(sys.executable),
|
||||
SERVER_ARCHIVE='${SERVER_DIST_BASENAME}${DIST_ARCHIVE_SUFFIX}',
|
||||
UNITTEST_ALIAS='unittests',
|
||||
# TODO: Move unittests.txt to $BUILD_DIR, but that requires
|
||||
|
@ -130,33 +130,6 @@ def which(executable):
|
||||
return executable
|
||||
|
||||
|
||||
def find_python(min_version=(3, 7)):
|
||||
"""Return path of python."""
|
||||
try:
|
||||
return sys.executable
|
||||
except AttributeError:
|
||||
# In case the version of Python is somehow missing sys.version_info or sys.executable.
|
||||
pass
|
||||
|
||||
version = re.compile(r"[Pp]ython ([\d\.]+)", re.MULTILINE)
|
||||
binaries = ("python37", "python3.7", "python36", "python3.6", "python35", "python3.5", "python")
|
||||
for binary in binaries:
|
||||
try:
|
||||
out, err = subprocess.Popen([binary, "-V"], stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE).communicate()
|
||||
for stream in (out, err):
|
||||
match = version.search(stream)
|
||||
if match:
|
||||
versiontuple = tuple(map(int, match.group(1).split(".")))
|
||||
if versiontuple >= min_version:
|
||||
return which(binary)
|
||||
except Exception: # pylint: disable=broad-except
|
||||
pass
|
||||
|
||||
raise Exception(
|
||||
"could not find suitable Python (version >= %s)" % ".".join(str(v) for v in min_version))
|
||||
|
||||
|
||||
def replace_with_repr(unicode_error):
|
||||
"""Codec error handler replacement."""
|
||||
# Unicode is a pain, some strings cannot be unicode()'d
|
||||
|
@ -94,7 +94,7 @@ def generate(env):
|
||||
global idlc
|
||||
idlc = idlc_mod
|
||||
|
||||
env["IDLC"] = sys.executable + " buildscripts/idl/idlc.py"
|
||||
env["IDLC"] = "$PYTHON buildscripts/idl/idlc.py"
|
||||
env["IDLCFLAGS"] = ""
|
||||
base_dir = env.subst("$BUILD_ROOT/$VARIANT_DIR").replace("#", "")
|
||||
env["IDLCCOM"] = (
|
||||
|
Loading…
Reference in New Issue
Block a user