]> git.pld-linux.org Git - packages/tomcat.git/blame - tomcat.spec
- add try-restart
[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
cc4b6deb
ER
10Version: 5.5.26
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
cc4b6deb 15# Source0-md5: 642b6526354cb18c5b5d77ebef8109ae
9ba83a1b 16Source1: %{name}.init
51bcbcd2
ER
17Patch0: %{name}-skip-servletapi.patch
18Patch1: %{name}-nsis.patch
19Patch2: %{name}-native.patch
20Patch3: %{name}-skip-jdt.patch
d61c5134 21Patch4: %{name}-no-connectors.patch
e40b89eb 22Patch5: %{name}-nowrite.patch
4f9f35cf 23Patch6: %{name}-dbcp.patch
aef723ef 24URL: http://tomcat.apache.org/
498e9275 25BuildRequires: ant >= 1.5.3
7ea1b4e7
ER
26BuildRequires: ant-trax
27BuildRequires: eclipse-jdt
6c0937ca 28BuildRequires: jaas
ac4a959f
ER
29BuildRequires: jakarta-commons-beanutils >= 1.7
30BuildRequires: jakarta-commons-collections >= 0:3.1
17e20534 31BuildRequires: jakarta-commons-collections-tomcat5 >= 0:3.1
ac4a959f
ER
32BuildRequires: jakarta-commons-daemon >= 1.0
33BuildRequires: jakarta-commons-dbcp >= 0:1.2.1
17e20534 34BuildRequires: jakarta-commons-dbcp-tomcat5 >= 0:1.2.1
ac4a959f
ER
35BuildRequires: jakarta-commons-digester >= 0:1.7
36BuildRequires: jakarta-commons-el >= 0:1.0
37BuildRequires: jakarta-commons-fileupload >= 0:1.0
7bfc9a0d 38BuildRequires: jakarta-commons-httpclient
ac4a959f
ER
39BuildRequires: jakarta-commons-launcher >= 0:0.9
40BuildRequires: jakarta-commons-logging >= 0:1.0.4
7bfc9a0d 41BuildRequires: jakarta-commons-modeler >= 2.0
ac4a959f 42BuildRequires: jakarta-commons-pool >= 0:1.2
17e20534 43BuildRequires: jakarta-commons-pool-tomcat5 >= 0:1.2
ac4a959f 44BuildRequires: jakarta-regexp >= 0:1.3
7bfc9a0d 45BuildRequires: jakarta-servletapi5
ac4a959f 46#BuildRequires: jakarta-struts >= 0:1.2.7
834c4a58 47BuildRequires: jakarta-struts >= 1.0.2
ac4a959f
ER
48BuildRequires: javamail >= 0:1.3.1
49BuildRequires: jaxp_parser_impl >= 0:2.7.1
50BuildRequires: jdbc-stdext >= 0:2.0
7ea1b4e7 51BuildRequires: jdk >= 1.5
a97a4eb2 52BuildRequires: jmx
ac4a959f 53BuildRequires: jndi >= 0:1.2.1
7ea1b4e7 54BuildRequires: jpackage-utils
ac4a959f
ER
55BuildRequires: jsse >= 0:1.0.3
56BuildRequires: jta >= 0:1.0.1
57BuildRequires: junit >= 0:3.8.1
7ea1b4e7 58BuildRequires: logging-log4j
ac4a959f 59#BuildRequires: mx4j >= 0:3.0.1
7ea1b4e7
ER
60BuildRequires: mx4j >= 1.1.1
61BuildRequires: puretls
62BuildRequires: rpmbuild(macros) >= 1.300
ac4a959f 63BuildRequires: xerces-j >= 0:2.7.1
f271c61b 64BuildRequires: xml-commons
ac4a959f 65#BuildRequires: xml-commons >= 1.3
8129909e
ER
66Requires(post,postun): /sbin/ldconfig
67Requires(post,preun): /sbin/chkconfig
68Requires(postun): /usr/sbin/groupdel
69Requires(postun): /usr/sbin/userdel
70Requires(pre): /bin/id
71Requires(pre): /usr/bin/getgid
72Requires(pre): /usr/sbin/groupadd
73Requires(pre): /usr/sbin/useradd
74Requires: jaas
7ea1b4e7 75#Requires: jaf >= 1.0.1
4f9f35cf
ER
76#Requires: jakarta-commons-beanutils
77#Requires: jakarta-commons-collections
78#Requires: jakarta-commons-dbcp-tomcat5
79#Requires: jakarta-commons-digester
80Requires: jakarta-commons-el
81#Requires: jakarta-commons-fileupload
82#Requires: jakarta-commons-logging
a0446376 83Requires: jakarta-regexp
8129909e
ER
84Requires: jakarta-servletapi >= 4
85Requires: javamail >= 1.2
86Requires: jaxp_parser_impl
a0446376 87Requires: jdbc-stdext >= 2.0
a0446376 88Requires: jndi >= 1.2.1
8129909e 89Requires: jre >= 1.2
a0446376
JB
90Requires: jsse >= 1.0.2
91Requires: jta >= 1.0.1
8129909e 92Requires: mx4j >= 1.1.1
eca62e60 93Requires: rc-scripts
f271c61b 94Requires: xml-commons
834c4a58 95Provides: group(http)
96Provides: user(http)
51bcbcd2 97Obsoletes: jakarta-tomcat
623f0978 98BuildArch: noarch
99BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
100
a97a4eb2 101%define _tomcatdir %{_datadir}/tomcat
623f0978 102%define _logdir %{_var}/log
a0446376 103%define _vardir %{_var}/lib/tomcat
a97a4eb2 104%define _sysconfdir /etc/tomcat
623f0978 105
106%description
eca62e60
ER
107Tomcat is the servlet container that is used in the official Reference
108Implementation for the Java Servlet and JavaServer Pages technologies.
109The Java Servlet and JavaServer Pages specifications are developed by
110Sun under the Java Community Process.
623f0978 111
eca62e60
ER
112Tomcat is developed in an open and participatory environment and
113released under the Apache Software License. Tomcat is intended to be a
114collaboration of the best-of-breed developers from around the world.
115We invite you to participate in this open development project.
116
f045ab88
JB
117%description -l pl.UTF-8
118Tomcat to kontener serwletowy używany przez oficjalną implementację
119wzorcową technologii Java Servlet i JavaServer Pages. Specyfikacje
51bcbcd2
ER
120Java Servlet i JavaServer Pages są rozwijane przez Suna zgodnie z Java
121Community Process.
623f0978 122
123%package doc
51bcbcd2 124Summary: The Apache Tomcat Servlet/JSP Container documentation
f045ab88 125Summary(pl.UTF-8): Dokumentacja do Tomcata - kontekera Servlet/JSP
623f0978 126Group: Development/Languages/Java
51bcbcd2 127Obsoletes: jakarta-tomcat-doc
623f0978 128
129%description doc
e1f70dd8
JB
130The Tomcat Servlet/JSP Container documentation.
131
f045ab88
JB
132%description doc -l pl.UTF-8
133Dokumentacja do Tomcata - kontekera Servlet/JSP.
623f0978 134
135%prep
51bcbcd2 136%setup -q -n %{name}-%{version}-src
7bfc9a0d
ER
137%patch0 -p1
138%patch1 -p1
139%patch2 -p1
140%patch3 -p1
d61c5134 141%patch4 -p1
e40b89eb 142%patch5 -p1
4f9f35cf 143%patch6 -p1
7bfc9a0d 144
d61c5134 145# servletapi built from jakarta-servletapi5.spec
7bfc9a0d 146rm -rf servletapi
eca62e60
ER
147
148# Remove pre-built jars
149find -name '*.jar' | xargs rm -fv
623f0978 150
151%build
eca62e60
ER
152TOPDIR=$(pwd)
153
7bfc9a0d
ER
154%if 0
155# build jasper javadocs
156cd jasper
157CLASSPATH=$(build-classpath xml-commons-apis)
4f9f35cf 158# building jasper needs eclipse classes
eca62e60 159cat > build.properties <<EOF
4f9f35cf
ER
160ant.jar=$(find-jar ant)
161servlet-api.jar=$(find-jar servlet-api)
162jsp-api.jar=$(find-jar jsp-api)
eca62e60 163tools.jar=%{java_home}/lib/tools.jar
4f9f35cf
ER
164xercesImpl.jar=$(find-jar jaxp_parser_impl)
165xmlParserAPIs.jar=$(find-jar xml-commons-apis)
166commons-collections.jar=$(find-jar commons-collections)
167commons-logging.jar=$(find-jar commons-logging)
168commons-daemon.jar=$(find-jar commons-daemon)
169junit.jar=$(find-jar junit)
170commons-el.jar=$(find-jar commons-el)
eca62e60 171EOF
7bfc9a0d
ER
172#%ant dist
173
174%if %{with javadoc}
175%ant javadoc \
176 -Dcompile.source=1.4 \
177 -Dbuild.compiler=modern \
178
179%endif
180cd -
181%endif
eca62e60
ER
182
183# build tomcat 5.5
7bfc9a0d 184cat > build.properties <<EOF
4f9f35cf
ER
185commons-beanutils.jar=$(find-jar commons-beanutils)
186commons-launcher.jar=$(find-jar commons-launcher)
187commons-daemon.jar=$(find-jar commons-daemon)
188commons-digester.jar=$(find-jar commons-digester)
189commons-el.jar=$(find-jar commons-el)
190commons-logging-api.jar=$(find-jar commons-logging-api)
191commons-logging.jar=$(find-jar commons-logging)
192commons-modeler.jar=$(find-jar commons-modeler)
193xercesImpl.jar=$(find-jar jaxp_parser_impl)
194xml-apis.jar=$(find-jar xml-commons-apis)
195jdt.jar=$(find-jar org.eclipse.jdt.core)
c2e39bad 196jasper-compiler-jdt.home=$TOPDIR/tomcat-deps
4f9f35cf
ER
197commons-httpclient.jar=$(find-jar commons-httpclient)
198commons-collections.jar=$(find-jar commons-collections)
199commons-fileupload.jar=$(find-jar commons-fileupload)
200jmx.jar=$(find-jar jmx)
201jmx-tools.jar=$(find-jar jmx)
202junit.jar=$(find-jar junit)
203struts.jar=$(find-jar struts)
204jcert.jar=$(find-jar jcert)
205jnet.jar=$(find-jar jnet)
206jsse.jar=$(find-jar jsse)
207jta.jar=$(find-jar jta)
208puretls.jar=$(find-jar puretls)
209servlet-api.jar=$(find-jar servlet-api)
7bfc9a0d 210servletapi.build.notrequired=true
4f9f35cf 211jsp-api.jar=$(find-jar jsp-api)
7bfc9a0d 212jspapi.build.notrequired=true
4f9f35cf
ER
213log4j.jar=$(find-jar log4j)
214tomcat-dbcp.jar=$(find-jar jakarta-commons-dbcp-tomcat5)
eca62e60
ER
215EOF
216
d61c5134
ER
217%ant \
218 -Dcompile.source=1.4
eca62e60 219
623f0978 220%install
221rm -rf $RPM_BUILD_ROOT
a97a4eb2
ER
222cd build/build
223TOMCATDIR=$RPM_BUILD_ROOT%{_tomcatdir}
224CATALINADIR=$RPM_BUILD_ROOT/var/lib/tomcat
623f0978 225
a97a4eb2
ER
226# we don't need dos scripts
227rm -f bin/*.bat
f271c61b 228
a97a4eb2 229randpw=$(echo $RANDOM$$ | md5sum | cut -c 1-15)
4f9f35cf 230%{__sed} -i -e "s:SHUTDOWN:${randpw}:" conf/{server,server-minimal}.xml
a97a4eb2
ER
231
232install -d $TOMCATDIR/bin \
233 $TOMCATDIR/common/{lib,classes,endorsed} \
234 $TOMCATDIR/server/{lib,classes} \
235 $TOMCATDIR/webapps \
236 $RPM_BUILD_ROOT%{_sysconfdir} \
a0446376
JB
237 $RPM_BUILD_ROOT%{_logdir}/tomcat \
238 $RPM_BUILD_ROOT%{_vardir}/work \
239 $RPM_BUILD_ROOT/etc/rc.d/init.d
389e46b9 240
a97a4eb2 241install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
623f0978 242
a97a4eb2
ER
243cp -pR conf/* $RPM_BUILD_ROOT%{_sysconfdir}
244cp -HR bin common server $TOMCATDIR
eca62e60 245
4f9f35cf
ER
246cp -rf server/webapps $TOMCATDIR/server
247cp -rf webapps $TOMCATDIR
248cp -rf shared $TOMCATDIR
249cp -rf temp $TOMCATDIR
a97a4eb2 250
4f9f35cf
ER
251ln -sf %{_logdir}/tomcat $TOMCATDIR/logs
252ln -sf %{_vardir}/work $TOMCATDIR/work
253ln -sf %{_sysconfdir} $TOMCATDIR/conf
a97a4eb2
ER
254
255# symlinks instead of copies
4f9f35cf
ER
256ln -sf $(find-jar commons-el) $TOMCATDIR/common/lib/commons-el.jar
257ln -sf $(find-jar jakarta-commons-dbcp-tomcat5) $TOMCATDIR/common/lib/jakarta-commons-dbcp-tomcat5.jar
258ln -sf $(find-jar servlet-api) $TOMCATDIR/common/lib/servlet-api.jar
259
260ln -sf $(find-jar commons-modeler) $TOMCATDIR/server/lib/commons-modeler.jar
261
262%if 0
263# do not make these symlinks as ant didn't do
264ln -sf $(find-jar commons-daemon) $TOMCATDIR/bin/commons-daemon.jar
265ln -sf $(find-jar activation) $TOMCATDIR/common/lib/activation.jar
266ln -sf $(find-jar ant) $TOMCATDIR/common/lib/ant.jar
267ln -sf $(find-jar commons-collections) $TOMCATDIR/common/lib/commons-collections.jar
268ln -sf $(find-jar commons-dbcp) $TOMCATDIR/common/lib/commons-dbcp.jar
269ln -sf $(find-jar commons-logging-api) $TOMCATDIR/common/lib/commons-logging-api.jar
270ln -sf $(find-jar commons-pool) $TOMCATDIR/common/lib/commons-pool.jar
271ln -sf $(find-jar servlet) $TOMCATDIR/common/lib/servlet.jar
272ln -sf $(find-jar servlet) $TOMCATDIR/common/lib/servletapi4.jar
273ln -sf $(find-jar jdbc-stdext) $TOMCATDIR/common/lib/jdbc-stdext.jar
274ln -sf jdbc-stdext.jar $TOMCATDIR/common/lib/jdbc2_0-stdext.jar
275ln -sf jdbc-stdext.jar $TOMCATDIR/common/lib/jdbc-stdext-2.0.jar
276ln -sf $(find-jar jmxri) $TOMCATDIR/common/lib/jmxri.jar
277ln -sf $(find-jar jndi) $TOMCATDIR/common/lib/jndi.jar
278ln -sf $(find-jar jta) $TOMCATDIR/common/lib/jta.jar
279ln -sf $(find-jar mail) $TOMCATDIR/common/lib/mail.jar
280ln -sf $(find-jar jsse) $TOMCATDIR/common/lib/jsse.jar
281ln -sf $(find-jar junit) $TOMCATDIR/common/lib/junit.jar
282ln -sf $(find-jar mailapi) $TOMCATDIR/common/lib/mailapi.jar
283ln -sf $(find-jar pop3) $TOMCATDIR/common/lib/pop3.jar
284ln -sf pop3.jar $TOMCATDIR/common/lib/pop.jar
285ln -sf $(find-jar smtp) $TOMCATDIR/common/lib/smtp.jar
286ln -sf $(find-jar imap) $TOMCATDIR/common/lib/imap.jar
287ln -sf $(find-jar commons-beanutils) $TOMCATDIR/server/lib/commons-beanutils.jar
288ln -sf $(find-jar commons-digester) $TOMCATDIR/server/lib/commons-digester.jar
289ln -sf $(find-jar commons-fileupload) $TOMCATDIR/server/lib/commons-fileupload.jar
290ln -sf $(find-jar commons-logging) $TOMCATDIR/server/lib/commons-logging.jar
291ln -sf $(find-jar jaas) $TOMCATDIR/server/lib/jaas.jar
292ln -sf $(find-jar mx4j-jmx) $TOMCATDIR/server/lib/mx4j-jmx.jar
293ln -sf $(find-jar regexp) $TOMCATDIR/server/lib/regexp.jar
294ln -sf $(find-jar regexp) $TOMCATDIR/server/lib/jakarta-regexp-1.2.jar
295ln -sf $(find-jar regexp) $TOMCATDIR/server/lib/regexp-1.2.jar
296%endif
297
298ln -sf $(find-jar jaxp_parser_impl) $TOMCATDIR/common/endorsed/jaxp_parser_impl.jar
299ln -sf $(find-jar xml-commons-apis) $TOMCATDIR/common/endorsed/xml-commons-apis.jar
300ln -sf $(find-jar struts) $TOMCATDIR/server/webapps/admin/WEB-INF/lib/struts.jar
a0446376 301
623f0978 302%clean
303rm -rf $RPM_BUILD_ROOT
304
2b56d949 305%pre
37375245
ER
306%groupadd -g 51 -r -f http
307%useradd -u 51 -r -d /home/services/httpd -s /bin/false -c "HTTP User" -g http http
2b56d949 308
309%post
310/sbin/chkconfig --add tomcat
6c0937ca 311%service tomcat restart
2b56d949 312
313%preun
314if [ "$1" = "0" ]; then
6c0937ca 315 %service tomcat stop
2b56d949 316 /sbin/chkconfig --del tomcat
317fi
318
319%postun
320if [ "$1" = "0" ]; then
834c4a58 321 %userremove http
322 %groupremove http
2b56d949 323fi
324
623f0978 325%files
326%defattr(644,root,root,755)
a97a4eb2
ER
327%doc build/{RELEASE-NOTES,RUNNING.txt}
328# tomcat wants to regenerate tomcat-users.xml
329%dir %attr(775,root,http) %{_sysconfdir}
330%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*
331%attr(754,root,root) /etc/rc.d/init.d/tomcat
a0446376
JB
332%dir %{_tomcatdir}
333%dir %{_tomcatdir}/bin
a97a4eb2
ER
334%{_tomcatdir}/bin/catalina-tasks.xml
335%{_tomcatdir}/bin/jkstatus-tasks.xml
336%{_tomcatdir}/bin/jmxaccessor-tasks.xml
389e46b9 337%attr(755,root,root) %{_tomcatdir}/bin/*.sh
389e46b9 338%{_tomcatdir}/bin/*.jar
a0446376
JB
339%dir %{_tomcatdir}/common
340%dir %{_tomcatdir}/common/classes
2b56d949 341%dir %{_tomcatdir}/common/endorsed
a97a4eb2 342%dir %{_tomcatdir}/common/i18n
f271c61b 343%{_tomcatdir}/common/endorsed/*.jar
a97a4eb2
ER
344%{_tomcatdir}/common/i18n/tomcat-i18n-en.jar
345%lang(es) %{_tomcatdir}/common/i18n/tomcat-i18n-es.jar
346%lang(fr) %{_tomcatdir}/common/i18n/tomcat-i18n-fr.jar
347%lang(ja) %{_tomcatdir}/common/i18n/tomcat-i18n-ja.jar
623f0978 348%{_tomcatdir}/common/lib
349%{_tomcatdir}/conf
623f0978 350%{_tomcatdir}/logs
a0446376
JB
351%dir %{_tomcatdir}/server
352%dir %{_tomcatdir}/server/classes
623f0978 353%{_tomcatdir}/server/lib
2b56d949 354%{_tomcatdir}/server/webapps
a0446376
JB
355%{_tomcatdir}/webapps
356%{_tomcatdir}/work
2b56d949 357%{_tomcatdir}/shared
358%{_tomcatdir}/temp
a0446376 359%dir %{_vardir}
a97a4eb2
ER
360%dir %attr(1730,root,http) %{_vardir}/work
361%dir %attr(1730,root,http) %{_logdir}/tomcat
623f0978 362
a97a4eb2 363%if 0
623f0978 364%files doc
ff740076 365%defattr(644,root,root,755)
623f0978 366%doc catalina/docs/*
a97a4eb2 367%endif
This page took 0.080614 seconds and 4 git commands to generate.