1 %include /usr/lib/rpm/macros.java
2 Summary: JA-SIG Central Authentication Service
7 Group: Networking/Daemons/Java/Servlets
8 Source0: http://www.ja-sig.org/downloads/cas/%{name}-%{version}-release.tar.gz
9 # Source0-md5: c12594a2af98ee2dd11a8c97895d91af
10 Source1: %{name}-context.xml
11 URL: http://www.ja-sig.org/products/cas/
12 BuildRequires: jpackage-utils
13 BuildRequires: rpm-javaprov
14 BuildRequires: rpmbuild(macros) >= 1.540
15 Requires: jpackage-utils
18 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
20 %define webappdir %{_datadir}/%{name}
21 %define libdir %{_datadir}/%{name}/WEB-INF/lib
22 %define logdir %{_var}/log/%{name}
25 CAS is an authentication system originally created by Yale University
26 to provide a trusted way for an application to authenticate a user.
27 CAS became a JA-SIG project in December 2004.
29 CAS provides enterprise single sign on service. It features:
31 - An open and well-documented protocol
32 - An open-source Java server component
33 - A library of clients for Java, .Net, PHP, Perl, Apache, uPortal
35 - Integrates with uPortal, BlueSocket, TikiWiki, Mule, Liferay, Moodle
37 - Community documentation and implementation support
38 - An extensive community of adopters
40 %package authenticator-spnego
41 Summary: Spnego authenticator for CAS server
42 Requires: %{name} = %{version}-%{release}
45 %description authenticator-spnego
46 Spnego authentication backend for CAS Server.
48 %package authenticator-x509
49 Summary: x509 authenticator for CAS server
50 Requires: %{name} = %{version}-%{release}
53 %description authenticator-x509
54 X509 client certificates authentication backend for CAS Server.
56 %package authenticator-openid
57 Summary: OpenID authenticator for CAS server
58 Requires: %{name} = %{version}-%{release}
61 %description authenticator-openid
62 OpenID authentication backend for CAS Server.
64 %package authenticator-legacy
65 Summary: Legacy authenticator for CAS server
66 Requires: %{name} = %{version}-%{release}
69 %description authenticator-legacy
70 Legacy authentication backend for CAS Server.
72 %package authenticator-radius
73 Summary: Radius authenticator for CAS server
74 Requires: %{name} = %{version}-%{release}
77 %description authenticator-radius
78 Radius authentication backend for CAS Server.
80 %package authenticator-ldap
81 Summary: LDAP authenticator for CAS server
82 Requires: %{name} = %{version}-%{release}
85 %description authenticator-ldap
86 LDAP authentication backend for CAS Server.
88 %package authenticator-generic
89 Summary: Generic authenticator for CAS server
90 Requires: %{name} = %{version}-%{release}
93 %description authenticator-generic
94 Generic authentication backend for CAS Server.
96 %package authenticator-trusted
97 Summary: Trusted authenticator for CAS server
98 Requires: %{name} = %{version}-%{release}
101 %description authenticator-trusted
102 Trusted authentication backend for CAS Server.
104 %package authenticator-jdbc
105 Summary: JDBC authenticator for CAS server
106 Requires: %{name} = %{version}-%{release}
107 Group: Libraries/Java
109 %description authenticator-jdbc
110 JDBC authentication backend for CAS Server.
112 %package integration-berkeleydb
113 Summary: Berkeleydb ticket registry for CAS server
114 Requires: %{name} = %{version}-%{release}
115 Group: Libraries/Java
117 %description integration-berkeleydb
118 BerkeleyDB integration for CAS Server allows to store ticket registry
121 %package integration-jboss
122 Summary: Jboss ticket registry for CAS server
123 Requires: %{name} = %{version}-%{release}
124 Group: Libraries/Java
126 %description integration-jboss
127 Jboss integration for CAS Server allows to store ticket registry in
128 Jboss internal authentication system.
130 %package integration-memcached
131 Summary: Memory ticket registry for CAS server
132 Requires: %{name} = %{version}-%{release}
133 Group: Libraries/Java
135 %description integration-memcached
136 Memcached integration for CAS Server allows to store ticket registry
139 %package integration-restlet
140 Summary: I have no idea WTF is that, but it is for CAS server
141 Requires: %{name} = %{version}-%{release}
142 Group: Libraries/Java
144 %description integration-restlet
145 I really have no idea WTF is that. It name suggests it is yet another
146 registry storage driver for CAS, but it does not extends
147 AbstractDistributedTicketRegistry class.
151 unzip modules/%{name}-webapp-%{version}.war -d webapp
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}
161 MODULES="integration-berkeleydb
163 integration-memcached
175 for i in $MODULES; do
176 install modules/%{name}-$i-%{version}.jar $RPM_BUILD_ROOT%{libdir}/%{name}-$i-%{version}.jar
179 mv $RPM_BUILD_ROOT%{webappdir}/WEB-INF/classes/log4j.properties $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
180 ln -s %{_sysconfdir}/%{name}/log4j.properties $RPM_BUILD_ROOT%{webappdir}/WEB-INF/classes/log4j.properties
182 install %{SOURCE1} $RPM_BUILD_ROOT%{_tomcatconfdir}/%{name}.xml
185 rm -rf $RPM_BUILD_ROOT
188 %defattr(644,root,root,755)
189 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}
190 %config(noreplace) %verify(not md5 mtime size) %{_tomcatconfdir}/%{name}.xml
192 %exclude %{libdir}/%{name}-support-spnego-3.3.5.jar
193 %exclude %{libdir}/%{name}-integration-berkeleydb-3.3.5.jar
194 %exclude %{libdir}/%{name}-support-x509-3.3.5.jar
195 %exclude %{libdir}/%{name}-integration-jboss-3.3.5.jar
196 %exclude %{libdir}/%{name}-support-openid-3.3.5.jar
197 %exclude %{libdir}/%{name}-support-legacy-3.3.5.jar
198 %exclude %{libdir}/%{name}-support-radius-3.3.5.jar
199 %exclude %{libdir}/%{name}-integration-memcached-3.3.5.jar
200 %exclude %{libdir}/%{name}-integration-restlet-3.3.5.jar
201 %exclude %{libdir}/%{name}-support-ldap-3.3.5.jar
202 %exclude %{libdir}/%{name}-support-generic-3.3.5.jar
203 %exclude %{libdir}/%{name}-support-trusted-3.3.5.jar
204 %exclude %{libdir}/%{name}-support-jdbc-3.3.5.jar
205 %attr(2775,root,servlet) %dir %{_sharedstatedir}/%{name}
206 %dir %attr(2770,root,servlet) %{logdir}
208 %files authenticator-spnego
209 %defattr(644,root,root,755)
210 %{libdir}/%{name}-support-spnego-3.3.5.jar
212 %files authenticator-x509
213 %defattr(644,root,root,755)
214 %{libdir}/%{name}-support-x509-3.3.5.jar
216 %files authenticator-openid
217 %defattr(644,root,root,755)
218 %{libdir}/%{name}-support-openid-3.3.5.jar
220 %files authenticator-legacy
221 %defattr(644,root,root,755)
222 %{libdir}/%{name}-support-legacy-3.3.5.jar
224 %files authenticator-radius
225 %defattr(644,root,root,755)
226 %{libdir}/%{name}-support-radius-3.3.5.jar
228 %files authenticator-ldap
229 %defattr(644,root,root,755)
230 %{libdir}/%{name}-support-ldap-3.3.5.jar
232 %files authenticator-generic
233 %defattr(644,root,root,755)
234 %{libdir}/%{name}-support-generic-3.3.5.jar
236 %files authenticator-trusted
237 %defattr(644,root,root,755)
238 %{libdir}/%{name}-support-trusted-3.3.5.jar
240 %files authenticator-jdbc
241 %defattr(644,root,root,755)
242 %{libdir}/%{name}-support-jdbc-3.3.5.jar
244 %files integration-berkeleydb
245 %defattr(644,root,root,755)
246 %{libdir}/%{name}-integration-berkeleydb-3.3.5.jar
248 %files integration-jboss
249 %defattr(644,root,root,755)
250 %{libdir}/%{name}-integration-jboss-3.3.5.jar
252 %files integration-memcached
253 %defattr(644,root,root,755)
254 %{libdir}/%{name}-integration-memcached-3.3.5.jar
256 %files integration-restlet
257 %defattr(644,root,root,755)
258 %{libdir}/%{name}-integration-restlet-3.3.5.jar