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: jpackage-utils
42 BuildRequires: rpm-javaprov
43 BuildRequires: rpmbuild(macros) >= 1.300
44 Requires(post,preun): /sbin/chkconfig
45 Requires(postun): /usr/sbin/groupdel
46 Requires(postun): /usr/sbin/userdel
47 Requires(pre): /bin/id
48 Requires(pre): /usr/bin/getgid
49 Requires(pre): /usr/sbin/groupadd
50 Requires(pre): /usr/sbin/useradd
51 Requires: java(jaxp_parser_impl)
52 Requires: java(jndi) >= 1.2.1
53 Requires: java-%{name}-catalina = %{epoch}:%{version}-%{release}
54 Requires: java-%{name}-coyote = %{epoch}:%{version}-%{release}
55 Requires: java-%{name}-jasper = %{epoch}:%{version}-%{release}
56 Requires: java-commons-dbcp-tomcat5 >= 0:1.1
57 Requires: java-commons-pool-tomcat5
58 Requires: java-jdbc-mysql
59 Requires: java-servletapi = %{epoch}:%{version}-%{release}
62 Suggests: tomcat-native
63 Provides: group(servlet)
64 Provides: group(tomcat)
65 Provides: user(tomcat)
66 Obsoletes: apache-tomcat
67 Obsoletes: jakarta-tomcat
69 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
71 %define _tomcatdir %{_datadir}/tomcat
72 %define _logdir %{_var}/log
73 %define _vardir %{_var}/lib/tomcat
74 %define _sysconfdir /etc/tomcat
76 %define find_jar() %{expand:%%define jarfile {%(jar=$(find-jar %1); echo ${jar:-%%nil})}}%{?jarfile}%{!?jarfile:%{error:find-jar %1 failed}}%{nil}
79 Tomcat is the servlet container that is used in the official Reference
80 Implementation for the Java Servlet and JavaServer Pages technologies.
81 The Java Servlet and JavaServer Pages specifications are developed by
82 Sun under the Java Community Process.
84 Tomcat is developed in an open and participatory environment and
85 released under the Apache Software License. Tomcat is intended to be a
86 collaboration of the best-of-breed developers from around the world.
87 We invite you to participate in this open development project.
89 %description -l pl.UTF-8
90 Tomcat to kontener serwletowy używany przez oficjalną implementację
91 wzorcową technologii Java Servlet i JavaServer Pages. Specyfikacje
92 Java Servlet i JavaServer Pages są rozwijane przez Suna zgodnie z Java
96 Summary: The Apache Tomcat Servlet/JSP Container documentation
97 Summary(pl.UTF-8): Dokumentacja do Tomcata - kontenera Servlet/JSP
99 Obsoletes: apache-tomcat-doc
100 Obsoletes: jakarta-tomcat-doc
101 Obsoletes: tomcat-doc
103 %description webapp-docs
104 The Tomcat Servlet/JSP Container documentation.
106 %description webapp-docs -l pl.UTF-8
107 Dokumentacja do Tomcata - kontenera Servlet/JSP.
109 %package webapp-manager
110 Summary: The Apache Tomcat Servlet/JSP application manager
111 Summary(pl.UTF-8): Zarządca aplikacji w Tomcacie
112 Group: Networking/Daemons/Java/Servlets
113 Requires: %{name} = %{epoch}:%{version}-%{release}
115 %description webapp-manager
116 The Apache Tomcat Servlet/JSP application manager.
118 %description webapp-manager -l pl.UTF-8
119 Zarządca aplikacji w Tomcacie.
121 %package webapp-host-manager
122 Summary: The Apache Tomcat Servlet/JSP virtual hosts manager
123 Summary(pl.UTF-8): Zarządca wirtualnych hostów w Tomcacie
124 Group: Networking/Daemons/Java/Servlets
125 Requires: %{name} = %{epoch}:%{version}-%{release}
126 Obsoletes: tomcat-admin
128 %description webapp-host-manager
129 The Apache Tomcat Servlet/JSP virtual hosts manager.
131 %description webapp-host-manager -l pl.UTF-8
132 Zarządca wirtualnych hostów w Tomcacie.
134 %package webapp-examples
135 Summary: The Apache Tomcat Servlet/JSP example applications
136 Summary(pl.UTF-8): Przykładowe aplikacje dla Tomcata
137 Group: Networking/Daemons/Java/Servlets
138 Requires: %{name} = %{epoch}:%{version}-%{release}
140 %description webapp-examples
141 The Apache Tomcat Servlet/JSP example applications.
143 %description webapp-examples -l pl.UTF-8
144 Przykładowe aplikacje dla Tomcata.
147 Summary: Web Services support (JSR 109)
148 Group: Libraries/Java
149 Requires: %{name} = %{epoch}:%{version}-%{release}
150 Requires: java(JSR109)
151 Requires: java-geronimo-spec-jaxrpc
153 %description webservices
154 Factories for JSR 109 which may be used to resolve web services
157 %package -n java-tomcat-catalina
158 Summary: Tomcat's servlet container
159 Group: Libraries/Java
160 Requires: jpackage-utils
162 %description -n java-tomcat-catalina
163 Catalina is Tomcat's servlet container. Catalina implements Sun
164 Microsystems' specifications for servlet and JavaServer Pages (JSP).
166 %package -n java-tomcat-coyote
167 Summary: Tomcat HTTP connector
168 Group: Libraries/Java
169 Requires: jpackage-utils
171 %description -n java-tomcat-coyote
172 Coyote is Tomcat's HTTP Connector component that supports the HTTP 1.1
173 protocol for the web server or application container. Coyote listens
174 for incoming connections on a specific TCP port on the server and
175 forwards the request to the Tomcat Engine to process the request and
176 send back a response to the requesting client.
178 %package -n java-tomcat-jasper
179 Summary: JSP compiler
180 Summary(pl.UTF-8): Kompilator JSP
181 Group: Libraries/Java
182 Requires: eclipse-jdt >= 3.2
183 Requires: jpackage-utils
184 Obsoletes: apache-tomcat-jasper
185 Obsoletes: tomcat-jasper
187 %description -n java-tomcat-jasper
188 Jasper is Java ServerPages compiler used by Apache Tomcat servlet
191 %description -n java-tomcat-jasper -l pl.UTF-8
192 Jasper jest kompilatorem Java ServerPages używanym przez kontener
193 servletów Apache Tomcat.
195 %package -n java-servletapi
196 Summary: Java servlet and JSP implementation classes
197 Summary(pl.UTF-8): Klasy z implementacją Java Servlet i JSP
198 Group: Libraries/Java
199 Provides: java(jsp) = %{jspapiver}
200 Provides: java(servlet) = %{servletapiver}
201 Obsoletes: java-servletapi5
203 %description -n java-servletapi
204 Implementation classes of the Java Servlet and JSP APIs (packages
205 javax.servlet, javax.servlet.http, javax.servlet.jsp, and
206 javax.servlet.jsp.tagext).
208 %description -n java-servletapi -l pl.UTF-8
209 Implementacje klas API Java Servlet i JSP (pakiety javax.servlet,
210 javax.servlet.http, javax.servlet.jsp i java.servlet.jsp.tagext).
213 %setup -q -n apache-%{name}-%{version}-src
218 # we don't need those scripts
220 rm bin/{startup,shutdown}.sh
222 cp %{SOURCE3} build.properties
227 %ant -Drpm.javadir=%{_javadir} -Drpm.libdir=%{_libdir}
230 %ant -f dist.xml dist-javadoc
233 %if %{with webservices}
234 mkdir -p output/extras/webservices
236 ln -s %{_javadir}/geronimo-spec-jaxrpc.jar output/extras/webservices/jaxrpc.jar
237 ln -s %{_javadir}/jsr109.jar output/extras/webservices/wsdl4j.jar
239 %ant -f extras.xml webservices
244 rm -rf $RPM_BUILD_ROOT
247 TOMCATDIR=$RPM_BUILD_ROOT%{_tomcatdir}
248 CATALINADIR=$RPM_BUILD_ROOT/var/lib/tomcat
250 install -d $TOMCATDIR \
252 $RPM_BUILD_ROOT%{_vardir}/webapps \
253 $RPM_BUILD_ROOT%{_vardir}/work \
254 $RPM_BUILD_ROOT%{_vardir}/conf \
255 $RPM_BUILD_ROOT%{_logdir}/tomcat \
256 $RPM_BUILD_ROOT/etc/sysconfig \
257 $RPM_BUILD_ROOT/etc/rc.d/init.d
259 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
260 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/tomcat
262 cp -a conf/* $CATALINADIR/conf
263 install -d $CATALINADIR/conf/Catalina/localhost
264 install %{SOURCE10} $CATALINADIR/conf/Catalina/localhost/ROOT.xml
265 install %{SOURCE11} $CATALINADIR/conf/Catalina/localhost/docs.xml
266 install %{SOURCE12} $CATALINADIR/conf/Catalina/localhost/manager.xml
267 install %{SOURCE13} $CATALINADIR/conf/Catalina/localhost/host-manager.xml
268 install %{SOURCE14} $CATALINADIR/conf/Catalina/localhost/examples.xml
270 cp -a bin lib webapps $TOMCATDIR
271 cp -a temp $CATALINADIR
273 ln -sf %{_logdir}/tomcat $CATALINADIR/logs
274 ln -sf %{_logdir}/tomcat $TOMCATDIR/logs
275 ln -sf %{_vardir}/work $TOMCATDIR/work
276 ln -sf %{_vardir}/conf $TOMCATDIR/conf
277 ln -sf %{_vardir}/conf $RPM_BUILD_ROOT%{_sysconfdir}
279 # symlinks instead of copies
280 jars="commons-daemon commons-logging-api"
283 ln -sf $jar $TOMCATDIR/bin
286 jars="commons-pool-tomcat5 commons-dbcp-tomcat5 mysql-connector-java org.eclipse.jdt.core"
289 ln -sf $jar $TOMCATDIR/lib
292 install -d $RPM_BUILD_ROOT%{_javadir}
293 mv $TOMCATDIR/lib/jasper*.jar $RPM_BUILD_ROOT%{_javadir}
294 mv $TOMCATDIR/lib/jsp-api.jar $RPM_BUILD_ROOT%{_javadir}/jsp-api-%{jspapiver}.jar
295 mv $TOMCATDIR/lib/servlet-api.jar $RPM_BUILD_ROOT%{_javadir}/servlet-api-%{servletapiver}.jar
296 mv $TOMCATDIR/lib/catalina.jar $RPM_BUILD_ROOT%{_javadir}/tomcat6-catalina.jar
297 mv $TOMCATDIR/lib/tomcat-coyote.jar $RPM_BUILD_ROOT%{_javadir}/tomcat6-coyote.jar
299 ln -s jsp-api-%{jspapiver}.jar $RPM_BUILD_ROOT%{_javadir}/jsp-api.jar
300 ln -s servlet-api-%{servletapiver}.jar $RPM_BUILD_ROOT%{_javadir}/servlet-api.jar
302 # XXX add softlinks jasper-compiler.jar and jasper-runtime for compatibility with tomcat 5.5?
303 ln -sf %{_javadir}/jasper-el.jar $TOMCATDIR/lib
304 ln -sf %{_javadir}/jasper.jar $TOMCATDIR/lib
306 ln -sf %{_javadir}/jsp-api-%{jspapiver}.jar $TOMCATDIR/lib/jsp-api.jar
307 ln -sf %{_javadir}/servlet-api-%{servletapiver}.jar $TOMCATDIR/lib/servlet-api.jar
309 ln -sf %{_javadir}/tomcat6-catalina.jar $TOMCATDIR/lib/catalina.jar
310 ln -sf %{_javadir}/tomcat6-coyote.jar $TOMCATDIR/lib/tomcat-coyote.jar
312 %if %{with webservices}
313 install ../extras/catalina-ws.jar $TOMCATDIR/lib/catalina-ws.jar
315 ln -s %{_javadir}/geronimo-spec-jaxrpc.jar $TOMCATDIR/lib/jaxrpc.jar
316 ln -s %{_javadir}/jsr109.jar $TOMCATDIR/lib/jsr109.jar
320 rm -rf $RPM_BUILD_ROOT
323 %groupadd -g 234 -r -f tomcat
324 %groupadd -g 237 -r -f servlet
325 %useradd -u 234 -r -d /var/lib/tomcat -s /bin/false -c "Tomcat User" -g tomcat -G servlet tomcat
328 /sbin/chkconfig --add tomcat
329 %service tomcat restart
332 if [ "$1" = "0" ]; then
334 /sbin/chkconfig --del tomcat
338 if [ "$1" = "0" ]; then
345 %defattr(644,root,root,755)
346 %doc KEYS RELEASE-NOTES RELEASE-PLAN-6.0.txt RUNNING.txt
347 %attr(754,root,root) /etc/rc.d/init.d/tomcat
348 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/tomcat
351 %dir %{_tomcatdir}/conf
352 %dir %{_tomcatdir}/bin
353 %{_tomcatdir}/bin/catalina-tasks.xml
354 %attr(755,root,root) %{_tomcatdir}/bin/*.sh
355 %{_tomcatdir}/bin/*.jar
356 %dir %{_tomcatdir}/lib
357 %{_tomcatdir}/lib/annotations-api.jar
358 %{_tomcatdir}/lib/catalina-ant.jar
359 %{_tomcatdir}/lib/catalina-ha.jar
360 %{_tomcatdir}/lib/catalina.jar
361 %{_tomcatdir}/lib/catalina-tribes.jar
362 %{_tomcatdir}/lib/commons-dbcp-tomcat5.jar
363 %{_tomcatdir}/lib/commons-pool-tomcat5.jar
364 %{_tomcatdir}/lib/el-api.jar
365 %{_tomcatdir}/lib/jasper-el.jar
366 %{_tomcatdir}/lib/jasper.jar
367 %{_tomcatdir}/lib/jsp-api.jar
368 %{_tomcatdir}/lib/mysql-connector-java.jar
369 %{_tomcatdir}/lib/org.eclipse.jdt.core.jar
370 %{_tomcatdir}/lib/servlet-api.jar
371 %{_tomcatdir}/lib/tomcat-coyote.jar
372 %{_tomcatdir}/lib/tomcat-i18n-es.jar
373 %{_tomcatdir}/lib/tomcat-i18n-fr.jar
374 %{_tomcatdir}/lib/tomcat-i18n-ja.jar
376 %dir %{_tomcatdir}/webapps
378 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/ROOT.xml
379 %{_tomcatdir}/webapps/ROOT
383 %dir %attr(770,root,tomcat) %{_vardir}
384 # these directory has to be writeable because /admin need to modify config
385 # files and create temporary files
386 %dir %attr(770,root,tomcat) %{_vardir}/conf
387 %dir %attr(770,root,tomcat) %{_vardir}/conf/Catalina
388 %dir %{_vardir}/conf/Catalina/localhost
389 # tomcat config has to be writeable because of tomcat-users.xml file and Catalina dir
390 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/catalina.policy
391 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.properties*
392 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.xml
393 %dir %attr(770,root,tomcat) %{_vardir}/work
394 %dir %attr(770,root,tomcat) %{_vardir}/webapps
395 %dir %attr(770,root,tomcat) %{_vardir}/temp
396 %dir %attr(770,root,tomcat) %{_logdir}/tomcat
400 %defattr(644,root,root,755)
401 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/docs.xml
402 %{_tomcatdir}/webapps/docs
404 %files webapp-manager
405 %defattr(644,root,root,755)
406 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/manager.xml
407 %{_tomcatdir}/webapps/manager
409 %files webapp-host-manager
410 %defattr(644,root,root,755)
411 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/host-manager.xml
412 %{_tomcatdir}/webapps/host-manager
414 %files webapp-examples
415 %defattr(644,root,root,755)
416 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/examples.xml
417 %{_tomcatdir}/webapps/examples
419 %if %{with webservices}
421 %defattr(644,root,root,755)
422 %{_tomcatdir}/lib/catalina-ws.jar
423 %{_tomcatdir}/lib/jsr109.jar
424 %{_tomcatdir}/lib/jaxrpc.jar
427 %files -n java-tomcat-jasper
428 %defattr(644,root,root,755)
429 %{_javadir}/jasper-el.jar
430 %{_javadir}/jasper.jar
432 %files -n java-tomcat-catalina
433 %defattr(644,root,root,755)
434 %{_javadir}/tomcat6-catalina.jar
436 %files -n java-tomcat-coyote
437 %defattr(644,root,root,755)
438 %{_javadir}/tomcat6-coyote.jar
440 %files -n java-servletapi
441 %defattr(644,root,root,755)
442 %{_javadir}/jsp-api*.jar
443 %{_javadir}/servlet-api*.jar