]> git.pld-linux.org Git - packages/tomcat.git/blame - tomcat.spec
- P: java-servlet-container
[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
1669e8ae 11Release: 0.2
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
ac4a959f 36BuildRequires: jakarta-regexp >= 0:1.3
5d4d27d1 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
a567480f 46BuildRequires: java-commons-httpclient
5d4d27d1 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
b3ca1c9e 53BuildRequires: java-servletapi5 = %{version}
a567480f 54#BuildRequires: java-struts >= 0:1.2.7
55BuildRequires: java-struts >= 1.0.2
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
201f6baa 100Provides: group(tomcat)
a567480f 101Provides: java-servlet-container
201f6baa 102Provides: user(tomcat)
51bcbcd2 103Obsoletes: jakarta-tomcat
623f0978 104BuildArch: noarch
105BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
106
a97a4eb2 107%define _tomcatdir %{_datadir}/tomcat
623f0978 108%define _logdir %{_var}/log
a0446376 109%define _vardir %{_var}/lib/tomcat
a97a4eb2 110%define _sysconfdir /etc/tomcat
623f0978 111
112%description
eca62e60
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.
623f0978 117
eca62e60
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
f045ab88
JB
123%description -l pl.UTF-8
124Tomcat to kontener serwletowy używany przez oficjalną implementację
125wzorcową technologii Java Servlet i JavaServer Pages. Specyfikacje
51bcbcd2
ER
126Java Servlet i JavaServer Pages są rozwijane przez Suna zgodnie z Java
127Community Process.
623f0978 128
129%package doc
51bcbcd2 130Summary: The Apache Tomcat Servlet/JSP Container documentation
152e6062 131Summary(pl.UTF-8): Dokumentacja do Tomcata - kontenera Servlet/JSP
623f0978 132Group: Development/Languages/Java
51bcbcd2 133Obsoletes: jakarta-tomcat-doc
623f0978 134
135%description doc
e1f70dd8
JB
136The Tomcat Servlet/JSP Container documentation.
137
f045ab88 138%description doc -l pl.UTF-8
152e6062 139Dokumentacja do Tomcata - kontenera Servlet/JSP.
623f0978 140
141%prep
51bcbcd2 142%setup -q -n %{name}-%{version}-src
7bfc9a0d
ER
143%patch0 -p1
144%patch1 -p1
145%patch2 -p1
146%patch3 -p1
d61c5134 147%patch4 -p1
e40b89eb 148%patch5 -p1
7cf40cc1 149%patch6 -p1
7bfc9a0d 150
d61c5134 151# servletapi built from jakarta-servletapi5.spec
7bfc9a0d 152rm -rf servletapi
eca62e60
ER
153
154# Remove pre-built jars
155find -name '*.jar' | xargs rm -fv
623f0978 156
157%build
eca62e60
ER
158TOPDIR=$(pwd)
159
7bfc9a0d
ER
160%if 0
161# build jasper javadocs
162cd jasper
163CLASSPATH=$(build-classpath xml-commons-apis)
4f9f35cf 164# building jasper needs eclipse classes
eca62e60 165cat > build.properties <<EOF
4f9f35cf
ER
166ant.jar=$(find-jar ant)
167servlet-api.jar=$(find-jar servlet-api)
168jsp-api.jar=$(find-jar jsp-api)
eca62e60 169tools.jar=%{java_home}/lib/tools.jar
4f9f35cf
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)
eca62e60 177EOF
7bfc9a0d
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
eca62e60
ER
188
189# build tomcat 5.5
7bfc9a0d 190cat > build.properties <<EOF
a48f26fe 191commons-beanutils.jar=$(find-jar commons-beanutils-core)
4f9f35cf
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)
c2e39bad 202jasper-compiler-jdt.home=$TOPDIR/tomcat-deps
4f9f35cf
ER
203commons-httpclient.jar=$(find-jar commons-httpclient)
204commons-collections.jar=$(find-jar commons-collections)
205commons-fileupload.jar=$(find-jar commons-fileupload)
9e94226b 206commons-io.jar=$(find-jar commons-io)
4f9f35cf
ER
207jmx.jar=$(find-jar jmx)
208jmx-tools.jar=$(find-jar jmx)
209junit.jar=$(find-jar junit)
a48f26fe 210struts.jar=$(find-jar struts-core)
211struts-core.jar=$(find-jar struts-core)
212struts-taglib.jar=$(find-jar struts-taglib)
4f9f35cf
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)
7bfc9a0d 219servletapi.build.notrequired=true
4f9f35cf 220jsp-api.jar=$(find-jar jsp-api)
7bfc9a0d 221jspapi.build.notrequired=true
4f9f35cf 222log4j.jar=$(find-jar log4j)
a48f26fe 223tomcat-dbcp.jar=$(find-jar commons-dbcp-tomcat5)
b3ca1c9e 224struts.lib=%{_datadir}/java-struts
eca62e60
ER
225EOF
226
d61c5134
ER
227%ant \
228 -Dcompile.source=1.4
eca62e60 229
623f0978 230%install
231rm -rf $RPM_BUILD_ROOT
a97a4eb2
ER
232cd build/build
233TOMCATDIR=$RPM_BUILD_ROOT%{_tomcatdir}
234CATALINADIR=$RPM_BUILD_ROOT/var/lib/tomcat
623f0978 235
a97a4eb2
ER
236# we don't need dos scripts
237rm -f bin/*.bat
f271c61b 238
a97a4eb2 239randpw=$(echo $RANDOM$$ | md5sum | cut -c 1-15)
4f9f35cf 240%{__sed} -i -e "s:SHUTDOWN:${randpw}:" conf/{server,server-minimal}.xml
a97a4eb2
ER
241
242install -d $TOMCATDIR/bin \
243 $TOMCATDIR/common/{lib,classes,endorsed} \
244 $TOMCATDIR/server/{lib,classes} \
245 $TOMCATDIR/webapps \
a0446376 246 $RPM_BUILD_ROOT%{_logdir}/tomcat \
98133f85 247 $RPM_BUILD_ROOT%{_vardir}/webapps \
a0446376 248 $RPM_BUILD_ROOT%{_vardir}/work \
98133f85 249 $RPM_BUILD_ROOT%{_vardir}/conf \
125df118 250 $RPM_BUILD_ROOT/etc/sysconfig \
a0446376 251 $RPM_BUILD_ROOT/etc/rc.d/init.d
389e46b9 252
a97a4eb2 253install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
f93b3a59 254install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/tomcat
623f0978 255
98133f85 256cp -pR conf/* $CATALINADIR/conf
3e2cdbf3 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
a97a4eb2 262cp -HR bin common server $TOMCATDIR
eca62e60 263
4f9f35cf
ER
264cp -rf server/webapps $TOMCATDIR/server
265cp -rf webapps $TOMCATDIR
266cp -rf shared $TOMCATDIR
80cbd8b8 267cp -rf temp $CATALINADIR
a97a4eb2 268
98133f85 269ln -sf %{_logdir}/tomcat $CATALINADIR/logs
4f9f35cf 270ln -sf %{_vardir}/work $TOMCATDIR/work
98133f85 271ln -sf %{_vardir}/conf $TOMCATDIR/conf
272ln -sf %{_vardir}/conf $RPM_BUILD_ROOT%{_sysconfdir}
a97a4eb2
ER
273
274# symlinks instead of copies
4f9f35cf
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
4f9f35cf
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
a48f26fe 318ln -sf $(find-jar struts-core) $TOMCATDIR/server/webapps/admin/WEB-INF/lib/struts-core.jar
a0446376 319
623f0978 320%clean
321rm -rf $RPM_BUILD_ROOT
322
2b56d949 323%pre
bc75997d 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
2b56d949 326
327%post
328/sbin/chkconfig --add tomcat
6c0937ca 329%service tomcat restart
2b56d949 330
331%preun
332if [ "$1" = "0" ]; then
6c0937ca 333 %service tomcat stop
2b56d949 334 /sbin/chkconfig --del tomcat
335fi
336
337%postun
338if [ "$1" = "0" ]; then
201f6baa 339 %userremove tomcat
340 %groupremove tomcat
2b56d949 341fi
342
623f0978 343%files
344%defattr(644,root,root,755)
a97a4eb2 345%doc build/{RELEASE-NOTES,RUNNING.txt}
a97a4eb2 346%attr(754,root,root) /etc/rc.d/init.d/tomcat
ab574f59 347%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/tomcat
98133f85 348%{_sysconfdir}
a0446376 349%dir %{_tomcatdir}
98133f85 350%dir %{_tomcatdir}/conf
a0446376 351%dir %{_tomcatdir}/bin
a97a4eb2
ER
352%{_tomcatdir}/bin/catalina-tasks.xml
353%{_tomcatdir}/bin/jkstatus-tasks.xml
354%{_tomcatdir}/bin/jmxaccessor-tasks.xml
389e46b9 355%attr(755,root,root) %{_tomcatdir}/bin/*.sh
389e46b9 356%{_tomcatdir}/bin/*.jar
a0446376
JB
357%dir %{_tomcatdir}/common
358%dir %{_tomcatdir}/common/classes
2b56d949 359%dir %{_tomcatdir}/common/endorsed
a97a4eb2 360%dir %{_tomcatdir}/common/i18n
f271c61b 361%{_tomcatdir}/common/endorsed/*.jar
a97a4eb2
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
623f0978 366%{_tomcatdir}/common/lib
a0446376
JB
367%dir %{_tomcatdir}/server
368%dir %{_tomcatdir}/server/classes
623f0978 369%{_tomcatdir}/server/lib
2b56d949 370%{_tomcatdir}/server/webapps
a0446376
JB
371%{_tomcatdir}/webapps
372%{_tomcatdir}/work
2b56d949 373%{_tomcatdir}/shared
a0446376 374%dir %{_vardir}
98133f85 375# tomcat config has to be writeable because of tomacta-users.xml file and
376# Catalina dir
201f6baa 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
9e1e98ce 382%{_vardir}/logs
623f0978 383
a97a4eb2 384%if 0
623f0978 385%files doc
ff740076 386%defattr(644,root,root,755)
623f0978 387%doc catalina/docs/*
a97a4eb2 388%endif
This page took 0.090814 seconds and 4 git commands to generate.