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}-server-%{version}-release.tar.gz
9 # Source0-md5: c12594a2af98ee2dd11a8c97895d91af
10 Source1: %{name}-context.xml
11 URL: http://www.ja-sig.org/products/cas/
12 BuildRequires: rpm-javaprov
13 BuildRequires: rpmbuild(macros) >= 1.540
14 Requires: jpackage-utils
17 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
19 %define webappdir %{_datadir}/%{name}
20 %define libdir %{_datadir}/%{name}/WEB-INF/lib
21 %define logdir %{_var}/log/%{name}
24 CAS is an authentication system originally created by Yale University
25 to provide a trusted way for an application to authenticate a user.
26 CAS became a JA-SIG project in December 2004.
28 CAS provides enterprise single sign on service. It features:
30 - An open and well-documented protocol
31 - An open-source Java server component
32 - A library of clients for Java, .Net, PHP, Perl, Apache, uPortal and
34 - Integrates with uPortal, BlueSocket, TikiWiki, Mule, Liferay, Moodle
36 - Community documentation and implementation support
37 - An extensive community of adopters
39 %package authenticator-spnego
40 Summary: Spnego authenticator for CAS server
42 Requires: %{name} = %{version}-%{release}
44 %description authenticator-spnego
45 Spnego authentication backend for CAS Server.
47 %package authenticator-x509
48 Summary: x509 authenticator for CAS server
50 Requires: %{name} = %{version}-%{release}
52 %description authenticator-x509
53 X509 client certificates authentication backend for CAS Server.
55 %package authenticator-openid
56 Summary: OpenID authenticator for CAS server
58 Requires: %{name} = %{version}-%{release}
60 %description authenticator-openid
61 OpenID authentication backend for CAS Server.
63 %package authenticator-legacy
64 Summary: Legacy authenticator for CAS server
66 Requires: %{name} = %{version}-%{release}
68 %description authenticator-legacy
69 Legacy authentication backend for CAS Server.
71 %package authenticator-radius
72 Summary: Radius authenticator for CAS server
74 Requires: %{name} = %{version}-%{release}
76 %description authenticator-radius
77 Radius authentication backend for CAS Server.
79 %package authenticator-ldap
80 Summary: LDAP authenticator for CAS server
82 Requires: %{name} = %{version}-%{release}
84 %description authenticator-ldap
85 LDAP authentication backend for CAS Server.
87 %package authenticator-generic
88 Summary: Generic authenticator for CAS server
90 Requires: %{name} = %{version}-%{release}
92 %description authenticator-generic
93 Generic authentication backend for CAS Server.
95 %package authenticator-trusted
96 Summary: Trusted authenticator for CAS server
98 Requires: %{name} = %{version}-%{release}
100 %description authenticator-trusted
101 Trusted authentication backend for CAS Server.
103 %package authenticator-jdbc
104 Summary: JDBC authenticator for CAS server
105 Group: Libraries/Java
106 Requires: %{name} = %{version}-%{release}
108 %description authenticator-jdbc
109 JDBC authentication backend for CAS Server.
111 %package integration-berkeleydb
112 Summary: Berkeleydb ticket registry for CAS server
113 Group: Libraries/Java
114 Requires: %{name} = %{version}-%{release}
116 %description integration-berkeleydb
117 BerkeleyDB integration for CAS Server allows to store ticket registry
120 %package integration-jboss
121 Summary: Jboss ticket registry for CAS server
122 Group: Libraries/Java
123 Requires: %{name} = %{version}-%{release}
125 %description integration-jboss
126 Jboss integration for CAS Server allows to store ticket registry in
127 Jboss internal authentication system.
129 %package integration-memcached
130 Summary: Memory ticket registry for CAS server
131 Group: Libraries/Java
132 Requires: %{name} = %{version}-%{release}
134 %description integration-memcached
135 Memcached integration for CAS Server allows to store ticket registry
138 %package integration-restlet
139 Summary: I have no idea WTF is that, but it is for CAS server
140 Group: Libraries/Java
141 Requires: %{name} = %{version}-%{release}
143 %description integration-restlet
144 I really have no idea WTF is that. It name suggests it is yet another
145 registry storage driver for CAS, but it does not extends
146 AbstractDistributedTicketRegistry class.
149 %setup -q -n %{name}-server-%{version}
150 unzip modules/%{name}-server-webapp-%{version}.war -d webapp
152 sed -i 's,^\(log4j.appender.logfile.File=\)cas.log$,\1%{logdir}/%{name}.log,' webapp/WEB-INF/classes/log4j.properties
157 rm -rf $RPM_BUILD_ROOT
158 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_datadir},%{_sharedstatedir}/%{name},%{_tomcatconfdir},%{logdir}}
160 cp -a webapp $RPM_BUILD_ROOT%{webappdir}
162 MODULES="integration-berkeleydb
164 integration-memcached
176 for i in $MODULES; do
177 install modules/%{name}-server-$i-%{version}.jar $RPM_BUILD_ROOT%{libdir}/%{name}-$i-%{version}.jar
180 mv $RPM_BUILD_ROOT%{webappdir}/WEB-INF/classes/log4j.properties $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
181 ln -s %{_sysconfdir}/%{name}/log4j.properties $RPM_BUILD_ROOT%{webappdir}/WEB-INF/classes/log4j.properties
183 install %{SOURCE1} $RPM_BUILD_ROOT%{_tomcatconfdir}/%{name}.xml
186 rm -rf $RPM_BUILD_ROOT
189 %defattr(644,root,root,755)
190 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}
191 %config(noreplace) %verify(not md5 mtime size) %{_tomcatconfdir}/%{name}.xml
193 %exclude %{libdir}/%{name}-support-spnego-%{version}.jar
194 %exclude %{libdir}/%{name}-integration-berkeleydb-%{version}.jar
195 %exclude %{libdir}/%{name}-support-x509-%{version}.jar
196 %exclude %{libdir}/%{name}-integration-jboss-%{version}.jar
197 %exclude %{libdir}/%{name}-support-openid-%{version}.jar
198 %exclude %{libdir}/%{name}-support-legacy-%{version}.jar
199 %exclude %{libdir}/%{name}-support-radius-%{version}.jar
200 %exclude %{libdir}/%{name}-integration-memcached-%{version}.jar
201 %exclude %{libdir}/%{name}-integration-restlet-%{version}.jar
202 %exclude %{libdir}/%{name}-support-ldap-%{version}.jar
203 %exclude %{libdir}/%{name}-support-generic-%{version}.jar
204 %exclude %{libdir}/%{name}-support-trusted-%{version}.jar
205 %exclude %{libdir}/%{name}-support-jdbc-%{version}.jar
206 %attr(2775,root,servlet) %dir %{_sharedstatedir}/%{name}
207 %dir %attr(2770,root,servlet) %{logdir}
209 %files authenticator-spnego
210 %defattr(644,root,root,755)
211 %{libdir}/%{name}-support-spnego-%{version}.jar
213 %files authenticator-x509
214 %defattr(644,root,root,755)
215 %{libdir}/%{name}-support-x509-%{version}.jar
217 %files authenticator-openid
218 %defattr(644,root,root,755)
219 %{libdir}/%{name}-support-openid-%{version}.jar
221 %files authenticator-legacy
222 %defattr(644,root,root,755)
223 %{libdir}/%{name}-support-legacy-%{version}.jar
225 %files authenticator-radius
226 %defattr(644,root,root,755)
227 %{libdir}/%{name}-support-radius-%{version}.jar
229 %files authenticator-ldap
230 %defattr(644,root,root,755)
231 %{libdir}/%{name}-support-ldap-%{version}.jar
233 %files authenticator-generic
234 %defattr(644,root,root,755)
235 %{libdir}/%{name}-support-generic-%{version}.jar
237 %files authenticator-trusted
238 %defattr(644,root,root,755)
239 %{libdir}/%{name}-support-trusted-%{version}.jar
241 %files authenticator-jdbc
242 %defattr(644,root,root,755)
243 %{libdir}/%{name}-support-jdbc-%{version}.jar
245 %files integration-berkeleydb
246 %defattr(644,root,root,755)
247 %{libdir}/%{name}-integration-berkeleydb-%{version}.jar
249 %files integration-jboss
250 %defattr(644,root,root,755)
251 %{libdir}/%{name}-integration-jboss-%{version}.jar
253 %files integration-memcached
254 %defattr(644,root,root,755)
255 %{libdir}/%{name}-integration-memcached-%{version}.jar
257 %files integration-restlet
258 %defattr(644,root,root,755)
259 %{libdir}/%{name}-integration-restlet-%{version}.jar