diff -r 0e85c55bff69 -r f5c55582565d src/ldt/setup.py --- a/src/ldt/setup.py Mon Apr 30 16:41:39 2012 +0200 +++ b/src/ldt/setup.py Thu May 03 17:07:41 2012 +0200 @@ -4,6 +4,7 @@ from distutils.command.install import INSTALL_SCHEMES import sys + class osx_install_data(install_data): # On MacOS, the platform-specific lib dir is /System/Library/Framework/Python/.../ # which is wrong. Python 2.5 supplied with MacOS 10.5 has an Apple-specific fix @@ -17,25 +18,6 @@ self.set_undefined_options('install', ('install_lib', 'install_dir')) install_data.finalize_options(self) -if sys.platform == "darwin": - cmdclasses = {'install_data': osx_install_data} -else: - cmdclasses = {'install_data': install_data} - - -root_dir = os.path.dirname(__file__) -if root_dir != '': - os.chdir(root_dir) -source_dir = 'ldt' - -version_variables = {} -try: - execfile(os.path.join(source_dir, "__init__.py"), version_variables) -except: - pass - -version = version_variables['__version__'] - def fullsplit(path, result=None): """ Split a pathname into components (the opposite of os.path.join) in a @@ -50,64 +32,94 @@ return result return fullsplit(head, [tail] + result) -packages, data_files = [], [] - -for dirpath, dirnames, filenames in os.walk(source_dir): - # Ignore dirnames that start with '.' - for i, dirname in enumerate(dirnames): - if dirname.startswith('.'): del dirnames[i] - if '__init__.py' in filenames: - packages.append('.'.join(fullsplit(dirpath))) - elif filenames: - data_files.append([dirpath, [os.path.join(dirpath, f) for f in filenames]]) +def launch_setup(script_name, script_args): + if sys.platform == "darwin": + cmdclasses = {'install_data': osx_install_data} + else: + cmdclasses = {'install_data': install_data} + + + root_dir = os.path.dirname(__file__) + if root_dir != '': + os.chdir(root_dir) + source_dir = 'ldt' + + version_variables = {} + try: + execfile(os.path.join(source_dir, "__init__.py"), version_variables) + except: + pass + + version = version_variables['__version__'] + + packages, data_files = [], [] + + + for dirpath, dirnames, filenames in os.walk(source_dir): + # Ignore dirnames that start with '.' + for i, dirname in enumerate(dirnames): + if dirname.startswith('.'): del dirnames[i] + if '__init__.py' in filenames: + packages.append('.'.join(fullsplit(dirpath))) + elif filenames: + data_files.append([dirpath, [os.path.join(dirpath, f) for f in filenames]]) + + + # Tell distutils to put the data_files in platform-specific installation + # locations. See here for an explanation: + # http://groups.google.com/group/comp.lang.python/browse_thread/thread/35ec7b2fed36eaec/2105ee4d9e8042cb + for scheme in INSTALL_SCHEMES.values(): + scheme['data'] = scheme['purelib'] + + # Small hack for working with bdist_wininst. + # See http://mail.python.org/pipermail/distutils-sig/2004-August/004134.html + if len(sys.argv) > 1 and sys.argv[1] == 'bdist_wininst': + for file_info in data_files: + file_info[0] = '\\PURELIB\\%s' % file_info[0] + + #write MANIFEST.in + + with open("MANIFEST.in", "w") as m: + m.write("include CHANGES\n") + m.write("include LICENSE\n") + m.write("include README\n") + m.write("include MANIFEST.in\n") + for entry in data_files: + file_list = entry[1] + for filename in file_list: + m.write("include %s\n" % (filename)) + + setup( + script_name = script_name, + script_args = script_args, + name='ldt', + version=version, + author='IRI', + author_email='contact@iri.centrepompidou.fr', + packages=packages, + data_files=data_files, + cmdclass = cmdclasses, + scripts=[], + url='http://www.iri.centrepompidou.fr/dev/hg/platform', + license='LICENSE.txt', + description='Platform ldt', + long_description=open('README').read(), + classifiers=['Development Status :: 5 - Production/Stable', + 'Environment :: Web Environment', + 'Framework :: Django', + 'Intended Audience :: Developers', + 'License :: Ceccil-C', + 'Operating System :: OS Independent', + 'Programming Language :: Python', + 'Topic :: Utilities', + ], + ) -# Tell distutils to put the data_files in platform-specific installation -# locations. See here for an explanation: -# http://groups.google.com/group/comp.lang.python/browse_thread/thread/35ec7b2fed36eaec/2105ee4d9e8042cb -for scheme in INSTALL_SCHEMES.values(): - scheme['data'] = scheme['purelib'] - -# Small hack for working with bdist_wininst. -# See http://mail.python.org/pipermail/distutils-sig/2004-August/004134.html -if len(sys.argv) > 1 and sys.argv[1] == 'bdist_wininst': - for file_info in data_files: - file_info[0] = '\\PURELIB\\%s' % file_info[0] - -#write MANIFEST.in - -with open("MANIFEST.in", "w") as m: - m.write("include CHANGES\n") - m.write("include LICENSE\n") - m.write("include README\n") - m.write("include MANIFEST.in\n") - for entry in data_files: - file_list = entry[1] - for filename in file_list: - m.write("include %s\n" % (filename)) - - -setup( - name='ldt', - version=version, - author='IRI', - author_email='contact@iri.centrepompidou.fr', - packages=packages, - data_files=data_files, - cmdclass = cmdclasses, - scripts=[], - url='http://www.iri.centrepompidou.fr/dev/hg/platform', - license='LICENSE.txt', - description='Platform ldt', - long_description=open('README').read(), - classifiers=['Development Status :: 5 - Production/Stable', - 'Environment :: Web Environment', - 'Framework :: Django', - 'Intended Audience :: Developers', - 'License :: Ceccil-C', - 'Operating System :: OS Independent', - 'Programming Language :: Python', - 'Topic :: Utilities', - ], -) +if __name__ == "__main__": + + script_name = os.path.basename(sys.argv[0]) + script_args = sys.argv[1:] + + launch_setup(script_name, script_args) \ No newline at end of file