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