1 | #!/usr/bin/env python |
---|
2 | |
---|
3 | """Distribution Utilities setup program for NDG Security Package |
---|
4 | |
---|
5 | NERC Data Grid Project |
---|
6 | """ |
---|
7 | __author__ = "P J Kershaw" |
---|
8 | __date__ = "24/04/06" |
---|
9 | __copyright__ = "(C) 2007 STFC & NERC" |
---|
10 | __license__ = \ |
---|
11 | """This software may be distributed under the terms of the Q Public |
---|
12 | License, version 1.0 or later.""" |
---|
13 | __contact__ = "Philip.Kershaw@stfc.ac.uk" |
---|
14 | __revision__ = '$Id$' |
---|
15 | |
---|
16 | # Bootstrap setuptools if necessary. |
---|
17 | from ez_setup import use_setuptools |
---|
18 | use_setuptools() |
---|
19 | |
---|
20 | from setuptools import setup, find_packages |
---|
21 | |
---|
22 | import os, sys |
---|
23 | |
---|
24 | __revision__ = "$Id$" |
---|
25 | |
---|
26 | |
---|
27 | # Packages needed for NDG Security |
---|
28 | # Note commented out ones fail with PyPI - use explicit link instead |
---|
29 | # TODO: subdivide these into server and client specific and comon dependencies |
---|
30 | _pkgDependencies = [ |
---|
31 | 'PyXML', # include as a separate dependency to force correct download link |
---|
32 | 'ZSI', |
---|
33 | '4Suite-XML', |
---|
34 | 'pycrypto', |
---|
35 | 'M2Crypto' |
---|
36 | ] |
---|
37 | |
---|
38 | # TODO: configure an option so that database support can be set for the |
---|
39 | # Credential Repository. MySQL package may need to be in its own option |
---|
40 | # eventually |
---|
41 | credentialRepositoryDbSupport = False |
---|
42 | if credentialRepositoryDbSupport: |
---|
43 | _pkgDependencies += [ |
---|
44 | 'SQLObject', |
---|
45 | 'MySQL-python', # TODO: fix gcc error: unrecognized option `-restrict' |
---|
46 | ] |
---|
47 | |
---|
48 | # Python 2.5 includes ElementTree by default |
---|
49 | if sys.version_info[0:2] < (2, 5): |
---|
50 | _pkgDependencies += ['ElementTree', 'cElementTree'] |
---|
51 | |
---|
52 | # Sledge hammer approach needed with some packages as they won't install from |
---|
53 | # their PyPI name - instead give explicit URLs to search. This may cause |
---|
54 | # problems later! |
---|
55 | _pkgDependencyLinks = [ |
---|
56 | # Custom M2Crypto for use with Python MyProxy client |
---|
57 | "http://ndg.nerc.ac.uk/dist" |
---|
58 | ] |
---|
59 | |
---|
60 | |
---|
61 | setup( |
---|
62 | name = 'ndg_security_common', |
---|
63 | version = '0.9.3', |
---|
64 | description = \ |
---|
65 | '''NERC DataGrid Security virtual package containing common utilities used |
---|
66 | noth by server and client packages''', |
---|
67 | long_description = 'Software for securing NDG resources', |
---|
68 | author = 'Philip Kershaw', |
---|
69 | author_email = 'Philip.Kershaw@stfc.ac.uk', |
---|
70 | maintainer = 'Philip Kershaw', |
---|
71 | maintainer_email = 'Philip.Kershaw@stfc.ac.uk', |
---|
72 | url = 'http://proj.badc.rl.ac.uk/ndg/wiki/T12_Security', |
---|
73 | license = 'Q Public License, version 1.0 or later', |
---|
74 | install_requires = _pkgDependencies, |
---|
75 | dependency_links = _pkgDependencyLinks, |
---|
76 | packages = find_packages(), |
---|
77 | namespace_packages = ['ndg', 'ndg.security'], |
---|
78 | # This flag will include all files under SVN control or included in |
---|
79 | # MANIFEST.in. |
---|
80 | #include_package_data = True, |
---|
81 | # Finer grained control of data file inclusion can be achieved with |
---|
82 | # these parameters. See the setuptools docs. |
---|
83 | #package_data = {} |
---|
84 | #exclude_package_data = {} |
---|
85 | entry_points = None, |
---|
86 | test_suite = 'ndg.security.test', |
---|
87 | zip_safe = False |
---|
88 | ) |
---|