]> git.pld-linux.org Git - packages/tomcat.git/blame_incremental - tomcat.spec
- copied to apache-tomcat.init
[packages/tomcat.git] / tomcat.spec
... / ...
CommitLineData
1# Conditional build:
2%bcond_without javadoc # skip building javadocs
3#
4Summary: Apache Servlet/JSP Engine, RI for Servlet 2.4/JSP 2.0 API
5Summary(pl.UTF-8): Silnik Servlet/JSP Apache będący wzorcową implementacją API Servlet 2.4/JSP 2.0
6Name: apache-tomcat
7Version: 5.5.23
8Release: 0.1
9License: Apache
10Group: Development/Languages/Java
11Source0: http://www.apache.org/dist/tomcat/tomcat-5/v%{version}/src/%{name}-%{version}-src.tar.gz
12# Source0-md5: 362d1d8b15dc09882440dcab8c592dd7
13Source1: jakarta-tomcat.init
14Patch0: %{name}-skip-servletapi.patch
15Patch1: %{name}-nsis.patch
16Patch2: %{name}-native.patch
17Patch3: %{name}-skip-jdt.patch
18Patch4: %{name}-no-connectors.patch
19URL: http://tomcat.apache.org/
20BuildRequires: ant >= 1.5.3
21BuildRequires: ant-trax
22BuildRequires: eclipse-jdt
23BuildRequires: jaas
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
33BuildRequires: jakarta-commons-httpclient
34BuildRequires: jakarta-commons-launcher >= 0:0.9
35BuildRequires: jakarta-commons-logging >= 0:1.0.4
36BuildRequires: jakarta-commons-modeler >= 2.0
37BuildRequires: jakarta-commons-pool >= 0:1.2
38BuildRequires: jakarta-commons-pool-source >= 0:1.2
39BuildRequires: jakarta-regexp >= 0:1.3
40BuildRequires: jakarta-servletapi5
41#BuildRequires: jakarta-struts >= 0:1.2.7
42BuildRequires: jakarta-struts >= 1.0.2
43BuildRequires: javamail >= 0:1.3.1
44BuildRequires: jaxp_parser_impl >= 0:2.7.1
45BuildRequires: jdbc-stdext >= 0:2.0
46BuildRequires: jdk >= 1.5
47BuildRequires: jmx
48BuildRequires: jndi >= 0:1.2.1
49BuildRequires: jpackage-utils
50BuildRequires: jsse >= 0:1.0.3
51BuildRequires: jta >= 0:1.0.1
52BuildRequires: junit >= 0:3.8.1
53BuildRequires: logging-log4j
54#BuildRequires: mx4j >= 0:3.0.1
55BuildRequires: mx4j >= 1.1.1
56BuildRequires: puretls
57BuildRequires: rpmbuild(macros) >= 1.300
58BuildRequires: xerces-j >= 0:2.7.1
59BuildRequires: xml-commons
60#BuildRequires: xml-commons >= 1.3
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
70#Requires: jaf >= 1.0.1
71Requires: jakarta-commons-beanutils
72Requires: jakarta-commons-collections
73Requires: jakarta-commons-digester
74Requires: jakarta-commons-fileupload
75Requires: jakarta-commons-logging
76Requires: jakarta-regexp
77Requires: jakarta-servletapi >= 4
78Requires: javamail >= 1.2
79Requires: jaxp_parser_impl
80Requires: jdbc-stdext >= 2.0
81Requires: jndi >= 1.2.1
82Requires: jre >= 1.2
83Requires: jsse >= 1.0.2
84Requires: jta >= 1.0.1
85Requires: mx4j >= 1.1.1
86Requires: rc-scripts
87Requires: xml-commons
88Provides: group(http)
89Provides: user(http)
90Obsoletes: jakarta-tomcat
91BuildArch: noarch
92BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
93
94%define _tomcatdir %{_datadir}/tomcat
95%define _logdir %{_var}/log
96%define _vardir %{_var}/lib/tomcat
97%define _sysconfdir /etc/tomcat
98
99%description
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.
104
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
110%description -l pl.UTF-8
111Tomcat to kontener serwletowy używany przez oficjalną implementację
112wzorcową technologii Java Servlet i JavaServer Pages. Specyfikacje
113Java Servlet i JavaServer Pages są rozwijane przez Suna zgodnie z Java
114Community Process.
115
116%package doc
117Summary: The Apache Tomcat Servlet/JSP Container documentation
118Summary(pl.UTF-8): Dokumentacja do Tomcata - kontekera Servlet/JSP
119Group: Development/Languages/Java
120Obsoletes: jakarta-tomcat-doc
121
122%description doc
123The Tomcat Servlet/JSP Container documentation.
124
125%description doc -l pl.UTF-8
126Dokumentacja do Tomcata - kontekera Servlet/JSP.
127
128%prep
129%setup -q -n %{name}-%{version}-src
130%patch0 -p1
131%patch1 -p1
132%patch2 -p1
133%patch3 -p1
134%patch4 -p1
135
136# servletapi built from jakarta-servletapi5.spec
137rm -rf servletapi
138
139# Remove pre-built jars
140find -name '*.jar' | xargs rm -fv
141
142%build
143TOPDIR=$(pwd)
144
145mkdir -p tomcat-deps
146> tomcat-deps/tomcat-dbcp.jar
147
148%if 0
149# build jasper javadocs
150cd jasper
151CLASSPATH=$(build-classpath xml-commons-apis)
152cat > build.properties <<EOF
153ant.jar=$(build-classpath ant)
154servlet-api.jar=$(build-classpath servlet-api)
155jsp-api.jar=$(build-classpath jsp-api)
156tools.jar=%{java_home}/lib/tools.jar
157xercesImpl.jar=$(build-classpath jaxp_parser_impl)
158xmlParserAPIs.jar=$(build-classpath xml-commons-apis)
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)
163commons-el.jar=$(build-classpath commons-el)
164EOF
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
176
177# build tomcat 5.5
178cat > build.properties <<EOF
179commons-beanutils.jar=$(build-classpath commons-beanutils)
180commons-launcher.jar=$(build-classpath commons-launcher)
181commons-daemon.jar=$(build-classpath commons-daemon)
182commons-digester.jar=$(build-classpath commons-digester)
183commons-el.jar=$(build-classpath commons-el)
184commons-logging-api.jar=$(build-classpath commons-logging-api)
185commons-logging.jar=$(build-classpath commons-logging)
186commons-modeler.jar=$(build-classpath commons-modeler)
187xercesImpl.jar=$(build-classpath jaxp_parser_impl)
188xml-apis.jar=$(build-classpath xml-commons-apis)
189jdt.jar=$(build-classpath org.eclipse.jdt.core)
190jasper-compiler-jdt.home=$TOPDIR/tomcat-deps
191commons-httpclient.jar=$(build-classpath commons-httpclient)
192commons-collections.jar=$(build-classpath commons-collections)
193commons-fileupload.jar=$(build-classpath commons-fileupload)
194jmx.jar=$(build-classpath jmx)
195jmx-tools.jar=$(build-classpath jmx)
196junit.jar=$(build-classpath junit)
197struts.jar=$(build-classpath struts)
198jcert.jar=$(build-classpath java/jcert)
199jnet.jar=$(build-classpath java/jnet)
200jsse.jar=$(build-classpath java/jsse)
201jta.jar=$(build-classpath jta)
202puretls.jar=$(build-classpath puretls)
203servlet-api.jar=$(build-classpath servlet-api)
204servletapi.build.notrequired=true
205jsp-api.jar=$(build-classpath jsp-api)
206jspapi.build.notrequired=true
207log4j.jar=$(build-classpath log4j)
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
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
216EOF
217
218%ant \
219 -Dcompile.source=1.4
220
221%install
222rm -rf $RPM_BUILD_ROOT
223cd build/build
224TOMCATDIR=$RPM_BUILD_ROOT%{_tomcatdir}
225CATALINADIR=$RPM_BUILD_ROOT/var/lib/tomcat
226
227# we don't need dos scripts
228rm -f bin/*.bat
229
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} \
238 $RPM_BUILD_ROOT%{_logdir}/tomcat \
239 $RPM_BUILD_ROOT%{_vardir}/work \
240 $RPM_BUILD_ROOT/etc/rc.d/init.d
241
242install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
243
244cp -pR conf/* $RPM_BUILD_ROOT%{_sysconfdir}
245cp -HR bin common server $TOMCATDIR
246
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
297
298%clean
299rm -rf $RPM_BUILD_ROOT
300
301%pre
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
304
305%post
306/sbin/chkconfig --add tomcat
307%service tomcat restart
308
309%preun
310if [ "$1" = "0" ]; then
311 %service tomcat stop
312 /sbin/chkconfig --del tomcat
313fi
314
315%postun
316if [ "$1" = "0" ]; then
317 %userremove http
318 %groupremove http
319fi
320
321%files
322%defattr(644,root,root,755)
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
328%dir %{_tomcatdir}
329%dir %{_tomcatdir}/bin
330%{_tomcatdir}/bin/catalina-tasks.xml
331%{_tomcatdir}/bin/jkstatus-tasks.xml
332%{_tomcatdir}/bin/jmxaccessor-tasks.xml
333%attr(755,root,root) %{_tomcatdir}/bin/*.sh
334%{_tomcatdir}/bin/*.jar
335%dir %{_tomcatdir}/common
336%dir %{_tomcatdir}/common/classes
337%dir %{_tomcatdir}/common/endorsed
338%dir %{_tomcatdir}/common/i18n
339%{_tomcatdir}/common/endorsed/*.jar
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
344%{_tomcatdir}/common/lib
345%{_tomcatdir}/conf
346%{_tomcatdir}/logs
347%dir %{_tomcatdir}/server
348%dir %{_tomcatdir}/server/classes
349%{_tomcatdir}/server/lib
350%{_tomcatdir}/server/webapps
351%{_tomcatdir}/webapps
352%{_tomcatdir}/work
353%{_tomcatdir}/shared
354%{_tomcatdir}/temp
355%dir %{_vardir}
356%dir %attr(1730,root,http) %{_vardir}/work
357%dir %attr(1730,root,http) %{_logdir}/tomcat
358
359%if 0
360%files doc
361%defattr(644,root,root,755)
362%doc catalina/docs/*
363%endif
This page took 0.087026 seconds and 4 git commands to generate.