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: 83b46d9346bcbc517dbf6f1cac9ef8b1
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 URL: http://tomcat.apache.org/
30 BuildRequires: ant >= 1.5.3
31 BuildRequires: ant-trax
32 BuildRequires: eclipse-jdt >= 3.2
33 BuildRequires: java-commons-daemon >= 1.0
34 BuildRequires: java-commons-dbcp-tomcat5 >= 0:1.1
35 BuildRequires: java-commons-pool-tomcat5
36 %if %{with webservices}
37 BuildRequires: java(JSR109)
38 BuildRequires: java-geronimo-spec-jaxrpc
40 BuildRequires: java-jdbc-mysql
41 BuildRequires: java-mail
43 BuildRequires: jpackage-utils
44 BuildRequires: rpm-javaprov
45 BuildRequires: rpmbuild(macros) >= 1.300
46 Requires(post,preun): /sbin/chkconfig
47 Requires(postun): /usr/sbin/groupdel
48 Requires(postun): /usr/sbin/userdel
49 Requires(pre): /bin/id
50 Requires(pre): /usr/bin/getgid
51 Requires(pre): /usr/sbin/groupadd
52 Requires(pre): /usr/sbin/useradd
53 Requires: java(jaxp_parser_impl)
54 Requires: java(jndi) >= 1.2.1
55 Requires: java-%{name}-catalina = %{epoch}:%{version}-%{release}
56 Requires: java-%{name}-coyote = %{epoch}:%{version}-%{release}
57 Requires: java-%{name}-jasper = %{epoch}:%{version}-%{release}
58 Requires: java-commons-dbcp-tomcat5 >= 0:1.1
59 Requires: java-commons-pool-tomcat5
60 Requires: java-jdbc-mysql
62 Requires: java-servletapi = %{epoch}:%{version}-%{release}
63 Requires: jpackage-utils
67 Suggests: tomcat-native
68 Provides: group(servlet)
69 Provides: group(tomcat)
70 Provides: user(tomcat)
71 Obsoletes: apache-tomcat
72 Obsoletes: jakarta-tomcat
74 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
76 %define _tomcatdir %{_datadir}/tomcat
77 %define _logdir %{_var}/log
78 %define _vardir %{_var}/lib/tomcat
79 %define _sysconfdir /etc/tomcat
81 %define find_jar() %{expand:%%define jarfile {%(jar=$(find-jar %1); echo ${jar:-%%nil})}}%{?jarfile}%{!?jarfile:%{error:find-jar %1 failed}}%{nil}
84 Tomcat is the servlet container that is used in the official Reference
85 Implementation for the Java Servlet and JavaServer Pages technologies.
86 The Java Servlet and JavaServer Pages specifications are developed by
87 Sun under the Java Community Process.
89 Tomcat is developed in an open and participatory environment and
90 released under the Apache Software License. Tomcat is intended to be a
91 collaboration of the best-of-breed developers from around the world.
92 We invite you to participate in this open development project.
94 %description -l pl.UTF-8
95 Tomcat to kontener serwletowy używany przez oficjalną implementację
96 wzorcową technologii Java Servlet i JavaServer Pages. Specyfikacje
97 Java Servlet i JavaServer Pages są rozwijane przez Suna zgodnie z Java
101 Summary: The Apache Tomcat Servlet/JSP Container documentation
102 Summary(pl.UTF-8): Dokumentacja do Tomcata - kontenera Servlet/JSP
104 Obsoletes: apache-tomcat-doc
105 Obsoletes: jakarta-tomcat-doc
106 Obsoletes: tomcat-doc
108 %description webapp-docs
109 The Tomcat Servlet/JSP Container documentation.
111 %description webapp-docs -l pl.UTF-8
112 Dokumentacja do Tomcata - kontenera Servlet/JSP.
114 %package webapp-manager
115 Summary: The Apache Tomcat Servlet/JSP application manager
116 Summary(pl.UTF-8): Zarządca aplikacji w Tomcacie
117 Group: Networking/Daemons/Java/Servlets
118 Requires: %{name} = %{epoch}:%{version}-%{release}
120 %description webapp-manager
121 The Apache Tomcat Servlet/JSP application manager.
123 %description webapp-manager -l pl.UTF-8
124 Zarządca aplikacji w Tomcacie.
126 %package webapp-host-manager
127 Summary: The Apache Tomcat Servlet/JSP virtual hosts manager
128 Summary(pl.UTF-8): Zarządca wirtualnych hostów w Tomcacie
129 Group: Networking/Daemons/Java/Servlets
130 Requires: %{name} = %{epoch}:%{version}-%{release}
131 Obsoletes: tomcat-admin
133 %description webapp-host-manager
134 The Apache Tomcat Servlet/JSP virtual hosts manager.
136 %description webapp-host-manager -l pl.UTF-8
137 Zarządca wirtualnych hostów w Tomcacie.
139 %package webapp-examples
140 Summary: The Apache Tomcat Servlet/JSP example applications
141 Summary(pl.UTF-8): Przykładowe aplikacje dla Tomcata
142 Group: Networking/Daemons/Java/Servlets
143 Requires: %{name} = %{epoch}:%{version}-%{release}
145 %description webapp-examples
146 The Apache Tomcat Servlet/JSP example applications.
148 %description webapp-examples -l pl.UTF-8
149 Przykładowe aplikacje dla Tomcata.
152 Summary: Web Services support (JSR 109)
153 Group: Libraries/Java
154 Requires: %{name} = %{epoch}:%{version}-%{release}
155 Requires: java(JSR109)
156 Requires: java-geronimo-spec-jaxrpc
158 %description webservices
159 Factories for JSR 109 which may be used to resolve web services
162 %package -n java-tomcat-catalina
163 Summary: Tomcat's servlet container
164 Group: Libraries/Java
165 Requires: jpackage-utils
167 %description -n java-tomcat-catalina
168 Catalina is Tomcat's servlet container. Catalina implements Sun
169 Microsystems' specifications for servlet and JavaServer Pages (JSP).
171 %package -n java-tomcat-coyote
172 Summary: Tomcat HTTP connector
173 Group: Libraries/Java
174 Requires: jpackage-utils
176 %description -n java-tomcat-coyote
177 Coyote is Tomcat's HTTP Connector component that supports the HTTP 1.1
178 protocol for the web server or application container. Coyote listens
179 for incoming connections on a specific TCP port on the server and
180 forwards the request to the Tomcat Engine to process the request and
181 send back a response to the requesting client.
183 %package -n java-tomcat-jasper
184 Summary: JSP compiler
185 Summary(pl.UTF-8): Kompilator JSP
186 Group: Libraries/Java
187 Requires: eclipse-jdt >= 3.2
188 Requires: jpackage-utils
189 Obsoletes: apache-tomcat-jasper
190 Obsoletes: tomcat-jasper
192 %description -n java-tomcat-jasper
193 Jasper is Java ServerPages compiler used by Apache Tomcat servlet
196 %description -n java-tomcat-jasper -l pl.UTF-8
197 Jasper jest kompilatorem Java ServerPages używanym przez kontener
198 servletów Apache Tomcat.
200 %package -n java-servletapi
201 Summary: Java servlet and JSP implementation classes
202 Summary(pl.UTF-8): Klasy z implementacją Java Servlet i JSP
203 Group: Libraries/Java
204 Provides: java(jsp) = %{jspapiver}
205 Provides: java(servlet) = %{servletapiver}
206 Obsoletes: java-servletapi5
208 %description -n java-servletapi
209 Implementation classes of the Java Servlet and JSP APIs (packages
210 javax.servlet, javax.servlet.http, javax.servlet.jsp, and
211 javax.servlet.jsp.tagext).
213 %description -n java-servletapi -l pl.UTF-8
214 Implementacje klas API Java Servlet i JSP (pakiety javax.servlet,
215 javax.servlet.http, javax.servlet.jsp i java.servlet.jsp.tagext).
218 %setup -q -n apache-%{name}-%{version}-src
223 # we don't need those scripts
225 rm bin/{startup,shutdown}.sh
227 cp %{SOURCE3} build.properties
232 %ant -Drpm.javadir=%{_javadir} -Drpm.libdir=%{_libdir}
235 %ant -f dist.xml dist-javadoc
238 %if %{with webservices}
239 mkdir -p output/extras/webservices
241 ln -s %{_javadir}/geronimo-spec-jaxrpc.jar output/extras/webservices/jaxrpc.jar
242 ln -s %{_javadir}/jsr109.jar output/extras/webservices/wsdl4j.jar
244 %ant -f extras.xml webservices
249 rm -rf $RPM_BUILD_ROOT
252 TOMCATDIR=$RPM_BUILD_ROOT%{_tomcatdir}
253 CATALINADIR=$RPM_BUILD_ROOT/var/lib/tomcat
255 install -d $TOMCATDIR \
257 $RPM_BUILD_ROOT%{_vardir}/webapps \
258 $RPM_BUILD_ROOT%{_vardir}/work \
259 $RPM_BUILD_ROOT%{_vardir}/conf \
260 $RPM_BUILD_ROOT%{_logdir}/tomcat \
261 $RPM_BUILD_ROOT/etc/sysconfig \
262 $RPM_BUILD_ROOT/etc/rc.d/init.d
264 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
265 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/tomcat
267 cp -a conf/* $CATALINADIR/conf
268 install -d $CATALINADIR/conf/Catalina/localhost
269 install %{SOURCE10} $CATALINADIR/conf/Catalina/localhost/ROOT.xml
270 install %{SOURCE11} $CATALINADIR/conf/Catalina/localhost/docs.xml
271 install %{SOURCE12} $CATALINADIR/conf/Catalina/localhost/manager.xml
272 install %{SOURCE13} $CATALINADIR/conf/Catalina/localhost/host-manager.xml
273 install %{SOURCE14} $CATALINADIR/conf/Catalina/localhost/examples.xml
275 cp -a bin lib webapps $TOMCATDIR
276 cp -a temp $CATALINADIR
278 ln -sf %{_logdir}/tomcat $CATALINADIR/logs
279 ln -sf %{_logdir}/tomcat $TOMCATDIR/logs
280 ln -sf %{_vardir}/work $TOMCATDIR/work
281 ln -sf %{_vardir}/conf $TOMCATDIR/conf
282 ln -sf %{_vardir}/conf $RPM_BUILD_ROOT%{_sysconfdir}
284 # symlinks instead of copies
285 jars="commons-daemon commons-logging-api"
288 ln -sf $jar $TOMCATDIR/bin
291 jars="commons-pool-tomcat5 commons-dbcp-tomcat5 mysql-connector-java org.eclipse.jdt.core mail"
294 ln -sf $jar $TOMCATDIR/lib
297 install -d $RPM_BUILD_ROOT%{_javadir}
298 mv $TOMCATDIR/lib/jasper*.jar $RPM_BUILD_ROOT%{_javadir}
299 mv $TOMCATDIR/lib/jsp-api.jar $RPM_BUILD_ROOT%{_javadir}/jsp-api-%{jspapiver}.jar
300 mv $TOMCATDIR/lib/servlet-api.jar $RPM_BUILD_ROOT%{_javadir}/servlet-api-%{servletapiver}.jar
301 mv $TOMCATDIR/lib/catalina.jar $RPM_BUILD_ROOT%{_javadir}/tomcat6-catalina.jar
302 mv $TOMCATDIR/lib/tomcat-coyote.jar $RPM_BUILD_ROOT%{_javadir}/tomcat6-coyote.jar
304 ln -s jsp-api-%{jspapiver}.jar $RPM_BUILD_ROOT%{_javadir}/jsp-api.jar
305 ln -s servlet-api-%{servletapiver}.jar $RPM_BUILD_ROOT%{_javadir}/servlet-api.jar
307 # XXX add softlinks jasper-compiler.jar and jasper-runtime for compatibility with tomcat 5.5?
308 ln -sf %{_javadir}/jasper-el.jar $TOMCATDIR/lib
309 ln -sf %{_javadir}/jasper.jar $TOMCATDIR/lib
311 ln -sf %{_javadir}/jsp-api-%{jspapiver}.jar $TOMCATDIR/lib/jsp-api.jar
312 ln -sf %{_javadir}/servlet-api-%{servletapiver}.jar $TOMCATDIR/lib/servlet-api.jar
314 ln -sf %{_javadir}/tomcat6-catalina.jar $TOMCATDIR/lib/catalina.jar
315 ln -sf %{_javadir}/tomcat6-coyote.jar $TOMCATDIR/lib/tomcat-coyote.jar
317 %if %{with webservices}
318 install ../extras/catalina-ws.jar $TOMCATDIR/lib/catalina-ws.jar
320 ln -s %{_javadir}/geronimo-spec-jaxrpc.jar $TOMCATDIR/lib/jaxrpc.jar
321 ln -s %{_javadir}/jsr109.jar $TOMCATDIR/lib/jsr109.jar
325 rm -rf $RPM_BUILD_ROOT
328 %groupadd -g 234 -r -f tomcat
329 %groupadd -g 237 -r -f servlet
330 %useradd -u 234 -r -d /var/lib/tomcat -s /bin/false -c "Tomcat User" -g tomcat -G servlet tomcat
333 /sbin/chkconfig --add tomcat
334 %service tomcat restart
337 if [ "$1" = "0" ]; then
339 /sbin/chkconfig --del tomcat
343 if [ "$1" = "0" ]; then
350 %defattr(644,root,root,755)
351 %doc KEYS RELEASE-NOTES RELEASE-PLAN-6.0.txt RUNNING.txt
352 %attr(754,root,root) /etc/rc.d/init.d/tomcat
353 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/tomcat
356 %dir %{_tomcatdir}/conf
357 %dir %{_tomcatdir}/bin
358 %{_tomcatdir}/bin/catalina-tasks.xml
359 %attr(755,root,root) %{_tomcatdir}/bin/*.sh
360 %{_tomcatdir}/bin/*.jar
361 %dir %{_tomcatdir}/lib
362 %{_tomcatdir}/lib/annotations-api.jar
363 %{_tomcatdir}/lib/catalina-ant.jar
364 %{_tomcatdir}/lib/catalina-ha.jar
365 %{_tomcatdir}/lib/catalina.jar
366 %{_tomcatdir}/lib/catalina-tribes.jar
367 %{_tomcatdir}/lib/commons-dbcp-tomcat5.jar
368 %{_tomcatdir}/lib/commons-pool-tomcat5.jar
369 %{_tomcatdir}/lib/el-api.jar
370 %{_tomcatdir}/lib/jasper-el.jar
371 %{_tomcatdir}/lib/jasper.jar
372 %{_tomcatdir}/lib/jsp-api.jar
373 %{_tomcatdir}/lib/mail.jar
374 %{_tomcatdir}/lib/mysql-connector-java.jar
375 %{_tomcatdir}/lib/org.eclipse.jdt.core.jar
376 %{_tomcatdir}/lib/servlet-api.jar
377 %{_tomcatdir}/lib/tomcat-coyote.jar
378 %{_tomcatdir}/lib/tomcat-i18n-es.jar
379 %{_tomcatdir}/lib/tomcat-i18n-fr.jar
380 %{_tomcatdir}/lib/tomcat-i18n-ja.jar
382 %dir %{_tomcatdir}/webapps
384 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/ROOT.xml
385 %{_tomcatdir}/webapps/ROOT
389 %dir %attr(770,root,tomcat) %{_vardir}
390 # these directory has to be writeable because /admin need to modify config
391 # files and create temporary files
392 %dir %attr(770,root,tomcat) %{_vardir}/conf
393 %dir %attr(770,root,tomcat) %{_vardir}/conf/Catalina
394 %dir %{_vardir}/conf/Catalina/localhost
395 # tomcat config has to be writeable because of tomcat-users.xml file and Catalina dir
396 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/catalina.policy
397 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.properties*
398 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.xml
399 %dir %attr(770,root,tomcat) %{_vardir}/work
400 %dir %attr(770,root,tomcat) %{_vardir}/webapps
401 %dir %attr(770,root,tomcat) %{_vardir}/temp
402 %dir %attr(770,root,tomcat) %{_logdir}/tomcat
406 %defattr(644,root,root,755)
407 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/docs.xml
408 %{_tomcatdir}/webapps/docs
410 %files webapp-manager
411 %defattr(644,root,root,755)
412 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/manager.xml
413 %{_tomcatdir}/webapps/manager
415 %files webapp-host-manager
416 %defattr(644,root,root,755)
417 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/host-manager.xml
418 %{_tomcatdir}/webapps/host-manager
420 %files webapp-examples
421 %defattr(644,root,root,755)
422 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/examples.xml
423 %{_tomcatdir}/webapps/examples
425 %if %{with webservices}
427 %defattr(644,root,root,755)
428 %{_tomcatdir}/lib/catalina-ws.jar
429 %{_tomcatdir}/lib/jsr109.jar
430 %{_tomcatdir}/lib/jaxrpc.jar
433 %files -n java-tomcat-jasper
434 %defattr(644,root,root,755)
435 %{_javadir}/jasper-el.jar
436 %{_javadir}/jasper.jar
438 %files -n java-tomcat-catalina
439 %defattr(644,root,root,755)
440 %{_javadir}/tomcat6-catalina.jar
442 %files -n java-tomcat-coyote
443 %defattr(644,root,root,755)
444 %{_javadir}/tomcat6-coyote.jar
446 %files -n java-servletapi
447 %defattr(644,root,root,755)
448 %{_javadir}/jsp-api*.jar
449 %{_javadir}/servlet-api*.jar