1 Summary: JA-SIG Central Authentication Service
6 Group: Networking/Daemons/Java/Servlets
7 Source0: http://www.ja-sig.org/downloads/cas/%{name}-server-%{version}-release.tar.gz
8 # Source0-md5: 3a7dfd70be008053b8619509dcc45be9
9 Source1: %{name}-context.xml
10 URL: http://www.ja-sig.org/products/cas/
11 BuildRequires: rpm-javaprov
12 BuildRequires: rpmbuild(macros) >= 1.546
13 Requires: jpackage-utils
16 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
18 %define webappdir %{_datadir}/%{name}
19 %define libdir %{_datadir}/%{name}/WEB-INF/lib
20 %define logdir %{_var}/log/%{name}
23 CAS is an authentication system originally created by Yale University
24 to provide a trusted way for an application to authenticate a user.
25 CAS became a JA-SIG project in December 2004.
27 CAS provides enterprise single sign on service. It features:
29 - An open and well-documented protocol
30 - An open-source Java server component
31 - A library of clients for Java, .Net, PHP, Perl, Apache, uPortal and
33 - Integrates with uPortal, BlueSocket, TikiWiki, Mule, Liferay, Moodle
35 - Community documentation and implementation support
36 - An extensive community of adopters
38 %package authenticator-spnego
39 Summary: Spnego authenticator for CAS server
41 Requires: %{name} = %{version}-%{release}
43 %description authenticator-spnego
44 Spnego authentication backend for CAS Server.
46 %package authenticator-x509
47 Summary: x509 authenticator for CAS server
49 Requires: %{name} = %{version}-%{release}
51 %description authenticator-x509
52 X509 client certificates authentication backend for CAS Server.
54 %package authenticator-openid
55 Summary: OpenID authenticator for CAS server
57 Requires: %{name} = %{version}-%{release}
59 %description authenticator-openid
60 OpenID authentication backend for CAS Server.
62 %package authenticator-legacy
63 Summary: Legacy authenticator for CAS server
65 Requires: %{name} = %{version}-%{release}
67 %description authenticator-legacy
68 Legacy authentication backend for CAS Server.
70 %package authenticator-radius
71 Summary: Radius authenticator for CAS server
73 Requires: %{name} = %{version}-%{release}
75 %description authenticator-radius
76 Radius authentication backend for CAS Server.
78 %package authenticator-ldap
79 Summary: LDAP authenticator for CAS server
81 Requires: %{name} = %{version}-%{release}
83 %description authenticator-ldap
84 LDAP authentication backend for CAS Server.
86 %package authenticator-generic
87 Summary: Generic authenticator for CAS server
89 Requires: %{name} = %{version}-%{release}
91 %description authenticator-generic
92 Generic authentication backend for CAS Server.
94 %package authenticator-trusted
95 Summary: Trusted authenticator for CAS server
97 Requires: %{name} = %{version}-%{release}
99 %description authenticator-trusted
100 Trusted authentication backend for CAS Server.
102 %package authenticator-jdbc
103 Summary: JDBC authenticator for CAS server
104 Group: Libraries/Java
105 Requires: %{name} = %{version}-%{release}
107 %description authenticator-jdbc
108 JDBC authentication backend for CAS Server.
110 %package integration-berkeleydb
111 Summary: Berkeleydb ticket registry for CAS server
112 Group: Libraries/Java
113 Requires: %{name} = %{version}-%{release}
115 %description integration-berkeleydb
116 BerkeleyDB integration for CAS Server allows to store ticket registry
119 %package integration-jboss
120 Summary: Jboss ticket registry for CAS server
121 Group: Libraries/Java
122 Requires: %{name} = %{version}-%{release}
124 %description integration-jboss
125 Jboss integration for CAS Server allows to store ticket registry in
126 Jboss internal authentication system.
128 %package integration-memcached
129 Summary: Memory ticket registry for CAS server
130 Group: Libraries/Java
131 Requires: %{name} = %{version}-%{release}
133 %description integration-memcached
134 Memcached integration for CAS Server allows to store ticket registry
137 %package integration-restlet
138 Summary: I have no idea WTF is that, but it is for CAS server
139 Group: Libraries/Java
140 Requires: %{name} = %{version}-%{release}
142 %description integration-restlet
143 I really have no idea WTF is that. It name suggests it is yet another
144 registry storage driver for CAS, but it does not extends
145 AbstractDistributedTicketRegistry class.
148 %setup -q -n %{name}-server-%{version}
149 unzip modules/%{name}-server-webapp-%{version}.war -d webapp
151 sed -i 's,\(name="File" value="\)\([^"]*"\),\1%{logdir}/\2,' webapp/WEB-INF/classes/log4j.xml
156 rm -rf $RPM_BUILD_ROOT
157 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_datadir},%{_sharedstatedir}/%{name},%{_tomcatconfdir},%{logdir}}
159 cp -a webapp $RPM_BUILD_ROOT%{webappdir}
162 integration-berkeleydb
164 integration-memcached
180 deployerConfigContext.xml
187 for i in $MODULES; do
188 install modules/%{name}-server-$i-%{version}.jar $RPM_BUILD_ROOT%{libdir}/%{name}-$i-%{version}.jar
191 for i in $CONFIGFILES; do
192 mv $RPM_BUILD_ROOT%{webappdir}/WEB-INF/$i $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/$(basename $i)
193 ln -s %{_sysconfdir}/%{name}/$(basename $i) $RPM_BUILD_ROOT%{webappdir}/WEB-INF/$i
196 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/tomcat-context.xml
197 ln -sf %{_sysconfdir}/%{name}/tomcat-context.xml $RPM_BUILD_ROOT%{_tomcatconfdir}/%{name}.xml
200 %tomcat_clear_cache %{name}
203 rm -rf $RPM_BUILD_ROOT
206 %defattr(644,root,root,755)
207 %dir %{_sysconfdir}/%{name}
208 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.xml
209 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.properties
210 %{_tomcatconfdir}/%{name}.xml
212 %exclude %{libdir}/%{name}-support-spnego-%{version}.jar
213 %exclude %{libdir}/%{name}-integration-berkeleydb-%{version}.jar
214 %exclude %{libdir}/%{name}-support-x509-%{version}.jar
215 %exclude %{libdir}/%{name}-integration-jboss-%{version}.jar
216 %exclude %{libdir}/%{name}-support-openid-%{version}.jar
217 %exclude %{libdir}/%{name}-support-legacy-%{version}.jar
218 %exclude %{libdir}/%{name}-support-radius-%{version}.jar
219 %exclude %{libdir}/%{name}-integration-memcached-%{version}.jar
220 %exclude %{libdir}/%{name}-integration-restlet-%{version}.jar
221 %exclude %{libdir}/%{name}-support-ldap-%{version}.jar
222 %exclude %{libdir}/%{name}-support-generic-%{version}.jar
223 %exclude %{libdir}/%{name}-support-trusted-%{version}.jar
224 %exclude %{libdir}/%{name}-support-jdbc-%{version}.jar
225 %attr(2775,root,servlet) %dir %{_sharedstatedir}/%{name}
226 %dir %attr(2770,root,servlet) %{logdir}
228 %files authenticator-spnego
229 %defattr(644,root,root,755)
230 %{libdir}/%{name}-support-spnego-%{version}.jar
232 %files authenticator-x509
233 %defattr(644,root,root,755)
234 %{libdir}/%{name}-support-x509-%{version}.jar
236 %files authenticator-openid
237 %defattr(644,root,root,755)
238 %{libdir}/%{name}-support-openid-%{version}.jar
240 %files authenticator-legacy
241 %defattr(644,root,root,755)
242 %{libdir}/%{name}-support-legacy-%{version}.jar
244 %files authenticator-radius
245 %defattr(644,root,root,755)
246 %{libdir}/%{name}-support-radius-%{version}.jar
248 %files authenticator-ldap
249 %defattr(644,root,root,755)
250 %{libdir}/%{name}-support-ldap-%{version}.jar
252 %files authenticator-generic
253 %defattr(644,root,root,755)
254 %{libdir}/%{name}-support-generic-%{version}.jar
256 %files authenticator-trusted
257 %defattr(644,root,root,755)
258 %{libdir}/%{name}-support-trusted-%{version}.jar
260 %files authenticator-jdbc
261 %defattr(644,root,root,755)
262 %{libdir}/%{name}-support-jdbc-%{version}.jar
264 %files integration-berkeleydb
265 %defattr(644,root,root,755)
266 %{libdir}/%{name}-integration-berkeleydb-%{version}.jar
268 %files integration-jboss
269 %defattr(644,root,root,755)
270 %{libdir}/%{name}-integration-jboss-%{version}.jar
272 %files integration-memcached
273 %defattr(644,root,root,755)
274 %{libdir}/%{name}-integration-memcached-%{version}.jar
276 %files integration-restlet
277 %defattr(644,root,root,755)
278 %{libdir}/%{name}-integration-restlet-%{version}.jar