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 URL: http://tomcat.apache.org/
31 BuildRequires: apr-devel
32 BuildRequires: autoconf
33 BuildRequires: libtool
34 BuildRequires: openssl-devel
36 BuildRequires: java-sun >= 1.5
37 BuildRequires: java-sun-jre >= 1.5
39 BuildRequires: java-gcj-compat-devel
41 BuildRequires: ant >= 1.5.3
42 BuildRequires: ant-trax
43 BuildRequires: eclipse-jdt >= 3.2
44 BuildRequires: java-commons-collections >= 0:2.0
45 BuildRequires: java-commons-daemon >= 1.0
46 BuildRequires: java-commons-dbcp-tomcat5 >= 0:1.1
47 BuildRequires: java-commons-pool-tomcat5
48 %if %{with webservices}
49 BuildRequires: java(JSR109)
50 BuildRequires: java-geronimo-spec-jaxrpc
52 BuildRequires: jpackage-utils
53 BuildRequires: rpmbuild(macros) >= 1.300
54 Requires(post,preun): /sbin/chkconfig
55 Requires(postun): /usr/sbin/groupdel
56 Requires(postun): /usr/sbin/userdel
57 Requires(pre): /bin/id
58 Requires(pre): /usr/bin/getgid
59 Requires(pre): /usr/sbin/groupadd
60 Requires(pre): /usr/sbin/useradd
61 Requires: %{name}-catalina = %{epoch}:%{version}-%{release}
62 Requires: %{name}-coyote = %{epoch}:%{version}-%{release}
63 Requires: %{name}-jasper = %{epoch}:%{version}-%{release}
64 Requires: java-commons-dbcp-tomcat5 >= 0:1.1
65 Requires: java-commons-pool-tomcat5
66 Requires: java-jdbc-mysql
67 Requires: java-servletapi = %{epoch}:%{version}-%{release}
68 Requires: java-sun-jre >= 1.2
69 Requires: jaxp_parser_impl
70 Requires: jndi >= 1.2.1
72 Suggests: tomcat-native
73 Provides: group(servlet)
74 Provides: group(tomcat)
75 Provides: user(tomcat)
76 Obsoletes: apache-tomcat
77 Obsoletes: jakarta-tomcat
79 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
81 %define _tomcatdir %{_datadir}/tomcat
82 %define _logdir %{_var}/log
83 %define _vardir %{_var}/lib/tomcat
84 %define _sysconfdir /etc/tomcat
86 %define find_jar() %{expand:%%define jarfile {%(jar=$(find-jar %1); echo ${jar:-%%nil})}}%{?jarfile}%{!?jarfile:%{error:find-jar %1 failed}}%{nil}
89 Tomcat is the servlet container that is used in the official Reference
90 Implementation for the Java Servlet and JavaServer Pages technologies.
91 The Java Servlet and JavaServer Pages specifications are developed by
92 Sun under the Java Community Process.
94 Tomcat is developed in an open and participatory environment and
95 released under the Apache Software License. Tomcat is intended to be a
96 collaboration of the best-of-breed developers from around the world.
97 We invite you to participate in this open development project.
99 %description -l pl.UTF-8
100 Tomcat to kontener serwletowy używany przez oficjalną implementację
101 wzorcową technologii Java Servlet i JavaServer Pages. Specyfikacje
102 Java Servlet i JavaServer Pages są rozwijane przez Suna zgodnie z Java
106 Summary: The Apache Tomcat Servlet/JSP Container documentation
107 Summary(pl.UTF-8): Dokumentacja do Tomcata - kontenera Servlet/JSP
109 Obsoletes: apache-tomcat-doc
110 Obsoletes: jakarta-tomcat-doc
111 Obsoletes: tomcat-doc
113 %description webapp-docs
114 The Tomcat Servlet/JSP Container documentation.
116 %description webapp-docs -l pl.UTF-8
117 Dokumentacja do Tomcata - kontenera Servlet/JSP.
119 %package webapp-manager
120 Summary: The Apache Tomcat Servlet/JSP application manager
121 Summary(pl.UTF-8): Zarządca aplikacji w Tomcacie
122 Group: Networking/Daemons/Java/Servlets
123 Requires: %{name} = %{epoch}:%{version}-%{release}
125 %description webapp-manager
126 The Apache Tomcat Servlet/JSP application manager.
128 %description webapp-manager -l pl.UTF-8
129 Zarządca aplikacji w Tomcacie.
131 %package webapp-host-manager
132 Summary: The Apache Tomcat Servlet/JSP virtual hosts manager
133 Summary(pl.UTF-8): Zarządca wirtualnych hostów w Tomcacie
134 Group: Networking/Daemons/Java/Servlets
135 Requires: %{name} = %{epoch}:%{version}-%{release}
136 Obsoletes: tomcat-admin
138 %description webapp-host-manager
139 The Apache Tomcat Servlet/JSP virtual hosts manager.
141 %description webapp-host-manager -l pl.UTF-8
142 Zarządca wirtualnych hostów w Tomcacie.
144 %package webapp-examples
145 Summary: The Apache Tomcat Servlet/JSP example applications
146 Summary(pl.UTF-8): Przykładowe aplikacje dla Tomcata
147 Group: Networking/Daemons/Java/Servlets
148 Requires: %{name} = %{epoch}:%{version}-%{release}
150 %description webapp-examples
151 The Apache Tomcat Servlet/JSP example applications.
153 %description webapp-examples -l pl.UTF-8
154 Przykładowe aplikacje dla Tomcata.
157 Summary: Web Services support (JSR 109)
158 Group: Libraries/Java
159 Requires: %{name} = %{epoch}:%{version}-%{release}
160 Requires: java(JSR109)
161 Requires: java-geronimo-spec-jaxrpc
163 %description webservices
164 Factories for JSR 109 which may be used to resolve web services
168 Summary: Tomcat's servlet container
169 Group: Libraries/Java
170 Requires: jpackage-utils
172 %description catalina
173 Catalina is Tomcat's servlet container. Catalina implements Sun
174 Microsystems' specifications for servlet and JavaServer Pages (JSP).
177 Summary: Tomcat HTTP connector
178 Group: Libraries/Java
179 Requires: jpackage-utils
182 Coyote is Tomcat's HTTP Connector component that supports the HTTP 1.1
183 protocol for the web server or application container. Coyote listens
184 for incoming connections on a specific TCP port on the server and
185 forwards the request to the Tomcat Engine to process the request and
186 send back a response to the requesting client.
189 Summary: JSP compiler
190 Summary(pl.UTF-8): Kompilator JSP
191 Group: Libraries/Java
192 Requires: eclipse-jdt >= 3.2
193 Requires: jpackage-utils
194 Obsoletes: apache-tomcat-jasper
197 Jasper is Java ServerPages compiler used by Apache Tomcat servlet
200 %description jasper -l pl.UTF-8
201 Jasper jest kompilatorem Java ServerPages używanym przez kontener
202 servletów Apache Tomcat.
204 %package -n java-servletapi
205 Summary: Java servlet and JSP implementation classes
206 Summary(pl.UTF-8): Klasy z implementacją Java Servlet i JSP
207 Group: Libraries/Java
208 Provides: java(JSP) = %{jspapiver}
209 Provides: java(Servlet) = %{servletapiver}
210 Obsoletes: java-servletapi5
212 %description -n java-servletapi
213 Implementation classes of the Java Servlet and JSP APIs (packages
214 javax.servlet, javax.servlet.http, javax.servlet.jsp, and
215 javax.servlet.jsp.tagext).
217 %description -n java-servletapi -l pl.UTF-8
218 Implementacje klas API Java Servlet i JSP (pakiety javax.servlet,
219 javax.servlet.http, javax.servlet.jsp i java.servlet.jsp.tagext).
222 %setup -q -n apache-%{name}-%{version}-src
227 # we don't need those scripts
229 rm bin/{startup,shutdown}.sh
231 cp %{SOURCE3} build.properties
236 %ant -Drpm.javadir=%{_javadir} -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
253 rm -rf $RPM_BUILD_ROOT
256 TOMCATDIR=$RPM_BUILD_ROOT%{_tomcatdir}
257 CATALINADIR=$RPM_BUILD_ROOT/var/lib/tomcat
259 install -d $TOMCATDIR \
261 $RPM_BUILD_ROOT%{_vardir}/webapps \
262 $RPM_BUILD_ROOT%{_vardir}/work \
263 $RPM_BUILD_ROOT%{_vardir}/conf \
264 $RPM_BUILD_ROOT%{_logdir}/tomcat \
265 $RPM_BUILD_ROOT/etc/sysconfig \
266 $RPM_BUILD_ROOT/etc/rc.d/init.d
268 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
269 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/tomcat
271 cp -a conf/* $CATALINADIR/conf
272 install -d $CATALINADIR/conf/Catalina/localhost
273 install %{SOURCE10} $CATALINADIR/conf/Catalina/localhost/ROOT.xml
274 install %{SOURCE11} $CATALINADIR/conf/Catalina/localhost/docs.xml
275 install %{SOURCE12} $CATALINADIR/conf/Catalina/localhost/manager.xml
276 install %{SOURCE13} $CATALINADIR/conf/Catalina/localhost/host-manager.xml
277 install %{SOURCE14} $CATALINADIR/conf/Catalina/localhost/examples.xml
279 cp -a bin lib webapps $TOMCATDIR
280 cp -a temp $CATALINADIR
282 ln -sf %{_logdir}/tomcat $CATALINADIR/logs
283 ln -sf %{_logdir}/tomcat $TOMCATDIR/logs
284 ln -sf %{_vardir}/work $TOMCATDIR/work
285 ln -sf %{_vardir}/conf $TOMCATDIR/conf
286 ln -sf %{_vardir}/conf $RPM_BUILD_ROOT%{_sysconfdir}
288 # symlinks instead of copies
289 jars="commons-daemon commons-logging-api"
292 ln -sf $jar $TOMCATDIR/bin
295 jars="commons-pool-tomcat5 commons-dbcp-tomcat5 mysql-connector-java org.eclipse.jdt.core"
298 ln -sf $jar $TOMCATDIR/lib
301 install -d $RPM_BUILD_ROOT%{_javadir}
302 mv $TOMCATDIR/lib/jasper*.jar $RPM_BUILD_ROOT%{_javadir}
303 mv $TOMCATDIR/lib/jsp-api.jar $RPM_BUILD_ROOT%{_javadir}/jsp-api-%{jspapiver}.jar
304 mv $TOMCATDIR/lib/servlet-api.jar $RPM_BUILD_ROOT%{_javadir}/servlet-api-%{servletapiver}.jar
305 mv $TOMCATDIR/lib/catalina.jar $RPM_BUILD_ROOT%{_javadir}/tomcat6-catalina.jar
306 mv $TOMCATDIR/lib/tomcat-coyote.jar $RPM_BUILD_ROOT%{_javadir}/tomcat6-coyote.jar
308 ln -s jsp-api-%{jspapiver}.jar $RPM_BUILD_ROOT%{_javadir}/jsp-api.jar
309 ln -s servlet-api-%{servletapiver}.jar $RPM_BUILD_ROOT%{_javadir}/servlet-api.jar
311 # XXX add softlinks jasper-compiler.jar and jasper-runtime for compatibility with tomcat 5.5?
312 ln -sf %{_javadir}/jasper-el.jar $TOMCATDIR/lib
313 ln -sf %{_javadir}/jasper.jar $TOMCATDIR/lib
315 ln -sf %{_javadir}/jsp-api-%{jspapiver}.jar $TOMCATDIR/lib
316 ln -sf %{_javadir}/servlet-api-%{servletapiver}.jar $TOMCATDIR/lib
318 ln -sf %{_javadir}/tomcat6-catalina.jar $TOMCATDIR/lib/catalina.jar
319 ln -sf %{_javadir}/tomcat6-coyote.jar $TOMCATDIR/lib/tomcat-coyote.jar
321 %if %{with webservices}
322 install ../extras/catalina-ws.jar $TOMCATDIR/lib/catalina-ws.jar
324 ln -s %{_javadir}/geronimo-spec-jaxrpc.jar $TOMCATDIR/lib/jaxrpc.jar
325 ln -s %{_javadir}/jsr109.jar $TOMCATDIR/lib/jsr109.jar
329 rm -rf $RPM_BUILD_ROOT
332 %groupadd -g 234 -r -f tomcat
333 %groupadd -g 237 -r -f servlet
334 %useradd -u 234 -r -d /var/lib/tomcat -s /bin/false -c "Tomcat User" -g tomcat -G servlet tomcat
337 /sbin/chkconfig --add tomcat
338 %service tomcat restart
341 if [ "$1" = "0" ]; then
343 /sbin/chkconfig --del tomcat
347 if [ "$1" = "0" ]; then
354 %defattr(644,root,root,755)
355 %doc KEYS RELEASE-NOTES RELEASE-PLAN-6.0.txt RUNNING.txt
356 %attr(754,root,root) /etc/rc.d/init.d/tomcat
357 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/tomcat
360 %dir %{_tomcatdir}/conf
361 %dir %{_tomcatdir}/bin
362 %{_tomcatdir}/bin/catalina-tasks.xml
363 %attr(755,root,root) %{_tomcatdir}/bin/*.sh
364 %{_tomcatdir}/bin/*.jar
365 %dir %{_tomcatdir}/lib
366 %{_tomcatdir}/lib/annotations-api.jar
367 %{_tomcatdir}/lib/catalina-ant.jar
368 %{_tomcatdir}/lib/catalina-ha.jar
369 %{_tomcatdir}/lib/catalina.jar
370 %{_tomcatdir}/lib/catalina-tribes.jar
371 %{_tomcatdir}/lib/commons-dbcp-tomcat5.jar
372 %{_tomcatdir}/lib/commons-pool-tomcat5.jar
373 %{_tomcatdir}/lib/el-api.jar
374 %{_tomcatdir}/lib/jsp-api-2.1.jar
375 %{_tomcatdir}/lib/mysql-connector-java.jar
376 %{_tomcatdir}/lib/servlet-api-2.5.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
434 %defattr(644,root,root,755)
435 %{_javadir}/jasper-el.jar
436 %{_javadir}/jasper.jar
437 %{_tomcatdir}/lib/jasper-el.jar
438 %{_tomcatdir}/lib/jasper.jar
439 %{_tomcatdir}/lib/org.eclipse.jdt.core.jar
442 %defattr(644,root,root,755)
443 %{_javadir}/tomcat6-catalina.jar
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