summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesus Cea <jcea@jcea.es>2012-10-04 15:14:56 +0200
committerJesus Cea <jcea@jcea.es>2012-10-04 15:14:56 +0200
commitdebda5d4e23d6ab18175995dbce4afba55f0baff (patch)
tree2d276b2ab63310226ef4ea37a7b2580a9380db97
parent3e94e14a6829070d23a4dbb6d19aaea3a9e5003c (diff)
downloadcpython-git-debda5d4e23d6ab18175995dbce4afba55f0baff.tar.gz
Closes #16112: platform.architecture does not correctly escape argument to /usr/bin/file. Solve a 2.7 bootstrap issue
-rwxr-xr-xLib/platform.py22
1 files changed, 21 insertions, 1 deletions
diff --git a/Lib/platform.py b/Lib/platform.py
index e94a32aab7..d177499573 100755
--- a/Lib/platform.py
+++ b/Lib/platform.py
@@ -113,7 +113,7 @@ __copyright__ = """
__version__ = '1.0.7'
-import sys,string,os,re,subprocess
+import sys,string,os,re
### Globals & Constants
@@ -1020,6 +1020,26 @@ def _syscmd_file(target,default=''):
case the command should fail.
"""
+
+ # We do the import here to avoid a bootstrap issue.
+ # See c73b90b6dadd changeset.
+ #
+ # [..]
+ # ranlib libpython2.7.a
+ # gcc -o python \
+ # Modules/python.o \
+ # libpython2.7.a -lsocket -lnsl -ldl -lm
+ # Traceback (most recent call last):
+ # File "./setup.py", line 8, in <module>
+ # from platform import machine as platform_machine
+ # File "[..]/build/Lib/platform.py", line 116, in <module>
+ # import sys,string,os,re,subprocess
+ # File "[..]/build/Lib/subprocess.py", line 429, in <module>
+ # import select
+ # ImportError: No module named select
+
+ import subprocess
+
if sys.platform in ('dos','win32','win16','os2'):
# XXX Others too ?
return default