bug fix: here commit should be outside the if test
[sfa.git] / sfa.spec
1 #
2 # $Id$
3 #
4
5 %define url $URL$
6
7 %define name sfa
8 %define version 0.9
9 %define taglevel 11
10
11 %define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
12 %global python_sitearch %( python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)" )
13 %{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
14
15 Name: %{name}
16 Version: %{version}
17 Release: %{release}
18 Source0: %{name}-%{version}.tar.bz2
19 License: GPL
20 Group: Applications/System
21 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
22
23 Vendor: PlanetLab
24 Packager: PlanetLab Central <support@planet-lab.org>
25 Distribution: PlanetLab %{plrelease}
26 URL: %(echo %{url} | cut -d ' ' -f 2)
27 Summary: the SFA python libraries
28 Group: Applications/System
29
30 BuildRequires: make
31 Requires: python >= 2.5
32 Requires: m2crypto
33 Requires: libxslt-python
34 Requires: python-ZSI
35 # xmlbuilder depends on  lxml
36 Requires: python-lxml
37
38 # python 2.5 has uuid module added, for python 2.4 we still need it.
39 # we can't really check for if we can load uuid as a python module,
40 # it'll be installed by "devel.pkgs". we have the epel repository so
41 # python-uuid will be provided. but we can test for the python
42 # version.
43 # %define has_py24 %( python -c "import sys;sys.exit(sys.version_info[0:2] == (2,4))" 2> /dev/null; echo $? )
44 # %if %has_py24
45 #
46 # this also didn't work very well. I'll just check for distroname - baris
47 %if %{distroname} == "centos5"
48 Requires: python-uuid
49 %endif
50
51 %package cm
52 Summary: the SFA wrapper around MyPLC's NodeManager
53 Group: Applications/System
54 Requires: sfa
55 Requires: pyOpenSSL >= 0.6
56
57 %package plc
58 Summary: the SFA wrapper arounf MyPLC
59 Group: Applications/System
60 Requires: sfa
61 Requires: python-psycopg2
62 Requires: myplc-config
63 Requires: pyOpenSSL >= 0.7
64
65 %package client
66 Summary: the SFA experimenter-side CLI
67 Group: Applications/System
68 Requires: sfa
69 Requires: pyOpenSSL >= 0.7
70
71 %package sfatables
72 Summary: sfatables policy tool for SFA
73 Group: Applications/System
74 Requires: sfa
75
76 %description
77 This package provides the python libraries that the SFA implementation requires
78
79 %description cm
80 This package implements the SFA interface which serves as a layer
81 between the existing PlanetLab NodeManager interfaces and the SFA API.
82  
83 %description plc
84 This package implements the SFA interface which serves as a layer
85 between the existing PlanetLab interfaces and the SFA API.
86
87 %description client
88 This package provides the client side of the SFA API, in particular
89 sfi.py, together with other utilities.
90
91 %description sfatables
92 sfatables is a tool for defining access and admission control policies
93 in an SFA network, in much the same way as iptables is for ip
94 networks. This is the command line interface to manage sfatables
95
96 %prep
97 %setup -q
98
99 %build
100 make
101
102 %install
103 rm -rf $RPM_BUILD_ROOT
104 make install DESTDIR="$RPM_BUILD_ROOT"
105
106 %clean
107 rm -rf $RPM_BUILD_ROOT
108
109 %files
110 # sfa and sfatables depend each other.
111 %{_bindir}/sfa-server.py*
112 /etc/sfatables/*
113 %{python_sitelib}/*
114 /usr/bin/keyconvert
115 /var/www/html/wsdl/*.wsdl
116
117 %files cm
118 /etc/init.d/sfa-cm
119 %{_bindir}/sfa_component_setup.py*
120 # cron jobs here 
121
122 %files plc
123 %defattr(-,root,root)
124 %config /etc/sfa/default_config.xml
125 %config (noreplace) /etc/sfa/aggregates.xml
126 %config (noreplace) /etc/sfa/registries.xml
127 /etc/init.d/sfa
128 %{_bindir}/sfa-config-tty
129 %{_bindir}/sfa-import-plc.py*
130 %{_bindir}/sfa-clean-peer-records.py*
131 %{_bindir}/sfa-nuke-plc.py*
132 %{_bindir}/gen-sfa-cm-config.py*
133
134 %files client
135 %config (noreplace) /etc/sfa/sfi_config
136 %{_bindir}/sfi.py*
137 %{_bindir}/getNodes.py*
138 %{_bindir}/getRecord.py*
139 %{_bindir}/setRecord.py*
140 %{_bindir}/sfadump.py*
141
142 %files sfatables
143 %{_bindir}/sfatables
144
145 %pre plc
146 [ -f %{_sysconfdir}/init.d/sfa ] && service sfa stop ||:
147
148 %pre cm
149 [ -f %{_sysconfdir}/init.d/sfa-cm ] && service sfa-cm stop ||:
150
151 %post plc
152 chkconfig --add sfa
153
154 %post cm
155 chkconfig --add sfa-cm
156 %changelog
157 * Thu Apr 08 2010 Tony Mack <tmack@cs.princeton.edu> - sfa-0.9-11
158 - SfaServer now uses a pool of threads to handle requests concurrently
159 - sfa.util.rspec no longer used to process/manage rspecs (deprecated). This is now handled by sfa.plc.network and is not backwards compatible
160 - PIs can now get a slice credential for any slice at their site without having to be a member of the slice
161 - Registry records for federated peers (defined in registries.xml, aggregates.xml) updated when sfa service is started
162 - Interfaces will try to fetch and install gids from peers listed in registries.xml/aggregates.xml if gid is not found in /etc/sfa/trusted_roots dir   
163 - Component manager does not install gid files if slice already has them  
164  
165 * Thu Jan 21 2010 anil vengalil <avengali@sophia.inria.fr> - sfa-0.9-10
166 - This tag is quite same as the previous one (sfa-0.9-9) except that the vini and max aggregate managers are also updated for urn support.  Other features are:
167 - - sfa-config-tty now has the same features like plc-config-tty
168 - - Contains code to support both urn and hrn
169 - - Cleaned up request_hash related stuff
170 - - SM, AM and Registry code is organized under respective managers
171 - - Site and Slice synchronization across federated aggregates
172 - - Script to generate sfa_component_config
173
174 * Fri Jan 15 2010 anil vengalil <avengali@sophia.inria.fr> - sfa-0.9-9
175 - sfa-config-tty now has the same features like plc-config-tty
176 - Contains code to support both urn and hrn
177 - Cleaned up request_hash related stuff
178 - SM, AM and Registry code is organized under respective managers
179 - Slice synchronization across federated aggregates
180 - some bugs are fixed
181
182 * Wed Jan 06 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - sfa-0.9-8
183 - checkpoint with fewer mentions of geni
184
185 * Tue Jan 05 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - sfa-0.9-7
186 - checkpointing
187 - this is believed to pass the tests; among other things:
188 - reworked configuration based on the myplc config with xml skeleton (no more sfa_config)
189
190 * Mon Nov 16 2009 anil vengalil <avengali@sophia.inria.fr> - sfa-0.9-6
191 - This tag includes:
192 - - Sfatables
193 - - Preliminary version of hash based authentication
194 - - Initial code for Component Manager
195 - - Authority structure is moved to /var/lib/sfa/
196 - - some bug-fixes
197
198 * Fri Oct 09 2009 anil vengalil <avengali@sophia.inria.fr> - sfa-0.9-5
199 - Create_slice and get_resources methods are connected to sfatables.
200 - Other features include compatibility with RP, handling remote objects created as part of federation, preliminary version of sfatables, call tracability and logging.
201
202 * Wed Oct 07 2009 anil vengalil <avengali@sophia.inria.fr> - sfa-0.9-4
203 - Bug fix on update and remove_peer_object methods
204 - Compatibility with RP, preliminiary version of sfatables, call tracability and logging
205
206 * Mon Oct 05 2009 anil vengalil <avengali@sophia.inria.fr> - sfa-0.9-3
207 - Compatibility with RP, two additional methods to handle remote objects, call tracability and logging, PLCDB now has single table for sfa records, preliminary version of sfatables (still under development)
208
209 * Fri Sep 18 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - sfa-0.9-2
210 - compatibility with RefreshPeer
211 - incremental mechanism for importing PLC records into SFA tables
212 - unified single database (still inside the underlying PLC db postgresql server)
213 - includes/improves call traceability and logging features
214 - several bug fixes
215
216 * Thu Sep 17 2009 Baris Metin <tmetin@sophia.inria.fr>
217 - added libxslt-python dependency
218
219 * Thu Sep 10 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - sfa-0.9-1
220 - unified single SFA database in the PLC-DB
221 - upcalls from  PLCAPI to SFA methods
222 - SFA call traceability and logging features
223 - many bug fixes
224 - includes first/rough version of sfatables for policy implementation
225
226 * Thu Jul 23 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - geniwrapper-0.8-6
227 - snapshot after the GEC5 demo
228 - should be the last tag set in the geniwrapper module, are we are now moving to the sfa module
229
230 * Wed Jul 15 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - geniwrapper-0.8-5
231 - snapshot july 15 - has gone through superficial manual testing
232 - hopefully a good basis for gec5 demo
233 - multi-dir sfi client tested as well
234
235 * Wed Jul 08 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - geniwrapper-0.8-4
236 - rename geniwrapper.spec into sfa.spec
237
238 * Wed Jul 08 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - geniwrapper-0.8-3
239 - clean up in xmlrpc/soap, --protocol option to chose between both
240 - keyconvert packaged in /usr/bin, no /usr/share/keyconvert anymore
241 - hopefully more helpful context in case of crashes when importing
242 - bugfixes for using only /etc/sfa for site-dep files
243 - bugfixes in wsdl generation
244
245 * Mon Jul 06 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - geniwrapper-0.8-2
246 - cleanup of the config area; no dependency to a PLC config anymore as sfa can be run in standalone
247 - config variables in sfa_config now start with SFA_ and not GENI_
248 - config.py can be loaded even with no config present
249
250 * Sun Jul 05 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - geniwrapper-0.8-1
251 - first step for cleanup and reorganization
252 - mass-renaming from geni to sfa (some are still needed)
253 - sfa/trust implements the security architecture
254
255 * Wed Jul 01 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - geniwrapper-0.2-7
256 - snapshot for reproducible builds
257
258 * Thu Jun 25 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - geniwrapper-0.2-6
259 - snapshot for the convenience of alpha users
260
261 * Tue Jun 16 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - geniwrapper-0.2-5
262 - build fix - keyconvert was getting installed in /usr/share/keyconvert/keyconvert
263
264 * Tue Jun 16 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - geniwrapper-0.2-4
265 - ongoing work - snapshot for 4.3-rc9
266
267 * Wed Jun 03 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - geniwrapper-0.2-3
268 - various fixes
269
270 * Sat May 30 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - geniwrapper-0.2-2
271 - bugfixes - still a work in progress
272
273 * Fri May 18 2009 Baris Metin <tmetin@sophia.inria.fr>
274 - initial package
275
276
277 %define module_current_branch 0.2