From 94aaf320bc604f93f05b4f54ce5ba03a7b0f0e6b Mon Sep 17 00:00:00 2001 From: Travis J Parker Date: Wed, 9 Jun 2010 18:04:50 -0700 Subject: [PATCH] administrative stuffs --- .gitignore | 7 ++++++ LICENSE | 19 +++++++++++++++ pavement.py | 61 ++++++++++++++++++++++++++++++++++++++++++++++ paver-minilib.zip | Bin 0 -> 22900 bytes setup.py | 7 ++++++ 5 files changed, 94 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 pavement.py create mode 100644 paver-minilib.zip create mode 100644 setup.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f28f47f --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +.*.swp +prctl.egg-info/* +MANIFEST.in +build/* +docs/build/* +dist/* +html/* diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f243d7b --- /dev/null +++ b/LICENSE @@ -0,0 +1,19 @@ +Copyright 2005-2010 Slide, Inc. +All Rights Reserved + +Permission to use, copy, modify, and distribute this software and +its documentation for any purpose and without fee is hereby +granted, provided that the above copyright notice appear in all +copies and that both that copyright notice and this permission +notice appear in supporting documentation, and that the name of +Slide not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior +permission. + +SLIDE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN +NO EVENT SHALL SLIDE BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, +NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/pavement.py b/pavement.py new file mode 100644 index 0000000..e4e8b59 --- /dev/null +++ b/pavement.py @@ -0,0 +1,61 @@ +import errno +import os +from setuptools import Extension + +from paver.easy import * +from paver.path import path +from paver.setuputils import setup + + +setup( + name="prctl", + description="C extension for access to the prctl(2) system call", + version="1.0", + ext_modules=[Extension( + 'prctl', + ['prctlmodule.c'], + include_dirs=['/usr/include'], + depends=['/usr/include/sys/prctl.h'], + extra_compile_args=['-Wall'])], + classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + #"License :: OSI Approved :: BSD License", + "Natural Language :: English", + "Operating System :: Unix", + "Programming Language :: C", + "Topic :: System", + ] +) + +MANIFEST = ( + "setup.py", + "paver-minilib.zip", + "prctlmodule.c", +) + +@task +def manifest(): + path('MANIFEST.in').write_lines('include %s' % x for x in MANIFEST) + +@task +@needs('generate_setup', 'minilib', 'manifest', 'setuptools.command.sdist') +def sdist(): + pass + +@task +def clean(): + for p in map(path, ('prctl.egg-info', 'dist', 'build', 'MANIFEST.in')): + if p.exists(): + if p.isdir(): + p.rmtree() + else: + p.remove() + for p in path(__file__).abspath().parent.walkfiles(): + if p.endswith(".pyc") or p.endswith(".pyo"): + try: + p.remove() + except OSError, exc: + if exc.args[0] == errno.EACCES: + continue + raise diff --git a/paver-minilib.zip b/paver-minilib.zip new file mode 100644 index 0000000000000000000000000000000000000000..744216787ea81280718416a217da74170e473a66 GIT binary patch literal 22900 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 literal 0 HcmV?d00001 diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..d041358 --- /dev/null +++ b/setup.py @@ -0,0 +1,7 @@ +import os +if os.path.exists("paver-minilib.zip"): + import sys + sys.path.insert(0, "paver-minilib.zip") + +import paver.tasks +paver.tasks.main()