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}
60 Requires: jpackage-utils
64 Suggests: tomcat-native
65 Provides: group(servlet)
66 Provides: group(tomcat)
67 Provides: user(tomcat)
68 Obsoletes: apache-tomcat
69 Obsoletes: jakarta-tomcat
71 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
73 %define _tomcatdir %{_datadir}/tomcat
74 %define _logdir %{_var}/log
75 %define _vardir %{_var}/lib/tomcat
76 %define _sysconfdir /etc/tomcat
78 %define find_jar() %{expand:%%define jarfile {%(jar=$(find-jar %1); echo ${jar:-%%nil})}}%{?jarfile}%{!?jarfile:%{error:find-jar %1 failed}}%{nil}
81 Tomcat is the servlet container that is used in the official Reference
82 Implementation for the Java Servlet and JavaServer Pages technologies.
83 The Java Servlet and JavaServer Pages specifications are developed by
84 Sun under the Java Community Process.
86 Tomcat is developed in an open and participatory environment and
87 released under the Apache Software License. Tomcat is intended to be a
88 collaboration of the best-of-breed developers from around the world.
89 We invite you to participate in this open development project.
91 %description -l pl.UTF-8
92 Tomcat to kontener serwletowy używany przez oficjalną implementację
93 wzorcową technologii Java Servlet i JavaServer Pages. Specyfikacje
94 Java Servlet i JavaServer Pages są rozwijane przez Suna zgodnie z Java
98 Summary: The Apache Tomcat Servlet/JSP Container documentation
99 Summary(pl.UTF-8): Dokumentacja do Tomcata - kontenera Servlet/JSP
101 Obsoletes: apache-tomcat-doc
102 Obsoletes: jakarta-tomcat-doc
103 Obsoletes: tomcat-doc
105 %description webapp-docs
106 The Tomcat Servlet/JSP Container documentation.
108 %description webapp-docs -l pl.UTF-8
109 Dokumentacja do Tomcata - kontenera Servlet/JSP.
111 %package webapp-manager
112 Summary: The Apache Tomcat Servlet/JSP application manager
113 Summary(pl.UTF-8): Zarządca aplikacji w Tomcacie
114 Group: Networking/Daemons/Java/Servlets
115 Requires: %{name} = %{epoch}:%{version}-%{release}
117 %description webapp-manager
118 The Apache Tomcat Servlet/JSP application manager.
120 %description webapp-manager -l pl.UTF-8
121 Zarządca aplikacji w Tomcacie.
123 %package webapp-host-manager
124 Summary: The Apache Tomcat Servlet/JSP virtual hosts manager
125 Summary(pl.UTF-8): Zarządca wirtualnych hostów w Tomcacie
126 Group: Networking/Daemons/Java/Servlets
127 Requires: %{name} = %{epoch}:%{version}-%{release}
128 Obsoletes: tomcat-admin
130 %description webapp-host-manager
131 The Apache Tomcat Servlet/JSP virtual hosts manager.
133 %description webapp-host-manager -l pl.UTF-8
134 Zarządca wirtualnych hostów w Tomcacie.
136 %package webapp-examples
137 Summary: The Apache Tomcat Servlet/JSP example applications
138 Summary(pl.UTF-8): Przykładowe aplikacje dla Tomcata
139 Group: Networking/Daemons/Java/Servlets
140 Requires: %{name} = %{epoch}:%{version}-%{release}
142 %description webapp-examples
143 The Apache Tomcat Servlet/JSP example applications.
145 %description webapp-examples -l pl.UTF-8
146 Przykładowe aplikacje dla Tomcata.
149 Summary: Web Services support (JSR 109)
150 Group: Libraries/Java
151 Requires: %{name} = %{epoch}:%{version}-%{release}
152 Requires: java(JSR109)
153 Requires: java-geronimo-spec-jaxrpc
155 %description webservices
156 Factories for JSR 109 which may be used to resolve web services
159 %package -n java-tomcat-catalina
160 Summary: Tomcat's servlet container
161 Group: Libraries/Java
162 Requires: jpackage-utils
164 %description -n java-tomcat-catalina
165 Catalina is Tomcat's servlet container. Catalina implements Sun
166 Microsystems' specifications for servlet and JavaServer Pages (JSP).
168 %package -n java-tomcat-coyote
169 Summary: Tomcat HTTP connector
170 Group: Libraries/Java
171 Requires: jpackage-utils
173 %description -n java-tomcat-coyote
174 Coyote is Tomcat's HTTP Connector component that supports the HTTP 1.1
175 protocol for the web server or application container. Coyote listens
176 for incoming connections on a specific TCP port on the server and
177 forwards the request to the Tomcat Engine to process the request and
178 send back a response to the requesting client.
180 %package -n java-tomcat-jasper
181 Summary: JSP compiler
182 Summary(pl.UTF-8): Kompilator JSP
183 Group: Libraries/Java
184 Requires: eclipse-jdt >= 3.2
185 Requires: jpackage-utils
186 Obsoletes: apache-tomcat-jasper
187 Obsoletes: tomcat-jasper
189 %description -n java-tomcat-jasper
190 Jasper is Java ServerPages compiler used by Apache Tomcat servlet
193 %description -n java-tomcat-jasper -l pl.UTF-8
194 Jasper jest kompilatorem Java ServerPages używanym przez kontener
195 servletów Apache Tomcat.
197 %package -n java-servletapi
198 Summary: Java servlet and JSP implementation classes
199 Summary(pl.UTF-8): Klasy z implementacją Java Servlet i JSP
200 Group: Libraries/Java
201 Provides: java(jsp) = %{jspapiver}
202 Provides: java(servlet) = %{servletapiver}
203 Obsoletes: java-servletapi5
205 %description -n java-servletapi
206 Implementation classes of the Java Servlet and JSP APIs (packages
207 javax.servlet, javax.servlet.http, javax.servlet.jsp, and
208 javax.servlet.jsp.tagext).
210 %description -n java-servletapi -l pl.UTF-8
211 Implementacje klas API Java Servlet i JSP (pakiety javax.servlet,
212 javax.servlet.http, javax.servlet.jsp i java.servlet.jsp.tagext).
215 %setup -q -n apache-%{name}-%{version}-src
220 # we don't need those scripts
222 rm bin/{startup,shutdown}.sh
224 cp %{SOURCE3} build.properties
229 %ant -Drpm.javadir=%{_javadir} -Drpm.libdir=%{_libdir}
232 %ant -f dist.xml dist-javadoc
235 %if %{with webservices}
236 mkdir -p output/extras/webservices
238 ln -s %{_javadir}/geronimo-spec-jaxrpc.jar output/extras/webservices/jaxrpc.jar
239 ln -s %{_javadir}/jsr109.jar output/extras/webservices/wsdl4j.jar
241 %ant -f extras.xml webservices
246 rm -rf $RPM_BUILD_ROOT
249 TOMCATDIR=$RPM_BUILD_ROOT%{_tomcatdir}
250 CATALINADIR=$RPM_BUILD_ROOT/var/lib/tomcat
252 install -d $TOMCATDIR \
254 $RPM_BUILD_ROOT%{_vardir}/webapps \
255 $RPM_BUILD_ROOT%{_vardir}/work \
256 $RPM_BUILD_ROOT%{_vardir}/conf \
257 $RPM_BUILD_ROOT%{_logdir}/tomcat \
258 $RPM_BUILD_ROOT/etc/sysconfig \
259 $RPM_BUILD_ROOT/etc/rc.d/init.d
261 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
262 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/tomcat
264 cp -a conf/* $CATALINADIR/conf
265 install -d $CATALINADIR/conf/Catalina/localhost
266 install %{SOURCE10} $CATALINADIR/conf/Catalina/localhost/ROOT.xml
267 install %{SOURCE11} $CATALINADIR/conf/Catalina/localhost/docs.xml
268 install %{SOURCE12} $CATALINADIR/conf/Catalina/localhost/manager.xml
269 install %{SOURCE13} $CATALINADIR/conf/Catalina/localhost/host-manager.xml
270 install %{SOURCE14} $CATALINADIR/conf/Catalina/localhost/examples.xml
272 cp -a bin lib webapps $TOMCATDIR
273 cp -a temp $CATALINADIR
275 ln -sf %{_logdir}/tomcat $CATALINADIR/logs
276 ln -sf %{_logdir}/tomcat $TOMCATDIR/logs
277 ln -sf %{_vardir}/work $TOMCATDIR/work
278 ln -sf %{_vardir}/conf $TOMCATDIR/conf
279 ln -sf %{_vardir}/conf $RPM_BUILD_ROOT%{_sysconfdir}
281 # symlinks instead of copies
282 jars="commons-daemon commons-logging-api"
285 ln -sf $jar $TOMCATDIR/bin
288 jars="commons-pool-tomcat5 commons-dbcp-tomcat5 mysql-connector-java org.eclipse.jdt.core"
291 ln -sf $jar $TOMCATDIR/lib
294 install -d $RPM_BUILD_ROOT%{_javadir}
295 mv $TOMCATDIR/lib/jasper*.jar $RPM_BUILD_ROOT%{_javadir}
296 mv $TOMCATDIR/lib/jsp-api.jar $RPM_BUILD_ROOT%{_javadir}/jsp-api-%{jspapiver}.jar
297 mv $TOMCATDIR/lib/servlet-api.jar $RPM_BUILD_ROOT%{_javadir}/servlet-api-%{servletapiver}.jar
298 mv $TOMCATDIR/lib/catalina.jar $RPM_BUILD_ROOT%{_javadir}/tomcat6-catalina.jar
299 mv $TOMCATDIR/lib/tomcat-coyote.jar $RPM_BUILD_ROOT%{_javadir}/tomcat6-coyote.jar
301 ln -s jsp-api-%{jspapiver}.jar $RPM_BUILD_ROOT%{_javadir}/jsp-api.jar
302 ln -s servlet-api-%{servletapiver}.jar $RPM_BUILD_ROOT%{_javadir}/servlet-api.jar
304 # XXX add softlinks jasper-compiler.jar and jasper-runtime for compatibility with tomcat 5.5?
305 ln -sf %{_javadir}/jasper-el.jar $TOMCATDIR/lib
306 ln -sf %{_javadir}/jasper.jar $TOMCATDIR/lib
308 ln -sf %{_javadir}/jsp-api-%{jspapiver}.jar $TOMCATDIR/lib/jsp-api.jar
309 ln -sf %{_javadir}/servlet-api-%{servletapiver}.jar $TOMCATDIR/lib/servlet-api.jar
311 ln -sf %{_javadir}/tomcat6-catalina.jar $TOMCATDIR/lib/catalina.jar
312 ln -sf %{_javadir}/tomcat6-coyote.jar $TOMCATDIR/lib/tomcat-coyote.jar
314 %if %{with webservices}
315 install ../extras/catalina-ws.jar $TOMCATDIR/lib/catalina-ws.jar
317 ln -s %{_javadir}/geronimo-spec-jaxrpc.jar $TOMCATDIR/lib/jaxrpc.jar
318 ln -s %{_javadir}/jsr109.jar $TOMCATDIR/lib/jsr109.jar
322 rm -rf $RPM_BUILD_ROOT
325 %groupadd -g 234 -r -f tomcat
326 %groupadd -g 237 -r -f servlet
327 %useradd -u 234 -r -d /var/lib/tomcat -s /bin/false -c "Tomcat User" -g tomcat -G servlet tomcat
330 /sbin/chkconfig --add tomcat
331 %service tomcat restart
334 if [ "$1" = "0" ]; then
336 /sbin/chkconfig --del tomcat
340 if [ "$1" = "0" ]; then
347 %defattr(644,root,root,755)
348 %doc KEYS RELEASE-NOTES RELEASE-PLAN-6.0.txt RUNNING.txt
349 %attr(754,root,root) /etc/rc.d/init.d/tomcat
350 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/tomcat
353 %dir %{_tomcatdir}/conf
354 %dir %{_tomcatdir}/bin
355 %{_tomcatdir}/bin/catalina-tasks.xml
356 %attr(755,root,root) %{_tomcatdir}/bin/*.sh
357 %{_tomcatdir}/bin/*.jar
358 %dir %{_tomcatdir}/lib
359 %{_tomcatdir}/lib/annotations-api.jar
360 %{_tomcatdir}/lib/catalina-ant.jar
361 %{_tomcatdir}/lib/catalina-ha.jar
362 %{_tomcatdir}/lib/catalina.jar
363 %{_tomcatdir}/lib/catalina-tribes.jar
364 %{_tomcatdir}/lib/commons-dbcp-tomcat5.jar
365 %{_tomcatdir}/lib/commons-pool-tomcat5.jar
366 %{_tomcatdir}/lib/el-api.jar
367 %{_tomcatdir}/lib/jasper-el.jar
368 %{_tomcatdir}/lib/jasper.jar
369 %{_tomcatdir}/lib/jsp-api.jar
370 %{_tomcatdir}/lib/mysql-connector-java.jar
371 %{_tomcatdir}/lib/org.eclipse.jdt.core.jar
372 %{_tomcatdir}/lib/servlet-api.jar
373 %{_tomcatdir}/lib/tomcat-coyote.jar
374 %{_tomcatdir}/lib/tomcat-i18n-es.jar
375 %{_tomcatdir}/lib/tomcat-i18n-fr.jar
376 %{_tomcatdir}/lib/tomcat-i18n-ja.jar
378 %dir %{_tomcatdir}/webapps
380 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/ROOT.xml
381 %{_tomcatdir}/webapps/ROOT
385 %dir %attr(770,root,tomcat) %{_vardir}
386 # these directory has to be writeable because /admin need to modify config
387 # files and create temporary files
388 %dir %attr(770,root,tomcat) %{_vardir}/conf
389 %dir %attr(770,root,tomcat) %{_vardir}/conf/Catalina
390 %dir %{_vardir}/conf/Catalina/localhost
391 # tomcat config has to be writeable because of tomcat-users.xml file and Catalina dir
392 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/catalina.policy
393 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.properties*
394 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.xml
395 %dir %attr(770,root,tomcat) %{_vardir}/work
396 %dir %attr(770,root,tomcat) %{_vardir}/webapps
397 %dir %attr(770,root,tomcat) %{_vardir}/temp
398 %dir %attr(770,root,tomcat) %{_logdir}/tomcat
402 %defattr(644,root,root,755)
403 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/docs.xml
404 %{_tomcatdir}/webapps/docs
406 %files webapp-manager
407 %defattr(644,root,root,755)
408 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/manager.xml
409 %{_tomcatdir}/webapps/manager
411 %files webapp-host-manager
412 %defattr(644,root,root,755)
413 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/host-manager.xml
414 %{_tomcatdir}/webapps/host-manager
416 %files webapp-examples
417 %defattr(644,root,root,755)
418 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/examples.xml
419 %{_tomcatdir}/webapps/examples
421 %if %{with webservices}
423 %defattr(644,root,root,755)
424 %{_tomcatdir}/lib/catalina-ws.jar
425 %{_tomcatdir}/lib/jsr109.jar
426 %{_tomcatdir}/lib/jaxrpc.jar
429 %files -n java-tomcat-jasper
430 %defattr(644,root,root,755)
431 %{_javadir}/jasper-el.jar
432 %{_javadir}/jasper.jar
434 %files -n java-tomcat-catalina
435 %defattr(644,root,root,755)
436 %{_javadir}/tomcat6-catalina.jar
438 %files -n java-tomcat-coyote
439 %defattr(644,root,root,755)
440 %{_javadir}/tomcat6-coyote.jar
442 %files -n java-servletapi
443 %defattr(644,root,root,755)
444 %{_javadir}/jsp-api*.jar
445 %{_javadir}/servlet-api*.jar