Bastian Kleineidam: the "build_scripts" command and changes

necessary to support it.

Details:
  - build command additionally calls build_scripts
  - build_scripts builds your scripts in 'build/scripts' and adjusts the
    first line if it begins with "#!" and ends with "python", optionally
    ending with commandline options (like -O, -t ...).  Adjusting means we
    write the current path to the Python interpreter in the first line.
  - install_scripts copies the scripts to the install_scripts dir
  - install_data copies your data_files in install_data. You can
    supply individual directories for your data_files:

    data_files = ['doc/info.txt', # copy this file in install_scripts dir
      ('testdata', ['a.dat', 'b.dat']), # copy these files in
                                        # install_scripts/testdata
      ('/etc', ['packagerc']),    # copy this in /etc. When --root is
                                  # given, copy this in rootdir/etc
    ]

    So you can use the --root option with absolute data paths.
This commit is contained in:
Greg Ward 2000-05-25 01:19:18 +00:00
parent fcd974efbb
commit 8d5881a2ba
4 changed files with 74 additions and 11 deletions

View file

@ -24,6 +24,8 @@ class build (Command):
('build-lib=', None,
"build directory for all distribution (defaults to either " +
"build-purelib or build-platlib"),
('build-scripts=', None,
"build directory for scripts"),
('build-temp=', 't',
"temporary build directory"),
('compiler=', 'c',
@ -42,6 +44,7 @@ class build (Command):
self.build_platlib = None
self.build_lib = None
self.build_temp = None
self.build_scripts = None
self.compiler = None
self.debug = None
self.force = 0
@ -76,6 +79,8 @@ class build (Command):
if self.build_temp is None:
self.build_temp = os.path.join (self.build_base,
'temp.' + self.plat)
if self.build_scripts is None:
self.build_scripts = os.path.join (self.build_base, 'scripts')
# finalize_options ()
@ -100,4 +105,7 @@ class build (Command):
if self.distribution.has_ext_modules():
self.run_peer ('build_ext')
if self.distribution.scripts:
self.run_peer ('build_scripts')
# class build