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