]> git.pld-linux.org Git - packages/tomcat.git/blame - tomcat.spec
- set JAVA_HOME
[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
f9d6e42f 10Version: 5.5.27
cc4b6deb 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
f9d6e42f 15# Source0-md5: eb3f196013550b9b1684e4ff18593a8e
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
f9d6e42f 22Patch5: %{name}-dbcp.patch
7cf40cc1 23# this patch is needed for struts >= 1.3
24Patch6: %{name}-struts.patch
aef723ef 25URL: http://tomcat.apache.org/
498e9275 26BuildRequires: ant >= 1.5.3
7ea1b4e7
ER
27BuildRequires: ant-trax
28BuildRequires: eclipse-jdt
6c0937ca 29BuildRequires: jaas
b3ca1c9e 30BuildRequires: java-commons-httpclient
ac4a959f 31BuildRequires: jakarta-regexp >= 0:1.3
b3ca1c9e 32#BuildRequires: java-struts >= 0:1.2.7
33BuildRequires: java-struts >= 1.0.2
5d4d27d1 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
b3ca1c9e 49BuildRequires: java-servletapi5 = %{version}
ac4a959f
ER
50BuildRequires: javamail >= 0:1.3.1
51BuildRequires: jaxp_parser_impl >= 0:2.7.1
52BuildRequires: jdbc-stdext >= 0:2.0
7ea1b4e7 53BuildRequires: jdk >= 1.5
a97a4eb2 54BuildRequires: jmx
ac4a959f 55BuildRequires: jndi >= 0:1.2.1
7ea1b4e7 56BuildRequires: jpackage-utils
ac4a959f
ER
57BuildRequires: jsse >= 0:1.0.3
58BuildRequires: jta >= 0:1.0.1
59BuildRequires: junit >= 0:3.8.1
7ea1b4e7 60BuildRequires: logging-log4j
7ea1b4e7
ER
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
a0446376 76Requires: jakarta-regexp
5d4d27d1 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
fbf473d1 84Requires: java-servletapi5 = %{version}
8129909e
ER
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
eca62e60 92Requires: rc-scripts
f271c61b 93Requires: xml-commons
834c4a58 94Provides: group(http)
95Provides: user(http)
51bcbcd2 96Obsoletes: jakarta-tomcat
623f0978 97BuildArch: noarch
98BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
99
a97a4eb2 100%define _tomcatdir %{_datadir}/tomcat
623f0978 101%define _logdir %{_var}/log
a0446376 102%define _vardir %{_var}/lib/tomcat
a97a4eb2 103%define _sysconfdir /etc/tomcat
623f0978 104
105%description
eca62e60
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.
623f0978 110
eca62e60
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
f045ab88
JB
116%description -l pl.UTF-8
117Tomcat to kontener serwletowy używany przez oficjalną implementację
118wzorcową technologii Java Servlet i JavaServer Pages. Specyfikacje
51bcbcd2
ER
119Java Servlet i JavaServer Pages są rozwijane przez Suna zgodnie z Java
120Community Process.
623f0978 121
122%package doc
51bcbcd2 123Summary: The Apache Tomcat Servlet/JSP Container documentation
152e6062 124Summary(pl.UTF-8): Dokumentacja do Tomcata - kontenera Servlet/JSP
623f0978 125Group: Development/Languages/Java
51bcbcd2 126Obsoletes: jakarta-tomcat-doc
623f0978 127
128%description doc
e1f70dd8
JB
129The Tomcat Servlet/JSP Container documentation.
130
f045ab88 131%description doc -l pl.UTF-8
152e6062 132Dokumentacja do Tomcata - kontenera Servlet/JSP.
623f0978 133
134%prep
51bcbcd2 135%setup -q -n %{name}-%{version}-src
7bfc9a0d
ER
136%patch0 -p1
137%patch1 -p1
138%patch2 -p1
139%patch3 -p1
d61c5134 140%patch4 -p1
e40b89eb 141%patch5 -p1
7cf40cc1 142%patch6 -p1
7bfc9a0d 143
d61c5134 144# servletapi built from jakarta-servletapi5.spec
7bfc9a0d 145rm -rf servletapi
eca62e60
ER
146
147# Remove pre-built jars
148find -name '*.jar' | xargs rm -fv
623f0978 149
150%build
eca62e60
ER
151TOPDIR=$(pwd)
152
7bfc9a0d
ER
153%if 0
154# build jasper javadocs
155cd jasper
156CLASSPATH=$(build-classpath xml-commons-apis)
4f9f35cf 157# building jasper needs eclipse classes
eca62e60 158cat > build.properties <<EOF
4f9f35cf
ER
159ant.jar=$(find-jar ant)
160servlet-api.jar=$(find-jar servlet-api)
161jsp-api.jar=$(find-jar jsp-api)
eca62e60 162tools.jar=%{java_home}/lib/tools.jar
4f9f35cf
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)
eca62e60 170EOF
7bfc9a0d
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
eca62e60
ER
181
182# build tomcat 5.5
7bfc9a0d 183cat > build.properties <<EOF
a48f26fe 184commons-beanutils.jar=$(find-jar commons-beanutils-core)
4f9f35cf
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)
c2e39bad 195jasper-compiler-jdt.home=$TOPDIR/tomcat-deps
4f9f35cf
ER
196commons-httpclient.jar=$(find-jar commons-httpclient)
197commons-collections.jar=$(find-jar commons-collections)
198commons-fileupload.jar=$(find-jar commons-fileupload)
9e94226b 199commons-io.jar=$(find-jar commons-io)
4f9f35cf
ER
200jmx.jar=$(find-jar jmx)
201jmx-tools.jar=$(find-jar jmx)
202junit.jar=$(find-jar junit)
a48f26fe 203struts.jar=$(find-jar struts-core)
204struts-core.jar=$(find-jar struts-core)
205struts-taglib.jar=$(find-jar struts-taglib)
4f9f35cf
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)
7bfc9a0d 212servletapi.build.notrequired=true
4f9f35cf 213jsp-api.jar=$(find-jar jsp-api)
7bfc9a0d 214jspapi.build.notrequired=true
4f9f35cf 215log4j.jar=$(find-jar log4j)
a48f26fe 216tomcat-dbcp.jar=$(find-jar commons-dbcp-tomcat5)
b3ca1c9e 217struts.lib=%{_datadir}/java-struts
eca62e60
ER
218EOF
219
d61c5134
ER
220%ant \
221 -Dcompile.source=1.4
eca62e60 222
623f0978 223%install
224rm -rf $RPM_BUILD_ROOT
a97a4eb2
ER
225cd build/build
226TOMCATDIR=$RPM_BUILD_ROOT%{_tomcatdir}
227CATALINADIR=$RPM_BUILD_ROOT/var/lib/tomcat
623f0978 228
a97a4eb2
ER
229# we don't need dos scripts
230rm -f bin/*.bat
f271c61b 231
a97a4eb2 232randpw=$(echo $RANDOM$$ | md5sum | cut -c 1-15)
4f9f35cf 233%{__sed} -i -e "s:SHUTDOWN:${randpw}:" conf/{server,server-minimal}.xml
a97a4eb2
ER
234
235install -d $TOMCATDIR/bin \
236 $TOMCATDIR/common/{lib,classes,endorsed} \
237 $TOMCATDIR/server/{lib,classes} \
238 $TOMCATDIR/webapps \
a0446376 239 $RPM_BUILD_ROOT%{_logdir}/tomcat \
98133f85 240 $RPM_BUILD_ROOT%{_vardir}/webapps \
a0446376 241 $RPM_BUILD_ROOT%{_vardir}/work \
98133f85 242 $RPM_BUILD_ROOT%{_vardir}/conf \
a0446376 243 $RPM_BUILD_ROOT/etc/rc.d/init.d
389e46b9 244
a97a4eb2 245install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
623f0978 246
98133f85 247cp -pR conf/* $CATALINADIR/conf
a97a4eb2 248cp -HR bin common server $TOMCATDIR
eca62e60 249
4f9f35cf
ER
250cp -rf server/webapps $TOMCATDIR/server
251cp -rf webapps $TOMCATDIR
252cp -rf shared $TOMCATDIR
253cp -rf temp $TOMCATDIR
a97a4eb2 254
98133f85 255ln -sf %{_logdir}/tomcat $CATALINADIR/logs
4f9f35cf 256ln -sf %{_vardir}/work $TOMCATDIR/work
98133f85 257ln -sf %{_vardir}/conf $TOMCATDIR/conf
258ln -sf %{_vardir}/conf $RPM_BUILD_ROOT%{_sysconfdir}
a97a4eb2
ER
259
260# symlinks instead of copies
4f9f35cf
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
4f9f35cf
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
a48f26fe 304ln -sf $(find-jar struts-core) $TOMCATDIR/server/webapps/admin/WEB-INF/lib/struts-core.jar
a0446376 305
623f0978 306%clean
307rm -rf $RPM_BUILD_ROOT
308
2b56d949 309%pre
37375245
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
2b56d949 312
313%post
314/sbin/chkconfig --add tomcat
6c0937ca 315%service tomcat restart
2b56d949 316
317%preun
318if [ "$1" = "0" ]; then
6c0937ca 319 %service tomcat stop
2b56d949 320 /sbin/chkconfig --del tomcat
321fi
322
323%postun
324if [ "$1" = "0" ]; then
834c4a58 325 %userremove http
326 %groupremove http
2b56d949 327fi
328
623f0978 329%files
330%defattr(644,root,root,755)
a97a4eb2 331%doc build/{RELEASE-NOTES,RUNNING.txt}
a97a4eb2 332%attr(754,root,root) /etc/rc.d/init.d/tomcat
98133f85 333%{_sysconfdir}
a0446376 334%dir %{_tomcatdir}
98133f85 335%dir %{_tomcatdir}/conf
a0446376 336%dir %{_tomcatdir}/bin
a97a4eb2
ER
337%{_tomcatdir}/bin/catalina-tasks.xml
338%{_tomcatdir}/bin/jkstatus-tasks.xml
339%{_tomcatdir}/bin/jmxaccessor-tasks.xml
389e46b9 340%attr(755,root,root) %{_tomcatdir}/bin/*.sh
389e46b9 341%{_tomcatdir}/bin/*.jar
a0446376
JB
342%dir %{_tomcatdir}/common
343%dir %{_tomcatdir}/common/classes
2b56d949 344%dir %{_tomcatdir}/common/endorsed
a97a4eb2 345%dir %{_tomcatdir}/common/i18n
f271c61b 346%{_tomcatdir}/common/endorsed/*.jar
a97a4eb2
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
623f0978 351%{_tomcatdir}/common/lib
623f0978 352%{_tomcatdir}/logs
a0446376
JB
353%dir %{_tomcatdir}/server
354%dir %{_tomcatdir}/server/classes
623f0978 355%{_tomcatdir}/server/lib
2b56d949 356%{_tomcatdir}/server/webapps
a0446376
JB
357%{_tomcatdir}/webapps
358%{_tomcatdir}/work
2b56d949 359%{_tomcatdir}/shared
360%{_tomcatdir}/temp
a0446376 361%dir %{_vardir}
98133f85 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
a97a4eb2 365%dir %attr(1730,root,http) %{_vardir}/work
98133f85 366%dir %attr(1730,root,http) %{_vardir}/webapps
a97a4eb2 367%dir %attr(1730,root,http) %{_logdir}/tomcat
623f0978 368
a97a4eb2 369%if 0
623f0978 370%files doc
ff740076 371%defattr(644,root,root,755)
623f0978 372%doc catalina/docs/*
a97a4eb2 373%endif
This page took 0.118607 seconds and 4 git commands to generate.