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