]> granicus.if.org Git - python/commitdiff
Change the mode of scripts in the build/scripts* directory to
authorGuido van Rossum <guido@python.org>
Fri, 24 Jan 2003 14:56:52 +0000 (14:56 +0000)
committerGuido van Rossum <guido@python.org>
Fri, 24 Jan 2003 14:56:52 +0000 (14:56 +0000)
executable.

Lib/distutils/command/build_scripts.py

index b7c11d472b3467a7d9b6adcfcd32c6e110f36a89..c7bd4a9d9b10ef190eb2696c560bd51c06dcb2da 100644 (file)
@@ -7,6 +7,7 @@ Implements the Distutils 'build_scripts' command."""
 __revision__ = "$Id$"
 
 import sys, os, re
+from stat import ST_MODE
 from distutils import sysconfig
 from distutils.core import Command
 from distutils.dep_util import newer
@@ -54,10 +55,12 @@ class build_scripts (Command):
         line to refer to the current Python interpreter as we copy.
         """
         self.mkpath(self.build_dir)
+        outfiles = []
         for script in self.scripts:
             adjust = 0
             script = convert_path(script)
             outfile = os.path.join(self.build_dir, os.path.basename(script))
+            outfiles.append(outfile)
 
             if not self.force and not newer(script, outfile):
                 log.debug("not copying %s (up-to-date)", script)
@@ -106,6 +109,15 @@ class build_scripts (Command):
                 f.close()
                 self.copy_file(script, outfile)
 
+        if os.name == 'posix':
+            for file in outfiles:
+                if self.dry_run:
+                    log.info("changing mode of %s", file)
+                else:
+                    mode = ((os.stat(file)[ST_MODE]) | 0555) & 07777
+                    log.info("changing mode of %s to %o", file, mode)
+                    os.chmod(file, mode)
+
     # copy_scripts ()
 
 # class build_scripts