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