From: "Brian Dolbec" <brian.dolbec@gmail.com>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/catalyst:pending commit in: /, catalyst/, bin/
Date: Sat, 22 Feb 2014 18:43:27 +0000 (UTC) [thread overview]
Message-ID: <1393093831.46b261e967904262245c42322a96f0d7f2322a27.dol-sen@gentoo> (raw)
Message-ID: <20140222184327.IStHznQuXWrWzQy81CWRiq8XDduaRciOFAZaDLW9rQ0@z> (raw)
commit: 46b261e967904262245c42322a96f0d7f2322a27
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: Sat Feb 22 18:30:31 2014 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/catalyst.git;a=commit;h=46b261e9
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__ and the
maintainer string in catalyst.__maintainer__, since those are more
traditional locations.
I dropped official Python 2.6 support following:
19:31 <@jmbsvicetto> I don't see a need to make catalyst
incompatible with 2.6, but I think it's time we drop it as a
"requirement". So feel free to do any changes that improve the
code, even if they drop 2.6 compatibility
I kept the explicit indexes in the string formatting, since Python 2.6
doesn't support:
'{}'.format(value)
---
.gitignore | 4 +++
AUTHORS | 1 +
MANIFEST.in | 6 ++++
bin/catalyst | 6 ++--
catalyst/__init__.py | 4 +++
catalyst/main.py | 3 +-
setup.py | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++
7 files changed, 99 insertions(+), 6 deletions(-)
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/AUTHORS b/AUTHORS
index 3c43706..a379d42 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -36,6 +36,7 @@ Lars Weiler <pylon@gentoo.org>
Gustavo Zacarias <gustavoz@gentoo.org>
Raúl Porcel <armin76@gentoo.org>
Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
+W. Trevor King <wking@tremily.us>
Maintainers:
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/bin/catalyst b/bin/catalyst
index ace43fc..19f5289 100755
--- a/bin/catalyst
+++ b/bin/catalyst
@@ -12,10 +12,6 @@ from __future__ import print_function
import sys
-__maintainer__="Catalyst <catalyst@gentoo.org>"
-__version__="2.0.12.2"
-
-
# This block ensures that ^C interrupts are handled quietly.
try:
import signal
@@ -36,6 +32,8 @@ except KeyboardInterrupt:
from catalyst.main import main
+from catalyst import __maintainer__
+from catalyst import __version__
try:
main()
diff --git a/catalyst/__init__.py b/catalyst/__init__.py
index e69de29..43a75d6 100644
--- a/catalyst/__init__.py
+++ b/catalyst/__init__.py
@@ -0,0 +1,4 @@
+"Catalyst is the release building tool used by Gentoo Linux"
+
+__version__ = '2.0.16'
+__maintainer__ = 'Catalyst <catalyst@gentoo.org>'
diff --git a/catalyst/main.py b/catalyst/main.py
index cb30bd7..6b90989 100644
--- a/catalyst/main.py
+++ b/catalyst/main.py
@@ -18,13 +18,12 @@ __selfpath__ = os.path.abspath(os.path.dirname(__file__))
sys.path.append(__selfpath__ + "/modules")
+from . import __version__
import catalyst.config
import catalyst.util
from catalyst.support import (required_build_targets,
valid_build_targets, CatalystError, hash_map, find_binary, LockInUse)
-__maintainer__="Catalyst <catalyst@gentoo.org>"
-__version__="2.0.15"
conf_values={}
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000..fb49cd6
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,81 @@
+"Catalyst is the release building tool used by Gentoo Linux"
+
+import codecs as _codecs
+from distutils.core import setup as _setup
+from email.utils import parseaddr as _parseaddr
+import itertools as _itertools
+import os as _os
+
+from catalyst import __version__, __maintainer__
+
+
+_this_dir = _os.path.dirname(__file__)
+_package_name = 'catalyst'
+_maintainer_name, _maintainer_email = _parseaddr(__maintainer__)
+
+
+def _posix_path(path):
+ """Convert a native path to a POSIX path
+
+ 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
+ """
+ if _os.path.sep != '/':
+ return path.replace(_os.path.sep, '/')
+ return path
+
+
+def _files(prefix, root):
+ """Iterate through all the file paths under `root`
+
+ Yielding `(target_dir, (file_source_paths, ...))` tuples.
+ """
+ for dirpath, dirnames, filenames in _os.walk(root):
+ reldir = _os.path.relpath(dirpath, root)
+ install_directory = _posix_path(
+ _os.path.join(prefix, reldir))
+ file_source_paths = [
+ _posix_path(_os.path.join(dirpath, filename))
+ for filename in filenames]
+ yield (install_directory, file_source_paths)
+
+
+_setup(
+ name=_package_name,
+ version=__version__,
+ maintainer=_maintainer_name,
+ maintainer_email=_maintainer_email,
+ url='http://www.gentoo.org/proj/en/releng/{0}/'.format(_package_name),
+ download_url='http://distfiles.gentoo.org/distfiles/{0}-{1}.tar.bz2'.format(
+ _package_name, __version__),
+ 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.7',
+ ],
+ scripts=['bin/{0}'.format(_package_name)],
+ packages=[
+ _package_name,
+ '{0}.arch'.format(_package_name),
+ '{0}.targets'.format(_package_name),
+ ],
+ data_files=list(_itertools.chain(
+ _files(prefix='/etc/catalyst', root='etc'),
+ _files(prefix='lib/catalyst/livecd', root='livecd'),
+ _files(prefix='lib/catalyst/targets', root='targets'),
+ )),
+ provides=[_package_name],
+ )
next reply other threads:[~2014-02-22 18:43 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-02 15:42 Brian Dolbec [this message]
2014-02-22 18:43 ` [gentoo-commits] proj/catalyst:pending commit in: /, catalyst/, bin/ 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=1393093831.46b261e967904262245c42322a96f0d7f2322a27.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