From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 383FD1387B1 for ; Sun, 12 Jan 2014 01:51:58 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 85862E0D64; Sun, 12 Jan 2014 01:51:12 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id BB21FE0D64 for ; Sun, 12 Jan 2014 01:51:01 +0000 (UTC) Received: from big_daddy.dol-sen.ca (S010600222de111ff.vc.shawcable.net [96.49.5.156]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: dolsen) by smtp.gentoo.org (Postfix) with ESMTPSA id BEEE533F75A; Sun, 12 Jan 2014 01:51:00 +0000 (UTC) From: Brian Dolbec To: gentoo-catalyst@lists.gentoo.org Cc: "W. Trevor King" Subject: [gentoo-catalyst] [PATCH 5/5] setup.py: Add disutils-based packaging Date: Sat, 11 Jan 2014 17:46:58 -0800 Message-Id: <1389491218-1488-6-git-send-email-dolsen@gentoo.org> X-Mailer: git-send-email 1.8.3.2 In-Reply-To: <1389491218-1488-1-git-send-email-dolsen@gentoo.org> References: <1389491218-1488-1-git-send-email-dolsen@gentoo.org> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-catalyst@lists.gentoo.org Reply-to: gentoo-catalyst@lists.gentoo.org X-Archives-Salt: b3066320-e836-4aad-b246-664537dbce3d X-Archives-Hash: 6e35f41d442399e9e562e7e7787286f2 From: "W. Trevor King" 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 +# +# 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 . + +"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='releng@gentoo.org', + 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