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) 2009 Science and Technology Facilities Council" |
---|
10 | __license__ = "BSD - see LICENSE file in top-level directory" |
---|
11 | __contact__ = "Philip.Kershaw@stfc.ac.uk" |
---|
12 | __revision__ = '$Id$' |
---|
13 | |
---|
14 | # Bootstrap setuptools if necessary. |
---|
15 | from ez_setup import use_setuptools |
---|
16 | use_setuptools() |
---|
17 | |
---|
18 | from setuptools import setup, find_packages |
---|
19 | |
---|
20 | import os, sys |
---|
21 | |
---|
22 | # Packages needed for NDG Security |
---|
23 | # Note commented out ones fail with PyPI - use explicit link instead |
---|
24 | # TODO: subdivide these into server and client specific and comon dependencies |
---|
25 | _pkgDependencies = [ |
---|
26 | 'PyXML', # include as a separate dependency to force correct download link |
---|
27 | 'ZSI', |
---|
28 | '4Suite-XML', |
---|
29 | 'M2Crypto', |
---|
30 | 'ndg_security_saml' |
---|
31 | ] |
---|
32 | |
---|
33 | # TODO: configure an option so that database support can be set for the |
---|
34 | # Credential Repository. MySQL package may need to be in its own option |
---|
35 | # eventually |
---|
36 | credentialRepositoryDbSupport = False |
---|
37 | if credentialRepositoryDbSupport: |
---|
38 | _pkgDependencies += [ |
---|
39 | 'SQLObject', |
---|
40 | 'MySQL-python', # TODO: fix gcc error: unrecognized option `-restrict' |
---|
41 | ] |
---|
42 | |
---|
43 | # Python 2.5 includes ElementTree by default |
---|
44 | if sys.version_info[0:2] < (2, 5): |
---|
45 | _pkgDependencies += ['ElementTree', 'cElementTree'] |
---|
46 | |
---|
47 | _longDescription = """\ |
---|
48 | NDG Security is the security system for the UK Natural Environment Research |
---|
49 | Council funded NERC DataGrid. NDG Security has been developed to |
---|
50 | provide users with seamless access to secured resources across NDG |
---|
51 | participating organisations whilst at the same time providing an underlying |
---|
52 | system which is easy to deploy around organisation's pre-existing systems. |
---|
53 | NDG Security is designed around a Role Based Access Control mechanism. Cross |
---|
54 | organisational access to resources is enabled through bilateral trust |
---|
55 | agreements between participating organisations expressed through a system for |
---|
56 | single sign and role mapping. |
---|
57 | |
---|
58 | NDG Security employs a web services based architecture enabling different |
---|
59 | combinations of components to be deployed according to a participating site's |
---|
60 | needs and requirements. Resources are secured using a system of Policy |
---|
61 | Enforcement Point (Gatekeeper) and Policy Decision Point components. An |
---|
62 | Attribute Authority provides a service to query a given users attributes used |
---|
63 | for gaining access to resources. Session Manager and MyProxy services can be |
---|
64 | used for management of credentials. NDG Security supports OpenID for Single |
---|
65 | Sign On and can integrate into both web based and non-web based application |
---|
66 | client interfaces. |
---|
67 | """ |
---|
68 | |
---|
69 | setup( |
---|
70 | name = 'ndg_security_common', |
---|
71 | version = '1.5.5', |
---|
72 | description = 'NERC DataGrid Security package containing common ' |
---|
73 | 'utilities used by both server and client ' |
---|
74 | 'packages', |
---|
75 | long_description = _longDescription, |
---|
76 | author = 'Philip Kershaw', |
---|
77 | author_email = 'Philip.Kershaw@stfc.ac.uk', |
---|
78 | maintainer = 'Philip Kershaw', |
---|
79 | maintainer_email = 'Philip.Kershaw@stfc.ac.uk', |
---|
80 | url = 'http://proj.badc.rl.ac.uk/ndg/wiki/Security', |
---|
81 | license = 'BSD - See LICENCE file for details', |
---|
82 | install_requires = _pkgDependencies, |
---|
83 | dependency_links = ["http://ndg.nerc.ac.uk/dist"], |
---|
84 | packages = find_packages(), |
---|
85 | namespace_packages = ['ndg', 'ndg.security'], |
---|
86 | # This flag will include all files under SVN control or included in |
---|
87 | # MANIFEST.in. |
---|
88 | #include_package_data = True, |
---|
89 | # Finer grained control of data file inclusion can be achieved with |
---|
90 | # these parameters. See the setuptools docs. |
---|
91 | #package_data = {} |
---|
92 | #exclude_package_data = {} |
---|
93 | entry_points = None, |
---|
94 | test_suite = 'ndg.security.test', |
---|
95 | zip_safe = False |
---|
96 | ) |
---|