]> git.pld-linux.org Git - packages/tomcat.git/blob - tomcat.spec
- BR: rpm-javaprov
[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-collections >= 0:2.0
41 BuildRequires:  java-commons-daemon >= 1.0
42 BuildRequires:  java-commons-dbcp-tomcat5 >= 0:1.1
43 BuildRequires:  java-commons-pool-tomcat5
44 %if %{with webservices}
45 BuildRequires:  java(JSR109)
46 BuildRequires:  java-geronimo-spec-jaxrpc
47 %endif
48 BuildRequires:  java-jdbc-mysql
49 BuildRequires:  jpackage-utils
50 BuildRequires:  rpm-javaprov
51 BuildRequires:  rpmbuild(macros) >= 1.300
52 Requires(post,preun):   /sbin/chkconfig
53 Requires(postun):       /usr/sbin/groupdel
54 Requires(postun):       /usr/sbin/userdel
55 Requires(pre):  /bin/id
56 Requires(pre):  /usr/bin/getgid
57 Requires(pre):  /usr/sbin/groupadd
58 Requires(pre):  /usr/sbin/useradd
59 Requires:       java-%{name}-catalina = %{epoch}:%{version}-%{release}
60 Requires:       java-%{name}-coyote = %{epoch}:%{version}-%{release}
61 Requires:       java-%{name}-jasper = %{epoch}:%{version}-%{release}
62 Requires:       java-commons-dbcp-tomcat5 >= 0:1.1
63 Requires:       java-commons-pool-tomcat5
64 Requires:       java-jdbc-mysql
65 Requires:       java-servletapi = %{epoch}:%{version}-%{release}
66 Requires:       java-sun-jre >= 1.2
67 Requires:       jaxp_parser_impl
68 Requires:       jndi >= 1.2.1
69 Requires:       rc-scripts
70 Suggests:       tomcat-native
71 Provides:       group(servlet)
72 Provides:       group(tomcat)
73 Provides:       user(tomcat)
74 Obsoletes:      apache-tomcat
75 Obsoletes:      jakarta-tomcat
76 BuildArch:      noarch
77 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
78
79 %define         _tomcatdir      %{_datadir}/tomcat
80 %define         _logdir         %{_var}/log
81 %define         _vardir         %{_var}/lib/tomcat
82 %define         _sysconfdir     /etc/tomcat
83
84 %define find_jar() %{expand:%%define jarfile {%(jar=$(find-jar %1); echo ${jar:-%%nil})}}%{?jarfile}%{!?jarfile:%{error:find-jar %1 failed}}%{nil}
85
86 %description
87 Tomcat is the servlet container that is used in the official Reference
88 Implementation for the Java Servlet and JavaServer Pages technologies.
89 The Java Servlet and JavaServer Pages specifications are developed by
90 Sun under the Java Community Process.
91
92 Tomcat is developed in an open and participatory environment and
93 released under the Apache Software License. Tomcat is intended to be a
94 collaboration of the best-of-breed developers from around the world.
95 We invite you to participate in this open development project.
96
97 %description -l pl.UTF-8
98 Tomcat to kontener serwletowy używany przez oficjalną implementację
99 wzorcową technologii Java Servlet i JavaServer Pages. Specyfikacje
100 Java Servlet i JavaServer Pages są rozwijane przez Suna zgodnie z Java
101 Community Process.
102
103 %package webapp-docs
104 Summary:        The Apache Tomcat Servlet/JSP Container documentation
105 Summary(pl.UTF-8):      Dokumentacja do Tomcata - kontenera Servlet/JSP
106 Group:          Documentation
107 Obsoletes:      apache-tomcat-doc
108 Obsoletes:      jakarta-tomcat-doc
109 Obsoletes:      tomcat-doc
110
111 %description webapp-docs
112 The Tomcat Servlet/JSP Container documentation.
113
114 %description webapp-docs -l pl.UTF-8
115 Dokumentacja do Tomcata - kontenera Servlet/JSP.
116
117 %package webapp-manager
118 Summary:        The Apache Tomcat Servlet/JSP application manager
119 Summary(pl.UTF-8):      Zarządca aplikacji w Tomcacie
120 Group:          Networking/Daemons/Java/Servlets
121 Requires:       %{name} = %{epoch}:%{version}-%{release}
122
123 %description webapp-manager
124 The Apache Tomcat Servlet/JSP application manager.
125
126 %description webapp-manager -l pl.UTF-8
127 Zarządca aplikacji w Tomcacie.
128
129 %package webapp-host-manager
130 Summary:        The Apache Tomcat Servlet/JSP virtual hosts manager
131 Summary(pl.UTF-8):      Zarządca wirtualnych hostów w Tomcacie
132 Group:          Networking/Daemons/Java/Servlets
133 Requires:       %{name} = %{epoch}:%{version}-%{release}
134 Obsoletes:      tomcat-admin
135
136 %description webapp-host-manager
137 The Apache Tomcat Servlet/JSP virtual hosts manager.
138
139 %description webapp-host-manager -l pl.UTF-8
140 Zarządca wirtualnych hostów w Tomcacie.
141
142 %package webapp-examples
143 Summary:        The Apache Tomcat Servlet/JSP example applications
144 Summary(pl.UTF-8):      Przykładowe aplikacje dla Tomcata
145 Group:          Networking/Daemons/Java/Servlets
146 Requires:       %{name} = %{epoch}:%{version}-%{release}
147
148 %description webapp-examples
149 The Apache Tomcat Servlet/JSP example applications.
150
151 %description webapp-examples -l pl.UTF-8
152 Przykładowe aplikacje dla Tomcata.
153
154 %package webservices
155 Summary:        Web Services support (JSR 109)
156 Group:          Libraries/Java
157 Requires:       %{name} = %{epoch}:%{version}-%{release}
158 Requires:       java(JSR109)
159 Requires:       java-geronimo-spec-jaxrpc
160
161 %description webservices
162 Factories for JSR 109 which may be used to resolve web services
163 references.
164
165 %package -n java-tomcat-catalina
166 Summary:        Tomcat's servlet container
167 Group:          Libraries/Java
168 Requires:       jpackage-utils
169
170 %description -n java-tomcat-catalina
171 Catalina is Tomcat's servlet container. Catalina implements Sun
172 Microsystems' specifications for servlet and JavaServer Pages (JSP).
173
174 %package -n java-tomcat-coyote
175 Summary:        Tomcat HTTP connector
176 Group:          Libraries/Java
177 Requires:       jpackage-utils
178
179 %description -n java-tomcat-coyote
180 Coyote is Tomcat's HTTP Connector component that supports the HTTP 1.1
181 protocol for the web server or application container. Coyote listens
182 for incoming connections on a specific TCP port on the server and
183 forwards the request to the Tomcat Engine to process the request and
184 send back a response to the requesting client.
185
186 %package -n java-tomcat-jasper
187 Summary:        JSP compiler
188 Summary(pl.UTF-8):      Kompilator JSP
189 Group:          Libraries/Java
190 Requires:       eclipse-jdt >= 3.2
191 Requires:       jpackage-utils
192 Obsoletes:      apache-tomcat-jasper
193 Obsoletes:      tomcat-jasper
194
195 %description -n java-tomcat-jasper
196 Jasper is Java ServerPages compiler used by Apache Tomcat servlet
197 container.
198
199 %description -n java-tomcat-jasper -l pl.UTF-8
200 Jasper jest kompilatorem Java ServerPages używanym przez kontener
201 servletów Apache Tomcat.
202
203 %package -n java-servletapi
204 Summary:        Java servlet and JSP implementation classes
205 Summary(pl.UTF-8):      Klasy z implementacją Java Servlet i JSP
206 Group:          Libraries/Java
207 Provides:       java(JSP) = %{jspapiver}
208 Provides:       java(Servlet) = %{servletapiver}
209 Obsoletes:      java-servletapi5
210
211 %description -n java-servletapi
212 Implementation classes of the Java Servlet and JSP APIs (packages
213 javax.servlet, javax.servlet.http, javax.servlet.jsp, and
214 javax.servlet.jsp.tagext).
215
216 %description -n java-servletapi -l pl.UTF-8
217 Implementacje klas API Java Servlet i JSP (pakiety javax.servlet,
218 javax.servlet.http, javax.servlet.jsp i java.servlet.jsp.tagext).
219
220 %prep
221 %setup -q -n apache-%{name}-%{version}-src
222
223 %patch0 -p0
224 %patch1 -p0
225
226 # we don't need those scripts
227 rm bin/*.bat
228 rm bin/{startup,shutdown}.sh
229
230 cp %{SOURCE3} build.properties
231
232 %build
233 TOPDIR=$(pwd)
234
235 %ant -Drpm.javadir=%{_javadir} -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
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 %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
268 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/tomcat
269
270 cp -a conf/* $CATALINADIR/conf
271 install -d $CATALINADIR/conf/Catalina/localhost
272 install %{SOURCE10} $CATALINADIR/conf/Catalina/localhost/ROOT.xml
273 install %{SOURCE11} $CATALINADIR/conf/Catalina/localhost/docs.xml
274 install %{SOURCE12} $CATALINADIR/conf/Catalina/localhost/manager.xml
275 install %{SOURCE13} $CATALINADIR/conf/Catalina/localhost/host-manager.xml
276 install %{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"
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/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.070112 seconds and 4 git commands to generate.