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