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