]> git.pld-linux.org Git - packages/tomcat.git/blame - tomcat.spec
- missing directory
[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 \
125df118 244 $RPM_BUILD_ROOT/etc/sysconfig \
a0446376 245 $RPM_BUILD_ROOT/etc/rc.d/init.d
389e46b9 246
a97a4eb2 247install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
f93b3a59 248install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/tomcat
623f0978 249
98133f85 250cp -pR conf/* $CATALINADIR/conf
a97a4eb2 251cp -HR bin common server $TOMCATDIR
eca62e60 252
4f9f35cf
ER
253cp -rf server/webapps $TOMCATDIR/server
254cp -rf webapps $TOMCATDIR
255cp -rf shared $TOMCATDIR
256cp -rf temp $TOMCATDIR
a97a4eb2 257
98133f85 258ln -sf %{_logdir}/tomcat $CATALINADIR/logs
4f9f35cf 259ln -sf %{_vardir}/work $TOMCATDIR/work
98133f85 260ln -sf %{_vardir}/conf $TOMCATDIR/conf
261ln -sf %{_vardir}/conf $RPM_BUILD_ROOT%{_sysconfdir}
a97a4eb2
ER
262
263# symlinks instead of copies
4f9f35cf
ER
264ln -sf $(find-jar commons-el) $TOMCATDIR/common/lib/commons-el.jar
265ln -sf $(find-jar jakarta-commons-dbcp-tomcat5) $TOMCATDIR/common/lib/jakarta-commons-dbcp-tomcat5.jar
266ln -sf $(find-jar servlet-api) $TOMCATDIR/common/lib/servlet-api.jar
267
268ln -sf $(find-jar commons-modeler) $TOMCATDIR/server/lib/commons-modeler.jar
269
270%if 0
271# do not make these symlinks as ant didn't do
272ln -sf $(find-jar commons-daemon) $TOMCATDIR/bin/commons-daemon.jar
273ln -sf $(find-jar activation) $TOMCATDIR/common/lib/activation.jar
274ln -sf $(find-jar ant) $TOMCATDIR/common/lib/ant.jar
275ln -sf $(find-jar commons-collections) $TOMCATDIR/common/lib/commons-collections.jar
276ln -sf $(find-jar commons-dbcp) $TOMCATDIR/common/lib/commons-dbcp.jar
277ln -sf $(find-jar commons-logging-api) $TOMCATDIR/common/lib/commons-logging-api.jar
278ln -sf $(find-jar commons-pool) $TOMCATDIR/common/lib/commons-pool.jar
279ln -sf $(find-jar servlet) $TOMCATDIR/common/lib/servlet.jar
280ln -sf $(find-jar servlet) $TOMCATDIR/common/lib/servletapi4.jar
281ln -sf $(find-jar jdbc-stdext) $TOMCATDIR/common/lib/jdbc-stdext.jar
282ln -sf jdbc-stdext.jar $TOMCATDIR/common/lib/jdbc2_0-stdext.jar
283ln -sf jdbc-stdext.jar $TOMCATDIR/common/lib/jdbc-stdext-2.0.jar
284ln -sf $(find-jar jmxri) $TOMCATDIR/common/lib/jmxri.jar
285ln -sf $(find-jar jndi) $TOMCATDIR/common/lib/jndi.jar
286ln -sf $(find-jar jta) $TOMCATDIR/common/lib/jta.jar
287ln -sf $(find-jar mail) $TOMCATDIR/common/lib/mail.jar
288ln -sf $(find-jar jsse) $TOMCATDIR/common/lib/jsse.jar
289ln -sf $(find-jar junit) $TOMCATDIR/common/lib/junit.jar
290ln -sf $(find-jar mailapi) $TOMCATDIR/common/lib/mailapi.jar
291ln -sf $(find-jar pop3) $TOMCATDIR/common/lib/pop3.jar
292ln -sf pop3.jar $TOMCATDIR/common/lib/pop.jar
293ln -sf $(find-jar smtp) $TOMCATDIR/common/lib/smtp.jar
294ln -sf $(find-jar imap) $TOMCATDIR/common/lib/imap.jar
295ln -sf $(find-jar commons-beanutils) $TOMCATDIR/server/lib/commons-beanutils.jar
296ln -sf $(find-jar commons-digester) $TOMCATDIR/server/lib/commons-digester.jar
297ln -sf $(find-jar commons-fileupload) $TOMCATDIR/server/lib/commons-fileupload.jar
298ln -sf $(find-jar commons-logging) $TOMCATDIR/server/lib/commons-logging.jar
299ln -sf $(find-jar jaas) $TOMCATDIR/server/lib/jaas.jar
4f9f35cf
ER
300ln -sf $(find-jar regexp) $TOMCATDIR/server/lib/regexp.jar
301ln -sf $(find-jar regexp) $TOMCATDIR/server/lib/jakarta-regexp-1.2.jar
302ln -sf $(find-jar regexp) $TOMCATDIR/server/lib/regexp-1.2.jar
303%endif
304
305ln -sf $(find-jar jaxp_parser_impl) $TOMCATDIR/common/endorsed/jaxp_parser_impl.jar
306ln -sf $(find-jar xml-commons-apis) $TOMCATDIR/common/endorsed/xml-commons-apis.jar
a48f26fe 307ln -sf $(find-jar struts-core) $TOMCATDIR/server/webapps/admin/WEB-INF/lib/struts-core.jar
a0446376 308
623f0978 309%clean
310rm -rf $RPM_BUILD_ROOT
311
2b56d949 312%pre
37375245
ER
313%groupadd -g 51 -r -f http
314%useradd -u 51 -r -d /home/services/httpd -s /bin/false -c "HTTP User" -g http http
2b56d949 315
316%post
317/sbin/chkconfig --add tomcat
6c0937ca 318%service tomcat restart
2b56d949 319
320%preun
321if [ "$1" = "0" ]; then
6c0937ca 322 %service tomcat stop
2b56d949 323 /sbin/chkconfig --del tomcat
324fi
325
326%postun
327if [ "$1" = "0" ]; then
834c4a58 328 %userremove http
329 %groupremove http
2b56d949 330fi
331
623f0978 332%files
333%defattr(644,root,root,755)
a97a4eb2 334%doc build/{RELEASE-NOTES,RUNNING.txt}
a97a4eb2 335%attr(754,root,root) /etc/rc.d/init.d/tomcat
f93b3a59 336%config(noreplace) %verify(not md5 mtime size) /etc/sysconfdir/tomcat
98133f85 337%{_sysconfdir}
a0446376 338%dir %{_tomcatdir}
98133f85 339%dir %{_tomcatdir}/conf
a0446376 340%dir %{_tomcatdir}/bin
a97a4eb2
ER
341%{_tomcatdir}/bin/catalina-tasks.xml
342%{_tomcatdir}/bin/jkstatus-tasks.xml
343%{_tomcatdir}/bin/jmxaccessor-tasks.xml
389e46b9 344%attr(755,root,root) %{_tomcatdir}/bin/*.sh
389e46b9 345%{_tomcatdir}/bin/*.jar
a0446376
JB
346%dir %{_tomcatdir}/common
347%dir %{_tomcatdir}/common/classes
2b56d949 348%dir %{_tomcatdir}/common/endorsed
a97a4eb2 349%dir %{_tomcatdir}/common/i18n
f271c61b 350%{_tomcatdir}/common/endorsed/*.jar
a97a4eb2
ER
351%{_tomcatdir}/common/i18n/tomcat-i18n-en.jar
352%lang(es) %{_tomcatdir}/common/i18n/tomcat-i18n-es.jar
353%lang(fr) %{_tomcatdir}/common/i18n/tomcat-i18n-fr.jar
354%lang(ja) %{_tomcatdir}/common/i18n/tomcat-i18n-ja.jar
623f0978 355%{_tomcatdir}/common/lib
a0446376
JB
356%dir %{_tomcatdir}/server
357%dir %{_tomcatdir}/server/classes
623f0978 358%{_tomcatdir}/server/lib
2b56d949 359%{_tomcatdir}/server/webapps
a0446376
JB
360%{_tomcatdir}/webapps
361%{_tomcatdir}/work
2b56d949 362%{_tomcatdir}/shared
363%{_tomcatdir}/temp
a0446376 364%dir %{_vardir}
98133f85 365# tomcat config has to be writeable because of tomacta-users.xml file and
366# Catalina dir
367%config(noreplace) %attr(775,root,http) %verify(not md5 mtime size) %{_vardir}/conf
a97a4eb2 368%dir %attr(1730,root,http) %{_vardir}/work
9e1e98ce 369%dir %attr(775,root,http) %{_vardir}/webapps
370%dir %attr(775,root,http) %{_logdir}/tomcat
371%{_vardir}/logs
623f0978 372
a97a4eb2 373%if 0
623f0978 374%files doc
ff740076 375%defattr(644,root,root,755)
623f0978 376%doc catalina/docs/*
a97a4eb2 377%endif
This page took 0.303629 seconds and 4 git commands to generate.