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