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