From 41a6cedc263023c820f67a408ce46c46926116d8 Mon Sep 17 00:00:00 2001 From: William Deegan Date: Fri, 22 Feb 2013 14:45:17 -0800 Subject: 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 --- src/setup.py | 15 +++++++++++++-- 1 file 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 -- cgit v0.12 From ae209a9d3a058dd88f5b5d4d47eb0d97d1f49596 Mon Sep 17 00:00:00 2001 From: William Deegan Date: Fri, 22 Feb 2013 14:52:23 -0800 Subject: improved comment around changed code --- src/setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/setup.py b/src/setup.py index 8bf36bd..9037337 100644 --- a/src/setup.py +++ b/src/setup.py @@ -341,6 +341,7 @@ class install_scripts(_install_scripts): # log.info("changing mode of %s", file) pass else: + # Use symbolic versions of permissions so this script doesn't fail to parse under python3.x 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 -- cgit v0.12 From 0cc327a2df3b33a793d3aa7865f8499d152319c9 Mon Sep 17 00:00:00 2001 From: William Deegan Date: Fri, 22 Feb 2013 15:02:18 -0800 Subject: Raised deprecated python version to be anything less than 2.7 to prep for moving the required version to 2.7 after the next major release --- src/engine/SCons/Script/Main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/engine/SCons/Script/Main.py b/src/engine/SCons/Script/Main.py index 2524ab0..e379a39 100644 --- a/src/engine/SCons/Script/Main.py +++ b/src/engine/SCons/Script/Main.py @@ -11,7 +11,7 @@ it goes here. """ unsupported_python_version = (2, 3, 0) -deprecated_python_version = (2, 4, 0) +deprecated_python_version = (2, 7, 0) # __COPYRIGHT__ # -- cgit v0.12