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