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