]> git.pld-linux.org Git - packages/tomcat.git/blob - tomcat.spec
- rel 5
[packages/tomcat.git] / tomcat.spec
1
2 # Conditional build:
3 %bcond_without  javadoc         # skip building javadocs
4 %bcond_without  webservices     # skip building webservices
5
6 %define         jspapiver       2.1
7 %define         servletapiver   2.5
8
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}
12 Name:           tomcat
13 Version:        6.0.29
14 Release:        5
15 License:        Apache v2.0
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:  260de5ae62f415b9c085c5aeed4ef24c
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 Patch2:         server.xml-URIEncoding-utf8.patch
30 Patch3:         %{name}-LDAPUserDatabase.patch
31 Patch4:         %{name}-catalina.policy-javadir.patch
32 Patch5:         %{name}-userdir.patch
33 URL:            http://tomcat.apache.org/
34 BuildRequires:  ant >= 1.5.3
35 BuildRequires:  ant-trax
36 BuildRequires:  java-commons-daemon >= 1.0
37 BuildRequires:  java-commons-dbcp-tomcat5 >= 0:1.1
38 BuildRequires:  java-commons-pool-tomcat5
39 BuildRequires:  java-eclipse-jdt >= 3.2
40 %if %{with webservices}
41 BuildRequires:  java(JSR109)
42 BuildRequires:  java-geronimo-spec-jaxrpc
43 %endif
44 BuildRequires:  java-jdbc-mysql
45 BuildRequires:  java-mail
46 BuildRequires:  jdk
47 BuildRequires:  jpackage-utils
48 BuildRequires:  rpm-javaprov
49 BuildRequires:  rpmbuild(macros) >= 1.300
50 Requires(post,preun):   /sbin/chkconfig
51 Requires(postun):       /usr/sbin/groupdel
52 Requires(postun):       /usr/sbin/userdel
53 Requires(pre):  /bin/id
54 Requires(pre):  /usr/bin/getgid
55 Requires(pre):  /usr/sbin/groupadd
56 Requires(pre):  /usr/sbin/useradd
57 Requires:       java(jaxp_parser_impl)
58 Requires:       java(jndi) >= 1.2.1
59 Requires:       java-%{name}-catalina = %{epoch}:%{version}-%{release}
60 Requires:       java-%{name}-coyote = %{epoch}:%{version}-%{release}
61 Requires:       java-%{name}-jasper = %{epoch}:%{version}-%{release}
62 Requires:       java-commons-dbcp-tomcat5 >= 0:1.1
63 Requires:       java-commons-pool-tomcat5
64 Requires:       java-jdbc-mysql
65 Requires:       java-mail
66 Requires:       java-servletapi = %{epoch}:%{version}-%{release}
67 Requires:       jpackage-utils
68 Requires:       jre >= 1.2
69 Requires:       jsvc
70 Requires:       rc-scripts
71 Suggests:       tomcat-native
72 Provides:       group(servlet)
73 Provides:       group(tomcat)
74 Provides:       user(tomcat)
75 Obsoletes:      apache-tomcat
76 Obsoletes:      jakarta-tomcat
77 BuildArch:      noarch
78 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
79
80 %define         _tomcatdir      %{_datadir}/tomcat
81 %define         _logdir         %{_var}/log
82 %define         _vardir         %{_var}/lib/tomcat
83
84 %define find_jar() %{expand:%%define jarfile {%(jar=$(find-jar %1); echo ${jar:-%%nil})}}%{?jarfile}%{!?jarfile:%{error:find-jar %1 failed}}%{nil}
85
86 %description
87 Tomcat is the servlet container that is used in the official Reference
88 Implementation for the Java Servlet and JavaServer Pages technologies.
89 The Java Servlet and JavaServer Pages specifications are developed by
90 Sun under the Java Community Process.
91
92 Tomcat is developed in an open and participatory environment and
93 released under the Apache Software License. Tomcat is intended to be a
94 collaboration of the best-of-breed developers from around the world.
95 We invite you to participate in this open development project.
96
97 %description -l pl.UTF-8
98 Tomcat to kontener serwletowy używany przez oficjalną implementację
99 wzorcową technologii Java Servlet i JavaServer Pages. Specyfikacje
100 Java Servlet i JavaServer Pages są rozwijane przez Suna zgodnie z Java
101 Community Process.
102
103 %package webapp-docs
104 Summary:        The Apache Tomcat Servlet/JSP Container documentation
105 Summary(pl.UTF-8):      Dokumentacja do Tomcata - kontenera Servlet/JSP
106 Group:          Documentation
107 Obsoletes:      apache-tomcat-doc
108 Obsoletes:      jakarta-tomcat-doc
109 Obsoletes:      tomcat-doc
110
111 %description webapp-docs
112 The Tomcat Servlet/JSP Container documentation.
113
114 %description webapp-docs -l pl.UTF-8
115 Dokumentacja do Tomcata - kontenera Servlet/JSP.
116
117 %package webapp-manager
118 Summary:        The Apache Tomcat Servlet/JSP application manager
119 Summary(pl.UTF-8):      Zarządca aplikacji w Tomcacie
120 Group:          Networking/Daemons/Java/Servlets
121 Requires:       %{name} = %{epoch}:%{version}-%{release}
122
123 %description webapp-manager
124 The Apache Tomcat Servlet/JSP application manager.
125
126 %description webapp-manager -l pl.UTF-8
127 Zarządca aplikacji w Tomcacie.
128
129 %package webapp-host-manager
130 Summary:        The Apache Tomcat Servlet/JSP virtual hosts manager
131 Summary(pl.UTF-8):      Zarządca wirtualnych hostów w Tomcacie
132 Group:          Networking/Daemons/Java/Servlets
133 Requires:       %{name} = %{epoch}:%{version}-%{release}
134 Obsoletes:      tomcat-admin
135
136 %description webapp-host-manager
137 The Apache Tomcat Servlet/JSP virtual hosts manager.
138
139 %description webapp-host-manager -l pl.UTF-8
140 Zarządca wirtualnych hostów w Tomcacie.
141
142 %package webapp-examples
143 Summary:        The Apache Tomcat Servlet/JSP example applications
144 Summary(pl.UTF-8):      Przykładowe aplikacje dla Tomcata
145 Group:          Networking/Daemons/Java/Servlets
146 Requires:       %{name} = %{epoch}:%{version}-%{release}
147
148 %description webapp-examples
149 The Apache Tomcat Servlet/JSP example applications.
150
151 %description webapp-examples -l pl.UTF-8
152 Przykładowe aplikacje dla Tomcata.
153
154 %package webservices
155 Summary:        Web Services support (JSR 109)
156 Group:          Libraries/Java
157 Requires:       %{name} = %{epoch}:%{version}-%{release}
158 Requires:       java(JSR109)
159 Requires:       java-geronimo-spec-jaxrpc
160
161 %description webservices
162 Factories for JSR 109 which may be used to resolve web services
163 references.
164
165 %package -n java-tomcat-catalina
166 Summary:        Tomcat's servlet container
167 Group:          Libraries/Java
168 Requires:       jpackage-utils
169
170 %description -n java-tomcat-catalina
171 Catalina is Tomcat's servlet container. Catalina implements Sun
172 Microsystems' specifications for servlet and JavaServer Pages (JSP).
173
174 %package -n java-tomcat-coyote
175 Summary:        Tomcat HTTP connector
176 Group:          Libraries/Java
177 Requires:       jpackage-utils
178
179 %description -n java-tomcat-coyote
180 Coyote is Tomcat's HTTP Connector component that supports the HTTP 1.1
181 protocol for the web server or application container. Coyote listens
182 for incoming connections on a specific TCP port on the server and
183 forwards the request to the Tomcat Engine to process the request and
184 send back a response to the requesting client.
185
186 %package -n java-tomcat-jasper
187 Summary:        JSP compiler
188 Summary(pl.UTF-8):      Kompilator JSP
189 Group:          Libraries/Java
190 Requires:       java-eclipse-jdt >= 3.2
191 Requires:       jpackage-utils
192 Obsoletes:      apache-tomcat-jasper
193 Obsoletes:      tomcat-jasper
194
195 %description -n java-tomcat-jasper
196 Jasper is Java ServerPages compiler used by Apache Tomcat servlet
197 container.
198
199 %description -n java-tomcat-jasper -l pl.UTF-8
200 Jasper jest kompilatorem Java ServerPages używanym przez kontener
201 servletów Apache Tomcat.
202
203 %package -n java-servletapi
204 Summary:        Java servlet and JSP implementation classes
205 Summary(pl.UTF-8):      Klasy z implementacją Java Servlet i JSP
206 Group:          Libraries/Java
207 Provides:       java(jsp) = %{jspapiver}
208 Provides:       java(servlet) = %{servletapiver}
209 Obsoletes:      jakarta-servletapi5
210 Obsoletes:      java-servletapi5
211
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).
216
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).
220
221 %prep
222 %setup -q -n apache-%{name}-%{version}-src
223 %patch0 -p0
224 %patch1 -p0
225 %patch2 -p1
226 %patch3 -p1
227 %patch4 -p1
228 %patch5 -p1
229
230 # we don't need those scripts
231 rm bin/*.bat
232 rm bin/{startup,shutdown}.sh
233
234 cp -a %{SOURCE3} build.properties
235
236 %build
237 TOPDIR=$(pwd)
238
239 %ant \
240         -Drpm.javadir=%{_javadir} \
241         -Drpm.libdir=%{_libdir}
242
243 %if %{with javadoc}
244 %ant -f dist.xml dist-javadoc
245 %endif
246
247 %if %{with webservices}
248 mkdir -p output/extras/webservices
249
250 ln -sf %{_javadir}/geronimo-spec-jaxrpc.jar output/extras/webservices/jaxrpc.jar
251 ln -sf %{_javadir}/jsr109.jar output/extras/webservices/wsdl4j.jar
252
253 %ant -f extras.xml webservices
254 %endif
255
256 %install
257 rm -rf $RPM_BUILD_ROOT
258 cd output/build
259
260 TOMCATDIR=$RPM_BUILD_ROOT%{_tomcatdir}
261 CATALINADIR=$RPM_BUILD_ROOT/var/lib/tomcat
262
263 # useful for constructing relative symlinks. Is there a better way?
264 TOMCATDIRREV=$(echo %{_tomcatdir} | sed 's#[^/]\+#..#g;s#^/##')
265 CATALINADIRREV=$(echo /var/lib/tomcat | sed 's#[^/]\+#..#g;s#^/##')
266 SYSCONFDIRREV=$(echo %{_sysconfdir} | sed 's#[^/]\+#..#g;s#^/##')
267
268 install -d $TOMCATDIR \
269             $CATALINADIR/temp \
270             $RPM_BUILD_ROOT%{_vardir}/webapps \
271             $RPM_BUILD_ROOT%{_vardir}/work \
272             $RPM_BUILD_ROOT%{_vardir}/conf \
273             $RPM_BUILD_ROOT%{_logdir}/tomcat \
274             $RPM_BUILD_ROOT/etc/sysconfig \
275             $RPM_BUILD_ROOT/etc/rc.d/init.d
276
277 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
278 cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/tomcat
279
280 cp -a conf/* $CATALINADIR/conf
281 install -d $CATALINADIR/conf/Catalina/localhost
282 cp -a %{SOURCE10} $CATALINADIR/conf/Catalina/localhost/ROOT.xml
283 cp -a %{SOURCE11} $CATALINADIR/conf/Catalina/localhost/docs.xml
284 cp -a %{SOURCE12} $CATALINADIR/conf/Catalina/localhost/manager.xml
285 cp -a %{SOURCE13} $CATALINADIR/conf/Catalina/localhost/host-manager.xml
286 cp -a %{SOURCE14} $CATALINADIR/conf/Catalina/localhost/examples.xml
287
288 cp -a bin lib webapps $TOMCATDIR
289 cp -a temp $CATALINADIR
290
291 ln -sf $CATALINADIRREV%{_logdir}/tomcat $CATALINADIR/logs
292 ln -sf $TOMCATDIRREV%{_logdir}/tomcat $TOMCATDIR/logs
293 ln -sf $TOMCATDIRREV%{_vardir}/work $TOMCATDIR/work
294 ln -sf $TOMCATDIRREV%{_vardir}/conf $TOMCATDIR/conf
295 ln -sf $SYSCONFDIRREV%{_vardir}/conf $RPM_BUILD_ROOT%{_sysconfdir}/tomcat
296
297 # symlinks instead of copies
298 jars="commons-daemon commons-logging-api"
299 for jar in $jars; do
300         jar=$(find-jar $jar)
301         ln -sf $jar $TOMCATDIR/bin
302 done
303
304 jars="commons-pool-tomcat5 commons-dbcp-tomcat5 mysql-connector-java org.eclipse.jdt.core mail"
305 for jar in $jars; do
306         jar=$(find-jar $jar)
307         ln -sf $jar $TOMCATDIR/lib
308 done
309
310 install -d $RPM_BUILD_ROOT%{_javadir}
311 mv $TOMCATDIR/lib/jasper*.jar $RPM_BUILD_ROOT%{_javadir}
312 mv $TOMCATDIR/lib/jsp-api.jar $RPM_BUILD_ROOT%{_javadir}/jsp-api-%{jspapiver}.jar
313 mv $TOMCATDIR/lib/servlet-api.jar $RPM_BUILD_ROOT%{_javadir}/servlet-api-%{servletapiver}.jar
314 mv $TOMCATDIR/lib/catalina.jar $RPM_BUILD_ROOT%{_javadir}/tomcat6-catalina.jar
315 mv $TOMCATDIR/lib/tomcat-coyote.jar $RPM_BUILD_ROOT%{_javadir}/tomcat6-coyote.jar
316
317 ln -s jsp-api-%{jspapiver}.jar $RPM_BUILD_ROOT%{_javadir}/jsp-api.jar
318 ln -s servlet-api-%{servletapiver}.jar $RPM_BUILD_ROOT%{_javadir}/servlet-api.jar
319
320 # XXX add softlinks jasper-compiler.jar and jasper-runtime for compatibility with tomcat 5.5?
321 ln -sf %{_javadir}/jasper-el.jar $TOMCATDIR/lib
322 ln -sf %{_javadir}/jasper.jar $TOMCATDIR/lib
323
324 ln -sf %{_javadir}/jsp-api-%{jspapiver}.jar $TOMCATDIR/lib/jsp-api.jar
325 ln -sf %{_javadir}/servlet-api-%{servletapiver}.jar $TOMCATDIR/lib/servlet-api.jar
326
327 ln -sf %{_javadir}/tomcat6-catalina.jar $TOMCATDIR/lib/catalina.jar
328 ln -sf %{_javadir}/tomcat6-coyote.jar $TOMCATDIR/lib/tomcat-coyote.jar
329
330 %if %{with webservices}
331 install ../extras/catalina-ws.jar $TOMCATDIR/lib/catalina-ws.jar
332
333 ln -s %{_javadir}/geronimo-spec-jaxrpc.jar $TOMCATDIR/lib/jaxrpc.jar
334 ln -s %{_javadir}/jsr109.jar $TOMCATDIR/lib/jsr109.jar
335 %endif
336
337 %clean
338 rm -rf $RPM_BUILD_ROOT
339
340 %pre
341 %groupadd -g 234 -r -f tomcat
342 %groupadd -g 237 -r -f servlet
343 %useradd -u 234 -r -d /var/lib/tomcat -s /bin/false -c "Tomcat User" -g tomcat -G servlet tomcat
344
345 %post
346 /sbin/chkconfig --add tomcat
347 %service tomcat restart
348
349 %preun
350 if [ "$1" = "0" ]; then
351         %service tomcat stop
352         /sbin/chkconfig --del tomcat
353 fi
354
355 %postun
356 if [ "$1" = "0" ]; then
357         %userremove tomcat
358         %groupremove tomcat
359         %groupremove servlet
360 fi
361
362 %files
363 %defattr(644,root,root,755)
364 %doc KEYS RELEASE-NOTES RELEASE-PLAN-6.0.txt RUNNING.txt
365 %attr(754,root,root) /etc/rc.d/init.d/tomcat
366 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/tomcat
367 %{_sysconfdir}/tomcat
368 %dir %{_tomcatdir}
369 %dir %{_tomcatdir}/conf
370 %dir %{_tomcatdir}/bin
371 %{_tomcatdir}/bin/catalina-tasks.xml
372 %attr(755,root,root) %{_tomcatdir}/bin/*.sh
373 %{_tomcatdir}/bin/*.jar
374 %dir %{_tomcatdir}/lib
375 %{_tomcatdir}/lib/annotations-api.jar
376 %{_tomcatdir}/lib/catalina-ant.jar
377 %{_tomcatdir}/lib/catalina-ha.jar
378 %{_tomcatdir}/lib/catalina.jar
379 %{_tomcatdir}/lib/catalina-tribes.jar
380 %{_tomcatdir}/lib/commons-dbcp-tomcat5.jar
381 %{_tomcatdir}/lib/commons-pool-tomcat5.jar
382 %{_tomcatdir}/lib/el-api.jar
383 %{_tomcatdir}/lib/jasper-el.jar
384 %{_tomcatdir}/lib/jasper.jar
385 %{_tomcatdir}/lib/jsp-api.jar
386 %{_tomcatdir}/lib/mail.jar
387 %{_tomcatdir}/lib/mysql-connector-java.jar
388 %{_tomcatdir}/lib/org.eclipse.jdt.core.jar
389 %{_tomcatdir}/lib/servlet-api.jar
390 %{_tomcatdir}/lib/tomcat-coyote.jar
391 %{_tomcatdir}/lib/tomcat-i18n-es.jar
392 %{_tomcatdir}/lib/tomcat-i18n-fr.jar
393 %{_tomcatdir}/lib/tomcat-i18n-ja.jar
394
395 %dir %{_tomcatdir}/webapps
396
397 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/ROOT.xml
398 %{_tomcatdir}/webapps/ROOT
399
400 %{_tomcatdir}/logs
401 %{_tomcatdir}/work
402 %dir %attr(770,root,tomcat) %{_vardir}
403 # these directory has to be writeable because /admin need to modify config
404 # files and create temporary files
405 %dir %attr(770,root,tomcat) %{_vardir}/conf
406 %dir %attr(770,root,tomcat) %{_vardir}/conf/Catalina
407 %dir %{_vardir}/conf/Catalina/localhost
408 # tomcat config has to be writeable because of tomcat-users.xml file and Catalina dir
409 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/catalina.policy
410 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.properties*
411 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.xml
412 %dir %attr(770,root,tomcat) %{_vardir}/work
413 %dir %attr(770,root,tomcat) %{_vardir}/webapps
414 %dir %attr(770,root,tomcat) %{_vardir}/temp
415 %dir %attr(770,root,tomcat) %{_logdir}/tomcat
416 %{_vardir}/logs
417
418 %files webapp-docs
419 %defattr(644,root,root,755)
420 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/docs.xml
421 %{_tomcatdir}/webapps/docs
422
423 %files webapp-manager
424 %defattr(644,root,root,755)
425 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/manager.xml
426 %{_tomcatdir}/webapps/manager
427
428 %files webapp-host-manager
429 %defattr(644,root,root,755)
430 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/host-manager.xml
431 %{_tomcatdir}/webapps/host-manager
432
433 %files webapp-examples
434 %defattr(644,root,root,755)
435 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/examples.xml
436 %{_tomcatdir}/webapps/examples
437
438 %if %{with webservices}
439 %files webservices
440 %defattr(644,root,root,755)
441 %{_tomcatdir}/lib/catalina-ws.jar
442 %{_tomcatdir}/lib/jsr109.jar
443 %{_tomcatdir}/lib/jaxrpc.jar
444 %endif
445
446 %files -n java-tomcat-jasper
447 %defattr(644,root,root,755)
448 %{_javadir}/jasper-el.jar
449 %{_javadir}/jasper.jar
450
451 %files -n java-tomcat-catalina
452 %defattr(644,root,root,755)
453 %{_javadir}/tomcat6-catalina.jar
454
455 %files -n java-tomcat-coyote
456 %defattr(644,root,root,755)
457 %{_javadir}/tomcat6-coyote.jar
458
459 %files -n java-servletapi
460 %defattr(644,root,root,755)
461 %{_javadir}/jsp-api*.jar
462 %{_javadir}/servlet-api*.jar
This page took 0.117041 seconds and 4 git commands to generate.