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