From 50a948a728a0768907700befe501bb743828b67b Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Thu, 29 Sep 2011 10:51:04 +0100 Subject: Initial import. --- setup.py | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 setup.py (limited to 'setup.py') diff --git a/setup.py b/setup.py new file mode 100644 index 00000000..8b80b7bb --- /dev/null +++ b/setup.py @@ -0,0 +1,103 @@ +#!/usr/bin/python +# Copyright (C) 2011 Codethink Limited +# +# 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. +# +# 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, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + +'''Setup.py for morph.''' + + +from distutils.core import setup +from distutils.cmd import Command +from distutils.command.clean import clean +import glob +import os +import shutil +import subprocess + +import morphlib + + +class Clean(clean): + + clean_files = [ + '.coverage', + 'build', + 'unittest-tempdir', + ] + clean_globs = [ + '*/*.py[co]', + ] + + def run(self): + clean.run(self) + itemses = ([self.clean_files] + + [glob.glob(x) for x in self.clean_globs]) + for items in itemses: + for filename in items: + if os.path.isdir(filename): + shutil.rmtree(filename) + elif os.path.exists(filename): + os.remove(filename) + + +class Check(Command): + + user_options = [ + ] + + def initialize_options(self): + pass + + def finalize_options(self): + pass + + def run(self): + subprocess.check_call(['python', '-m', 'CoverageTestRunner', + '--ignore-missing-from=without-test-modules', + 'morphlib']) + os.remove('.coverage') + + + +setup(name='morph', + version=morphlib.__version__, + description='FIXME', + long_description='''\ +FIXME +''', + classifiers=[ + 'Development Status :: 2 - Pre-Alpha', + 'Environment :: Console', + 'Intended Audience :: Developers', + 'License :: OSI Approved :: GNU General Public License (GPL)', + 'Operating System :: POSIX :: Linux', + 'Programming Language :: Python', + 'Topic :: Software Development :: Build Tools', + 'Topic :: Software Development :: Embedded Systems', + 'Topic :: System :: Archiving :: Packaging', + 'Topic :: System :: Software Distribution', + ], + author='Lars Wirzenius', + author_email='lars.wirzenius@codethink.co.uk', + url='http://www.baserock.org/', + scripts=['morph'], + packages=['morphlib'], + data_files=[('share/man/man1', glob.glob('*.[1-8]'))], + cmdclass={ + 'check': Check, + 'clean': Clean, + }, + ) + -- cgit v1.2.1