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