]> git.pld-linux.org Git - packages/tomcat.git/blame - tomcat.spec
- install temp directory in CATALINA_BASE, not in CATALINA_HOME
[packages/tomcat.git] / tomcat.spec
CommitLineData
4f9f35cf
ER
1# TODO
2# - packages for *.renametojar files (-cgi and -ssi in server/lib)
3#
eca62e60 4# Conditional build:
eca62e60
ER
5%bcond_without javadoc # skip building javadocs
6#
7Summary: Apache Servlet/JSP Engine, RI for Servlet 2.4/JSP 2.0 API
f045ab88 8Summary(pl.UTF-8): Silnik Servlet/JSP Apache będący wzorcową implementacją API Servlet 2.4/JSP 2.0
51bcbcd2 9Name: apache-tomcat
f9d6e42f 10Version: 5.5.27
cc4b6deb 11Release: 0.1
802a649b 12License: Apache
623f0978 13Group: Development/Languages/Java
51bcbcd2 14Source0: http://www.apache.org/dist/tomcat/tomcat-5/v%{version}/src/%{name}-%{version}-src.tar.gz
f9d6e42f 15# Source0-md5: eb3f196013550b9b1684e4ff18593a8e
9ba83a1b 16Source1: %{name}.init
f93b3a59 17Source2: %{name}.sysconfig
3e2cdbf3 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
51bcbcd2
ER
23Patch0: %{name}-skip-servletapi.patch
24Patch1: %{name}-nsis.patch
25Patch2: %{name}-native.patch
26Patch3: %{name}-skip-jdt.patch
d61c5134 27Patch4: %{name}-no-connectors.patch
f9d6e42f 28Patch5: %{name}-dbcp.patch
7cf40cc1 29# this patch is needed for struts >= 1.3
30Patch6: %{name}-struts.patch
aef723ef 31URL: http://tomcat.apache.org/
498e9275 32BuildRequires: ant >= 1.5.3
7ea1b4e7
ER
33BuildRequires: ant-trax
34BuildRequires: eclipse-jdt
6c0937ca 35BuildRequires: jaas
b3ca1c9e 36BuildRequires: java-commons-httpclient
ac4a959f 37BuildRequires: jakarta-regexp >= 0:1.3
b3ca1c9e 38#BuildRequires: java-struts >= 0:1.2.7
39BuildRequires: java-struts >= 1.0.2
5d4d27d1 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
b3ca1c9e 55BuildRequires: java-servletapi5 = %{version}
ac4a959f
ER
56BuildRequires: javamail >= 0:1.3.1
57BuildRequires: jaxp_parser_impl >= 0:2.7.1
58BuildRequires: jdbc-stdext >= 0:2.0
7ea1b4e7 59BuildRequires: jdk >= 1.5
a97a4eb2 60BuildRequires: jmx
ac4a959f 61BuildRequires: jndi >= 0:1.2.1
7ea1b4e7 62BuildRequires: jpackage-utils
ac4a959f
ER
63BuildRequires: jsse >= 0:1.0.3
64BuildRequires: jta >= 0:1.0.1
65BuildRequires: junit >= 0:3.8.1
7ea1b4e7 66BuildRequires: logging-log4j
7ea1b4e7
ER
67BuildRequires: puretls
68BuildRequires: rpmbuild(macros) >= 1.300
ac4a959f 69BuildRequires: xerces-j >= 0:2.7.1
f271c61b 70BuildRequires: xml-commons
ac4a959f 71#BuildRequires: xml-commons >= 1.3
8129909e
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
7ea1b4e7 81#Requires: jaf >= 1.0.1
a0446376 82Requires: jakarta-regexp
5d4d27d1 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
fbf473d1 90Requires: java-servletapi5 = %{version}
8129909e
ER
91Requires: javamail >= 1.2
92Requires: jaxp_parser_impl
a0446376 93Requires: jdbc-stdext >= 2.0
a0446376 94Requires: jndi >= 1.2.1
8129909e 95Requires: jre >= 1.2
a0446376
JB
96Requires: jsse >= 1.0.2
97Requires: jta >= 1.0.1
eca62e60 98Requires: rc-scripts
f271c61b 99Requires: xml-commons
834c4a58 100Provides: group(http)
101Provides: user(http)
51bcbcd2 102Obsoletes: jakarta-tomcat
623f0978 103BuildArch: noarch
104BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
105
a97a4eb2 106%define _tomcatdir %{_datadir}/tomcat
623f0978 107%define _logdir %{_var}/log
a0446376 108%define _vardir %{_var}/lib/tomcat
a97a4eb2 109%define _sysconfdir /etc/tomcat
623f0978 110
111%description
eca62e60
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.
623f0978 116
eca62e60
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
f045ab88
JB
122%description -l pl.UTF-8
123Tomcat to kontener serwletowy używany przez oficjalną implementację
124wzorcową technologii Java Servlet i JavaServer Pages. Specyfikacje
51bcbcd2
ER
125Java Servlet i JavaServer Pages są rozwijane przez Suna zgodnie z Java
126Community Process.
623f0978 127
128%package doc
51bcbcd2 129Summary: The Apache Tomcat Servlet/JSP Container documentation
152e6062 130Summary(pl.UTF-8): Dokumentacja do Tomcata - kontenera Servlet/JSP
623f0978 131Group: Development/Languages/Java
51bcbcd2 132Obsoletes: jakarta-tomcat-doc
623f0978 133
134%description doc
e1f70dd8
JB
135The Tomcat Servlet/JSP Container documentation.
136
f045ab88 137%description doc -l pl.UTF-8
152e6062 138Dokumentacja do Tomcata - kontenera Servlet/JSP.
623f0978 139
140%prep
51bcbcd2 141%setup -q -n %{name}-%{version}-src
7bfc9a0d
ER
142%patch0 -p1
143%patch1 -p1
144%patch2 -p1
145%patch3 -p1
d61c5134 146%patch4 -p1
e40b89eb 147%patch5 -p1
7cf40cc1 148%patch6 -p1
7bfc9a0d 149
d61c5134 150# servletapi built from jakarta-servletapi5.spec
7bfc9a0d 151rm -rf servletapi
eca62e60
ER
152
153# Remove pre-built jars
154find -name '*.jar' | xargs rm -fv
623f0978 155
156%build
eca62e60
ER
157TOPDIR=$(pwd)
158
7bfc9a0d
ER
159%if 0
160# build jasper javadocs
161cd jasper
162CLASSPATH=$(build-classpath xml-commons-apis)
4f9f35cf 163# building jasper needs eclipse classes
eca62e60 164cat > build.properties <<EOF
4f9f35cf
ER
165ant.jar=$(find-jar ant)
166servlet-api.jar=$(find-jar servlet-api)
167jsp-api.jar=$(find-jar jsp-api)
eca62e60 168tools.jar=%{java_home}/lib/tools.jar
4f9f35cf
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)
eca62e60 176EOF
7bfc9a0d
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
eca62e60
ER
187
188# build tomcat 5.5
7bfc9a0d 189cat > build.properties <<EOF
a48f26fe 190commons-beanutils.jar=$(find-jar commons-beanutils-core)
4f9f35cf
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)
c2e39bad 201jasper-compiler-jdt.home=$TOPDIR/tomcat-deps
4f9f35cf
ER
202commons-httpclient.jar=$(find-jar commons-httpclient)
203commons-collections.jar=$(find-jar commons-collections)
204commons-fileupload.jar=$(find-jar commons-fileupload)
9e94226b 205commons-io.jar=$(find-jar commons-io)
4f9f35cf
ER
206jmx.jar=$(find-jar jmx)
207jmx-tools.jar=$(find-jar jmx)
208junit.jar=$(find-jar junit)
a48f26fe 209struts.jar=$(find-jar struts-core)
210struts-core.jar=$(find-jar struts-core)
211struts-taglib.jar=$(find-jar struts-taglib)
4f9f35cf
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)
7bfc9a0d 218servletapi.build.notrequired=true
4f9f35cf 219jsp-api.jar=$(find-jar jsp-api)
7bfc9a0d 220jspapi.build.notrequired=true
4f9f35cf 221log4j.jar=$(find-jar log4j)
a48f26fe 222tomcat-dbcp.jar=$(find-jar commons-dbcp-tomcat5)
b3ca1c9e 223struts.lib=%{_datadir}/java-struts
eca62e60
ER
224EOF
225
d61c5134
ER
226%ant \
227 -Dcompile.source=1.4
eca62e60 228
623f0978 229%install
230rm -rf $RPM_BUILD_ROOT
a97a4eb2
ER
231cd build/build
232TOMCATDIR=$RPM_BUILD_ROOT%{_tomcatdir}
233CATALINADIR=$RPM_BUILD_ROOT/var/lib/tomcat
623f0978 234
a97a4eb2
ER
235# we don't need dos scripts
236rm -f bin/*.bat
f271c61b 237
a97a4eb2 238randpw=$(echo $RANDOM$$ | md5sum | cut -c 1-15)
4f9f35cf 239%{__sed} -i -e "s:SHUTDOWN:${randpw}:" conf/{server,server-minimal}.xml
a97a4eb2
ER
240
241install -d $TOMCATDIR/bin \
242 $TOMCATDIR/common/{lib,classes,endorsed} \
243 $TOMCATDIR/server/{lib,classes} \
244 $TOMCATDIR/webapps \
a0446376 245 $RPM_BUILD_ROOT%{_logdir}/tomcat \
98133f85 246 $RPM_BUILD_ROOT%{_vardir}/webapps \
a0446376 247 $RPM_BUILD_ROOT%{_vardir}/work \
98133f85 248 $RPM_BUILD_ROOT%{_vardir}/conf \
125df118 249 $RPM_BUILD_ROOT/etc/sysconfig \
a0446376 250 $RPM_BUILD_ROOT/etc/rc.d/init.d
389e46b9 251
a97a4eb2 252install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
f93b3a59 253install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/tomcat
623f0978 254
98133f85 255cp -pR conf/* $CATALINADIR/conf
3e2cdbf3 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
a97a4eb2 261cp -HR bin common server $TOMCATDIR
eca62e60 262
4f9f35cf
ER
263cp -rf server/webapps $TOMCATDIR/server
264cp -rf webapps $TOMCATDIR
265cp -rf shared $TOMCATDIR
80cbd8b8 266cp -rf temp $CATALINADIR
a97a4eb2 267
98133f85 268ln -sf %{_logdir}/tomcat $CATALINADIR/logs
4f9f35cf 269ln -sf %{_vardir}/work $TOMCATDIR/work
98133f85 270ln -sf %{_vardir}/conf $TOMCATDIR/conf
271ln -sf %{_vardir}/conf $RPM_BUILD_ROOT%{_sysconfdir}
a97a4eb2
ER
272
273# symlinks instead of copies
4f9f35cf
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
4f9f35cf
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
a48f26fe 317ln -sf $(find-jar struts-core) $TOMCATDIR/server/webapps/admin/WEB-INF/lib/struts-core.jar
a0446376 318
623f0978 319%clean
320rm -rf $RPM_BUILD_ROOT
321
2b56d949 322%pre
37375245
ER
323%groupadd -g 51 -r -f http
324%useradd -u 51 -r -d /home/services/httpd -s /bin/false -c "HTTP User" -g http http
2b56d949 325
326%post
327/sbin/chkconfig --add tomcat
6c0937ca 328%service tomcat restart
2b56d949 329
330%preun
331if [ "$1" = "0" ]; then
6c0937ca 332 %service tomcat stop
2b56d949 333 /sbin/chkconfig --del tomcat
334fi
335
336%postun
337if [ "$1" = "0" ]; then
834c4a58 338 %userremove http
339 %groupremove http
2b56d949 340fi
341
623f0978 342%files
343%defattr(644,root,root,755)
a97a4eb2 344%doc build/{RELEASE-NOTES,RUNNING.txt}
a97a4eb2 345%attr(754,root,root) /etc/rc.d/init.d/tomcat
ab574f59 346%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/tomcat
98133f85 347%{_sysconfdir}
a0446376 348%dir %{_tomcatdir}
98133f85 349%dir %{_tomcatdir}/conf
a0446376 350%dir %{_tomcatdir}/bin
a97a4eb2
ER
351%{_tomcatdir}/bin/catalina-tasks.xml
352%{_tomcatdir}/bin/jkstatus-tasks.xml
353%{_tomcatdir}/bin/jmxaccessor-tasks.xml
389e46b9 354%attr(755,root,root) %{_tomcatdir}/bin/*.sh
389e46b9 355%{_tomcatdir}/bin/*.jar
a0446376
JB
356%dir %{_tomcatdir}/common
357%dir %{_tomcatdir}/common/classes
2b56d949 358%dir %{_tomcatdir}/common/endorsed
a97a4eb2 359%dir %{_tomcatdir}/common/i18n
f271c61b 360%{_tomcatdir}/common/endorsed/*.jar
a97a4eb2
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
623f0978 365%{_tomcatdir}/common/lib
a0446376
JB
366%dir %{_tomcatdir}/server
367%dir %{_tomcatdir}/server/classes
623f0978 368%{_tomcatdir}/server/lib
2b56d949 369%{_tomcatdir}/server/webapps
a0446376
JB
370%{_tomcatdir}/webapps
371%{_tomcatdir}/work
2b56d949 372%{_tomcatdir}/shared
a0446376 373%dir %{_vardir}
98133f85 374# tomcat config has to be writeable because of tomacta-users.xml file and
375# Catalina dir
376%config(noreplace) %attr(775,root,http) %verify(not md5 mtime size) %{_vardir}/conf
a97a4eb2 377%dir %attr(1730,root,http) %{_vardir}/work
9e1e98ce 378%dir %attr(775,root,http) %{_vardir}/webapps
80cbd8b8 379%dir %attr(775,root,http) %{_vardir}/temp
9e1e98ce 380%dir %attr(775,root,http) %{_logdir}/tomcat
381%{_vardir}/logs
623f0978 382
a97a4eb2 383%if 0
623f0978 384%files doc
ff740076 385%defattr(644,root,root,755)
623f0978 386%doc catalina/docs/*
a97a4eb2 387%endif
This page took 0.092418 seconds and 4 git commands to generate.