]> git.pld-linux.org Git - packages/tomcat.git/blob - tomcat.spec
- fix one more jakarta in pkg name
[packages/tomcat.git] / tomcat.spec
1 # TODO
2 # - packages for *.renametojar files (-cgi and -ssi in server/lib)
3 #
4 # Conditional build:
5 %bcond_without  javadoc         # skip building javadocs
6 %bcond_with     jta             # put jta jar into tomcat lib dir.
7 %bcond_without  java_sun        # build with gcj (does not work)
8 #
9 Summary:        Apache Servlet/JSP Engine, RI for Servlet 2.4/JSP 2.0 API
10 Summary(pl.UTF-8):      Silnik Servlet/JSP Apache będący wzorcową implementacją API Servlet 2.4/JSP 2.0
11 Name:           apache-tomcat
12 Version:        5.5.27
13 Release:        0.3
14 License:        Apache v2.0
15 Group:          Networking/Daemons/Java
16 Source0:        http://www.apache.org/dist/tomcat/tomcat-5/v%{version}/src/%{name}-%{version}-src.tar.gz
17 # Source0-md5:  eb3f196013550b9b1684e4ff18593a8e
18 Source1:        %{name}.init
19 Source2:        %{name}.sysconfig
20 Source10:       %{name}-context-ROOT.xml
21 Source11:       %{name}-context-balancer.xml
22 Source12:       %{name}-context-jsp-examples.xml
23 Source13:       %{name}-context-tomcat-docs.xml
24 Source14:       %{name}-context-webdav.xml
25 Patch0:         %{name}-skip-servletapi.patch
26 Patch1:         %{name}-nsis.patch
27 Patch2:         %{name}-native.patch
28 Patch3:         %{name}-skip-jdt.patch
29 Patch4:         %{name}-no-connectors.patch
30 Patch5:         %{name}-dbcp.patch
31 # this patch is needed for struts >= 1.3
32 Patch6:         %{name}-struts.patch
33 # WTF? Why is it needed? Is it related to struts version?
34 Patch7:         %{name}-admin-struts.patch
35 URL:            http://tomcat.apache.org/
36 %if %{with java_sun}
37 BuildRequires:  java-sun >= 1.5
38 BuildRequires:  java-sun-jre >= 1.5
39 %else
40 BuildRequires:  java-gcj-compat-devel
41 # BuildRequires:        jsse >= 0:1.0.3
42 %endif
43 BuildRequires:  ant >= 1.5.3
44 BuildRequires:  ant-trax
45 BuildRequires:  eclipse-jdt
46 BuildRequires:  jaas
47 BuildRequires:  jakarta-regexp >= 0:1.3
48 BuildRequires:  java-commons-beanutils >= 1.7
49 BuildRequires:  java-commons-chain
50 BuildRequires:  java-commons-collections >= 0:3.1
51 BuildRequires:  java-commons-collections-tomcat5 >= 0:3.1
52 BuildRequires:  java-commons-daemon >= 1.0
53 BuildRequires:  java-commons-dbcp >= 0:1.2.1
54 BuildRequires:  java-commons-dbcp-tomcat5 >= 0:1.2.1
55 BuildRequires:  java-commons-digester >= 0:1.7
56 BuildRequires:  java-commons-el >= 0:1.0
57 BuildRequires:  java-commons-fileupload >= 0:1.0
58 BuildRequires:  java-commons-httpclient
59 BuildRequires:  java-commons-io >= 1.4
60 BuildRequires:  java-commons-launcher >= 0:0.9
61 BuildRequires:  java-commons-logging >= 0:1.0.4
62 BuildRequires:  java-commons-modeler >= 2.0
63 BuildRequires:  java-commons-pool >= 0:1.2
64 BuildRequires:  java-commons-pool-tomcat5 >= 0:1.2
65 %{?with_jta:BuildRequires:      java-jta >= 0:1.0.1}
66 BuildRequires:  java-log4j
67 BuildRequires:  java-puretls
68 BuildRequires:  java-servletapi5 = %{version}
69 #BuildRequires: java-struts >= 0:1.2.7
70 BuildRequires:  java-struts >= 1.0.2
71 BuildRequires:  java-xerces >= 0:2.7.1
72 BuildRequires:  java-xml-commons
73 #BuildRequires: java-xml-commons >= 1.3
74 BuildRequires:  java-mail >= 0:1.3.1
75 BuildRequires:  jaxp_parser_impl >= 0:2.7.1
76 BuildRequires:  jdbc-stdext >= 0:2.0
77 BuildRequires:  jmx
78 BuildRequires:  jndi >= 0:1.2.1
79 BuildRequires:  jpackage-utils
80 BuildRequires:  junit >= 0:3.8.1
81 BuildRequires:  rpmbuild(macros) >= 1.300
82 Requires(post,postun):  /sbin/ldconfig
83 Requires(post,preun):   /sbin/chkconfig
84 Requires(postun):       /usr/sbin/groupdel
85 Requires(postun):       /usr/sbin/userdel
86 Requires(pre):  /bin/id
87 Requires(pre):  /usr/bin/getgid
88 Requires(pre):  /usr/sbin/groupadd
89 Requires(pre):  /usr/sbin/useradd
90 Requires:       %{name}-jasper = %{version}-%{release}
91 Requires:       jaas
92 #Requires:      jaf >= 1.0.1
93 Requires:       java-commons-beanutils
94 Requires:       java-commons-collections
95 #Requires:      java-commons-dbcp-tomcat5
96 Requires:       java-commons-digester
97 Requires:       java-commons-el
98 #Requires:      java-commons-fileupload
99 Requires:       java-commons-logging
100 Requires:       java-commons-modeler
101 Requires:       java-regexp
102 Requires:       java-servletapi5 = %{version}
103 Requires:       java-xml-commons
104 Requires:       javamail >= 1.2
105 Requires:       jaxp_parser_impl
106 Requires:       jdbc-stdext >= 2.0
107 Requires:       jndi >= 1.2.1
108 Requires:       jre >= 1.2
109 Requires:       jsse >= 1.0.2
110 %{?with_jta:Requires:   jta >= 1.0.1}
111 Requires:       rc-scripts
112 Provides:       group(tomcat)
113 Provides:       java-servlet-container
114 Provides:       user(tomcat)
115 Obsoletes:      jakarta-tomcat
116 BuildArch:      noarch
117 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
118
119 %define         _tomcatdir      %{_datadir}/tomcat
120 %define         _logdir         %{_var}/log
121 %define         _vardir         %{_var}/lib/tomcat
122 %define         _sysconfdir     /etc/tomcat
123
124 %define find_jar() %{expand:%%define jarfile {%(jar=$(find-jar %1); echo ${jar:-%%nil})}}%{?jarfile}%{!?jarfile:%{error:find-jar %1 failed}}%{nil}
125
126 %description
127 Tomcat is the servlet container that is used in the official Reference
128 Implementation for the Java Servlet and JavaServer Pages technologies.
129 The Java Servlet and JavaServer Pages specifications are developed by
130 Sun under the Java Community Process.
131
132 Tomcat is developed in an open and participatory environment and
133 released under the Apache Software License. Tomcat is intended to be a
134 collaboration of the best-of-breed developers from around the world.
135 We invite you to participate in this open development project.
136
137 %description -l pl.UTF-8
138 Tomcat to kontener serwletowy używany przez oficjalną implementację
139 wzorcową technologii Java Servlet i JavaServer Pages. Specyfikacje
140 Java Servlet i JavaServer Pages są rozwijane przez Suna zgodnie z Java
141 Community Process.
142
143 %package doc
144 Summary:        The Apache Tomcat Servlet/JSP Container documentation
145 Summary(pl.UTF-8):      Dokumentacja do Tomcata - kontenera Servlet/JSP
146 Group:          Documentation
147 Obsoletes:      jakarta-tomcat-doc
148
149 %description doc
150 The Tomcat Servlet/JSP Container documentation.
151
152 %description doc -l pl.UTF-8
153 Dokumentacja do Tomcata - kontenera Servlet/JSP.
154
155 %package admin
156 Summary:        Apache Tomcat`s Administration Web Application
157 Summary(pl.UTF-8):      Panel Administracyjny dla Apache Tomcat
158 Group:          Networking/Daemons/Java/Servlets
159 Requires:       java-commons-chain
160
161 %description admin
162 Administration Web Application for Apache Tomcat.
163
164 %description admin -l pl.UTF-8
165 Panel Administracyjny dla Apache Tomcat.
166
167 %package jasper
168 Summary:        JSP compiler
169 Summary(pl.UTF-8):      Kompilator JSP
170 Group:          Libraries/Java
171 Requires:       jpackage-utils
172
173 %description jasper
174 Jasper is Java ServerPages compiler used by Apache Tomcat servlet
175 container.
176
177 %description jasper -l pl.UTF-8
178 Jasper jest kompilatorem Java ServerPages używanym przez kontener
179 servletów Apache Tomcat.
180
181 %prep
182 %setup -q -n %{name}-%{version}-src
183 %patch0 -p1
184 %patch1 -p1
185 %patch2 -p1
186 %patch3 -p1
187 %patch4 -p1
188 %patch5 -p1
189 %patch6 -p1
190
191 # we don't need dos scripts
192 rm -f bin/*.bat
193
194 # servletapi built from jakarta-servletapi5.spec
195 rm -rf servletapi
196
197 # Remove pre-built jars
198 find -name '*.jar' | xargs rm -fv
199
200 %build
201 TOPDIR=$(pwd)
202
203 # build tomcat 5.5
204 cat > build.properties <<EOF
205 commons-beanutils.jar=$(find-jar commons-beanutils-core)
206 commons-launcher.jar=$(find-jar commons-launcher)
207 commons-daemon.jar=$(find-jar commons-daemon)
208 commons-digester.jar=$(find-jar commons-digester)
209 commons-el.jar=$(find-jar commons-el)
210 commons-logging-api.jar=$(find-jar commons-logging-api)
211 commons-logging.jar=$(find-jar commons-logging)
212 commons-modeler.jar=$(find-jar commons-modeler)
213 xercesImpl.jar=$(find-jar jaxp_parser_impl)
214 xml-apis.jar=$(find-jar xml-commons-apis)
215 jdt.jar=$(find-jar org.eclipse.jdt.core)
216 jasper-compiler-jdt.home=$TOPDIR/tomcat-deps
217 commons-httpclient.jar=$(find-jar commons-httpclient)
218 commons-collections.jar=$(find-jar commons-collections)
219 commons-fileupload.jar=$(find-jar commons-fileupload)
220 commons-io.jar=$(find-jar commons-io)
221 jmx.jar=$(find-jar jmx)
222 jmx-tools.jar=$(find-jar jmx)
223 junit.jar=$(find-jar junit)
224 struts.jar=$(find-jar struts-core)
225 struts-core.jar=$(find-jar struts-core)
226 struts-taglib.jar=$(find-jar struts-taglib)
227 jcert.jar=$(find-jar jcert)
228 jnet.jar=$(find-jar jnet)
229 jsse.jar=$(find-jar jsse)
230 %{?with_jta:jta.jar=$(find-jar jta)}
231 puretls.jar=$(find-jar puretls)
232 servlet-api.jar=$(find-jar servlet-api)
233 servletapi.build.notrequired=true
234 jsp-api.jar=$(find-jar jsp-api)
235 jspapi.build.notrequired=true
236 log4j.jar=$(find-jar log4j)
237 tomcat-dbcp.jar=$(find-jar commons-dbcp-tomcat5)
238 struts.lib=%{_javadir}-struts
239 EOF
240
241 if grep '=$' build.properties; then
242         : Some .jar could not be found
243         exit 1
244 fi
245
246 %ant \
247         -Dcompile.source=1.4
248
249 %install
250 rm -rf $RPM_BUILD_ROOT
251 cd build/build
252 TOMCATDIR=$RPM_BUILD_ROOT%{_tomcatdir}
253 CATALINADIR=$RPM_BUILD_ROOT/var/lib/tomcat
254
255 randpw=$(echo $RANDOM$$ | md5sum | cut -c 1-15)
256 %{__sed} -i -e "s:SHUTDOWN:${randpw}:" conf/{server,server-minimal}.xml
257
258 install -d $TOMCATDIR/bin \
259             $TOMCATDIR/common/{lib,classes,endorsed} \
260             $TOMCATDIR/server/{lib,classes} \
261             $TOMCATDIR/webapps \
262             $RPM_BUILD_ROOT%{_logdir}/tomcat \
263             $RPM_BUILD_ROOT%{_vardir}/webapps \
264             $RPM_BUILD_ROOT%{_vardir}/work \
265             $RPM_BUILD_ROOT%{_vardir}/conf \
266             $RPM_BUILD_ROOT/etc/sysconfig \
267             $RPM_BUILD_ROOT/etc/rc.d/init.d
268
269 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
270 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/tomcat
271
272 cp -a conf/* $CATALINADIR/conf
273 install %{SOURCE10} $CATALINADIR/conf/Catalina/localhost/ROOT.xml
274 install %{SOURCE11} $CATALINADIR/conf/Catalina/localhost/balancer.xml
275 install %{SOURCE12} $CATALINADIR/conf/Catalina/localhost/jsp-examples.xml
276 install %{SOURCE13} $CATALINADIR/conf/Catalina/localhost/tomcat-docs.xml
277 install %{SOURCE14} $CATALINADIR/conf/Catalina/localhost/webdav.xml
278 cp -HR bin common server $TOMCATDIR
279
280 cp -a server/webapps $TOMCATDIR/server
281 cp -a webapps $TOMCATDIR
282 cp -a shared $TOMCATDIR
283 cp -a temp $CATALINADIR
284
285 ln -sf %{_logdir}/tomcat $CATALINADIR/logs
286 ln -sf %{_vardir}/work $TOMCATDIR/work
287 ln -sf %{_vardir}/conf $TOMCATDIR/conf
288 ln -sf %{_vardir}/conf $RPM_BUILD_ROOT%{_sysconfdir}
289
290 # symlinks instead of copies
291 jars="commons-el commons-dbcp-tomcat5 servlet-api jsp-api commons-modeler"
292 for jar in $jars; do
293         jar=$(find-jar $jar)
294         ln -sf $jar $TOMCATDIR/common/lib
295 done
296
297 jars="jaxp_parser_impl xml-commons-apis"
298 for jar in $jars; do
299         jar=$(find-jar $jar)
300         ln -sf $jar $TOMCATDIR/common/endorsed
301 done
302
303 jars="struts-core struts-taglib commons-collections commons-beanutils-core commons-digester commons-chain"
304 for jar in $jars; do
305         jar=$(find-jar $jar)
306         ln -sf $jar $TOMCATDIR/server/webapps/admin/WEB-INF/lib
307 done
308
309 %if 0
310 # do not make these symlinks as ant didn't do
311 jars="commons-daemon"
312 for jar in $jars; do
313         jar=$(find-jar $jar)
314         ln -sf $jar $TOMCATDIR/bin
315 done
316
317 jars="activation ant commons-dbcp commons-logging-api commons-pool servlet jdbc-stdext
318 jmxri jndi %{?with_jta:jta} mail jsse junit mailapi pop3"
319 for jar in $jars; do
320         jar=$(find-jar $jar)
321         ln -sf $jar $TOMCATDIR/common/lib
322 done
323
324 ln -sf servlet.jar $TOMCATDIR/common/lib/servletapi4.jar
325 ln -sf jdbc-stdext.jar $TOMCATDIR/common/lib/jdbc2_0-stdext.jar
326 ln -sf jdbc-stdext.jar $TOMCATDIR/common/lib/jdbc-stdext-2.0.jar
327 ln -sf pop3.jar $TOMCATDIR/common/lib/pop.jar
328
329 jars="commons-beanutils commons-digester commons-fileupload commons-logging jaas regexp"
330 for jar in $jars; do
331         jar=$(find-jar $jar)
332         ln -sf $jar $TOMCATDIR/server/lib
333 done
334 ln -sf regexp.jar $TOMCATDIR/server/lib/jakarta-regexp-1.2.jar
335 ln -sf regexp.jar $TOMCATDIR/server/lib/regexp-1.2.jar
336 %endif
337
338 install -d $RPM_BUILD_ROOT%{_javadir}
339 mv $TOMCATDIR/common/lib/jasper*.jar $RPM_BUILD_ROOT%{_javadir}
340 ln -sf %{_javadir}/jasper-compiler-jdt.jar $TOMCATDIR/common/lib
341 ln -sf %{_javadir}/jasper-compiler.jar $TOMCATDIR/common/lib
342 ln -sf %{_javadir}/jasper-runtime.jar $TOMCATDIR/common/lib
343
344 %clean
345 rm -rf $RPM_BUILD_ROOT
346
347 %pre
348 %groupadd -g 234 -r -f tomcat
349 %useradd -u 234 -r -d /var/lib/tomcat -s /bin/false -c "Tomcat User" -g tomcat tomcat
350
351 %post
352 /sbin/chkconfig --add tomcat
353 %service tomcat restart
354
355 %preun
356 if [ "$1" = "0" ]; then
357         %service tomcat stop
358         /sbin/chkconfig --del tomcat
359 fi
360
361 %postun
362 if [ "$1" = "0" ]; then
363         %userremove tomcat
364         %groupremove tomcat
365 fi
366
367 %files
368 %defattr(644,root,root,755)
369 %doc build/{RELEASE-NOTES,RUNNING.txt}
370 %attr(754,root,root) /etc/rc.d/init.d/tomcat
371 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/tomcat
372 %{_sysconfdir}
373 %dir %{_tomcatdir}
374 %dir %{_tomcatdir}/conf
375 %dir %{_tomcatdir}/bin
376 %{_tomcatdir}/bin/catalina-tasks.xml
377 %{_tomcatdir}/bin/jkstatus-tasks.xml
378 %{_tomcatdir}/bin/jmxaccessor-tasks.xml
379 %attr(755,root,root) %{_tomcatdir}/bin/*.sh
380 %{_tomcatdir}/bin/*.jar
381 %dir %{_tomcatdir}/common
382 %dir %{_tomcatdir}/common/classes
383 %dir %{_tomcatdir}/common/endorsed
384 %dir %{_tomcatdir}/common/i18n
385 %{_tomcatdir}/common/endorsed/*.jar
386 %{_tomcatdir}/common/i18n/tomcat-i18n-en.jar
387 %lang(es) %{_tomcatdir}/common/i18n/tomcat-i18n-es.jar
388 %lang(fr) %{_tomcatdir}/common/i18n/tomcat-i18n-fr.jar
389 %lang(ja) %{_tomcatdir}/common/i18n/tomcat-i18n-ja.jar
390 %{_tomcatdir}/common/lib
391 %dir %{_tomcatdir}/server
392 %dir %{_tomcatdir}/server/classes
393 %{_tomcatdir}/server/lib
394 %dir %{_tomcatdir}/server/webapps
395 %{_tomcatdir}/server/webapps/host-manager
396 %{_tomcatdir}/server/webapps/manager
397 %{_tomcatdir}/webapps
398 %{_tomcatdir}/work
399 %{_tomcatdir}/shared
400 %dir %{_vardir}
401 %dir %{_vardir}/conf
402 %dir %{_vardir}/conf/Catalina
403 %dir %{_vardir}/conf/Catalina/localhost
404 # tomcat config has to be writeable because of tomacta-users.xml file and Catalina dir
405 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/MANIFEST.MF
406 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/catalina.policy
407 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.properties*
408 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.manifest
409 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.xml
410 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/balancer.xml
411 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/host-manager.xml
412 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/jsp-examples.xml
413 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/manager.xml
414 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/ROOT.xml
415 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/tomcat-docs.xml
416 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/webdav.xml
417 %dir %attr(1730,root,tomcat) %{_vardir}/work
418 %dir %attr(775,root,tomcat) %{_vardir}/webapps
419 %dir %attr(775,root,tomcat) %{_vardir}/temp
420 %dir %attr(775,root,tomcat) %{_logdir}/tomcat
421 %{_vardir}/logs
422
423 %if 0
424 %files doc
425 %defattr(644,root,root,755)
426 %doc catalina/docs/*
427 %endif
428
429 %files admin
430 %defattr(644,root,root,755)
431 %config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/admin.xml
432 %{_tomcatdir}/server/webapps/admin
433
434 %files jasper
435 %defattr(644,root,root,755)
436 %{_javadir}/jasper-compiler-jdt.jar
437 %{_javadir}/jasper-compiler.jar
438 %{_javadir}/jasper-runtime.jar
This page took 0.059286 seconds and 4 git commands to generate.