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