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