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