2 # - verify if java-commons-dbcp and java-commons-pool are really required
3 # or build-required. (Note that java-commons-{dbcp,pool}-tomcat5 ARE
7 %bcond_without javadoc # skip building javadocs
8 %bcond_without java_sun # build with gcj (does not work)
9 %bcond_without webservices # skip building webservices
12 %define servletapiver 2.5
14 %include /usr/lib/rpm/macros.java
15 Summary: Apache Servlet/JSP Engine, RI for Servlet %{servletapiver}/JSP %{jspapiver}API
16 Summary(pl.UTF-8): Silnik Servlet/JSP Apache będący wzorcową implementacją API Servlet %{servletapiver}/JSP %{jspapiver}
21 Group: Networking/Daemons/Java
22 Source0: http://www.apache.org/dist/tomcat/tomcat-6/v%{version}/src/apache-%{name}-%{version}-src.tar.gz
23 # Source0-md5: 44f49e7e14028b6a53c3c346bd18c72f
24 Source1: apache-%{name}.init
25 Source2: apache-%{name}.sysconfig
26 Source3: %{name}-build.properties
27 Source10: %{name}-context-ROOT.xml
28 Source11: %{name}-context-docs.xml
29 Source12: %{name}-context-manager.xml
30 Source13: %{name}-context-host-manager.xml
31 Source14: %{name}-context-examples.xml
32 Patch0: %{name}-build.xml.patch
33 Patch1: %{name}-extras.xml.patch
34 URL: http://tomcat.apache.org/
35 BuildRequires: apr-devel
36 BuildRequires: autoconf
37 BuildRequires: libtool
38 BuildRequires: openssl-devel
40 BuildRequires: java-sun >= 1.5
41 BuildRequires: java-sun-jre >= 1.5
43 BuildRequires: java-gcj-compat-devel
45 BuildRequires: ant >= 1.5.3
46 BuildRequires: ant-trax
47 BuildRequires: eclipse-jdt >= 3.2
48 BuildRequires: java-commons-collections >= 0:2.0
49 BuildRequires: java-commons-daemon >= 1.0
50 BuildRequires: java-commons-dbcp >= 0:1.1
51 BuildRequires: java-commons-dbcp-tomcat5 >= 0:1.1
52 BuildRequires: java-commons-pool
53 BuildRequires: java-commons-pool-tomcat5
54 %if %{with webservices}
55 BuildRequires: java(JSR109)
56 BuildRequires: java-geronimo-spec-jaxrpc
58 BuildRequires: jpackage-utils
59 BuildRequires: rpmbuild(macros) >= 1.300
60 Requires(post,postun): /sbin/ldconfig
61 Requires(post,preun): /sbin/chkconfig
62 Requires(postun): /usr/sbin/groupdel
63 Requires(postun): /usr/sbin/userdel
64 Requires(pre): /bin/id
65 Requires(pre): /usr/bin/getgid
66 Requires(pre): /usr/sbin/groupadd
67 Requires(pre): /usr/sbin/useradd
68 Requires: %{name}-jasper = %{epoch}:%{version}-%{release}
69 Requires: java-jdbc-mysql
70 Requires: java-servletapi = %{epoch}:%{version}-%{release}
71 Requires: java-commons-dbcp >= 0:1.1
72 Requires: java-commons-dbcp-tomcat5 >= 0:1.1
73 Requires: java-commons-pool
74 Requires: java-commons-pool-tomcat5
75 Requires: java-sun-jre >= 1.2
76 Requires: jaxp_parser_impl
77 Requires: jndi >= 1.2.1
79 Provides: group(servlet)
80 Provides: group(tomcat)
81 Provides: user(tomcat)
82 Obsoletes: apache-tomcat
83 Obsoletes: jakarta-tomcat
85 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
87 %define _tomcatdir %{_datadir}/tomcat
88 %define _logdir %{_var}/log
89 %define _vardir %{_var}/lib/tomcat
90 %define _sysconfdir /etc/tomcat
92 %define find_jar() %{expand:%%define jarfile {%(jar=$(find-jar %1); echo ${jar:-%%nil})}}%{?jarfile}%{!?jarfile:%{error:find-jar %1 failed}}%{nil}
95 Tomcat is the servlet container that is used in the official Reference
96 Implementation for the Java Servlet and JavaServer Pages technologies.
97 The Java Servlet and JavaServer Pages specifications are developed by
98 Sun under the Java Community Process.
100 Tomcat is developed in an open and participatory environment and
101 released under the Apache Software License. Tomcat is intended to be a
102 collaboration of the best-of-breed developers from around the world.
103 We invite you to participate in this open development project.
105 %description -l pl.UTF-8
106 Tomcat to kontener serwletowy używany przez oficjalną implementację
107 wzorcową technologii Java Servlet i JavaServer Pages. Specyfikacje
108 Java Servlet i JavaServer Pages są rozwijane przez Suna zgodnie z Java
112 Summary: The Apache Tomcat Servlet/JSP Container documentation
113 Summary(pl.UTF-8): Dokumentacja do Tomcata - kontenera Servlet/JSP
115 Obsoletes: apache-tomcat-doc
116 Obsoletes: jakarta-tomcat-doc
117 Obsoletes: tomcat-doc
119 %description webapp-docs
120 The Tomcat Servlet/JSP Container documentation.
122 %description webapp-docs -l pl.UTF-8
123 Dokumentacja do Tomcata - kontenera Servlet/JSP.
125 %package webapp-manager
126 Summary: The Apache Tomcat Servlet/JSP application manager
127 Summary(pl.UTF-8): Zarządca aplikacji w Tomcacie
128 Group: Networking/Daemons/Java/Servlets
129 Requires: %{name} = %{epoch}:%{version}-%{release}
131 %description webapp-manager
132 The Apache Tomcat Servlet/JSP application manager.
134 %description webapp-manager -l pl.UTF-8
135 Zarządca aplikacji w Tomcacie.
137 %package webapp-host-manager
138 Summary: The Apache Tomcat Servlet/JSP virtual hosts manager
139 Summary(pl.UTF-8): Zarządca wirtualnych hostów w Tomcacie
140 Group: Networking/Daemons/Java/Servlets
141 Requires: %{name} = %{epoch}:%{version}-%{release}
142 Obsoletes: tomcat-admin
144 %description webapp-host-manager
145 The Apache Tomcat Servlet/JSP virtual hosts manager.
147 %description webapp-host-manager -l pl.UTF-8
148 Zarządca wirtualnych hostów w Tomcacie.
150 %package webapp-examples
151 Summary: The Apache Tomcat Servlet/JSP example applications
152 Summary(pl.UTF-8): Przykładowe aplikacje dla Tomcata
153 Group: Networking/Daemons/Java/Servlets
154 Requires: %{name} = %{epoch}:%{version}-%{release}
156 %description webapp-examples
157 The Apache Tomcat Servlet/JSP example applications.
159 %description webapp-examples -l pl.UTF-8
160 Przykładowe aplikacje dla Tomcata.
163 Summary: Web Services support (JSR 109)
164 Group: Libraries/Java
165 Requires: java(JSR109)
166 Requires: java-geronimo-spec-jaxrpc
167 Requires: %{name} = %{epoch}:%{version}-%{release}
169 %description webservices
170 Factories for JSR 109 which may be used to resolve web services
174 Summary: JSP compiler
175 Summary(pl.UTF-8): Kompilator JSP
176 Group: Libraries/Java
177 Requires: jpackage-utils
178 Requires: eclipse-jdt >= 3.2
179 Obsoletes: apache-tomcat-jasper
182 Jasper is Java ServerPages compiler used by Apache Tomcat servlet
185 %description jasper -l pl.UTF-8
186 Jasper jest kompilatorem Java ServerPages używanym przez kontener
187 servletów Apache Tomcat.
189 %package -n java-servletapi
190 Summary: Java servlet and JSP implementation classes
191 Summary(pl.UTF-8): Klasy z implementacją Java Servlet i JSP
192 Group: Libraries/Java
193 Provides: java(JSP) = %{jspapiver}
194 Provides: java(Servlet) = %{servletapiver}
195 Obsoletes: java-servletapi5
197 %description -n java-servletapi
198 Implementation classes of the Java Servlet and JSP APIs (packages
199 javax.servlet, javax.servlet.http, javax.servlet.jsp, and
200 javax.servlet.jsp.tagext).
202 %description -n java-servletapi -l pl.UTF-8
203 Implementacje klas API Java Servlet i JSP (pakiety javax.servlet,
204 javax.servlet.http, javax.servlet.jsp i java.servlet.jsp.tagext).
207 %setup -q -n apache-%{name}-%{version}-src
212 # we don't need those scripts
214 rm bin/{startup,shutdown}.sh
216 cp %{SOURCE3} build.properties
221 %ant -Drpm.javadir=%{_javadir} -Drpm.libdir=%{_libdir}
224 %ant -f dist.xml dist-javadoc
227 %if %{with webservices}
228 mkdir -p output/extras/webservices
230 ln -s %{_javadir}/geronimo-spec-jaxrpc.jar output/extras/webservices/jaxrpc.jar
231 ln -s %{_javadir}/jsr109.jar output/extras/webservices/wsdl4j.jar
233 %ant -f extras.xml webservices
238 rm -rf $RPM_BUILD_ROOT
241 TOMCATDIR=$RPM_BUILD_ROOT%{_tomcatdir}
242 CATALINADIR=$RPM_BUILD_ROOT/var/lib/tomcat
244 install -d $TOMCATDIR \
246 $RPM_BUILD_ROOT%{_vardir}/webapps \
247 $RPM_BUILD_ROOT%{_vardir}/work \
248 $RPM_BUILD_ROOT%{_vardir}/conf \
249 $RPM_BUILD_ROOT%{_logdir}/tomcat \
250 $RPM_BUILD_ROOT/etc/sysconfig \
251 $RPM_BUILD_ROOT/etc/rc.d/init.d
253 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
254 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/tomcat
256 cp -a conf/* $CATALINADIR/conf
257 install -d $CATALINADIR/conf/Catalina/localhost
258 install %{SOURCE10} $CATALINADIR/conf/Catalina/localhost/ROOT.xml
259 install %{SOURCE11} $CATALINADIR/conf/Catalina/localhost/docs.xml
260 install %{SOURCE12} $CATALINADIR/conf/Catalina/localhost/manager.xml
261 install %{SOURCE13} $CATALINADIR/conf/Catalina/localhost/host-manager.xml
262 install %{SOURCE14} $CATALINADIR/conf/Catalina/localhost/examples.xml
264 cp -a bin lib webapps $TOMCATDIR
265 cp -a temp $CATALINADIR
267 ln -sf %{_logdir}/tomcat $CATALINADIR/logs
268 ln -sf %{_logdir}/tomcat $TOMCATDIR/logs
269 ln -sf %{_vardir}/work $TOMCATDIR/work
270 ln -sf %{_vardir}/conf $TOMCATDIR/conf
271 ln -sf %{_vardir}/conf $RPM_BUILD_ROOT%{_sysconfdir}
273 # symlinks instead of copies
274 jars="commons-daemon commons-logging-api"
277 ln -sf $jar $TOMCATDIR/bin
280 jars="commons-pool-tomcat5 commons-dbcp-tomcat5 mysql-connector-java org.eclipse.jdt.core"
283 ln -sf $jar $TOMCATDIR/lib
286 install -d $RPM_BUILD_ROOT%{_javadir}
287 mv $TOMCATDIR/lib/jasper*.jar $RPM_BUILD_ROOT%{_javadir}
288 mv $TOMCATDIR/lib/jsp-api.jar $RPM_BUILD_ROOT%{_javadir}/jsp-api-%{jspapiver}.jar
289 mv $TOMCATDIR/lib/servlet-api.jar $RPM_BUILD_ROOT%{_javadir}/servlet-api-%{servletapiver}.jar
291 ln -s jsp-api-%{jspapiver}.jar $RPM_BUILD_ROOT%{_javadir}/jsp-api.jar
292 ln -s servlet-api-%{servletapiver}.jar $RPM_BUILD_ROOT%{_javadir}/servlet-api.jar
294 # XXX add softlinks jasper-compiler.jar and jasper-runtime for compatibility with tomcat 5.5?
295 ln -sf %{_javadir}/jasper-el.jar $TOMCATDIR/lib
296 ln -sf %{_javadir}/jasper.jar $TOMCATDIR/lib
298 ln -sf %{_javadir}/jsp-api-%{jspapiver}.jar $TOMCATDIR/lib
299 ln -sf %{_javadir}/servlet-api-%{servletapiver}.jar $TOMCATDIR/lib
301 %if %{with webservices}
302 install ../extras/catalina-ws.jar $TOMCATDIR/lib/catalina-ws.jar
304 ln -s %{_javadir}/geronimo-spec-jaxrpc.jar $TOMCATDIR/lib/jaxrpc.jar
305 ln -s %{_javadir}/jsr109.jar $TOMCATDIR/lib/jsr109.jar
309 rm -rf $RPM_BUILD_ROOT
312 %groupadd -g 234 -r -f tomcat
313 %groupadd -g 237 -r -f servlet
314 %useradd -u 234 -r -d /var/lib/tomcat -s /bin/false -c "Tomcat User" -g tomcat -G servlet tomcat
317 /sbin/chkconfig --add tomcat
318 %service tomcat restart
321 if [ "$1" = "0" ]; then
323 /sbin/chkconfig --del tomcat
327 if [ "$1" = "0" ]; then
334 %defattr(644,root,root,755)
335 %doc KEYS RELEASE-NOTES RELEASE-PLAN-6.0.txt RUNNING.txt
336 %attr(754,root,root) /etc/rc.d/init.d/tomcat
337 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/tomcat
340 %dir %{_tomcatdir}/conf
341 %dir %{_tomcatdir}/bin
342 %{_tomcatdir}/bin/catalina-tasks.xml
343 %attr(755,root,root) %{_tomcatdir}/bin/*.sh
344 %{_tomcatdir}/bin/*.jar
345 %dir %{_tomcatdir}/lib
346 %{_tomcatdir}/lib/annotations-api.jar
347 %{_tomcatdir}/lib/catalina-ant.jar
348 %{_tomcatdir}/lib/catalina-ha.jar
349 %{_tomcatdir}/lib/catalina.jar
350 %{_tomcatdir}/lib/catalina-tribes.jar
351 %{_tomcatdir}/lib/commons-dbcp-tomcat5.jar
352 %{_tomcatdir}/lib/commons-pool-tomcat5.jar
353 %{_tomcatdir}/lib/el-api.jar
354 %{_tomcatdir}/lib/jsp-api-2.1.jar
355 %{_tomcatdir}/lib/mysql-connector-java.jar
356 %{_tomcatdir}/lib/servlet-api-2.5.jar
357 %{_tomcatdir}/lib/tomcat-coyote.jar
358 %{_tomcatdir}/lib/tomcat-i18n-es.jar
359 %{_tomcatdir}/lib/tomcat-i18n-fr.jar
360 %{_tomcatdir}/lib/tomcat-i18n-ja.jar
362 %dir %{_tomcatdir}/webapps
364 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/ROOT.xml
365 %{_tomcatdir}/webapps/ROOT
370 # these directory has to be writeable because /admin need to modify config
371 # files and create temporary files
372 %dir %attr(775,root,tomcat) %{_vardir}/conf
373 %dir %attr(775,root,tomcat) %{_vardir}/conf/Catalina
374 %dir %{_vardir}/conf/Catalina/localhost
375 # tomcat config has to be writeable because of tomcat-users.xml file and Catalina dir
376 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/catalina.policy
377 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.properties*
378 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.xml
379 %dir %attr(1730,root,tomcat) %{_vardir}/work
380 %dir %attr(775,root,tomcat) %{_vardir}/webapps
381 %dir %attr(775,root,tomcat) %{_vardir}/temp
382 %dir %attr(775,root,tomcat) %{_logdir}/tomcat
386 %defattr(644,root,root,755)
387 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/docs.xml
388 %{_tomcatdir}/webapps/docs
390 %files webapp-manager
391 %defattr(644,root,root,755)
392 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/manager.xml
393 %{_tomcatdir}/webapps/manager
395 %files webapp-host-manager
396 %defattr(644,root,root,755)
397 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/host-manager.xml
398 %{_tomcatdir}/webapps/host-manager
400 %files webapp-examples
401 %defattr(644,root,root,755)
402 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/examples.xml
403 %{_tomcatdir}/webapps/examples
405 %if %{with webservices}
407 %defattr(644,root,root,755)
408 %{_tomcatdir}/lib/catalina-ws.jar
409 %{_tomcatdir}/lib/jsr109.jar
410 %{_tomcatdir}/lib/jaxrpc.jar
414 %defattr(644,root,root,755)
415 %{_javadir}/jasper-el.jar
416 %{_javadir}/jasper.jar
417 %{_tomcatdir}/lib/jasper-el.jar
418 %{_tomcatdir}/lib/jasper.jar
419 %{_tomcatdir}/lib/org.eclipse.jdt.core.jar
421 %files -n java-servletapi
422 %defattr(644,root,root,755)
423 %{_javadir}/jsp-api*.jar
424 %{_javadir}/servlet-api*.jar