diff options
Diffstat (limited to 'Lib/distutils/command/install_scripts.py')
-rw-r--r-- | Lib/distutils/command/install_scripts.py | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/Lib/distutils/command/install_scripts.py b/Lib/distutils/command/install_scripts.py index 43e5fc18bca..9b78326373a 100644 --- a/Lib/distutils/command/install_scripts.py +++ b/Lib/distutils/command/install_scripts.py @@ -8,23 +8,39 @@ Python scripts.""" __revision__ = "$Id$" import os -from distutils.cmd import install_misc +from distutils.core import Command from stat import ST_MODE -class install_scripts(install_misc): +class install_scripts(Command): description = "install scripts" + user_options = [ + ('install-dir=', 'd', "directory to install to"), + ('build-dir=','b', "build directory (where to install from)"), + ('skip-build', None, "skip the build steps"), + ] + + def initialize_options (self): + self.install_dir = None + self.build_dir = None + self.skip_build = None + def finalize_options (self): - self._install_dir_from('install_scripts') + self.set_undefined_options('build', ('build_scripts', 'build_dir')) + self.set_undefined_options ('install', + ('install_scripts', 'install_dir'), + ('skip_build', 'skip_build'), + ) def run (self): - self._copy_files(self.distribution.scripts) + if not self.skip_build: + self.run_peer('build_scripts') + self.outfiles = self.copy_tree (self.build_dir, self.install_dir) if os.name == 'posix': # Set the executable bits (owner, group, and world) on # all the scripts we just installed. - files = self.get_outputs() - for file in files: + for file in self.get_outputs(): if self.dry_run: self.announce("changing mode of %s" % file) else: @@ -35,4 +51,7 @@ class install_scripts(install_misc): def get_inputs (self): return self.distribution.scripts or [] + def get_outputs(self): + return self.outfiles or [] + # class install_scripts |