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