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