]> git.pld-linux.org Git - packages/apache-tomcat.git/blame - apache-tomcat.spec
- R: jpackage-utils for %{_javadir}
[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
fccb2a6f 80Requires: %{name}-jasper = %{version}
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
SP
142%package jasper
143Summary: Jasper classes from Apache Tomcat
144Group: Libraries/Java
a8c0ebfc 145Requires: jpackage-utils
fccb2a6f
SP
146
147%description jasper
148This package contains compiled classes of Apache Tomcat`s Jasper.
149
4470e4fe 150%prep
3cd7b38d 151%setup -q -n %{name}-%{version}-src
8bfa2080
ER
152%patch0 -p1
153%patch1 -p1
154%patch2 -p1
155%patch3 -p1
05be5db6 156%patch4 -p1
99082140 157%patch5 -p1
88f0da13 158%patch6 -p1
8bfa2080 159
05be5db6 160# servletapi built from jakarta-servletapi5.spec
8bfa2080 161rm -rf servletapi
d58ce9ff
ER
162
163# Remove pre-built jars
164find -name '*.jar' | xargs rm -fv
4470e4fe 165
166%build
d58ce9ff
ER
167TOPDIR=$(pwd)
168
8bfa2080
ER
169%if 0
170# build jasper javadocs
171cd jasper
172CLASSPATH=$(build-classpath xml-commons-apis)
a50d18a2 173# building jasper needs eclipse classes
d58ce9ff 174cat > build.properties <<EOF
a50d18a2
ER
175ant.jar=$(find-jar ant)
176servlet-api.jar=$(find-jar servlet-api)
177jsp-api.jar=$(find-jar jsp-api)
d58ce9ff 178tools.jar=%{java_home}/lib/tools.jar
a50d18a2
ER
179xercesImpl.jar=$(find-jar jaxp_parser_impl)
180xmlParserAPIs.jar=$(find-jar xml-commons-apis)
181commons-collections.jar=$(find-jar commons-collections)
182commons-logging.jar=$(find-jar commons-logging)
183commons-daemon.jar=$(find-jar commons-daemon)
184junit.jar=$(find-jar junit)
185commons-el.jar=$(find-jar commons-el)
d58ce9ff 186EOF
8bfa2080
ER
187#%ant dist
188
189%if %{with javadoc}
190%ant javadoc \
191 -Dcompile.source=1.4 \
192 -Dbuild.compiler=modern \
193
194%endif
195cd -
196%endif
d58ce9ff
ER
197
198# build tomcat 5.5
8bfa2080 199cat > build.properties <<EOF
e9abaf04 200commons-beanutils.jar=$(find-jar commons-beanutils-core)
a50d18a2
ER
201commons-launcher.jar=$(find-jar commons-launcher)
202commons-daemon.jar=$(find-jar commons-daemon)
203commons-digester.jar=$(find-jar commons-digester)
204commons-el.jar=$(find-jar commons-el)
205commons-logging-api.jar=$(find-jar commons-logging-api)
206commons-logging.jar=$(find-jar commons-logging)
207commons-modeler.jar=$(find-jar commons-modeler)
208xercesImpl.jar=$(find-jar jaxp_parser_impl)
209xml-apis.jar=$(find-jar xml-commons-apis)
210jdt.jar=$(find-jar org.eclipse.jdt.core)
74f47b90 211jasper-compiler-jdt.home=$TOPDIR/tomcat-deps
a50d18a2
ER
212commons-httpclient.jar=$(find-jar commons-httpclient)
213commons-collections.jar=$(find-jar commons-collections)
214commons-fileupload.jar=$(find-jar commons-fileupload)
bce65856 215commons-io.jar=$(find-jar commons-io)
a50d18a2
ER
216jmx.jar=$(find-jar jmx)
217jmx-tools.jar=$(find-jar jmx)
218junit.jar=$(find-jar junit)
e9abaf04 219struts.jar=$(find-jar struts-core)
220struts-core.jar=$(find-jar struts-core)
221struts-taglib.jar=$(find-jar struts-taglib)
a50d18a2
ER
222jcert.jar=$(find-jar jcert)
223jnet.jar=$(find-jar jnet)
224jsse.jar=$(find-jar jsse)
225jta.jar=$(find-jar jta)
226puretls.jar=$(find-jar puretls)
227servlet-api.jar=$(find-jar servlet-api)
8bfa2080 228servletapi.build.notrequired=true
a50d18a2 229jsp-api.jar=$(find-jar jsp-api)
8bfa2080 230jspapi.build.notrequired=true
a50d18a2 231log4j.jar=$(find-jar log4j)
e9abaf04 232tomcat-dbcp.jar=$(find-jar commons-dbcp-tomcat5)
fccb2a6f 233struts.lib=%{_javadir}-struts
d58ce9ff
ER
234EOF
235
05be5db6
ER
236%ant \
237 -Dcompile.source=1.4
d58ce9ff 238
4470e4fe 239%install
240rm -rf $RPM_BUILD_ROOT
8eee8985
ER
241cd build/build
242TOMCATDIR=$RPM_BUILD_ROOT%{_tomcatdir}
243CATALINADIR=$RPM_BUILD_ROOT/var/lib/tomcat
4470e4fe 244
8eee8985
ER
245# we don't need dos scripts
246rm -f bin/*.bat
8665efb1 247
8eee8985 248randpw=$(echo $RANDOM$$ | md5sum | cut -c 1-15)
a50d18a2 249%{__sed} -i -e "s:SHUTDOWN:${randpw}:" conf/{server,server-minimal}.xml
8eee8985
ER
250
251install -d $TOMCATDIR/bin \
252 $TOMCATDIR/common/{lib,classes,endorsed} \
253 $TOMCATDIR/server/{lib,classes} \
254 $TOMCATDIR/webapps \
55df0736 255 $RPM_BUILD_ROOT%{_logdir}/tomcat \
0d4dc1cd 256 $RPM_BUILD_ROOT%{_vardir}/webapps \
55df0736 257 $RPM_BUILD_ROOT%{_vardir}/work \
0d4dc1cd 258 $RPM_BUILD_ROOT%{_vardir}/conf \
2da87d83 259 $RPM_BUILD_ROOT/etc/sysconfig \
55df0736 260 $RPM_BUILD_ROOT/etc/rc.d/init.d
98862cba 261
8eee8985 262install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
41883ff5 263install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/tomcat
4470e4fe 264
0d4dc1cd 265cp -pR conf/* $CATALINADIR/conf
6ee17549 266install %{SOURCE10} $CATALINADIR/conf/Catalina/localhost/ROOT.xml
267install %{SOURCE11} $CATALINADIR/conf/Catalina/localhost/balancer.xml
268install %{SOURCE12} $CATALINADIR/conf/Catalina/localhost/jsp-examples.xml
269install %{SOURCE13} $CATALINADIR/conf/Catalina/localhost/tomcat-docs.xml
270install %{SOURCE14} $CATALINADIR/conf/Catalina/localhost/webdav.xml
8eee8985 271cp -HR bin common server $TOMCATDIR
d58ce9ff 272
a50d18a2
ER
273cp -rf server/webapps $TOMCATDIR/server
274cp -rf webapps $TOMCATDIR
275cp -rf shared $TOMCATDIR
b3fcb657 276cp -rf temp $CATALINADIR
8eee8985 277
0d4dc1cd 278ln -sf %{_logdir}/tomcat $CATALINADIR/logs
a50d18a2 279ln -sf %{_vardir}/work $TOMCATDIR/work
0d4dc1cd 280ln -sf %{_vardir}/conf $TOMCATDIR/conf
281ln -sf %{_vardir}/conf $RPM_BUILD_ROOT%{_sysconfdir}
8eee8985
ER
282
283# symlinks instead of copies
a50d18a2
ER
284ln -sf $(find-jar commons-el) $TOMCATDIR/common/lib/commons-el.jar
285ln -sf $(find-jar jakarta-commons-dbcp-tomcat5) $TOMCATDIR/common/lib/jakarta-commons-dbcp-tomcat5.jar
286ln -sf $(find-jar servlet-api) $TOMCATDIR/common/lib/servlet-api.jar
287
288ln -sf $(find-jar commons-modeler) $TOMCATDIR/server/lib/commons-modeler.jar
289
290%if 0
291# do not make these symlinks as ant didn't do
292ln -sf $(find-jar commons-daemon) $TOMCATDIR/bin/commons-daemon.jar
293ln -sf $(find-jar activation) $TOMCATDIR/common/lib/activation.jar
294ln -sf $(find-jar ant) $TOMCATDIR/common/lib/ant.jar
295ln -sf $(find-jar commons-collections) $TOMCATDIR/common/lib/commons-collections.jar
296ln -sf $(find-jar commons-dbcp) $TOMCATDIR/common/lib/commons-dbcp.jar
297ln -sf $(find-jar commons-logging-api) $TOMCATDIR/common/lib/commons-logging-api.jar
298ln -sf $(find-jar commons-pool) $TOMCATDIR/common/lib/commons-pool.jar
299ln -sf $(find-jar servlet) $TOMCATDIR/common/lib/servlet.jar
300ln -sf $(find-jar servlet) $TOMCATDIR/common/lib/servletapi4.jar
301ln -sf $(find-jar jdbc-stdext) $TOMCATDIR/common/lib/jdbc-stdext.jar
302ln -sf jdbc-stdext.jar $TOMCATDIR/common/lib/jdbc2_0-stdext.jar
303ln -sf jdbc-stdext.jar $TOMCATDIR/common/lib/jdbc-stdext-2.0.jar
304ln -sf $(find-jar jmxri) $TOMCATDIR/common/lib/jmxri.jar
305ln -sf $(find-jar jndi) $TOMCATDIR/common/lib/jndi.jar
306ln -sf $(find-jar jta) $TOMCATDIR/common/lib/jta.jar
307ln -sf $(find-jar mail) $TOMCATDIR/common/lib/mail.jar
308ln -sf $(find-jar jsse) $TOMCATDIR/common/lib/jsse.jar
309ln -sf $(find-jar junit) $TOMCATDIR/common/lib/junit.jar
310ln -sf $(find-jar mailapi) $TOMCATDIR/common/lib/mailapi.jar
311ln -sf $(find-jar pop3) $TOMCATDIR/common/lib/pop3.jar
312ln -sf pop3.jar $TOMCATDIR/common/lib/pop.jar
313ln -sf $(find-jar smtp) $TOMCATDIR/common/lib/smtp.jar
314ln -sf $(find-jar imap) $TOMCATDIR/common/lib/imap.jar
315ln -sf $(find-jar commons-beanutils) $TOMCATDIR/server/lib/commons-beanutils.jar
316ln -sf $(find-jar commons-digester) $TOMCATDIR/server/lib/commons-digester.jar
317ln -sf $(find-jar commons-fileupload) $TOMCATDIR/server/lib/commons-fileupload.jar
318ln -sf $(find-jar commons-logging) $TOMCATDIR/server/lib/commons-logging.jar
319ln -sf $(find-jar jaas) $TOMCATDIR/server/lib/jaas.jar
a50d18a2
ER
320ln -sf $(find-jar regexp) $TOMCATDIR/server/lib/regexp.jar
321ln -sf $(find-jar regexp) $TOMCATDIR/server/lib/jakarta-regexp-1.2.jar
322ln -sf $(find-jar regexp) $TOMCATDIR/server/lib/regexp-1.2.jar
323%endif
324
325ln -sf $(find-jar jaxp_parser_impl) $TOMCATDIR/common/endorsed/jaxp_parser_impl.jar
326ln -sf $(find-jar xml-commons-apis) $TOMCATDIR/common/endorsed/xml-commons-apis.jar
e9abaf04 327ln -sf $(find-jar struts-core) $TOMCATDIR/server/webapps/admin/WEB-INF/lib/struts-core.jar
55df0736 328
fccb2a6f
SP
329install -d $RPM_BUILD_ROOT%{_javadir}
330mv $TOMCATDIR/common/lib/jasper* $RPM_BUILD_ROOT%{_javadir}
331ln -sf %{_javadir}/jasper-compiler-jdt.jar $TOMCATDIR/common/lib/
332ln -sf %{_javadir}/jasper-compiler.jar $TOMCATDIR/common/lib/
333ln -sf %{_javadir}/jasper-compiler-runtime.jar $TOMCATDIR/common/lib/
334
4470e4fe 335%clean
336rm -rf $RPM_BUILD_ROOT
337
50d4797f 338%pre
21ee0b0d 339%groupadd -g 234 -r -f tomcat
340%useradd -u 234 -r -d /var/lib/tomcat -s /bin/false -c "Tomcat User" -g tomcat tomcat
50d4797f 341
342%post
343/sbin/chkconfig --add tomcat
4c334025 344%service tomcat restart
50d4797f 345
346%preun
347if [ "$1" = "0" ]; then
4c334025 348 %service tomcat stop
50d4797f 349 /sbin/chkconfig --del tomcat
350fi
351
352%postun
353if [ "$1" = "0" ]; then
15040216 354 %userremove tomcat
355 %groupremove tomcat
50d4797f 356fi
357
4470e4fe 358%files
359%defattr(644,root,root,755)
8eee8985 360%doc build/{RELEASE-NOTES,RUNNING.txt}
8eee8985 361%attr(754,root,root) /etc/rc.d/init.d/tomcat
a8b81dcd 362%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/tomcat
0d4dc1cd 363%{_sysconfdir}
55df0736 364%dir %{_tomcatdir}
0d4dc1cd 365%dir %{_tomcatdir}/conf
55df0736 366%dir %{_tomcatdir}/bin
8eee8985
ER
367%{_tomcatdir}/bin/catalina-tasks.xml
368%{_tomcatdir}/bin/jkstatus-tasks.xml
369%{_tomcatdir}/bin/jmxaccessor-tasks.xml
98862cba 370%attr(755,root,root) %{_tomcatdir}/bin/*.sh
98862cba 371%{_tomcatdir}/bin/*.jar
55df0736
JB
372%dir %{_tomcatdir}/common
373%dir %{_tomcatdir}/common/classes
50d4797f 374%dir %{_tomcatdir}/common/endorsed
8eee8985 375%dir %{_tomcatdir}/common/i18n
8665efb1 376%{_tomcatdir}/common/endorsed/*.jar
8eee8985
ER
377%{_tomcatdir}/common/i18n/tomcat-i18n-en.jar
378%lang(es) %{_tomcatdir}/common/i18n/tomcat-i18n-es.jar
379%lang(fr) %{_tomcatdir}/common/i18n/tomcat-i18n-fr.jar
380%lang(ja) %{_tomcatdir}/common/i18n/tomcat-i18n-ja.jar
4470e4fe 381%{_tomcatdir}/common/lib
55df0736
JB
382%dir %{_tomcatdir}/server
383%dir %{_tomcatdir}/server/classes
4470e4fe 384%{_tomcatdir}/server/lib
50d4797f 385%{_tomcatdir}/server/webapps
55df0736
JB
386%{_tomcatdir}/webapps
387%{_tomcatdir}/work
50d4797f 388%{_tomcatdir}/shared
55df0736 389%dir %{_vardir}
0d4dc1cd 390# tomcat config has to be writeable because of tomacta-users.xml file and
391# Catalina dir
15040216 392%config(noreplace) %attr(775,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf
393%dir %attr(1730,root,tomcat) %{_vardir}/work
394%dir %attr(775,root,tomcat) %{_vardir}/webapps
395%dir %attr(775,root,tomcat) %{_vardir}/temp
396%dir %attr(775,root,tomcat) %{_logdir}/tomcat
77779b40 397%{_vardir}/logs
4470e4fe 398
8eee8985 399%if 0
4470e4fe 400%files doc
9c3d8079 401%defattr(644,root,root,755)
4470e4fe 402%doc catalina/docs/*
8eee8985 403%endif
fccb2a6f
SP
404
405%files jasper
406%defattr(644,root,root,755)
407%{_javadir}/jasper-compiler-jdt.jar
408%{_javadir}/jasper-compiler.jar
409%{_javadir}/jasper-runtime.jar
This page took 1.325607 seconds and 4 git commands to generate.