3 %bcond_without javadoc # skip building javadocs
4 %bcond_without webservices # skip building webservices
7 %define servletapiver 2.5
9 %include /usr/lib/rpm/macros.java
10 Summary: Web server and Servlet/JSP Engine, RI for Servlet %{servletapiver}/JSP %{jspapiver} API
11 Summary(pl.UTF-8): Serwer www i silnik Servlet/JSP będący wzorcową implementacją API Servlet %{servletapiver}/JSP %{jspapiver}
16 Group: Networking/Daemons/Java
17 Source0: http://www.apache.org/dist/tomcat/tomcat-6/v%{version}/src/apache-%{name}-%{version}-src.tar.gz
18 # Source0-md5: fb36ed47cb358006a29e1a86037356df
19 Source1: apache-%{name}.init
20 Source2: apache-%{name}.sysconfig
21 Source3: %{name}-build.properties
22 Source10: %{name}-context-ROOT.xml
23 Source11: %{name}-context-docs.xml
24 Source12: %{name}-context-manager.xml
25 Source13: %{name}-context-host-manager.xml
26 Source14: %{name}-context-examples.xml
27 Patch0: %{name}-build.xml.patch
28 Patch1: %{name}-extras.xml.patch
29 Patch2: server.xml-URIEncoding-utf8.patch
30 URL: http://tomcat.apache.org/
31 BuildRequires: ant >= 1.5.3
32 BuildRequires: ant-trax
33 BuildRequires: eclipse-jdt >= 3.2
34 BuildRequires: java-commons-daemon >= 1.0
35 BuildRequires: java-commons-dbcp-tomcat5 >= 0:1.1
36 BuildRequires: java-commons-pool-tomcat5
37 %if %{with webservices}
38 BuildRequires: java(JSR109)
39 BuildRequires: java-geronimo-spec-jaxrpc
41 BuildRequires: java-jdbc-mysql
42 BuildRequires: java-mail
44 BuildRequires: jpackage-utils
45 BuildRequires: rpm-javaprov
46 BuildRequires: rpmbuild(macros) >= 1.300
47 Requires(post,preun): /sbin/chkconfig
48 Requires(postun): /usr/sbin/groupdel
49 Requires(postun): /usr/sbin/userdel
50 Requires(pre): /bin/id
51 Requires(pre): /usr/bin/getgid
52 Requires(pre): /usr/sbin/groupadd
53 Requires(pre): /usr/sbin/useradd
54 Requires: java(jaxp_parser_impl)
55 Requires: java(jndi) >= 1.2.1
56 Requires: java-%{name}-catalina = %{epoch}:%{version}-%{release}
57 Requires: java-%{name}-coyote = %{epoch}:%{version}-%{release}
58 Requires: java-%{name}-jasper = %{epoch}:%{version}-%{release}
59 Requires: java-commons-dbcp-tomcat5 >= 0:1.1
60 Requires: java-commons-pool-tomcat5
61 Requires: java-jdbc-mysql
63 Requires: java-servletapi = %{epoch}:%{version}-%{release}
64 Requires: jpackage-utils
68 Suggests: tomcat-native
69 Provides: group(servlet)
70 Provides: group(tomcat)
71 Provides: user(tomcat)
72 Obsoletes: apache-tomcat
73 Obsoletes: jakarta-tomcat
75 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
77 %define _tomcatdir %{_datadir}/tomcat
78 %define _logdir %{_var}/log
79 %define _vardir %{_var}/lib/tomcat
80 %define _sysconfdir /etc/tomcat
82 %define find_jar() %{expand:%%define jarfile {%(jar=$(find-jar %1); echo ${jar:-%%nil})}}%{?jarfile}%{!?jarfile:%{error:find-jar %1 failed}}%{nil}
85 Tomcat is the servlet container that is used in the official Reference
86 Implementation for the Java Servlet and JavaServer Pages technologies.
87 The Java Servlet and JavaServer Pages specifications are developed by
88 Sun under the Java Community Process.
90 Tomcat is developed in an open and participatory environment and
91 released under the Apache Software License. Tomcat is intended to be a
92 collaboration of the best-of-breed developers from around the world.
93 We invite you to participate in this open development project.
95 %description -l pl.UTF-8
96 Tomcat to kontener serwletowy używany przez oficjalną implementację
97 wzorcową technologii Java Servlet i JavaServer Pages. Specyfikacje
98 Java Servlet i JavaServer Pages są rozwijane przez Suna zgodnie z Java
102 Summary: The Apache Tomcat Servlet/JSP Container documentation
103 Summary(pl.UTF-8): Dokumentacja do Tomcata - kontenera Servlet/JSP
105 Obsoletes: apache-tomcat-doc
106 Obsoletes: jakarta-tomcat-doc
107 Obsoletes: tomcat-doc
109 %description webapp-docs
110 The Tomcat Servlet/JSP Container documentation.
112 %description webapp-docs -l pl.UTF-8
113 Dokumentacja do Tomcata - kontenera Servlet/JSP.
115 %package webapp-manager
116 Summary: The Apache Tomcat Servlet/JSP application manager
117 Summary(pl.UTF-8): Zarządca aplikacji w Tomcacie
118 Group: Networking/Daemons/Java/Servlets
119 Requires: %{name} = %{epoch}:%{version}-%{release}
121 %description webapp-manager
122 The Apache Tomcat Servlet/JSP application manager.
124 %description webapp-manager -l pl.UTF-8
125 Zarządca aplikacji w Tomcacie.
127 %package webapp-host-manager
128 Summary: The Apache Tomcat Servlet/JSP virtual hosts manager
129 Summary(pl.UTF-8): Zarządca wirtualnych hostów w Tomcacie
130 Group: Networking/Daemons/Java/Servlets
131 Requires: %{name} = %{epoch}:%{version}-%{release}
132 Obsoletes: tomcat-admin
134 %description webapp-host-manager
135 The Apache Tomcat Servlet/JSP virtual hosts manager.
137 %description webapp-host-manager -l pl.UTF-8
138 Zarządca wirtualnych hostów w Tomcacie.
140 %package webapp-examples
141 Summary: The Apache Tomcat Servlet/JSP example applications
142 Summary(pl.UTF-8): Przykładowe aplikacje dla Tomcata
143 Group: Networking/Daemons/Java/Servlets
144 Requires: %{name} = %{epoch}:%{version}-%{release}
146 %description webapp-examples
147 The Apache Tomcat Servlet/JSP example applications.
149 %description webapp-examples -l pl.UTF-8
150 Przykładowe aplikacje dla Tomcata.
153 Summary: Web Services support (JSR 109)
154 Group: Libraries/Java
155 Requires: %{name} = %{epoch}:%{version}-%{release}
156 Requires: java(JSR109)
157 Requires: java-geronimo-spec-jaxrpc
159 %description webservices
160 Factories for JSR 109 which may be used to resolve web services
163 %package -n java-tomcat-catalina
164 Summary: Tomcat's servlet container
165 Group: Libraries/Java
166 Requires: jpackage-utils
168 %description -n java-tomcat-catalina
169 Catalina is Tomcat's servlet container. Catalina implements Sun
170 Microsystems' specifications for servlet and JavaServer Pages (JSP).
172 %package -n java-tomcat-coyote
173 Summary: Tomcat HTTP connector
174 Group: Libraries/Java
175 Requires: jpackage-utils
177 %description -n java-tomcat-coyote
178 Coyote is Tomcat's HTTP Connector component that supports the HTTP 1.1
179 protocol for the web server or application container. Coyote listens
180 for incoming connections on a specific TCP port on the server and
181 forwards the request to the Tomcat Engine to process the request and
182 send back a response to the requesting client.
184 %package -n java-tomcat-jasper
185 Summary: JSP compiler
186 Summary(pl.UTF-8): Kompilator JSP
187 Group: Libraries/Java
188 Requires: eclipse-jdt >= 3.2
189 Requires: jpackage-utils
190 Obsoletes: apache-tomcat-jasper
191 Obsoletes: tomcat-jasper
193 %description -n java-tomcat-jasper
194 Jasper is Java ServerPages compiler used by Apache Tomcat servlet
197 %description -n java-tomcat-jasper -l pl.UTF-8
198 Jasper jest kompilatorem Java ServerPages używanym przez kontener
199 servletów Apache Tomcat.
201 %package -n java-servletapi
202 Summary: Java servlet and JSP implementation classes
203 Summary(pl.UTF-8): Klasy z implementacją Java Servlet i JSP
204 Group: Libraries/Java
205 Provides: java(jsp) = %{jspapiver}
206 Provides: java(servlet) = %{servletapiver}
207 Obsoletes: java-servletapi5
208 Obsoletes: jakarta-servletapi5
210 %description -n java-servletapi
211 Implementation classes of the Java Servlet and JSP APIs (packages
212 javax.servlet, javax.servlet.http, javax.servlet.jsp, and
213 javax.servlet.jsp.tagext).
215 %description -n java-servletapi -l pl.UTF-8
216 Implementacje klas API Java Servlet i JSP (pakiety javax.servlet,
217 javax.servlet.http, javax.servlet.jsp i java.servlet.jsp.tagext).
220 %setup -q -n apache-%{name}-%{version}-src
225 # we don't need those scripts
227 rm bin/{startup,shutdown}.sh
229 cp -a %{SOURCE3} build.properties
235 -Drpm.javadir=%{_javadir} \
236 -Drpm.libdir=%{_libdir}
239 %ant -f dist.xml dist-javadoc
242 %if %{with webservices}
243 mkdir -p output/extras/webservices
245 ln -s %{_javadir}/geronimo-spec-jaxrpc.jar output/extras/webservices/jaxrpc.jar
246 ln -s %{_javadir}/jsr109.jar output/extras/webservices/wsdl4j.jar
248 %ant -f extras.xml webservices
252 rm -rf $RPM_BUILD_ROOT
255 TOMCATDIR=$RPM_BUILD_ROOT%{_tomcatdir}
256 CATALINADIR=$RPM_BUILD_ROOT/var/lib/tomcat
258 install -d $TOMCATDIR \
260 $RPM_BUILD_ROOT%{_vardir}/webapps \
261 $RPM_BUILD_ROOT%{_vardir}/work \
262 $RPM_BUILD_ROOT%{_vardir}/conf \
263 $RPM_BUILD_ROOT%{_logdir}/tomcat \
264 $RPM_BUILD_ROOT/etc/sysconfig \
265 $RPM_BUILD_ROOT/etc/rc.d/init.d
267 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
268 cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/tomcat
270 cp -a conf/* $CATALINADIR/conf
271 install -d $CATALINADIR/conf/Catalina/localhost
272 cp -a %{SOURCE10} $CATALINADIR/conf/Catalina/localhost/ROOT.xml
273 cp -a %{SOURCE11} $CATALINADIR/conf/Catalina/localhost/docs.xml
274 cp -a %{SOURCE12} $CATALINADIR/conf/Catalina/localhost/manager.xml
275 cp -a %{SOURCE13} $CATALINADIR/conf/Catalina/localhost/host-manager.xml
276 cp -a %{SOURCE14} $CATALINADIR/conf/Catalina/localhost/examples.xml
278 cp -a bin lib webapps $TOMCATDIR
279 cp -a temp $CATALINADIR
281 ln -sf %{_logdir}/tomcat $CATALINADIR/logs
282 ln -sf %{_logdir}/tomcat $TOMCATDIR/logs
283 ln -sf %{_vardir}/work $TOMCATDIR/work
284 ln -sf %{_vardir}/conf $TOMCATDIR/conf
285 ln -sf %{_vardir}/conf $RPM_BUILD_ROOT%{_sysconfdir}
287 # symlinks instead of copies
288 jars="commons-daemon commons-logging-api"
291 ln -sf $jar $TOMCATDIR/bin
294 jars="commons-pool-tomcat5 commons-dbcp-tomcat5 mysql-connector-java org.eclipse.jdt.core mail"
297 ln -sf $jar $TOMCATDIR/lib
300 install -d $RPM_BUILD_ROOT%{_javadir}
301 mv $TOMCATDIR/lib/jasper*.jar $RPM_BUILD_ROOT%{_javadir}
302 mv $TOMCATDIR/lib/jsp-api.jar $RPM_BUILD_ROOT%{_javadir}/jsp-api-%{jspapiver}.jar
303 mv $TOMCATDIR/lib/servlet-api.jar $RPM_BUILD_ROOT%{_javadir}/servlet-api-%{servletapiver}.jar
304 mv $TOMCATDIR/lib/catalina.jar $RPM_BUILD_ROOT%{_javadir}/tomcat6-catalina.jar
305 mv $TOMCATDIR/lib/tomcat-coyote.jar $RPM_BUILD_ROOT%{_javadir}/tomcat6-coyote.jar
307 ln -s jsp-api-%{jspapiver}.jar $RPM_BUILD_ROOT%{_javadir}/jsp-api.jar
308 ln -s servlet-api-%{servletapiver}.jar $RPM_BUILD_ROOT%{_javadir}/servlet-api.jar
310 # XXX add softlinks jasper-compiler.jar and jasper-runtime for compatibility with tomcat 5.5?
311 ln -sf %{_javadir}/jasper-el.jar $TOMCATDIR/lib
312 ln -sf %{_javadir}/jasper.jar $TOMCATDIR/lib
314 ln -sf %{_javadir}/jsp-api-%{jspapiver}.jar $TOMCATDIR/lib/jsp-api.jar
315 ln -sf %{_javadir}/servlet-api-%{servletapiver}.jar $TOMCATDIR/lib/servlet-api.jar
317 ln -sf %{_javadir}/tomcat6-catalina.jar $TOMCATDIR/lib/catalina.jar
318 ln -sf %{_javadir}/tomcat6-coyote.jar $TOMCATDIR/lib/tomcat-coyote.jar
320 %if %{with webservices}
321 install ../extras/catalina-ws.jar $TOMCATDIR/lib/catalina-ws.jar
323 ln -s %{_javadir}/geronimo-spec-jaxrpc.jar $TOMCATDIR/lib/jaxrpc.jar
324 ln -s %{_javadir}/jsr109.jar $TOMCATDIR/lib/jsr109.jar
328 rm -rf $RPM_BUILD_ROOT
331 %groupadd -g 234 -r -f tomcat
332 %groupadd -g 237 -r -f servlet
333 %useradd -u 234 -r -d /var/lib/tomcat -s /bin/false -c "Tomcat User" -g tomcat -G servlet tomcat
336 /sbin/chkconfig --add tomcat
337 %service tomcat restart
340 if [ "$1" = "0" ]; then
342 /sbin/chkconfig --del tomcat
346 if [ "$1" = "0" ]; then
353 %defattr(644,root,root,755)
354 %doc KEYS RELEASE-NOTES RELEASE-PLAN-6.0.txt RUNNING.txt
355 %attr(754,root,root) /etc/rc.d/init.d/tomcat
356 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/tomcat
359 %dir %{_tomcatdir}/conf
360 %dir %{_tomcatdir}/bin
361 %{_tomcatdir}/bin/catalina-tasks.xml
362 %attr(755,root,root) %{_tomcatdir}/bin/*.sh
363 %{_tomcatdir}/bin/*.jar
364 %dir %{_tomcatdir}/lib
365 %{_tomcatdir}/lib/annotations-api.jar
366 %{_tomcatdir}/lib/catalina-ant.jar
367 %{_tomcatdir}/lib/catalina-ha.jar
368 %{_tomcatdir}/lib/catalina.jar
369 %{_tomcatdir}/lib/catalina-tribes.jar
370 %{_tomcatdir}/lib/commons-dbcp-tomcat5.jar
371 %{_tomcatdir}/lib/commons-pool-tomcat5.jar
372 %{_tomcatdir}/lib/el-api.jar
373 %{_tomcatdir}/lib/jasper-el.jar
374 %{_tomcatdir}/lib/jasper.jar
375 %{_tomcatdir}/lib/jsp-api.jar
376 %{_tomcatdir}/lib/mail.jar
377 %{_tomcatdir}/lib/mysql-connector-java.jar
378 %{_tomcatdir}/lib/org.eclipse.jdt.core.jar
379 %{_tomcatdir}/lib/servlet-api.jar
380 %{_tomcatdir}/lib/tomcat-coyote.jar
381 %{_tomcatdir}/lib/tomcat-i18n-es.jar
382 %{_tomcatdir}/lib/tomcat-i18n-fr.jar
383 %{_tomcatdir}/lib/tomcat-i18n-ja.jar
385 %dir %{_tomcatdir}/webapps
387 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/ROOT.xml
388 %{_tomcatdir}/webapps/ROOT
392 %dir %attr(770,root,tomcat) %{_vardir}
393 # these directory has to be writeable because /admin need to modify config
394 # files and create temporary files
395 %dir %attr(770,root,tomcat) %{_vardir}/conf
396 %dir %attr(770,root,tomcat) %{_vardir}/conf/Catalina
397 %dir %{_vardir}/conf/Catalina/localhost
398 # tomcat config has to be writeable because of tomcat-users.xml file and Catalina dir
399 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/catalina.policy
400 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.properties*
401 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.xml
402 %dir %attr(770,root,tomcat) %{_vardir}/work
403 %dir %attr(770,root,tomcat) %{_vardir}/webapps
404 %dir %attr(770,root,tomcat) %{_vardir}/temp
405 %dir %attr(770,root,tomcat) %{_logdir}/tomcat
409 %defattr(644,root,root,755)
410 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/docs.xml
411 %{_tomcatdir}/webapps/docs
413 %files webapp-manager
414 %defattr(644,root,root,755)
415 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/manager.xml
416 %{_tomcatdir}/webapps/manager
418 %files webapp-host-manager
419 %defattr(644,root,root,755)
420 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/host-manager.xml
421 %{_tomcatdir}/webapps/host-manager
423 %files webapp-examples
424 %defattr(644,root,root,755)
425 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/examples.xml
426 %{_tomcatdir}/webapps/examples
428 %if %{with webservices}
430 %defattr(644,root,root,755)
431 %{_tomcatdir}/lib/catalina-ws.jar
432 %{_tomcatdir}/lib/jsr109.jar
433 %{_tomcatdir}/lib/jaxrpc.jar
436 %files -n java-tomcat-jasper
437 %defattr(644,root,root,755)
438 %{_javadir}/jasper-el.jar
439 %{_javadir}/jasper.jar
441 %files -n java-tomcat-catalina
442 %defattr(644,root,root,755)
443 %{_javadir}/tomcat6-catalina.jar
445 %files -n java-tomcat-coyote
446 %defattr(644,root,root,755)
447 %{_javadir}/tomcat6-coyote.jar
449 %files -n java-servletapi
450 %defattr(644,root,root,755)
451 %{_javadir}/jsp-api*.jar
452 %{_javadir}/servlet-api*.jar