diff options
author | William Deegan <bill@baddogconsulting.com> | 2013-02-22 22:45:17 (GMT) |
---|---|---|
committer | William Deegan <bill@baddogconsulting.com> | 2013-02-22 22:45:17 (GMT) |
commit | 41a6cedc263023c820f67a408ce46c46926116d8 (patch) | |
tree | 8cdaca3c32dc552c9cf04fb3d96e2654f04bca49 /src/setup.py | |
parent | 9eb5708331e848fe37b63578ece26b1af278b3f7 (diff) | |
download | SCons-41a6cedc263023c820f67a408ce46c46926116d8.zip SCons-41a6cedc263023c820f67a408ce46c46926116d8.tar.gz SCons-41a6cedc263023c820f67a408ce46c46926116d8.tar.bz2 |
Changes to setup.py to allow it to be parsed by python3.x. This allows it to get far enough that it can check the python version and issue a sensible error message if running under unsupported python3 or above
Diffstat (limited to 'src/setup.py')
-rw-r--r-- | src/setup.py | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/setup.py b/src/setup.py index d3b9a25..8bf36bd 100644 --- a/src/setup.py +++ b/src/setup.py @@ -46,6 +46,14 @@ man_pages = [ 'scons-time.1', ] +# Exit with error if trying to install with Python >= 3.0 +if sys.version_info >= (3,0,0): + msg = "scons: *** SCons does not run under Python version %s.\n\ +Python 3 and above are not yet supported.\n" + sys.stderr.write(msg % (sys.version.split()[0])) + sys.exit(1) + + # change to setup.py directory if it was executed from other dir (head, tail) = os.path.split(sys.argv[0]) if head: @@ -333,7 +341,9 @@ class install_scripts(_install_scripts): # log.info("changing mode of %s", file) pass else: - mode = ((os.stat(file)[stat.ST_MODE]) | 0555) & 07777 + exec_and_read_permission = stat.S_IXOTH | stat.S_IXUSR | stat.S_IXGRP | stat.S_IROTH | stat.S_IRUSR | stat.S_IRGRP + mode_mask = 4095 # Octal 07777 used because python3 has different octal syntax than python 2 + mode = ((os.stat(file)[stat.ST_MODE]) | exec_and_read_permission) & mode_mask # log.info("changing mode of %s to %o", file, mode) os.chmod(file, mode) # --- /distutils copy/paste --- @@ -414,7 +424,8 @@ arguments = { distutils.core.setup(**arguments) if Installed: - print '\n'.join(Installed) + for i in Installed: + print(i) # Local Variables: # tab-width:4 |