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