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