From: "W. Trevor King" <[email protected]> Package catalyst in the usual manner for Python projects. Now it is ready for PyPI :).
I also expose the version string in catalyst.__version__, since that's a more traditional location. --- .gitignore | 4 +++ MANIFEST.in | 6 ++++ catalyst/__init__.py | 3 ++ setup.py | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 102 insertions(+) create mode 100644 MANIFEST.in create mode 100644 setup.py diff --git a/.gitignore b/.gitignore index 539da74..d52b297 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,5 @@ *.py[co] +dist +build +files +MANIFEST diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..4274094 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,6 @@ +include AUTHORS +include ChangeLog +include COPYING +include Makefile +recursive-include doc *.conf *.py HOWTO.txt catalyst*.txt +recursive-include examples README *.example *.spec diff --git a/catalyst/__init__.py b/catalyst/__init__.py index e69de29..c058e16 100644 --- a/catalyst/__init__.py +++ b/catalyst/__init__.py @@ -0,0 +1,3 @@ +"Catalyst is a release building tool used by Gentoo Linux" + +__version__="2.0.15" diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..34eae53 --- /dev/null +++ b/setup.py @@ -0,0 +1,89 @@ +# Copyright (C) 2013 W. Trevor King <[email protected]> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +"Catalyst is a release building tool used by Gentoo Linux" + +import codecs as _codecs +from distutils.core import setup as _setup +import itertools as _itertools +import os as _os + +from catalyst import __version__ + + +_this_dir = _os.path.dirname(__file__) +package_name = 'catalyst' +tag = '{0}-{1}'.format(package_name, __version__) + + +def files(root): + """Iterate through all the file paths under `root` + + Distutils wants all paths to be written in the Unix convention + (i.e. slash-separated) [1], so that's what we'll do here. + + [1]: http://docs.python.org/2/distutils/setupscript.html#writing-the-setup-script + """ + for dirpath, dirnames, filenames in _os.walk(root): + for filename in filenames: + path = _os.path.join(dirpath, filename) + if _os.path.sep != '/': + path = path.replace(_os.path.sep, '/') + yield path + + +_setup( + name=package_name, + version=__version__, + maintainer='Gentoo Release Engineering', + maintainer_email='[email protected]', + url='http://www.gentoo.org/proj/en/releng/{0}/'.format(package_name), + download_url='http://git.overlays.gentoo.org/gitweb/?p=proj/{0}.git;a=snapshot;h={1};sf=tgz'.format(package_name, tag), + license='GNU General Public License (GPL)', + platforms=['all'], + description=__doc__, + long_description=_codecs.open( + _os.path.join(_this_dir, 'README'), 'r', 'utf-8').read(), + classifiers=[ + 'Development Status :: 5 - Production/Stable', + 'License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)', + 'Intended Audience :: System Administrators', + 'Operating System :: POSIX', + 'Topic :: System :: Archiving :: Packaging', + 'Topic :: System :: Installation/Setup', + 'Topic :: System :: Software Distribution', + 'Programming Language :: Python :: 2', + 'Programming Language :: Python :: 2.6', + 'Programming Language :: Python :: 2.7', + ], + scripts=['bin/{0}'.format(package_name)], + packages=[ + package_name, + '{0}.arch'.format(package_name), + '{0}.base'.format(package_name), + '{0}.targets'.format(package_name), + ], + data_files=[ + ('/etc/catalyst', [ + 'etc/catalyst.conf', + 'etc/catalystrc', + ]), + ('lib/catalyst/', list(_itertools.chain( + files('livecd'), + files('targets'), + ))), + ], + provides=[package_name], + ) -- 1.8.3.2
