]> git.pld-linux.org Git - packages/tomcat.git/blob - tomcat.spec
- utf8 URIEncoding; rel 2
[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:        2
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
209 %description -n java-servletapi
210 Implementation classes of the Java Servlet and JSP APIs (packages
211 javax.servlet, javax.servlet.http, javax.servlet.jsp, and
212 javax.servlet.jsp.tagext).
213
214 %description -n java-servletapi -l pl.UTF-8
215 Implementacje klas API Java Servlet i JSP (pakiety javax.servlet,
216 javax.servlet.http, javax.servlet.jsp i java.servlet.jsp.tagext).
217
218 %prep
219 %setup -q -n apache-%{name}-%{version}-src
220 %patch0 -p0
221 %patch1 -p0
222 %patch2 -p1
223
224 # we don't need those scripts
225 rm bin/*.bat
226 rm bin/{startup,shutdown}.sh
227
228 cp -a %{SOURCE3} build.properties
229
230 %build
231 TOPDIR=$(pwd)
232
233 %ant \
234         -Drpm.javadir=%{_javadir} \
235         -Drpm.libdir=%{_libdir}
236
237 %if %{with javadoc}
238 %ant -f dist.xml dist-javadoc
239 %endif
240
241 %if %{with webservices}
242 mkdir -p output/extras/webservices
243
244 ln -s %{_javadir}/geronimo-spec-jaxrpc.jar output/extras/webservices/jaxrpc.jar
245 ln -s %{_javadir}/jsr109.jar output/extras/webservices/wsdl4j.jar
246
247 %ant -f extras.xml webservices
248 %endif
249
250 %install
251 rm -rf $RPM_BUILD_ROOT
252 cd output/build
253
254 TOMCATDIR=$RPM_BUILD_ROOT%{_tomcatdir}
255 CATALINADIR=$RPM_BUILD_ROOT/var/lib/tomcat
256
257 install -d $TOMCATDIR \
258             $CATALINADIR/temp \
259             $RPM_BUILD_ROOT%{_vardir}/webapps \
260             $RPM_BUILD_ROOT%{_vardir}/work \
261             $RPM_BUILD_ROOT%{_vardir}/conf \
262             $RPM_BUILD_ROOT%{_logdir}/tomcat \
263             $RPM_BUILD_ROOT/etc/sysconfig \
264             $RPM_BUILD_ROOT/etc/rc.d/init.d
265
266 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
267 cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/tomcat
268
269 cp -a conf/* $CATALINADIR/conf
270 install -d $CATALINADIR/conf/Catalina/localhost
271 cp -a %{SOURCE10} $CATALINADIR/conf/Catalina/localhost/ROOT.xml
272 cp -a %{SOURCE11} $CATALINADIR/conf/Catalina/localhost/docs.xml
273 cp -a %{SOURCE12} $CATALINADIR/conf/Catalina/localhost/manager.xml
274 cp -a %{SOURCE13} $CATALINADIR/conf/Catalina/localhost/host-manager.xml
275 cp -a %{SOURCE14} $CATALINADIR/conf/Catalina/localhost/examples.xml
276
277 cp -a bin lib webapps $TOMCATDIR
278 cp -a temp $CATALINADIR
279
280 ln -sf %{_logdir}/tomcat $CATALINADIR/logs
281 ln -sf %{_logdir}/tomcat $TOMCATDIR/logs
282 ln -sf %{_vardir}/work $TOMCATDIR/work
283 ln -sf %{_vardir}/conf $TOMCATDIR/conf
284 ln -sf %{_vardir}/conf $RPM_BUILD_ROOT%{_sysconfdir}
285
286 # symlinks instead of copies
287 jars="commons-daemon commons-logging-api"
288 for jar in $jars; do
289         jar=$(find-jar $jar)
290         ln -sf $jar $TOMCATDIR/bin
291 done
292
293 jars="commons-pool-tomcat5 commons-dbcp-tomcat5 mysql-connector-java org.eclipse.jdt.core mail"
294 for jar in $jars; do
295         jar=$(find-jar $jar)
296         ln -sf $jar $TOMCATDIR/lib
297 done
298
299 install -d $RPM_BUILD_ROOT%{_javadir}
300 mv $TOMCATDIR/lib/jasper*.jar $RPM_BUILD_ROOT%{_javadir}
301 mv $TOMCATDIR/lib/jsp-api.jar $RPM_BUILD_ROOT%{_javadir}/jsp-api-%{jspapiver}.jar
302 mv $TOMCATDIR/lib/servlet-api.jar $RPM_BUILD_ROOT%{_javadir}/servlet-api-%{servletapiver}.jar
303 mv $TOMCATDIR/lib/catalina.jar $RPM_BUILD_ROOT%{_javadir}/tomcat6-catalina.jar
304 mv $TOMCATDIR/lib/tomcat-coyote.jar $RPM_BUILD_ROOT%{_javadir}/tomcat6-coyote.jar
305
306 ln -s jsp-api-%{jspapiver}.jar $RPM_BUILD_ROOT%{_javadir}/jsp-api.jar
307 ln -s servlet-api-%{servletapiver}.jar $RPM_BUILD_ROOT%{_javadir}/servlet-api.jar
308
309 # XXX add softlinks jasper-compiler.jar and jasper-runtime for compatibility with tomcat 5.5?
310 ln -sf %{_javadir}/jasper-el.jar $TOMCATDIR/lib
311 ln -sf %{_javadir}/jasper.jar $TOMCATDIR/lib
312
313 ln -sf %{_javadir}/jsp-api-%{jspapiver}.jar $TOMCATDIR/lib/jsp-api.jar
314 ln -sf %{_javadir}/servlet-api-%{servletapiver}.jar $TOMCATDIR/lib/servlet-api.jar
315
316 ln -sf %{_javadir}/tomcat6-catalina.jar $TOMCATDIR/lib/catalina.jar
317 ln -sf %{_javadir}/tomcat6-coyote.jar $TOMCATDIR/lib/tomcat-coyote.jar
318
319 %if %{with webservices}
320 install ../extras/catalina-ws.jar $TOMCATDIR/lib/catalina-ws.jar
321
322 ln -s %{_javadir}/geronimo-spec-jaxrpc.jar $TOMCATDIR/lib/jaxrpc.jar
323 ln -s %{_javadir}/jsr109.jar $TOMCATDIR/lib/jsr109.jar
324 %endif
325
326 %clean
327 rm -rf $RPM_BUILD_ROOT
328
329 %pre
330 %groupadd -g 234 -r -f tomcat
331 %groupadd -g 237 -r -f servlet
332 %useradd -u 234 -r -d /var/lib/tomcat -s /bin/false -c "Tomcat User" -g tomcat -G servlet tomcat
333
334 %post
335 /sbin/chkconfig --add tomcat
336 %service tomcat restart
337
338 %preun
339 if [ "$1" = "0" ]; then
340         %service tomcat stop
341         /sbin/chkconfig --del tomcat
342 fi
343
344 %postun
345 if [ "$1" = "0" ]; then
346         %userremove tomcat
347         %groupremove tomcat
348         %groupremove servlet
349 fi
350
351 %files
352 %defattr(644,root,root,755)
353 %doc KEYS RELEASE-NOTES RELEASE-PLAN-6.0.txt RUNNING.txt
354 %attr(754,root,root) /etc/rc.d/init.d/tomcat
355 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/tomcat
356 %{_sysconfdir}
357 %dir %{_tomcatdir}
358 %dir %{_tomcatdir}/conf
359 %dir %{_tomcatdir}/bin
360 %{_tomcatdir}/bin/catalina-tasks.xml
361 %attr(755,root,root) %{_tomcatdir}/bin/*.sh
362 %{_tomcatdir}/bin/*.jar
363 %dir %{_tomcatdir}/lib
364 %{_tomcatdir}/lib/annotations-api.jar
365 %{_tomcatdir}/lib/catalina-ant.jar
366 %{_tomcatdir}/lib/catalina-ha.jar
367 %{_tomcatdir}/lib/catalina.jar
368 %{_tomcatdir}/lib/catalina-tribes.jar
369 %{_tomcatdir}/lib/commons-dbcp-tomcat5.jar
370 %{_tomcatdir}/lib/commons-pool-tomcat5.jar
371 %{_tomcatdir}/lib/el-api.jar
372 %{_tomcatdir}/lib/jasper-el.jar
373 %{_tomcatdir}/lib/jasper.jar
374 %{_tomcatdir}/lib/jsp-api.jar
375 %{_tomcatdir}/lib/mail.jar
376 %{_tomcatdir}/lib/mysql-connector-java.jar
377 %{_tomcatdir}/lib/org.eclipse.jdt.core.jar
378 %{_tomcatdir}/lib/servlet-api.jar
379 %{_tomcatdir}/lib/tomcat-coyote.jar
380 %{_tomcatdir}/lib/tomcat-i18n-es.jar
381 %{_tomcatdir}/lib/tomcat-i18n-fr.jar
382 %{_tomcatdir}/lib/tomcat-i18n-ja.jar
383
384 %dir %{_tomcatdir}/webapps
385
386 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/ROOT.xml
387 %{_tomcatdir}/webapps/ROOT
388
389 %{_tomcatdir}/logs
390 %{_tomcatdir}/work
391 %dir %attr(770,root,tomcat) %{_vardir}
392 # these directory has to be writeable because /admin need to modify config
393 # files and create temporary files
394 %dir %attr(770,root,tomcat) %{_vardir}/conf
395 %dir %attr(770,root,tomcat) %{_vardir}/conf/Catalina
396 %dir %{_vardir}/conf/Catalina/localhost
397 # tomcat config has to be writeable because of tomcat-users.xml file and Catalina dir
398 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/catalina.policy
399 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.properties*
400 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.xml
401 %dir %attr(770,root,tomcat) %{_vardir}/work
402 %dir %attr(770,root,tomcat) %{_vardir}/webapps
403 %dir %attr(770,root,tomcat) %{_vardir}/temp
404 %dir %attr(770,root,tomcat) %{_logdir}/tomcat
405 %{_vardir}/logs
406
407 %files webapp-docs
408 %defattr(644,root,root,755)
409 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/docs.xml
410 %{_tomcatdir}/webapps/docs
411
412 %files webapp-manager
413 %defattr(644,root,root,755)
414 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/manager.xml
415 %{_tomcatdir}/webapps/manager
416
417 %files webapp-host-manager
418 %defattr(644,root,root,755)
419 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/host-manager.xml
420 %{_tomcatdir}/webapps/host-manager
421
422 %files webapp-examples
423 %defattr(644,root,root,755)
424 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/examples.xml
425 %{_tomcatdir}/webapps/examples
426
427 %if %{with webservices}
428 %files webservices
429 %defattr(644,root,root,755)
430 %{_tomcatdir}/lib/catalina-ws.jar
431 %{_tomcatdir}/lib/jsr109.jar
432 %{_tomcatdir}/lib/jaxrpc.jar
433 %endif
434
435 %files -n java-tomcat-jasper
436 %defattr(644,root,root,755)
437 %{_javadir}/jasper-el.jar
438 %{_javadir}/jasper.jar
439
440 %files -n java-tomcat-catalina
441 %defattr(644,root,root,755)
442 %{_javadir}/tomcat6-catalina.jar
443
444 %files -n java-tomcat-coyote
445 %defattr(644,root,root,755)
446 %{_javadir}/tomcat6-coyote.jar
447
448 %files -n java-servletapi
449 %defattr(644,root,root,755)
450 %{_javadir}/jsp-api*.jar
451 %{_javadir}/servlet-api*.jar
This page took 0.063106 seconds and 4 git commands to generate.