3 %bcond_without javadoc # skip building javadocs
4 %bcond_without java_sun # build with gcj (does not work)
5 %bcond_without webservices # skip building webservices
8 %define servletapiver 2.5
10 %include /usr/lib/rpm/macros.java
11 Summary: Web server and Servlet/JSP Engine, RI for Servlet %{servletapiver}/JSP %{jspapiver}API
12 Summary(pl.UTF-8): Serwer www i silnik Servlet/JSP będący wzorcową implementacją API Servlet %{servletapiver}/JSP %{jspapiver}
17 Group: Networking/Daemons/Java
18 Source0: http://www.apache.org/dist/tomcat/tomcat-6/v%{version}/src/apache-%{name}-%{version}-src.tar.gz
19 # Source0-md5: 44f49e7e14028b6a53c3c346bd18c72f
20 Source1: apache-%{name}.init
21 Source2: apache-%{name}.sysconfig
22 Source3: %{name}-build.properties
23 Source10: %{name}-context-ROOT.xml
24 Source11: %{name}-context-docs.xml
25 Source12: %{name}-context-manager.xml
26 Source13: %{name}-context-host-manager.xml
27 Source14: %{name}-context-examples.xml
28 Patch0: %{name}-build.xml.patch
29 Patch1: %{name}-extras.xml.patch
30 Patch2: %{name}-bug47316.patch
31 URL: http://tomcat.apache.org/
32 BuildRequires: apr-devel
33 BuildRequires: autoconf
34 BuildRequires: libtool
35 BuildRequires: openssl-devel
37 BuildRequires: java-sun >= 1.5
38 BuildRequires: java-sun-jre >= 1.5
40 BuildRequires: java-gcj-compat-devel
42 BuildRequires: ant >= 1.5.3
43 BuildRequires: ant-trax
44 BuildRequires: eclipse-jdt >= 3.2
45 BuildRequires: java-commons-collections >= 0:2.0
46 BuildRequires: java-commons-daemon >= 1.0
47 BuildRequires: java-commons-dbcp-tomcat5 >= 0:1.1
48 BuildRequires: java-commons-pool-tomcat5
49 %if %{with webservices}
50 BuildRequires: java(JSR109)
51 BuildRequires: java-geronimo-spec-jaxrpc
53 BuildRequires: jpackage-utils
54 BuildRequires: rpmbuild(macros) >= 1.300
55 Requires(post,preun): /sbin/chkconfig
56 Requires(postun): /usr/sbin/groupdel
57 Requires(postun): /usr/sbin/userdel
58 Requires(pre): /bin/id
59 Requires(pre): /usr/bin/getgid
60 Requires(pre): /usr/sbin/groupadd
61 Requires(pre): /usr/sbin/useradd
62 Requires: java-%{name}-catalina = %{epoch}:%{version}-%{release}
63 Requires: java-%{name}-coyote = %{epoch}:%{version}-%{release}
64 Requires: %{name}-jasper = %{epoch}:%{version}-%{release}
65 Requires: java-commons-dbcp-tomcat5 >= 0:1.1
66 Requires: java-commons-pool-tomcat5
67 Requires: java-jdbc-mysql
68 Requires: java-servletapi = %{epoch}:%{version}-%{release}
69 Requires: java-sun-jre >= 1.2
70 Requires: jaxp_parser_impl
71 Requires: jndi >= 1.2.1
73 Suggests: tomcat-native
74 Provides: group(servlet)
75 Provides: group(tomcat)
76 Provides: user(tomcat)
77 Obsoletes: apache-tomcat
78 Obsoletes: jakarta-tomcat
80 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
82 %define _tomcatdir %{_datadir}/tomcat
83 %define _logdir %{_var}/log
84 %define _vardir %{_var}/lib/tomcat
85 %define _sysconfdir /etc/tomcat
87 %define find_jar() %{expand:%%define jarfile {%(jar=$(find-jar %1); echo ${jar:-%%nil})}}%{?jarfile}%{!?jarfile:%{error:find-jar %1 failed}}%{nil}
90 Tomcat is the servlet container that is used in the official Reference
91 Implementation for the Java Servlet and JavaServer Pages technologies.
92 The Java Servlet and JavaServer Pages specifications are developed by
93 Sun under the Java Community Process.
95 Tomcat is developed in an open and participatory environment and
96 released under the Apache Software License. Tomcat is intended to be a
97 collaboration of the best-of-breed developers from around the world.
98 We invite you to participate in this open development project.
100 %description -l pl.UTF-8
101 Tomcat to kontener serwletowy używany przez oficjalną implementację
102 wzorcową technologii Java Servlet i JavaServer Pages. Specyfikacje
103 Java Servlet i JavaServer Pages są rozwijane przez Suna zgodnie z Java
107 Summary: The Apache Tomcat Servlet/JSP Container documentation
108 Summary(pl.UTF-8): Dokumentacja do Tomcata - kontenera Servlet/JSP
110 Obsoletes: apache-tomcat-doc
111 Obsoletes: jakarta-tomcat-doc
112 Obsoletes: tomcat-doc
114 %description webapp-docs
115 The Tomcat Servlet/JSP Container documentation.
117 %description webapp-docs -l pl.UTF-8
118 Dokumentacja do Tomcata - kontenera Servlet/JSP.
120 %package webapp-manager
121 Summary: The Apache Tomcat Servlet/JSP application manager
122 Summary(pl.UTF-8): Zarządca aplikacji w Tomcacie
123 Group: Networking/Daemons/Java/Servlets
124 Requires: %{name} = %{epoch}:%{version}-%{release}
126 %description webapp-manager
127 The Apache Tomcat Servlet/JSP application manager.
129 %description webapp-manager -l pl.UTF-8
130 Zarządca aplikacji w Tomcacie.
132 %package webapp-host-manager
133 Summary: The Apache Tomcat Servlet/JSP virtual hosts manager
134 Summary(pl.UTF-8): Zarządca wirtualnych hostów w Tomcacie
135 Group: Networking/Daemons/Java/Servlets
136 Requires: %{name} = %{epoch}:%{version}-%{release}
137 Obsoletes: tomcat-admin
139 %description webapp-host-manager
140 The Apache Tomcat Servlet/JSP virtual hosts manager.
142 %description webapp-host-manager -l pl.UTF-8
143 Zarządca wirtualnych hostów w Tomcacie.
145 %package webapp-examples
146 Summary: The Apache Tomcat Servlet/JSP example applications
147 Summary(pl.UTF-8): Przykładowe aplikacje dla Tomcata
148 Group: Networking/Daemons/Java/Servlets
149 Requires: %{name} = %{epoch}:%{version}-%{release}
151 %description webapp-examples
152 The Apache Tomcat Servlet/JSP example applications.
154 %description webapp-examples -l pl.UTF-8
155 Przykładowe aplikacje dla Tomcata.
158 Summary: Web Services support (JSR 109)
159 Group: Libraries/Java
160 Requires: %{name} = %{epoch}:%{version}-%{release}
161 Requires: java(JSR109)
162 Requires: java-geronimo-spec-jaxrpc
164 %description webservices
165 Factories for JSR 109 which may be used to resolve web services
168 %package -n java-tomcat-catalina
169 Summary: Tomcat's servlet container
170 Group: Libraries/Java
171 Requires: jpackage-utils
173 %description -n java-tomcat-catalina
174 Catalina is Tomcat's servlet container. Catalina implements Sun
175 Microsystems' specifications for servlet and JavaServer Pages (JSP).
177 %package -n java-tomcat-coyote
178 Summary: Tomcat HTTP connector
179 Group: Libraries/Java
180 Requires: jpackage-utils
182 %description -n java-tomcat-coyote
183 Coyote is Tomcat's HTTP Connector component that supports the HTTP 1.1
184 protocol for the web server or application container. Coyote listens
185 for incoming connections on a specific TCP port on the server and
186 forwards the request to the Tomcat Engine to process the request and
187 send back a response to the requesting client.
190 Summary: JSP compiler
191 Summary(pl.UTF-8): Kompilator JSP
192 Group: Libraries/Java
193 Requires: eclipse-jdt >= 3.2
194 Requires: jpackage-utils
195 Obsoletes: apache-tomcat-jasper
198 Jasper is Java ServerPages compiler used by Apache Tomcat servlet
201 %description jasper -l pl.UTF-8
202 Jasper jest kompilatorem Java ServerPages używanym przez kontener
203 servletów Apache Tomcat.
205 %package -n java-servletapi
206 Summary: Java servlet and JSP implementation classes
207 Summary(pl.UTF-8): Klasy z implementacją Java Servlet i JSP
208 Group: Libraries/Java
209 Provides: java(JSP) = %{jspapiver}
210 Provides: java(Servlet) = %{servletapiver}
211 Obsoletes: java-servletapi5
213 %description -n java-servletapi
214 Implementation classes of the Java Servlet and JSP APIs (packages
215 javax.servlet, javax.servlet.http, javax.servlet.jsp, and
216 javax.servlet.jsp.tagext).
218 %description -n java-servletapi -l pl.UTF-8
219 Implementacje klas API Java Servlet i JSP (pakiety javax.servlet,
220 javax.servlet.http, javax.servlet.jsp i java.servlet.jsp.tagext).
223 %setup -q -n apache-%{name}-%{version}-src
229 # we don't need those scripts
231 rm bin/{startup,shutdown}.sh
233 cp %{SOURCE3} build.properties
238 %ant -Drpm.javadir=%{_javadir} -Drpm.libdir=%{_libdir}
241 %ant -f dist.xml dist-javadoc
244 %if %{with webservices}
245 mkdir -p output/extras/webservices
247 ln -s %{_javadir}/geronimo-spec-jaxrpc.jar output/extras/webservices/jaxrpc.jar
248 ln -s %{_javadir}/jsr109.jar output/extras/webservices/wsdl4j.jar
250 %ant -f extras.xml webservices
255 rm -rf $RPM_BUILD_ROOT
258 TOMCATDIR=$RPM_BUILD_ROOT%{_tomcatdir}
259 CATALINADIR=$RPM_BUILD_ROOT/var/lib/tomcat
261 install -d $TOMCATDIR \
263 $RPM_BUILD_ROOT%{_vardir}/webapps \
264 $RPM_BUILD_ROOT%{_vardir}/work \
265 $RPM_BUILD_ROOT%{_vardir}/conf \
266 $RPM_BUILD_ROOT%{_logdir}/tomcat \
267 $RPM_BUILD_ROOT/etc/sysconfig \
268 $RPM_BUILD_ROOT/etc/rc.d/init.d
270 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
271 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/tomcat
273 cp -a conf/* $CATALINADIR/conf
274 install -d $CATALINADIR/conf/Catalina/localhost
275 install %{SOURCE10} $CATALINADIR/conf/Catalina/localhost/ROOT.xml
276 install %{SOURCE11} $CATALINADIR/conf/Catalina/localhost/docs.xml
277 install %{SOURCE12} $CATALINADIR/conf/Catalina/localhost/manager.xml
278 install %{SOURCE13} $CATALINADIR/conf/Catalina/localhost/host-manager.xml
279 install %{SOURCE14} $CATALINADIR/conf/Catalina/localhost/examples.xml
281 cp -a bin lib webapps $TOMCATDIR
282 cp -a temp $CATALINADIR
284 ln -sf %{_logdir}/tomcat $CATALINADIR/logs
285 ln -sf %{_logdir}/tomcat $TOMCATDIR/logs
286 ln -sf %{_vardir}/work $TOMCATDIR/work
287 ln -sf %{_vardir}/conf $TOMCATDIR/conf
288 ln -sf %{_vardir}/conf $RPM_BUILD_ROOT%{_sysconfdir}
290 # symlinks instead of copies
291 jars="commons-daemon commons-logging-api"
294 ln -sf $jar $TOMCATDIR/bin
297 jars="commons-pool-tomcat5 commons-dbcp-tomcat5 mysql-connector-java org.eclipse.jdt.core"
300 ln -sf $jar $TOMCATDIR/lib
303 install -d $RPM_BUILD_ROOT%{_javadir}
304 mv $TOMCATDIR/lib/jasper*.jar $RPM_BUILD_ROOT%{_javadir}
305 mv $TOMCATDIR/lib/jsp-api.jar $RPM_BUILD_ROOT%{_javadir}/jsp-api-%{jspapiver}.jar
306 mv $TOMCATDIR/lib/servlet-api.jar $RPM_BUILD_ROOT%{_javadir}/servlet-api-%{servletapiver}.jar
307 mv $TOMCATDIR/lib/catalina.jar $RPM_BUILD_ROOT%{_javadir}/tomcat6-catalina.jar
308 mv $TOMCATDIR/lib/tomcat-coyote.jar $RPM_BUILD_ROOT%{_javadir}/tomcat6-coyote.jar
310 ln -s jsp-api-%{jspapiver}.jar $RPM_BUILD_ROOT%{_javadir}/jsp-api.jar
311 ln -s servlet-api-%{servletapiver}.jar $RPM_BUILD_ROOT%{_javadir}/servlet-api.jar
313 # XXX add softlinks jasper-compiler.jar and jasper-runtime for compatibility with tomcat 5.5?
314 ln -sf %{_javadir}/jasper-el.jar $TOMCATDIR/lib
315 ln -sf %{_javadir}/jasper.jar $TOMCATDIR/lib
317 ln -sf %{_javadir}/jsp-api-%{jspapiver}.jar $TOMCATDIR/lib
318 ln -sf %{_javadir}/servlet-api-%{servletapiver}.jar $TOMCATDIR/lib
320 ln -sf %{_javadir}/tomcat6-catalina.jar $TOMCATDIR/lib/catalina.jar
321 ln -sf %{_javadir}/tomcat6-coyote.jar $TOMCATDIR/lib/tomcat-coyote.jar
323 %if %{with webservices}
324 install ../extras/catalina-ws.jar $TOMCATDIR/lib/catalina-ws.jar
326 ln -s %{_javadir}/geronimo-spec-jaxrpc.jar $TOMCATDIR/lib/jaxrpc.jar
327 ln -s %{_javadir}/jsr109.jar $TOMCATDIR/lib/jsr109.jar
331 rm -rf $RPM_BUILD_ROOT
334 %groupadd -g 234 -r -f tomcat
335 %groupadd -g 237 -r -f servlet
336 %useradd -u 234 -r -d /var/lib/tomcat -s /bin/false -c "Tomcat User" -g tomcat -G servlet tomcat
339 /sbin/chkconfig --add tomcat
340 %service tomcat restart
343 if [ "$1" = "0" ]; then
345 /sbin/chkconfig --del tomcat
349 if [ "$1" = "0" ]; then
356 %defattr(644,root,root,755)
357 %doc KEYS RELEASE-NOTES RELEASE-PLAN-6.0.txt RUNNING.txt
358 %attr(754,root,root) /etc/rc.d/init.d/tomcat
359 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/tomcat
362 %dir %{_tomcatdir}/conf
363 %dir %{_tomcatdir}/bin
364 %{_tomcatdir}/bin/catalina-tasks.xml
365 %attr(755,root,root) %{_tomcatdir}/bin/*.sh
366 %{_tomcatdir}/bin/*.jar
367 %dir %{_tomcatdir}/lib
368 %{_tomcatdir}/lib/annotations-api.jar
369 %{_tomcatdir}/lib/catalina-ant.jar
370 %{_tomcatdir}/lib/catalina-ha.jar
371 %{_tomcatdir}/lib/catalina.jar
372 %{_tomcatdir}/lib/catalina-tribes.jar
373 %{_tomcatdir}/lib/commons-dbcp-tomcat5.jar
374 %{_tomcatdir}/lib/commons-pool-tomcat5.jar
375 %{_tomcatdir}/lib/el-api.jar
376 %{_tomcatdir}/lib/jasper-el.jar
377 %{_tomcatdir}/lib/jasper.jar
378 %{_tomcatdir}/lib/jsp-api-2.1.jar
379 %{_tomcatdir}/lib/mysql-connector-java.jar
380 %{_tomcatdir}/lib/org.eclipse.jdt.core.jar
381 %{_tomcatdir}/lib/servlet-api-2.5.jar
382 %{_tomcatdir}/lib/tomcat-coyote.jar
383 %{_tomcatdir}/lib/tomcat-i18n-es.jar
384 %{_tomcatdir}/lib/tomcat-i18n-fr.jar
385 %{_tomcatdir}/lib/tomcat-i18n-ja.jar
387 %dir %{_tomcatdir}/webapps
389 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/ROOT.xml
390 %{_tomcatdir}/webapps/ROOT
394 %dir %attr(770,root,tomcat) %{_vardir}
395 # these directory has to be writeable because /admin need to modify config
396 # files and create temporary files
397 %dir %attr(770,root,tomcat) %{_vardir}/conf
398 %dir %attr(770,root,tomcat) %{_vardir}/conf/Catalina
399 %dir %{_vardir}/conf/Catalina/localhost
400 # tomcat config has to be writeable because of tomcat-users.xml file and Catalina dir
401 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/catalina.policy
402 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.properties*
403 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.xml
404 %dir %attr(770,root,tomcat) %{_vardir}/work
405 %dir %attr(770,root,tomcat) %{_vardir}/webapps
406 %dir %attr(770,root,tomcat) %{_vardir}/temp
407 %dir %attr(770,root,tomcat) %{_logdir}/tomcat
411 %defattr(644,root,root,755)
412 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/docs.xml
413 %{_tomcatdir}/webapps/docs
415 %files webapp-manager
416 %defattr(644,root,root,755)
417 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/manager.xml
418 %{_tomcatdir}/webapps/manager
420 %files webapp-host-manager
421 %defattr(644,root,root,755)
422 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/host-manager.xml
423 %{_tomcatdir}/webapps/host-manager
425 %files webapp-examples
426 %defattr(644,root,root,755)
427 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/examples.xml
428 %{_tomcatdir}/webapps/examples
430 %if %{with webservices}
432 %defattr(644,root,root,755)
433 %{_tomcatdir}/lib/catalina-ws.jar
434 %{_tomcatdir}/lib/jsr109.jar
435 %{_tomcatdir}/lib/jaxrpc.jar
439 %defattr(644,root,root,755)
440 %{_javadir}/jasper-el.jar
441 %{_javadir}/jasper.jar
443 %files -n java-tomcat-catalina
444 %defattr(644,root,root,755)
445 %{_javadir}/tomcat6-catalina.jar
447 %files -n java-tomcat-coyote
448 %defattr(644,root,root,755)
449 %{_javadir}/tomcat6-coyote.jar
451 %files -n java-servletapi
452 %defattr(644,root,root,755)
453 %{_javadir}/jsp-api*.jar
454 %{_javadir}/servlet-api*.jar