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