| | import sys
|
| | if 'setuptools' in sys.modules:
|
| | import setuptools.command.install as old_install_mod
|
| | have_setuptools = True
|
| | else:
|
| | import distutils.command.install as old_install_mod
|
| | have_setuptools = False
|
| | from distutils.file_util import write_file
|
| |
|
| | old_install = old_install_mod.install
|
| |
|
| | class install(old_install):
|
| |
|
| |
|
| |
|
| | sub_commands = old_install.sub_commands + [
|
| | ('install_clib', lambda x: True)
|
| | ]
|
| |
|
| | def finalize_options (self):
|
| | old_install.finalize_options(self)
|
| | self.install_lib = self.install_libbase
|
| |
|
| | def setuptools_run(self):
|
| | """ The setuptools version of the .run() method.
|
| |
|
| | We must pull in the entire code so we can override the level used in the
|
| | _getframe() call since we wrap this call by one more level.
|
| | """
|
| | from distutils.command.install import install as distutils_install
|
| |
|
| |
|
| | if self.old_and_unmanageable or self.single_version_externally_managed:
|
| | return distutils_install.run(self)
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| | caller = sys._getframe(3)
|
| | caller_module = caller.f_globals.get('__name__', '')
|
| | caller_name = caller.f_code.co_name
|
| |
|
| | if caller_module != 'distutils.dist' or caller_name!='run_commands':
|
| |
|
| |
|
| |
|
| | distutils_install.run(self)
|
| | else:
|
| | self.do_egg_install()
|
| |
|
| | def run(self):
|
| | if not have_setuptools:
|
| | r = old_install.run(self)
|
| | else:
|
| | r = self.setuptools_run()
|
| | if self.record:
|
| |
|
| |
|
| |
|
| | with open(self.record) as f:
|
| | lines = []
|
| | need_rewrite = False
|
| | for l in f:
|
| | l = l.rstrip()
|
| | if ' ' in l:
|
| | need_rewrite = True
|
| | l = '"%s"' % (l)
|
| | lines.append(l)
|
| | if need_rewrite:
|
| | self.execute(write_file,
|
| | (self.record, lines),
|
| | "re-writing list of installed files to '%s'" %
|
| | self.record)
|
| | return r
|
| |
|