From: "Brian Dolbec" <brian.dolbec@gmail.com>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/catalyst:rewrite-on-master commit in: catalyst/, /
Date: Fri, 22 Nov 2013 07:13:27 +0000 (UTC) [thread overview]
Message-ID: <1385100155.34be7b0c24c49868cfad5791b5c08f86d7ac19bf.dol-sen@gentoo> (raw)
commit: 34be7b0c24c49868cfad5791b5c08f86d7ac19bf
Author: W. Trevor King <wking <AT> tremily <DOT> us>
AuthorDate: Wed Jun 5 17:13:43 2013 +0000
Commit: Brian Dolbec <brian.dolbec <AT> gmail <DOT> com>
CommitDate: Fri Nov 22 06:02:35 2013 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/catalyst.git;a=commit;h=34be7b0c
setup.py: Add disutils-based packaging
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 than catalyst.version.__version__.
---
.gitignore | 7 ++++-
MANIFEST.in | 6 ++++
catalyst/__init__.py | 3 ++
setup.py | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 104 insertions(+), 1 deletion(-)
diff --git a/.gitignore b/.gitignore
index 711f9e8..0cf4f26 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,10 @@
*.py[co]
+
+build
+dist
+files
+MANIFEST
+
test.*
*.geany
Scratch
-
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..c2538aa 100644
--- a/catalyst/__init__.py
+++ b/catalyst/__init__.py
@@ -0,0 +1,3 @@
+"Catalyst is a release building tool used by Gentoo Linux"
+
+from .version import __version__
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 <wking@tremily.us>
+#
+# 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='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],
+ )
next reply other threads:[~2013-11-22 7:13 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-22 7:13 Brian Dolbec [this message]
-- strict thread matches above, loose matches on Subject: below --
2013-11-22 7:13 [gentoo-commits] proj/catalyst:rewrite-on-master commit in: catalyst/, / Brian Dolbec
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1385100155.34be7b0c24c49868cfad5791b5c08f86d7ac19bf.dol-sen@gentoo \
--to=brian.dolbec@gmail.com \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox