public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
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],
+	)


             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