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