1 Summary: The Tomcat Servlet/JSP Container
2 Summary(pl): Tomcat - Zasobnik servletów/JSP
5 %define base_version 4.0
8 Group: Development/Languages/Java
9 Source0: http://jakarta.apache.org/builds/%{name}-%{base_version}/release/v%{version}/src/%{name}-%{version}-src.tar.gz
10 # Source0-md5: bdcdf1091ff942f378b1e6f402e44a67
11 Source1: http://jakarta.apache.org/builds/%{name}-%{base_version}/release/v%{version}/src/%{name}-connectors-%{version}-src.tar.gz
12 # Source1-md5: 0daa701e51d04570006abce1ac580aed
14 Patch0: %{name}-fixes.patch
15 Patch1: %{name}-JAVA_HOME.patch
16 Patch2: %{name}-fileupload.patch
17 URL: http://jakarta.apache.org/tomcat/index.html
19 BuildRequires: jdk >= 1.2
20 BuildRequires: jakarta-ant >= 1.5.3
21 BuildRequires: jaxp >= 1.1
22 BuildRequires: xerces-j >= 1
23 BuildRequires: jakarta-servletapi >= 4
24 BuildRequires: jakarta-commons-collections
25 BuildRequires: jakarta-commons-beanutils
26 BuildRequires: jakarta-commons-digester
27 BuildRequires: jakarta-commons-logging
28 BuildRequires: jakarta-commons-fileupload
29 BuildRequires: jakarta-regexp
31 BuildRequires: jakarta-commons-daemon
32 BuildRequires: jakarta-commons-dbcp
33 BuildRequires: jakarta-commons-modeler
34 BuildRequires: jakarta-commons-pool
35 BuildRequires: jdbc-stdext >= 2.0
36 BuildRequires: jmx >= 1.0
37 BuildRequires: jndi >= 1.2.1
38 BuildRequires: jndi-provider-ldap
39 BuildRequires: jaf >= 1.0.1
40 BuildRequires: javamail >= 1.2
41 BuildRequires: jsse >= 1.0.2
42 BuildRequires: jta >= 1.0.1
43 BuildRequires: tyrex >= 1.0
44 BuildRequires: junit >= 3.7
47 Requires: xerces-j >= 1
48 Requires: jakarta-servletapi >= 4
49 Requires: jakarta-commons-collections
50 Requires: jakarta-commons-beanutils
51 Requires: jakarta-commons-digester
52 Requires: jakarta-commons-logging
53 Requires: jakarta-commons-fileupload
54 Requires: jakarta-regexp
55 Requires: jdbc-stdext >= 2.0
57 Requires: jndi >= 1.2.1
58 Requires: jndi-provider-ldap
59 Requires: jaf >= 1.0.1
60 Requires: javamail >= 1.2
61 Requires: jsse >= 1.0.2
62 Requires: jta >= 1.0.1
63 Requires: tyrex >= 1.0
64 Requires(pre): /usr/bin/getgid
65 Requires(pre): /bin/id
66 Requires(pre): /usr/sbin/groupadd
67 Requires(pre): /usr/sbin/useradd
68 Requires(postun): /usr/sbin/userdel
69 Requires(postun): /usr/sbin/groupdel
70 Requires(post,preun): /sbin/chkconfig
71 Requires(post,postun): /sbin/ldconfig
73 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
75 %define _javalibdir /usr/share/java
76 %define _tomcatdir %{_libdir}/tomcat
77 %define _logdir %{_var}/log
78 %define _vardir %{_var}/lib/tomcat
81 Tomcat 4.0, a server that implements the Servlet 2.3 and JSP 1.2
82 Specifications from Java Software.
85 Tomcat 4.0 - serwer implementuj±cy specyfikacje Servlet 2.3 oraz JSP
89 Summary: The Tomcat Servlet/JSP Container documentation
90 Summary(pl): Dokumentacja do Tomcata
91 Group: Development/Languages/Java
94 The Tomcat Servlet/JSP Container documentation.
96 %description doc -l pl
97 Dokumentacja do Tomcata.
100 %setup -q -n %{name}-%{version}-src -a1
106 if [ -z "$JAVA_HOME" ]; then
107 JAVA_HOME=%{_libdir}/java
109 ANT_HOME=%{_javalibdir}
110 export JAVA_HOME ANT_HOME
112 cat > build.properties << EOF
113 # ----- Compile Control Flags -----
115 compile.deprecation=off
118 # ----- Default Base Path for Dependent Packages -----
121 # ----- Jakarta Regular Expressions Library, version 1.2 -----
122 regexp.home=%{_javalibdir}
123 regexp.lib=\${regexp.home}
124 regexp.jar=\${regexp.home}/regexp.jar
126 # ----- Jakarta Servlet API Classes (Servlet 2.3 / JSP 1.2) -----
127 servlet.home=$RPM_BUILD_DIR/%{name}-%{version}-src/doc
128 servlet.lib=%{_javalibdir}
129 servlet.jar=\${servlet.lib}/servlet.jar
131 # ----- Java Activation Framework (JAF), version 1.0.1 or later -----
132 activation.home=%{_javalibdir}
133 activation.lib=\${activation.home}
134 activation.jar=\${activation.lib}/activation.jar
136 # ----- Java API for XML Processing (JAXP), version 1.1 or later -----
137 jaxp.home=%{_javalibdir}
138 jaxp.lib=\${jaxp.home}
139 crimson.jar=\${jaxp.lib}/crimson.jar
140 jaxp.jar=\${jaxp.lib}/jaxp.jar
141 xalan.jar=\${jaxp.lib}/xalan.jar
143 # ----- Java Database Connectivity (JDBC) Optional Package, version 2.0 -----
144 jdbc20ext.home=%{_javalibdir}
145 jdbc20ext.lib=\${jdbc20ext.home}
146 jdbc20ext.jar=\${jdbc20ext.lib}/jdbc2_0-stdext.jar
148 # ----- Java Mail, version 1.2 or later -----
149 mail.home=%{_javalibdir}
150 mail.lib=\${mail.home}
151 mail.jar=\${mail.lib}/mail.jar
153 # ----- Java Management Extensions (JMX) RI, version 1.0.1 or later -----
154 jmx.home=%{_javalibdir}
156 jmxri.jar=\${jmx.lib}/jmxri.jar
158 # ----- Java Naming and Directory Interface (JNDI), version 1.2 or later -----
159 jndi.home=%{_javalibdir}
160 jndi.lib=\${jndi.home}
161 jndi.jar=\${jndi.lib}/jndi.jar
162 ldap.jar=\${jndi.lib}/ldap.jar
164 # ----- Java Secure Sockets Extension (JSSE), version 1.0.2 or later -----
165 jsse.home=%{_javalibdir}
166 jsse.lib=\${jsse.home}
167 jcert.jar=\${jsse.lib}/jcert.jar
168 jnet.jar=\${jsse.lib}/jnet.jar
169 jsse.jar=\${jsse.lib}/jsse.jar
171 # ----- Java Transaction API (JTA), version 1.0.1 or later -----
172 jta.home=%{_javalibdir}
174 jta.jar=\${jta.lib}/jta.jar
176 # ----- JUnit Unit Test Suite, version 3.7 or later -----
177 junit.home=%{_javalibdir}
178 junit.lib=\${junit.home}
179 junit.jar=\${junit.lib}/junit.jar
181 # ----- Tyrex Data Source, version 0.9.7 -----
182 tyrex.home=%{_javalibdir}
183 tyrex.lib=\${tyrex.home}
184 tyrex.jar=\${tyrex.lib}/tyrex.jar
186 # ----- Xerces XML Parser, version 1.4.3 or later -----
187 xerces.home=%{_javalibdir}
188 xerces.lib=\${xerces.home}
189 xerces.jar=\${xerces.lib}/xerces.jar
191 # ----- Commons Collections, version 1.0 or later -----
192 commons-collections.home=%{_javalibdir}
193 commons-collections.lib=\${commons-collections.home}
194 commons-collections.jar=\${commons-collections.lib}/commons-collections.jar
196 # ----- Commons Beanutils, version 1.1 or later -----
197 commons-beanutils.home=%{_javalibdir}
198 commons-beanutils.lib=\${commons-beanutils.home}
199 commons-beanutils.jar=\${commons-beanutils.lib}/commons-beanutils.jar
201 # ----- Commons Digester, version 1.1.1 or later -----
202 commons-digester.home=%{_javalibdir}
203 commons-digester.lib=\${commons-digester.home}
204 commons-digester.jar=\${commons-digester.lib}/commons-digester.jar
206 # ----- Commons Logging, version 1.0.1 or later -----
207 commons-logging.home=%{_javalibdir}
208 commons-logging.lib=\${commons-logging.home}
209 commons-logging-api.jar=\${commons-logging.lib}/commons-logging-api.jar
210 commons-logging.jar=\${commons-logging.lib}/commons-logging.jar
212 # ----- Commons Daemon, version 20020219 or later -----
213 commons-daemon.home=%{_javalibdir}
214 commons-daemon.lib=\${commons-daemon.home}
215 commons-daemon.jar=\${commons-daemon.lib}/commons-daemon.jar
217 # ----- Commons DBCP, version 1.0 or later -----
218 commons-dbcp.home=%{_javalibdir}
219 commons-dbcp.lib=\${commons-dbcp.home}
220 commons-dbcp.jar=\${commons-dbcp.lib}/commons-dbcp.jar
222 # ----- Commons FileUpload, nightly build -----
223 commons-fileupload.home=%{_javalibdir}
224 commons-fileupload.lib=\${commons-fileupload.home}
225 commons-fileupload.jar=\${commons-fileupload.lib}/commons-fileupload.jar
227 # ----- Commons Modeler, version 1.0 or later -----
228 commons-modeler.home=%{_javalibdir}
229 commons-modeler.lib=\${commons-modeler.home}
230 commons-modeler.jar=\${commons-modeler.lib}/commons-modeler.jar
232 # ----- Commons Pool, version 1.0 or later -----
233 commons-pool.home=%{_javalibdir}
234 commons-pool.lib=\${commons-pool.home}
235 commons-pool.jar=\${commons-pool.lib}/commons-pool.jar
239 jtc.home=../jakarta-tomcat-connectors-%{version}-src
242 install -d doc/docs/api
244 ln -s ../jakarta-tomcat-connectors-%{version}-src webapps/jakarta-tomcat-connectors-%{version}-src
245 cd jakarta-tomcat-connectors-%{version}-src
246 ln -s . jakarta-tomcat-connectors-%{version}-src
253 rm -rf $RPM_BUILD_ROOT
255 install -d $RPM_BUILD_ROOT%{_tomcatdir}/bin \
256 $RPM_BUILD_ROOT%{_tomcatdir}/common/{lib,classes,endorsed} \
257 $RPM_BUILD_ROOT%{_tomcatdir}/server/{lib,classes} \
258 $RPM_BUILD_ROOT%{_tomcatdir}/webapps \
259 $RPM_BUILD_ROOT%{_sysconfdir}/tomcat \
260 $RPM_BUILD_ROOT%{_logdir}/tomcat \
261 $RPM_BUILD_ROOT%{_vardir}/work \
262 $RPM_BUILD_ROOT/etc/rc.d/init.d
264 install build/bin/*.sh $RPM_BUILD_ROOT%{_tomcatdir}/bin
265 install build/bin/bootstrap*.jar $RPM_BUILD_ROOT%{_tomcatdir}/bin
266 install build/bin/tomcat*.jar $RPM_BUILD_ROOT%{_tomcatdir}/bin
267 install build/common/lib/naming-*.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib
268 install build/common/lib/jasper-*.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib
269 install build/conf/* $RPM_BUILD_ROOT%{_sysconfdir}/tomcat
270 install build/server/lib/catalina*.jar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib
271 install build/server/lib/servlets*.jar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib
272 install build/server/lib/servlets-cgi.renametojar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib/servlets-cgi.jar
273 install build/server/lib/servlets-ssi.renametojar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib/servlets-ssi.jar
274 install build/server/lib/tomcat*.jar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib
275 cp -rf build/server/webapps $RPM_BUILD_ROOT%{_tomcatdir}/server
276 cp -rf build/webapps $RPM_BUILD_ROOT%{_tomcatdir}
277 cp -rf build/shared $RPM_BUILD_ROOT%{_tomcatdir}
278 cp -rf build/temp $RPM_BUILD_ROOT%{_tomcatdir}
280 ln -sf %{_logdir}/tomcat $RPM_BUILD_ROOT%{_tomcatdir}/logs
281 ln -sf %{_vardir}/work $RPM_BUILD_ROOT%{_tomcatdir}/work
282 ln -sf %{_sysconfdir}/tomcat $RPM_BUILD_ROOT%{_tomcatdir}/conf
284 # symlinks instead of copies
285 ln -sf %{_javalibdir}/ant.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/ant.jar
286 ln -sf %{_javalibdir}/jaxp.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/jaxp.jar
287 ln -sf %{_javalibdir}/xerces.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/xerces.jar
288 ln -sf %{_javalibdir}/servlet.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/servlet.jar
289 ln -sf %{_javalibdir}/jdbc2_0-stdext.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/jdbc2_0.jar
290 ln -sf %{_javalibdir}/jmxri.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/jmxri.jar
291 ln -sf %{_javalibdir}/jndi.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/jndi.jar
292 ln -sf %{_javalibdir}/ldap.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/ldap.jar
293 ln -sf %{_javalibdir}/activation.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/activation.jar
294 ln -sf %{_javalibdir}/jta.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/jta.jar
295 ln -sf %{_javalibdir}/mail.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/mail.jar
296 ln -sf %{_javalibdir}/jsse.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/jsse.jar
298 ln -sf %{_javalibdir}/tyrex.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/tyrex.jar
299 ln -sf %{_javalibdir}/junit.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/junit.jar
301 ln -sf %{_javalibdir}/commons-collections.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/commons-collections.jar
302 ln -sf %{_javalibdir}/commons-dbcp.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/commons-dbcp.jar
303 ln -sf %{_javalibdir}/commons-logging-api.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/commons-logging-api.jar
304 ln -sf %{_javalibdir}/commons-pool.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/commons-pool.jar
306 ln -sf %{_javalibdir}/regexp.jar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib/regexp.jar
307 ln -sf %{_javalibdir}/commons-beanutils.jar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib/commons-beanutils.jar
308 ln -sf %{_javalibdir}/commons-digester.jar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib/commons-digester.jar
309 ln -sf %{_javalibdir}/commons-logging.jar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib/commons-logging.jar
310 ln -sf %{_javalibdir}/commons-modeler.jar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib/commons-modeler.jar
311 ln -sf %{_javalibdir}/commons-fileupload.jar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib/commons-fileupload.jar
313 ln -sf %{_javalibdir}/commons-daemon.jar $RPM_BUILD_ROOT%{_tomcatdir}/bin/commons-daemon.jar
315 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
318 rm -rf $RPM_BUILD_ROOT
321 if [ -n "`getgid http`" ]; then
322 if [ "`getgid http`" != "51" ]; then
323 echo "Error: group http doesn't have gid=51. Correct this before installing tomcat." 1>&2
327 /usr/sbin/groupadd -g 51 -r -f http
329 if [ -n "`id -u http 2>/dev/null`" ]; then
330 if [ "`id -u http`" != "51" ]; then
331 echo "Error: user http doesn't have uid=51. Correct this before installing tomcat." 1>&2
335 /usr/sbin/useradd -u 51 -r -d /home/services/httpd -s /bin/false -c "HTTP User" -g http http 1>&2
339 /sbin/chkconfig --add tomcat
340 if [ -f /var/lock/subsys/tomcat ]; then
341 /etc/rc.d/init.d/tomcat restart 1>&2
343 echo "Run \"/etc/rc.d/init.d/tomcat start\" to start tomcat daemon."
347 if [ "$1" = "0" ]; then
348 if [ -f /var/lock/subsys/tomcat ]; then
349 /etc/rc.d/init.d/tomcat stop 1>&2
351 /sbin/chkconfig --del tomcat
355 if [ "$1" = "0" ]; then
356 /usr/sbin/userdel http
357 /usr/sbin/groupdel http
361 %defattr(644,root,root,755)
364 %dir %{_tomcatdir}/bin
365 %attr(755,root,root) %{_tomcatdir}/bin/*.sh
366 %{_tomcatdir}/bin/*.jar
367 %dir %{_tomcatdir}/common
368 %dir %{_tomcatdir}/common/classes
369 %dir %{_tomcatdir}/common/endorsed
370 %{_tomcatdir}/common/lib
373 %dir %{_tomcatdir}/server
374 %dir %{_tomcatdir}/server/classes
375 %{_tomcatdir}/server/lib
376 %{_tomcatdir}/server/webapps
377 %{_tomcatdir}/webapps
381 # tomcat wants to regenerate tomcat-users.xml
382 %attr(775,root,http) %dir %{_sysconfdir}/tomcat
383 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/tomcat/*
384 %attr(754,root,root) /etc/rc.d/init.d/tomcat
386 %attr(1730,root,http) %dir %{_vardir}/work
387 %attr(1730,root,http) %dir %{_logdir}/tomcat
390 %defattr(644,root,root,755)