]> git.pld-linux.org Git - packages/tomcat.git/blob - tomcat.spec
- attempt to get user list from LDAP (for userdirs)
[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:        3.1
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 URL:            http://tomcat.apache.org/
32 BuildRequires:  ant >= 1.5.3
33 BuildRequires:  ant-trax
34 BuildRequires:  java-commons-daemon >= 1.0
35 BuildRequires:  java-commons-dbcp-tomcat5 >= 0:1.1
36 BuildRequires:  java-commons-pool-tomcat5
37 BuildRequires:  java-eclipse-jdt >= 3.2
38 %if %{with webservices}
39 BuildRequires:  java(JSR109)
40 BuildRequires:  java-geronimo-spec-jaxrpc
41 %endif
42 BuildRequires:  java-jdbc-mysql
43 BuildRequires:  java-mail
44 BuildRequires:  jdk
45 BuildRequires:  jpackage-utils
46 BuildRequires:  rpm-javaprov
47 BuildRequires:  rpmbuild(macros) >= 1.300
48 Requires(post,preun):   /sbin/chkconfig
49 Requires(postun):       /usr/sbin/groupdel
50 Requires(postun):       /usr/sbin/userdel
51 Requires(pre):  /bin/id
52 Requires(pre):  /usr/bin/getgid
53 Requires(pre):  /usr/sbin/groupadd
54 Requires(pre):  /usr/sbin/useradd
55 Requires:       java(jaxp_parser_impl)
56 Requires:       java(jndi) >= 1.2.1
57 Requires:       java-%{name}-catalina = %{epoch}:%{version}-%{release}
58 Requires:       java-%{name}-coyote = %{epoch}:%{version}-%{release}
59 Requires:       java-%{name}-jasper = %{epoch}:%{version}-%{release}
60 Requires:       java-commons-dbcp-tomcat5 >= 0:1.1
61 Requires:       java-commons-pool-tomcat5
62 Requires:       java-jdbc-mysql
63 Requires:       java-mail
64 Requires:       java-servletapi = %{epoch}:%{version}-%{release}
65 Requires:       jpackage-utils
66 Requires:       jre >= 1.2
67 Requires:       jsvc
68 Requires:       rc-scripts
69 Suggests:       tomcat-native
70 Provides:       group(servlet)
71 Provides:       group(tomcat)
72 Provides:       user(tomcat)
73 Obsoletes:      apache-tomcat
74 Obsoletes:      jakarta-tomcat
75 BuildArch:      noarch
76 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
77
78 %define         _tomcatdir      %{_datadir}/tomcat
79 %define         _logdir         %{_var}/log
80 %define         _vardir         %{_var}/lib/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:       java-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:      jakarta-servletapi5
208 Obsoletes:      java-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 %patch3 -p1
225
226 # we don't need those scripts
227 rm bin/*.bat
228 rm bin/{startup,shutdown}.sh
229
230 cp -a %{SOURCE3} build.properties
231
232 %build
233 TOPDIR=$(pwd)
234
235 %ant \
236         -Drpm.javadir=%{_javadir} \
237         -Drpm.libdir=%{_libdir}
238
239 %if %{with javadoc}
240 %ant -f dist.xml dist-javadoc
241 %endif
242
243 %if %{with webservices}
244 mkdir -p output/extras/webservices
245
246 ln -s %{_javadir}/geronimo-spec-jaxrpc.jar output/extras/webservices/jaxrpc.jar
247 ln -s %{_javadir}/jsr109.jar output/extras/webservices/wsdl4j.jar
248
249 %ant -f extras.xml webservices
250 %endif
251
252 %install
253 rm -rf $RPM_BUILD_ROOT
254 cd output/build
255
256 TOMCATDIR=$RPM_BUILD_ROOT%{_tomcatdir}
257 CATALINADIR=$RPM_BUILD_ROOT/var/lib/tomcat
258
259 # useful for constructing relative symlinks. Is there a better way?
260 TOMCATDIRREV=$(echo %{_tomcatdir} | sed 's#[^/]\+#..#g;s#^/##')
261 CATALINADIRREV=$(echo /var/lib/tomcat | sed 's#[^/]\+#..#g;s#^/##')
262 SYSCONFDIRREV=$(echo %{_sysconfdir} | sed 's#[^/]\+#..#g;s#^/##')
263
264 install -d $TOMCATDIR \
265             $CATALINADIR/temp \
266             $RPM_BUILD_ROOT%{_vardir}/webapps \
267             $RPM_BUILD_ROOT%{_vardir}/work \
268             $RPM_BUILD_ROOT%{_vardir}/conf \
269             $RPM_BUILD_ROOT%{_logdir}/tomcat \
270             $RPM_BUILD_ROOT/etc/sysconfig \
271             $RPM_BUILD_ROOT/etc/rc.d/init.d
272
273 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
274 cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/tomcat
275
276 cp -a conf/* $CATALINADIR/conf
277 install -d $CATALINADIR/conf/Catalina/localhost
278 cp -a %{SOURCE10} $CATALINADIR/conf/Catalina/localhost/ROOT.xml
279 cp -a %{SOURCE11} $CATALINADIR/conf/Catalina/localhost/docs.xml
280 cp -a %{SOURCE12} $CATALINADIR/conf/Catalina/localhost/manager.xml
281 cp -a %{SOURCE13} $CATALINADIR/conf/Catalina/localhost/host-manager.xml
282 cp -a %{SOURCE14} $CATALINADIR/conf/Catalina/localhost/examples.xml
283
284 cp -a bin lib webapps $TOMCATDIR
285 cp -a temp $CATALINADIR
286
287 ln -sf $CATALINADIRREV%{_logdir}/tomcat $CATALINADIR/logs
288 ln -sf $TOMCATDIRREV%{_logdir}/tomcat $TOMCATDIR/logs
289 ln -sf $TOMCATDIRREV%{_vardir}/work $TOMCATDIR/work
290 ln -sf $TOMCATDIRREV%{_vardir}/conf $TOMCATDIR/conf
291 ln -sf $SYSCONFDIRREV%{_vardir}/conf $RPM_BUILD_ROOT%{_sysconfdir}/tomcat
292
293 # symlinks instead of copies
294 jars="commons-daemon commons-logging-api"
295 for jar in $jars; do
296         jar=$(find-jar $jar)
297         ln -sf $jar $TOMCATDIR/bin
298 done
299
300 jars="commons-pool-tomcat5 commons-dbcp-tomcat5 mysql-connector-java org.eclipse.jdt.core mail"
301 for jar in $jars; do
302         jar=$(find-jar $jar)
303         ln -sf $jar $TOMCATDIR/lib
304 done
305
306 install -d $RPM_BUILD_ROOT%{_javadir}
307 mv $TOMCATDIR/lib/jasper*.jar $RPM_BUILD_ROOT%{_javadir}
308 mv $TOMCATDIR/lib/jsp-api.jar $RPM_BUILD_ROOT%{_javadir}/jsp-api-%{jspapiver}.jar
309 mv $TOMCATDIR/lib/servlet-api.jar $RPM_BUILD_ROOT%{_javadir}/servlet-api-%{servletapiver}.jar
310 mv $TOMCATDIR/lib/catalina.jar $RPM_BUILD_ROOT%{_javadir}/tomcat6-catalina.jar
311 mv $TOMCATDIR/lib/tomcat-coyote.jar $RPM_BUILD_ROOT%{_javadir}/tomcat6-coyote.jar
312
313 ln -s jsp-api-%{jspapiver}.jar $RPM_BUILD_ROOT%{_javadir}/jsp-api.jar
314 ln -s servlet-api-%{servletapiver}.jar $RPM_BUILD_ROOT%{_javadir}/servlet-api.jar
315
316 # XXX add softlinks jasper-compiler.jar and jasper-runtime for compatibility with tomcat 5.5?
317 ln -sf %{_javadir}/jasper-el.jar $TOMCATDIR/lib
318 ln -sf %{_javadir}/jasper.jar $TOMCATDIR/lib
319
320 ln -sf %{_javadir}/jsp-api-%{jspapiver}.jar $TOMCATDIR/lib/jsp-api.jar
321 ln -sf %{_javadir}/servlet-api-%{servletapiver}.jar $TOMCATDIR/lib/servlet-api.jar
322
323 ln -sf %{_javadir}/tomcat6-catalina.jar $TOMCATDIR/lib/catalina.jar
324 ln -sf %{_javadir}/tomcat6-coyote.jar $TOMCATDIR/lib/tomcat-coyote.jar
325
326 %if %{with webservices}
327 install ../extras/catalina-ws.jar $TOMCATDIR/lib/catalina-ws.jar
328
329 ln -s %{_javadir}/geronimo-spec-jaxrpc.jar $TOMCATDIR/lib/jaxrpc.jar
330 ln -s %{_javadir}/jsr109.jar $TOMCATDIR/lib/jsr109.jar
331 %endif
332
333 %clean
334 rm -rf $RPM_BUILD_ROOT
335
336 %pre
337 %groupadd -g 234 -r -f tomcat
338 %groupadd -g 237 -r -f servlet
339 %useradd -u 234 -r -d /var/lib/tomcat -s /bin/false -c "Tomcat User" -g tomcat -G servlet tomcat
340
341 %post
342 /sbin/chkconfig --add tomcat
343 %service tomcat restart
344
345 %preun
346 if [ "$1" = "0" ]; then
347         %service tomcat stop
348         /sbin/chkconfig --del tomcat
349 fi
350
351 %postun
352 if [ "$1" = "0" ]; then
353         %userremove tomcat
354         %groupremove tomcat
355         %groupremove servlet
356 fi
357
358 %files
359 %defattr(644,root,root,755)
360 %doc KEYS RELEASE-NOTES RELEASE-PLAN-6.0.txt RUNNING.txt
361 %attr(754,root,root) /etc/rc.d/init.d/tomcat
362 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/tomcat
363 %{_sysconfdir}/tomcat
364 %dir %{_tomcatdir}
365 %dir %{_tomcatdir}/conf
366 %dir %{_tomcatdir}/bin
367 %{_tomcatdir}/bin/catalina-tasks.xml
368 %attr(755,root,root) %{_tomcatdir}/bin/*.sh
369 %{_tomcatdir}/bin/*.jar
370 %dir %{_tomcatdir}/lib
371 %{_tomcatdir}/lib/annotations-api.jar
372 %{_tomcatdir}/lib/catalina-ant.jar
373 %{_tomcatdir}/lib/catalina-ha.jar
374 %{_tomcatdir}/lib/catalina.jar
375 %{_tomcatdir}/lib/catalina-tribes.jar
376 %{_tomcatdir}/lib/commons-dbcp-tomcat5.jar
377 %{_tomcatdir}/lib/commons-pool-tomcat5.jar
378 %{_tomcatdir}/lib/el-api.jar
379 %{_tomcatdir}/lib/jasper-el.jar
380 %{_tomcatdir}/lib/jasper.jar
381 %{_tomcatdir}/lib/jsp-api.jar
382 %{_tomcatdir}/lib/mail.jar
383 %{_tomcatdir}/lib/mysql-connector-java.jar
384 %{_tomcatdir}/lib/org.eclipse.jdt.core.jar
385 %{_tomcatdir}/lib/servlet-api.jar
386 %{_tomcatdir}/lib/tomcat-coyote.jar
387 %{_tomcatdir}/lib/tomcat-i18n-es.jar
388 %{_tomcatdir}/lib/tomcat-i18n-fr.jar
389 %{_tomcatdir}/lib/tomcat-i18n-ja.jar
390
391 %dir %{_tomcatdir}/webapps
392
393 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/ROOT.xml
394 %{_tomcatdir}/webapps/ROOT
395
396 %{_tomcatdir}/logs
397 %{_tomcatdir}/work
398 %dir %attr(770,root,tomcat) %{_vardir}
399 # these directory has to be writeable because /admin need to modify config
400 # files and create temporary files
401 %dir %attr(770,root,tomcat) %{_vardir}/conf
402 %dir %attr(770,root,tomcat) %{_vardir}/conf/Catalina
403 %dir %{_vardir}/conf/Catalina/localhost
404 # tomcat config has to be writeable because of tomcat-users.xml file and Catalina dir
405 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/catalina.policy
406 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.properties*
407 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.xml
408 %dir %attr(770,root,tomcat) %{_vardir}/work
409 %dir %attr(770,root,tomcat) %{_vardir}/webapps
410 %dir %attr(770,root,tomcat) %{_vardir}/temp
411 %dir %attr(770,root,tomcat) %{_logdir}/tomcat
412 %{_vardir}/logs
413
414 %files webapp-docs
415 %defattr(644,root,root,755)
416 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/docs.xml
417 %{_tomcatdir}/webapps/docs
418
419 %files webapp-manager
420 %defattr(644,root,root,755)
421 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/manager.xml
422 %{_tomcatdir}/webapps/manager
423
424 %files webapp-host-manager
425 %defattr(644,root,root,755)
426 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/host-manager.xml
427 %{_tomcatdir}/webapps/host-manager
428
429 %files webapp-examples
430 %defattr(644,root,root,755)
431 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/examples.xml
432 %{_tomcatdir}/webapps/examples
433
434 %if %{with webservices}
435 %files webservices
436 %defattr(644,root,root,755)
437 %{_tomcatdir}/lib/catalina-ws.jar
438 %{_tomcatdir}/lib/jsr109.jar
439 %{_tomcatdir}/lib/jaxrpc.jar
440 %endif
441
442 %files -n java-tomcat-jasper
443 %defattr(644,root,root,755)
444 %{_javadir}/jasper-el.jar
445 %{_javadir}/jasper.jar
446
447 %files -n java-tomcat-catalina
448 %defattr(644,root,root,755)
449 %{_javadir}/tomcat6-catalina.jar
450
451 %files -n java-tomcat-coyote
452 %defattr(644,root,root,755)
453 %{_javadir}/tomcat6-coyote.jar
454
455 %files -n java-servletapi
456 %defattr(644,root,root,755)
457 %{_javadir}/jsp-api*.jar
458 %{_javadir}/servlet-api*.jar
This page took 0.223887 seconds and 3 git commands to generate.