From: Antony Chazapis Date: Thu, 26 Jan 2012 22:50:03 +0000 (+0200) Subject: Use manifest. Be compatible with synnefo. Declare namespace. X-Git-Url: https://code.grnet.gr/git/pithos/commitdiff_plain/refs/heads/packaging-generator Use manifest. Be compatible with synnefo. Declare namespace. --- diff --git a/TODO b/TODO index ccfa358..bd3d0df 100644 --- a/TODO +++ b/TODO @@ -2,7 +2,4 @@ TODO ---- This is for packaging: -* Declare namespace * Use synnefo settings -* Use synnefo versioning in setup -* Setup manifest for adding non python files in app package diff --git a/packaging/defaults.py b/packaging/defaults.py index f0f5426..fcfca60 100644 --- a/packaging/defaults.py +++ b/packaging/defaults.py @@ -10,8 +10,5 @@ setup_args = { 'maintainer': 'GRNET', 'maintainer_email': 'pithos@grnet.gr', - 'include_package_data': True, - #'package_data': find_package_data('.'), - - #'namespace_packages': ['pithos'], + 'namespace_packages': ['pithos'], } diff --git a/packaging/snf-pithos-app.py b/packaging/snf-pithos-app.py index 22c2861..37d97a6 100644 --- a/packaging/snf-pithos-app.py +++ b/packaging/snf-pithos-app.py @@ -1,8 +1,14 @@ from defaults import setup_args +from find_data import find_package_data name = 'pithos.api' +manifest = 'recursive-include pithos *.json *.html *.json *.xml *.txt' + description = setup_args['description'] + ' (application)' +package_data = {} +package_data.update(find_package_data('./pithos/api', 'pithos.api')) +package_data.update(find_package_data('./pithos/ui', 'pithos.ui')) setup_args.update({ 'name': 'snf-pithos-app', 'description': description, @@ -13,6 +19,7 @@ setup_args.update({ 'pithos.middleware', 'pithos.ui' ], + 'package_data': package_data, 'install_requires': [ 'snf-common', 'snf-webapp', diff --git a/packaging/snf-pithos-backend.py b/packaging/snf-pithos-backend.py index df9a611..e1702dc 100644 --- a/packaging/snf-pithos-backend.py +++ b/packaging/snf-pithos-backend.py @@ -2,6 +2,8 @@ from defaults import setup_args name = 'pithos.backends' +manifest = '' + description = setup_args['description'] + ' (backend)' setup_args.update({ 'name': 'snf-pithos-backend', diff --git a/packaging/snf-pithos-lib.py b/packaging/snf-pithos-lib.py index bb14827..6579983 100644 --- a/packaging/snf-pithos-lib.py +++ b/packaging/snf-pithos-lib.py @@ -2,6 +2,8 @@ from defaults import setup_args name = 'pithos.lib' +manifest = '' + description = setup_args['description'] + ' (library)' setup_args.update({ 'name': 'snf-pithos-lib', diff --git a/packaging/snf-pithos-tools.py b/packaging/snf-pithos-tools.py index cb6a993..65bb11d 100644 --- a/packaging/snf-pithos-tools.py +++ b/packaging/snf-pithos-tools.py @@ -2,6 +2,8 @@ from defaults import setup_args name = 'pithos.tools' +manifest = '' + description = setup_args['description'] + ' (tools)' setup_args.update({ 'name': 'snf-pithos-tools', diff --git a/pithos/__init__.py b/pithos/__init__.py index 5e3c81a..c0c9962 100644 --- a/pithos/__init__.py +++ b/pithos/__init__.py @@ -38,3 +38,11 @@ def get_version(): if VERSION[3] != 'final': version = '%s %s %s' % (version, VERSION[3], VERSION[4]) return version + +# GRNET addition: Make this a namespace package. +try: + import pkg_resources + pkg_resources.declare_namespace(__name__) +except ImportError: + import pkgutil + __path__ = pkgutil.extend_path(__path__, __name__) diff --git a/setup.py b/setup.py index d6d75fb..547210c 100644 --- a/setup.py +++ b/setup.py @@ -54,16 +54,21 @@ except ImportError: print 'Can not find package %s' % package_name sys.exit(-1) +# Create manifest. +manifest = open('MANIFEST.in', 'w') +manifest.write(package.manifest) +manifest.close() + from packaging import distribute_setup -#distribute_setup.use_setuptools() +distribute_setup.use_setuptools() HERE = os.path.abspath(os.path.normpath(os.path.dirname(__file__))) -# try: -# # try to update the version file -# from synnefo.util import version -# version.update_version('pithos.api', 'version', HERE) -# except ImportError: -# pass +try: + # Update the version file. + from synnefo.util import version + version.update_version(package.name, 'version', HERE) +except ImportError: + pass def read(fname): file = os.path.join(HERE, fname) @@ -82,7 +87,7 @@ setup_args = { 'license': 'BSD', 'url': 'http://code.grnet.gr/', 'description': 'Package short description', - 'long_description': '', #read('README'), + 'long_description': read('README'), 'classifiers': [ 'Development Status :: 3 - Alpha', 'Operating System :: OS Independent', @@ -96,16 +101,14 @@ setup_args = { 'maintainer': 'Package maintainer', 'maintainer_email': 'maintainer@grnet.gr', -# 'packages': find_packages(), -# 'package_dir': {'': '.'}, - 'include_package_data': True, -# 'package_data': find_package_data('.'), + #'packages': find_packages(), + #'package_dir': {'': '.'}, + #'include_package_data': True, + #'package_data': find_package_data('.'), 'zip_safe': False, 'dependency_links': ['http://docs.dev.grnet.gr/pypi/'], } setup_args.update(package.setup_args) -print setup_args - setup(**setup_args)