]> git.pld-linux.org Git - packages/tomcat.git/blob - tomcat.spec
- internal deps
[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:        2
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 = %{epoch}:%{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 Requires:       %{name} = %{epoch}:%{version}-%{release}
119
120 %description webapp-manager
121 The Apache Tomcat Servlet/JSP application manager.
122
123 %description webapp-manager -l pl.UTF-8
124 Zarządca aplikacji w Tomcacie.
125
126 %package webapp-host-manager
127 Summary:        The Apache Tomcat Servlet/JSP virtual hosts manager
128 Summary(pl.UTF-8):      Zarządca wirtualnych hostów w Tomcacie
129 Group:          Networking/Daemons/Java/Servlets
130 Requires:       %{name} = %{epoch}:%{version}-%{release}
131 Obsoletes:      tomcat-admin
132
133 %description webapp-host-manager
134 The Apache Tomcat Servlet/JSP virtual hosts manager.
135
136 %description webapp-host-manager -l pl.UTF-8
137 Zarządca wirtualnych hostów w Tomcacie.
138
139 %package webapp-examples
140 Summary:        The Apache Tomcat Servlet/JSP example applications
141 Summary(pl.UTF-8):      Przykładowe aplikacje dla Tomcata
142 Group:          Networking/Daemons/Java/Servlets
143 Requires:       %{name} = %{epoch}:%{version}-%{release}
144
145 %description webapp-examples
146 The Apache Tomcat Servlet/JSP example applications.
147
148 %description webapp-examples -l pl.UTF-8
149 Przykładowe aplikacje dla Tomcata.
150
151 %package webservices
152 Summary:        Web Services support (JSR 109)
153 Group:          Libraries/Java
154 Requires:       java(JSR109)
155 Requires:       java-geronimo-spec-jaxrpc
156 Requires:       %{name} = %{epoch}:%{version}-%{release}
157
158 %description webservices
159 Factories for JSR 109 which may be used to resolve web services
160 references.
161
162 %package jasper
163 Summary:        JSP compiler
164 Summary(pl.UTF-8):      Kompilator JSP
165 Group:          Libraries/Java
166 Requires:       jpackage-utils
167 Obsoletes:      apache-tomcat-jasper
168
169 %description jasper
170 Jasper is Java ServerPages compiler used by Apache Tomcat servlet
171 container.
172
173 %description jasper -l pl.UTF-8
174 Jasper jest kompilatorem Java ServerPages używanym przez kontener
175 servletów Apache Tomcat.
176
177 %package -n java-servletapi
178 Summary:        Java servlet and JSP implementation classes
179 Summary(pl.UTF-8):      Klasy z implementacją Java Servlet i JSP
180 Group:          Libraries/Java
181 Provides:       java(JSP) = %{jspapiver}
182 Provides:       java(Servlet) = %{servletapiver}
183 Obsoletes:      java-servletapi5
184
185 %description -n java-servletapi
186 Implementation classes of the Java Servlet and JSP APIs (packages
187 javax.servlet, javax.servlet.http, javax.servlet.jsp, and
188 javax.servlet.jsp.tagext).
189
190 %description -n java-servletapi -l pl.UTF-8
191 Implementacje klas API Java Servlet i JSP (pakiety javax.servlet,
192 javax.servlet.http, javax.servlet.jsp i java.servlet.jsp.tagext).
193
194 %prep
195 %setup -q -n apache-%{name}-%{version}-src
196
197 %patch0 -p0
198 %patch1 -p0
199
200 # we don't need those scripts
201 rm bin/*.bat
202 rm bin/{startup,shutdown}.sh
203
204 cp %{SOURCE3} build.properties
205
206 %build
207 TOPDIR=$(pwd)
208
209 %ant -Drpm.javadir=%{_javadir} -Drpm.libdir=%{_libdir}
210
211 %if %{with javadoc}
212 %ant -f dist.xml dist-javadoc
213 %endif
214
215 %if %{with webservices}
216 mkdir -p output/extras/webservices
217
218 ln -s %{_javadir}/geronimo-spec-jaxrpc.jar output/extras/webservices/jaxrpc.jar
219 ln -s %{_javadir}/jsr109.jar output/extras/webservices/wsdl4j.jar
220
221 %ant -f extras.xml webservices
222 %endif
223
224
225 %install
226 rm -rf $RPM_BUILD_ROOT
227 cd output/build
228
229 TOMCATDIR=$RPM_BUILD_ROOT%{_tomcatdir}
230 CATALINADIR=$RPM_BUILD_ROOT/var/lib/tomcat
231
232 install -d $TOMCATDIR \
233             $CATALINADIR/temp \
234             $RPM_BUILD_ROOT%{_vardir}/webapps \
235             $RPM_BUILD_ROOT%{_vardir}/work \
236             $RPM_BUILD_ROOT%{_vardir}/conf \
237             $RPM_BUILD_ROOT%{_logdir}/tomcat \
238             $RPM_BUILD_ROOT/etc/sysconfig \
239             $RPM_BUILD_ROOT/etc/rc.d/init.d
240
241 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
242 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/tomcat
243
244 cp -a conf/* $CATALINADIR/conf
245 install -d $CATALINADIR/conf/Catalina/localhost
246 install %{SOURCE10} $CATALINADIR/conf/Catalina/localhost/ROOT.xml
247 install %{SOURCE11} $CATALINADIR/conf/Catalina/localhost/docs.xml
248 install %{SOURCE12} $CATALINADIR/conf/Catalina/localhost/manager.xml
249 install %{SOURCE13} $CATALINADIR/conf/Catalina/localhost/host-manager.xml
250 install %{SOURCE14} $CATALINADIR/conf/Catalina/localhost/examples.xml
251
252 cp -a bin lib webapps $TOMCATDIR
253 cp -a temp $CATALINADIR
254
255 ln -sf %{_logdir}/tomcat $CATALINADIR/logs
256 ln -sf %{_logdir}/tomcat $TOMCATDIR/logs
257 ln -sf %{_vardir}/work $TOMCATDIR/work
258 ln -sf %{_vardir}/conf $TOMCATDIR/conf
259 ln -sf %{_vardir}/conf $RPM_BUILD_ROOT%{_sysconfdir}
260
261 # symlinks instead of copies
262 jars="commons-daemon commons-logging-api"
263 for jar in $jars; do
264         jar=$(find-jar $jar)
265         ln -sf $jar $TOMCATDIR/bin
266 done
267
268 jars="commons-pool-tomcat5 commons-dbcp-tomcat5"
269 for jar in $jars; do
270         jar=$(find-jar $jar)
271         ln -sf $jar $TOMCATDIR/lib
272 done
273
274 install -d $RPM_BUILD_ROOT%{_javadir}
275 mv $TOMCATDIR/lib/jasper*.jar $RPM_BUILD_ROOT%{_javadir}
276 mv $TOMCATDIR/lib/jsp-api.jar $RPM_BUILD_ROOT%{_javadir}/jsp-api-%{jspapiver}.jar
277 mv $TOMCATDIR/lib/servlet-api.jar $RPM_BUILD_ROOT%{_javadir}/servlet-api-%{servletapiver}.jar
278
279 ln -s jsp-api-%{jspapiver}.jar $RPM_BUILD_ROOT%{_javadir}/jsp-api.jar
280 ln -s servlet-api-%{servletapiver}.jar $RPM_BUILD_ROOT%{_javadir}/servlet-api.jar
281
282 # XXX add softlinks jasper-compiler.jar and jasper-runtime for compatibility with tomcat 5.5?
283 ln -sf %{_javadir}/jasper-compiler-jdt.jar $TOMCATDIR/lib
284 ln -sf %{_javadir}/jasper-el.jar $TOMCATDIR/lib
285 ln -sf %{_javadir}/jasper.jar $TOMCATDIR/lib
286
287 ln -sf %{_javadir}/jsp-api-%{jspapiver}.jar $TOMCATDIR/lib
288 ln -sf %{_javadir}/servlet-api-%{servletapiver}.jar $TOMCATDIR/lib
289
290 %if %{with webservices}
291 install ../extras/catalina-ws.jar $TOMCATDIR/lib/catalina-ws.jar
292
293 ln -s %{_javadir}/geronimo-spec-jaxrpc.jar $TOMCATDIR/lib/jaxrpc.jar
294 ln -s %{_javadir}/jsr109.jar $TOMCATDIR/lib/jsr109.jar
295 %endif
296
297 %clean
298 rm -rf $RPM_BUILD_ROOT
299
300 %pre
301 %groupadd -g 234 -r -f tomcat
302 %groupadd -g 237 -r -f servlet
303 %useradd -u 234 -r -d /var/lib/tomcat -s /bin/false -c "Tomcat User" -g tomcat -G servlet tomcat
304
305 %post
306 /sbin/chkconfig --add tomcat
307 %service tomcat restart
308
309 %preun
310 if [ "$1" = "0" ]; then
311         %service tomcat stop
312         /sbin/chkconfig --del tomcat
313 fi
314
315 %postun
316 if [ "$1" = "0" ]; then
317         %userremove tomcat
318         %groupremove tomcat
319         %groupremove servlet
320 fi
321
322 %files
323 %defattr(644,root,root,755)
324 %doc KEYS RELEASE-NOTES RELEASE-PLAN-6.0.txt RUNNING.txt
325 %attr(754,root,root) /etc/rc.d/init.d/tomcat
326 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/tomcat
327 %{_sysconfdir}
328 %dir %{_tomcatdir}
329 %dir %{_tomcatdir}/conf
330 %dir %{_tomcatdir}/bin
331 %{_tomcatdir}/bin/catalina-tasks.xml
332 %attr(755,root,root) %{_tomcatdir}/bin/*.sh
333 %{_tomcatdir}/bin/*.jar
334 %dir %{_tomcatdir}/lib
335 %{_tomcatdir}/lib/annotations-api.jar
336 %{_tomcatdir}/lib/catalina.jar
337 %{_tomcatdir}/lib/commons-dbcp-tomcat5.jar
338 %{_tomcatdir}/lib/commons-pool-tomcat5.jar
339 %{_tomcatdir}/lib/jasper-el.jar
340 %{_tomcatdir}/lib/jsp-api-2.1.jar
341 %{_tomcatdir}/lib/tomcat-i18n-es.jar
342 %{_tomcatdir}/lib/catalina-ant.jar
343 %{_tomcatdir}/lib/catalina-tribes.jar
344 %{_tomcatdir}/lib/el-api.jar
345 %{_tomcatdir}/lib/jasper.jar
346 %{_tomcatdir}/lib/servlet-api-2.5.jar
347 %{_tomcatdir}/lib/tomcat-i18n-fr.jar
348 %{_tomcatdir}/lib/catalina-ha.jar
349 %{_tomcatdir}/lib/jasper-compiler-jdt.jar
350 %{_tomcatdir}/lib/tomcat-coyote.jar
351 %{_tomcatdir}/lib/tomcat-i18n-ja.jar
352
353 %dir %{_tomcatdir}/webapps
354
355 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/ROOT.xml
356 %{_tomcatdir}/webapps/ROOT
357
358 %{_tomcatdir}/logs
359 %{_tomcatdir}/work
360 %dir %{_vardir}
361 # these directory has to be writeable because /admin need to modify config
362 # files and create temporary files
363 %dir %attr(775,root,tomcat) %{_vardir}/conf
364 %dir %attr(775,root,tomcat) %{_vardir}/conf/Catalina
365 %dir %{_vardir}/conf/Catalina/localhost
366 # tomcat config has to be writeable because of tomcat-users.xml file and Catalina dir
367 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/catalina.policy
368 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.properties*
369 %config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.xml
370 %dir %attr(1730,root,tomcat) %{_vardir}/work
371 %dir %attr(775,root,tomcat) %{_vardir}/webapps
372 %dir %attr(775,root,tomcat) %{_vardir}/temp
373 %dir %attr(775,root,tomcat) %{_logdir}/tomcat
374 %{_vardir}/logs
375
376 %files webapp-docs
377 %defattr(644,root,root,755)
378 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/docs.xml
379 %{_tomcatdir}/webapps/docs
380
381 %files webapp-manager
382 %defattr(644,root,root,755)
383 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/manager.xml
384 %{_tomcatdir}/webapps/manager
385
386 %files webapp-host-manager
387 %defattr(644,root,root,755)
388 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/host-manager.xml
389 %{_tomcatdir}/webapps/host-manager
390
391 %files webapp-examples
392 %defattr(644,root,root,755)
393 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/examples.xml
394 %{_tomcatdir}/webapps/examples
395
396 %if %{with webservices}
397 %files webservices
398 %defattr(644,root,root,755)
399 %{_tomcatdir}/lib/jsr109.jar
400 %{_tomcatdir}/lib/jaxrpc.jar
401 %{_tomcatdir}/lib/catalina-ws.jar
402 %endif
403
404 %files jasper
405 %defattr(644,root,root,755)
406 %{_javadir}/jasper-compiler-jdt.jar
407 %{_javadir}/jasper-el.jar
408 %{_javadir}/jasper.jar
409
410 %files -n java-servletapi
411 %defattr(644,root,root,755)
412 %{_javadir}/jsp-api*.jar
413 %{_javadir}/servlet-api*.jar
This page took 0.083467 seconds and 4 git commands to generate.