]> git.pld-linux.org Git - packages/tomcat.git/blob - tomcat.spec
- droped BR java-commons-collection (commented out by sparky in previous
[packages/tomcat.git] / tomcat.spec
1
2 # Conditional build:
3 %bcond_without  javadoc         # skip building javadocs
4 %bcond_without  java_sun        # build with gcj (does not work)
5 %bcond_without  webservices     # skip building webservices
6
7 %define         jspapiver       2.1
8 %define         servletapiver   2.5
9
10 %include        /usr/lib/rpm/macros.java
11 Summary:        Web server and Servlet/JSP Engine, RI for Servlet %{servletapiver}/JSP %{jspapiver}API
12 Summary(pl.UTF-8):      Serwer www i silnik Servlet/JSP będący wzorcową implementacją API Servlet %{servletapiver}/JSP %{jspapiver}
13 Name:           tomcat
14 Version:        6.0.24
15 Release:        1
16 License:        Apache v2.0
17 Group:          Networking/Daemons/Java
18 Source0:        http://www.apache.org/dist/tomcat/tomcat-6/v%{version}/src/apache-%{name}-%{version}-src.tar.gz
19 # Source0-md5:  543218290008e0dd6a329f69136973ca
20 Source1:        apache-%{name}.init
21 Source2:        apache-%{name}.sysconfig
22 Source3:        %{name}-build.properties
23 Source10:       %{name}-context-ROOT.xml
24 Source11:       %{name}-context-docs.xml
25 Source12:       %{name}-context-manager.xml
26 Source13:       %{name}-context-host-manager.xml
27 Source14:       %{name}-context-examples.xml
28 Patch0:         %{name}-build.xml.patch
29 Patch1:         %{name}-extras.xml.patch
30 URL:            http://tomcat.apache.org/
31 %if %{with java_sun}
32 BuildRequires:  java-sun >= 1.5
33 BuildRequires:  java-sun-jre >= 1.5
34 %else
35 BuildRequires:  java-gcj-compat-devel
36 %endif
37 BuildRequires:  ant >= 1.5.3
38 BuildRequires:  ant-trax
39 BuildRequires:  eclipse-jdt >= 3.2
40 BuildRequires:  java-commons-daemon >= 1.0
41 BuildRequires:  java-commons-dbcp-tomcat5 >= 0:1.1
42 BuildRequires:  java-commons-pool-tomcat5
43 %if %{with webservices}
44 BuildRequires:  java(JSR109)
45 BuildRequires:  java-geronimo-spec-jaxrpc
46 %endif
47 BuildRequires:  java-jdbc-mysql
48 BuildRequires:  jpackage-utils
49 BuildRequires:  rpm-javaprov
50 BuildRequires:  rpmbuild(macros) >= 1.300
51 Requires(post,preun):   /sbin/chkconfig
52 Requires(postun):       /usr/sbin/groupdel
53 Requires(postun):       /usr/sbin/userdel
54 Requires(pre):  /bin/id
55 Requires(pre):  /usr/bin/getgid
56 Requires(pre):  /usr/sbin/groupadd
57 Requires(pre):  /usr/sbin/useradd
58 Requires:       java-%{name}-catalina = %{epoch}:%{version}-%{release}
59 Requires:       java-%{name}-coyote = %{epoch}:%{version}-%{release}
60 Requires:       java-%{name}-jasper = %{epoch}:%{version}-%{release}
61 Requires:       java-commons-dbcp-tomcat5 >= 0:1.1
62 Requires:       java-commons-pool-tomcat5
63 Requires:       java-jdbc-mysql
64 Requires:       java-servletapi = %{epoch}:%{version}-%{release}
65 Requires:       java-sun-jre >= 1.2
66 Requires:       jaxp_parser_impl
67 Requires:       jndi >= 1.2.1
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 %define         _sysconfdir     /etc/tomcat
82
83 %define find_jar() %{expand:%%define jarfile {%(jar=$(find-jar %1); echo ${jar:-%%nil})}}%{?jarfile}%{!?jarfile:%{error:find-jar %1 failed}}%{nil}
84
85 %description
86 Tomcat is the servlet container that is used in the official Reference
87 Implementation for the Java Servlet and JavaServer Pages technologies.
88 The Java Servlet and JavaServer Pages specifications are developed by
89 Sun under the Java Community Process.
90
91 Tomcat is developed in an open and participatory environment and
92 released under the Apache Software License. Tomcat is intended to be a
93 collaboration of the best-of-breed developers from around the world.
94 We invite you to participate in this open development project.
95
96 %description -l pl.UTF-8
97 Tomcat to kontener serwletowy używany przez oficjalną implementację
98 wzorcową technologii Java Servlet i JavaServer Pages. Specyfikacje
99 Java Servlet i JavaServer Pages są rozwijane przez Suna zgodnie z Java
100 Community Process.
101
102 %package webapp-docs
103 Summary:        The Apache Tomcat Servlet/JSP Container documentation
104 Summary(pl.UTF-8):      Dokumentacja do Tomcata - kontenera Servlet/JSP
105 Group:          Documentation
106 Obsoletes:      apache-tomcat-doc
107 Obsoletes:      jakarta-tomcat-doc
108 Obsoletes:      tomcat-doc
109
110 %description webapp-docs
111 The Tomcat Servlet/JSP Container documentation.
112
113 %description webapp-docs -l pl.UTF-8
114 Dokumentacja do Tomcata - kontenera Servlet/JSP.
115
116 %package webapp-manager
117 Summary:        The Apache Tomcat Servlet/JSP application manager
118 Summary(pl.UTF-8):      Zarządca aplikacji w Tomcacie
119 Group:          Networking/Daemons/Java/Servlets
120 Requires:       %{name} = %{epoch}:%{version}-%{release}
121
122 %description webapp-manager
123 The Apache Tomcat Servlet/JSP application manager.
124
125 %description webapp-manager -l pl.UTF-8
126 Zarządca aplikacji w Tomcacie.
127
128 %package webapp-host-manager
129 Summary:        The Apache Tomcat Servlet/JSP virtual hosts manager
130 Summary(pl.UTF-8):      Zarządca wirtualnych hostów w Tomcacie
131 Group:          Networking/Daemons/Java/Servlets
132 Requires:       %{name} = %{epoch}:%{version}-%{release}
133 Obsoletes:      tomcat-admin
134
135 %description webapp-host-manager
136 The Apache Tomcat Servlet/JSP virtual hosts manager.
137
138 %description webapp-host-manager -l pl.UTF-8
139 Zarządca wirtualnych hostów w Tomcacie.
140
141 %package webapp-examples
142 Summary:        The Apache Tomcat Servlet/JSP example applications
143 Summary(pl.UTF-8):      Przykładowe aplikacje dla Tomcata
144 Group:          Networking/Daemons/Java/Servlets
145 Requires:       %{name} = %{epoch}:%{version}-%{release}
146
147 %description webapp-examples
148 The Apache Tomcat Servlet/JSP example applications.
149
150 %description webapp-examples -l pl.UTF-8
151 Przykładowe aplikacje dla Tomcata.
152
153 %package webservices
154 Summary:        Web Services support (JSR 109)
155 Group:          Libraries/Java
156 Requires:       %{name} = %{epoch}:%{version}-%{release}
157 Requires:       java(JSR109)
158 Requires:       java-geronimo-spec-jaxrpc
159
160 %description webservices
161 Factories for JSR 109 which may be used to resolve web services
162 references.
163
164 %package -n java-tomcat-catalina
165 Summary:        Tomcat's servlet container
166 Group:          Libraries/Java
167 Requires:       jpackage-utils
168
169 %description -n java-tomcat-catalina
170 Catalina is Tomcat's servlet container. Catalina implements Sun
171 Microsystems' specifications for servlet and JavaServer Pages (JSP).
172
173 %package -n java-tomcat-coyote
174 Summary:        Tomcat HTTP connector
175 Group:          Libraries/Java
176 Requires:       jpackage-utils
177
178 %description -n java-tomcat-coyote
179 Coyote is Tomcat's HTTP Connector component that supports the HTTP 1.1
180 protocol for the web server or application container. Coyote listens
181 for incoming connections on a specific TCP port on the server and
182 forwards the request to the Tomcat Engine to process the request and
183 send back a response to the requesting client.
184
185 %package -n java-tomcat-jasper
186 Summary:        JSP compiler
187 Summary(pl.UTF-8):      Kompilator JSP
188 Group:          Libraries/Java
189 Requires:       eclipse-jdt >= 3.2
190 Requires:       jpackage-utils
191 Obsoletes:      apache-tomcat-jasper
192 Obsoletes:      tomcat-jasper
193
194 %description -n java-tomcat-jasper
195 Jasper is Java ServerPages compiler used by Apache Tomcat servlet
196 container.
197
198 %description -n java-tomcat-jasper -l pl.UTF-8
199 Jasper jest kompilatorem Java ServerPages używanym przez kontener
200 servletów Apache Tomcat.
201
202 %package -n java-servletapi
203 Summary:        Java servlet and JSP implementation classes
204 Summary(pl.UTF-8):      Klasy z implementacją Java Servlet i JSP
205 Group:          Libraries/Java
206 Provides:       java(JSP) = %{jspapiver}
207 Provides:       java(Servlet) = %{servletapiver}
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
222 %patch0 -p0
223 %patch1 -p0
224
225 # we don't need those scripts
226 rm bin/*.bat
227 rm bin/{startup,shutdown}.sh
228
229 cp %{SOURCE3} build.properties
230
231 %build
232 TOPDIR=$(pwd)
233
234 %ant -Drpm.javadir=%{_javadir} -Drpm.libdir=%{_libdir}
235
236 %if %{with javadoc}
237 %ant -f dist.xml dist-javadoc
238 %endif
239
240 %if %{with webservices}
241 mkdir -p output/extras/webservices
242
243 ln -s %{_javadir}/geronimo-spec-jaxrpc.jar output/extras/webservices/jaxrpc.jar
244 ln -s %{_javadir}/jsr109.jar output/extras/webservices/wsdl4j.jar
245
246 %ant -f extras.xml webservices
247 %endif
248
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 %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
267 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/tomcat
268
269 cp -a conf/* $CATALINADIR/conf
270 install -d $CATALINADIR/conf/Catalina/localhost
271 install %{SOURCE10} $CATALINADIR/conf/Catalina/localhost/ROOT.xml
272 install %{SOURCE11} $CATALINADIR/conf/Catalina/localhost/docs.xml
273 install %{SOURCE12} $CATALINADIR/conf/Catalina/localhost/manager.xml
274 install %{SOURCE13} $CATALINADIR/conf/Catalina/localhost/host-manager.xml
275 install %{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"
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/mysql-connector-java.jar
376 %{_tomcatdir}/lib/org.eclipse.jdt.core.jar
377 %{_tomcatdir}/lib/servlet-api.jar
378 %{_tomcatdir}/lib/tomcat-coyote.jar
379 %{_tomcatdir}/lib/tomcat-i18n-es.jar
380 %{_tomcatdir}/lib/tomcat-i18n-fr.jar
381 %{_tomcatdir}/lib/tomcat-i18n-ja.jar
382
383 %dir %{_tomcatdir}/webapps
384
385 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/ROOT.xml
386 %{_tomcatdir}/webapps/ROOT
387
388 %{_tomcatdir}/logs
389 %{_tomcatdir}/work
390 %dir %attr(770,root,tomcat) %{_vardir}
391 # these directory has to be writeable because /admin need to modify config
392 # files and create temporary files
393 %dir %attr(770,root,tomcat) %{_vardir}/conf
394 %dir %attr(770,root,tomcat) %{_vardir}/conf/Catalina
395 %dir %{_vardir}/conf/Catalina/localhost
396 # tomcat config has to be writeable because of tomcat-users.xml file and Catalina dir
397 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/catalina.policy
398 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.properties*
399 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.xml
400 %dir %attr(770,root,tomcat) %{_vardir}/work
401 %dir %attr(770,root,tomcat) %{_vardir}/webapps
402 %dir %attr(770,root,tomcat) %{_vardir}/temp
403 %dir %attr(770,root,tomcat) %{_logdir}/tomcat
404 %{_vardir}/logs
405
406 %files webapp-docs
407 %defattr(644,root,root,755)
408 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/docs.xml
409 %{_tomcatdir}/webapps/docs
410
411 %files webapp-manager
412 %defattr(644,root,root,755)
413 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/manager.xml
414 %{_tomcatdir}/webapps/manager
415
416 %files webapp-host-manager
417 %defattr(644,root,root,755)
418 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/host-manager.xml
419 %{_tomcatdir}/webapps/host-manager
420
421 %files webapp-examples
422 %defattr(644,root,root,755)
423 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/examples.xml
424 %{_tomcatdir}/webapps/examples
425
426 %if %{with webservices}
427 %files webservices
428 %defattr(644,root,root,755)
429 %{_tomcatdir}/lib/catalina-ws.jar
430 %{_tomcatdir}/lib/jsr109.jar
431 %{_tomcatdir}/lib/jaxrpc.jar
432 %endif
433
434 %files -n java-tomcat-jasper
435 %defattr(644,root,root,755)
436 %{_javadir}/jasper-el.jar
437 %{_javadir}/jasper.jar
438
439 %files -n java-tomcat-catalina
440 %defattr(644,root,root,755)
441 %{_javadir}/tomcat6-catalina.jar
442
443 %files -n java-tomcat-coyote
444 %defattr(644,root,root,755)
445 %{_javadir}/tomcat6-coyote.jar
446
447 %files -n java-servletapi
448 %defattr(644,root,root,755)
449 %{_javadir}/jsp-api*.jar
450 %{_javadir}/servlet-api*.jar
This page took 0.122495 seconds and 4 git commands to generate.