]> git.pld-linux.org Git - packages/apache-tomcat.git/blame - apache-tomcat.spec
- builds again, revised symlinks
[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
d58ce9ff 10Version: 5.5.23
a50d18a2 11Release: 0.2
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
d58ce9ff 15# Source0-md5: 362d1d8b15dc09882440dcab8c592dd7
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
99082140 22Patch5: %{name}-nowrite.patch
a50d18a2 23Patch6: %{name}-dbcp.patch
797e0d23 24URL: http://tomcat.apache.org/
51bf99d9 25BuildRequires: ant >= 1.5.3
581348cf
ER
26BuildRequires: ant-trax
27BuildRequires: eclipse-jdt
4c334025 28BuildRequires: jaas
23f53f24
ER
29BuildRequires: jakarta-commons-beanutils >= 1.7
30BuildRequires: jakarta-commons-collections >= 0:3.1
2a69eb9c 31BuildRequires: jakarta-commons-collections-tomcat5 >= 0:3.1
23f53f24
ER
32BuildRequires: jakarta-commons-daemon >= 1.0
33BuildRequires: jakarta-commons-dbcp >= 0:1.2.1
2a69eb9c 34BuildRequires: jakarta-commons-dbcp-tomcat5 >= 0:1.2.1
23f53f24
ER
35BuildRequires: jakarta-commons-digester >= 0:1.7
36BuildRequires: jakarta-commons-el >= 0:1.0
37BuildRequires: jakarta-commons-fileupload >= 0:1.0
8bfa2080 38BuildRequires: jakarta-commons-httpclient
23f53f24
ER
39BuildRequires: jakarta-commons-launcher >= 0:0.9
40BuildRequires: jakarta-commons-logging >= 0:1.0.4
8bfa2080 41BuildRequires: jakarta-commons-modeler >= 2.0
23f53f24 42BuildRequires: jakarta-commons-pool >= 0:1.2
2a69eb9c 43BuildRequires: jakarta-commons-pool-tomcat5 >= 0:1.2
23f53f24 44BuildRequires: jakarta-regexp >= 0:1.3
8bfa2080 45BuildRequires: jakarta-servletapi5
23f53f24 46#BuildRequires: jakarta-struts >= 0:1.2.7
0c0e0d39 47BuildRequires: jakarta-struts >= 1.0.2
23f53f24
ER
48BuildRequires: javamail >= 0:1.3.1
49BuildRequires: jaxp_parser_impl >= 0:2.7.1
50BuildRequires: jdbc-stdext >= 0:2.0
581348cf 51BuildRequires: jdk >= 1.5
8eee8985 52BuildRequires: jmx
23f53f24 53BuildRequires: jndi >= 0:1.2.1
581348cf 54BuildRequires: jpackage-utils
23f53f24
ER
55BuildRequires: jsse >= 0:1.0.3
56BuildRequires: jta >= 0:1.0.1
57BuildRequires: junit >= 0:3.8.1
581348cf 58BuildRequires: logging-log4j
23f53f24 59#BuildRequires: mx4j >= 0:3.0.1
581348cf
ER
60BuildRequires: mx4j >= 1.1.1
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
a50d18a2
ER
76#Requires: jakarta-commons-beanutils
77#Requires: jakarta-commons-collections
78#Requires: jakarta-commons-dbcp-tomcat5
79#Requires: jakarta-commons-digester
80Requires: jakarta-commons-el
81#Requires: jakarta-commons-fileupload
82#Requires: jakarta-commons-logging
55df0736 83Requires: jakarta-regexp
43310914
ER
84Requires: jakarta-servletapi >= 4
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
43310914 92Requires: mx4j >= 1.1.1
d58ce9ff 93Requires: rc-scripts
8665efb1 94Requires: xml-commons
0c0e0d39 95Provides: group(http)
96Provides: user(http)
3cd7b38d 97Obsoletes: jakarta-tomcat
4470e4fe 98BuildArch: noarch
99BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
100
8eee8985 101%define _tomcatdir %{_datadir}/tomcat
4470e4fe 102%define _logdir %{_var}/log
55df0736 103%define _vardir %{_var}/lib/tomcat
8eee8985 104%define _sysconfdir /etc/tomcat
4470e4fe 105
106%description
d58ce9ff
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.
4470e4fe 111
d58ce9ff
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
e22e9de1
JB
117%description -l pl.UTF-8
118Tomcat to kontener serwletowy używany przez oficjalną implementację
119wzorcową technologii Java Servlet i JavaServer Pages. Specyfikacje
3cd7b38d
ER
120Java Servlet i JavaServer Pages są rozwijane przez Suna zgodnie z Java
121Community Process.
4470e4fe 122
123%package doc
3cd7b38d 124Summary: The Apache Tomcat Servlet/JSP Container documentation
e22e9de1 125Summary(pl.UTF-8): Dokumentacja do Tomcata - kontekera Servlet/JSP
4470e4fe 126Group: Development/Languages/Java
3cd7b38d 127Obsoletes: jakarta-tomcat-doc
4470e4fe 128
129%description doc
2b38d386
JB
130The Tomcat Servlet/JSP Container documentation.
131
e22e9de1
JB
132%description doc -l pl.UTF-8
133Dokumentacja do Tomcata - kontekera Servlet/JSP.
4470e4fe 134
135%prep
3cd7b38d 136%setup -q -n %{name}-%{version}-src
8bfa2080
ER
137%patch0 -p1
138%patch1 -p1
139%patch2 -p1
140%patch3 -p1
05be5db6 141%patch4 -p1
99082140 142%patch5 -p1
a50d18a2 143%patch6 -p1
8bfa2080 144
05be5db6 145# servletapi built from jakarta-servletapi5.spec
8bfa2080 146rm -rf servletapi
d58ce9ff
ER
147
148# Remove pre-built jars
149find -name '*.jar' | xargs rm -fv
4470e4fe 150
151%build
d58ce9ff
ER
152TOPDIR=$(pwd)
153
8bfa2080
ER
154%if 0
155# build jasper javadocs
156cd jasper
157CLASSPATH=$(build-classpath xml-commons-apis)
a50d18a2 158# building jasper needs eclipse classes
d58ce9ff 159cat > build.properties <<EOF
a50d18a2
ER
160ant.jar=$(find-jar ant)
161servlet-api.jar=$(find-jar servlet-api)
162jsp-api.jar=$(find-jar jsp-api)
d58ce9ff 163tools.jar=%{java_home}/lib/tools.jar
a50d18a2
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)
d58ce9ff 171EOF
8bfa2080
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
d58ce9ff
ER
182
183# build tomcat 5.5
8bfa2080 184cat > build.properties <<EOF
a50d18a2
ER
185commons-beanutils.jar=$(find-jar commons-beanutils)
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)
74f47b90 196jasper-compiler-jdt.home=$TOPDIR/tomcat-deps
a50d18a2
ER
197commons-httpclient.jar=$(find-jar commons-httpclient)
198commons-collections.jar=$(find-jar commons-collections)
199commons-fileupload.jar=$(find-jar commons-fileupload)
200jmx.jar=$(find-jar jmx)
201jmx-tools.jar=$(find-jar jmx)
202junit.jar=$(find-jar junit)
203struts.jar=$(find-jar struts)
204jcert.jar=$(find-jar jcert)
205jnet.jar=$(find-jar jnet)
206jsse.jar=$(find-jar jsse)
207jta.jar=$(find-jar jta)
208puretls.jar=$(find-jar puretls)
209servlet-api.jar=$(find-jar servlet-api)
8bfa2080 210servletapi.build.notrequired=true
a50d18a2 211jsp-api.jar=$(find-jar jsp-api)
8bfa2080 212jspapi.build.notrequired=true
a50d18a2
ER
213log4j.jar=$(find-jar log4j)
214tomcat-dbcp.jar=$(find-jar jakarta-commons-dbcp-tomcat5)
d58ce9ff
ER
215EOF
216
05be5db6
ER
217%ant \
218 -Dcompile.source=1.4
d58ce9ff 219
4470e4fe 220%install
221rm -rf $RPM_BUILD_ROOT
8eee8985
ER
222cd build/build
223TOMCATDIR=$RPM_BUILD_ROOT%{_tomcatdir}
224CATALINADIR=$RPM_BUILD_ROOT/var/lib/tomcat
4470e4fe 225
8eee8985
ER
226# we don't need dos scripts
227rm -f bin/*.bat
8665efb1 228
8eee8985 229randpw=$(echo $RANDOM$$ | md5sum | cut -c 1-15)
a50d18a2 230%{__sed} -i -e "s:SHUTDOWN:${randpw}:" conf/{server,server-minimal}.xml
8eee8985
ER
231
232install -d $TOMCATDIR/bin \
233 $TOMCATDIR/common/{lib,classes,endorsed} \
234 $TOMCATDIR/server/{lib,classes} \
235 $TOMCATDIR/webapps \
236 $RPM_BUILD_ROOT%{_sysconfdir} \
55df0736
JB
237 $RPM_BUILD_ROOT%{_logdir}/tomcat \
238 $RPM_BUILD_ROOT%{_vardir}/work \
239 $RPM_BUILD_ROOT/etc/rc.d/init.d
98862cba 240
8eee8985 241install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
4470e4fe 242
8eee8985
ER
243cp -pR conf/* $RPM_BUILD_ROOT%{_sysconfdir}
244cp -HR bin common server $TOMCATDIR
d58ce9ff 245
a50d18a2
ER
246cp -rf server/webapps $TOMCATDIR/server
247cp -rf webapps $TOMCATDIR
248cp -rf shared $TOMCATDIR
249cp -rf temp $TOMCATDIR
8eee8985 250
a50d18a2
ER
251ln -sf %{_logdir}/tomcat $TOMCATDIR/logs
252ln -sf %{_vardir}/work $TOMCATDIR/work
253ln -sf %{_sysconfdir} $TOMCATDIR/conf
8eee8985
ER
254
255# symlinks instead of copies
a50d18a2
ER
256ln -sf $(find-jar commons-el) $TOMCATDIR/common/lib/commons-el.jar
257ln -sf $(find-jar jakarta-commons-dbcp-tomcat5) $TOMCATDIR/common/lib/jakarta-commons-dbcp-tomcat5.jar
258ln -sf $(find-jar servlet-api) $TOMCATDIR/common/lib/servlet-api.jar
259
260ln -sf $(find-jar commons-modeler) $TOMCATDIR/server/lib/commons-modeler.jar
261
262%if 0
263# do not make these symlinks as ant didn't do
264ln -sf $(find-jar commons-daemon) $TOMCATDIR/bin/commons-daemon.jar
265ln -sf $(find-jar activation) $TOMCATDIR/common/lib/activation.jar
266ln -sf $(find-jar ant) $TOMCATDIR/common/lib/ant.jar
267ln -sf $(find-jar commons-collections) $TOMCATDIR/common/lib/commons-collections.jar
268ln -sf $(find-jar commons-dbcp) $TOMCATDIR/common/lib/commons-dbcp.jar
269ln -sf $(find-jar commons-logging-api) $TOMCATDIR/common/lib/commons-logging-api.jar
270ln -sf $(find-jar commons-pool) $TOMCATDIR/common/lib/commons-pool.jar
271ln -sf $(find-jar servlet) $TOMCATDIR/common/lib/servlet.jar
272ln -sf $(find-jar servlet) $TOMCATDIR/common/lib/servletapi4.jar
273ln -sf $(find-jar jdbc-stdext) $TOMCATDIR/common/lib/jdbc-stdext.jar
274ln -sf jdbc-stdext.jar $TOMCATDIR/common/lib/jdbc2_0-stdext.jar
275ln -sf jdbc-stdext.jar $TOMCATDIR/common/lib/jdbc-stdext-2.0.jar
276ln -sf $(find-jar jmxri) $TOMCATDIR/common/lib/jmxri.jar
277ln -sf $(find-jar jndi) $TOMCATDIR/common/lib/jndi.jar
278ln -sf $(find-jar jta) $TOMCATDIR/common/lib/jta.jar
279ln -sf $(find-jar mail) $TOMCATDIR/common/lib/mail.jar
280ln -sf $(find-jar jsse) $TOMCATDIR/common/lib/jsse.jar
281ln -sf $(find-jar junit) $TOMCATDIR/common/lib/junit.jar
282ln -sf $(find-jar mailapi) $TOMCATDIR/common/lib/mailapi.jar
283ln -sf $(find-jar pop3) $TOMCATDIR/common/lib/pop3.jar
284ln -sf pop3.jar $TOMCATDIR/common/lib/pop.jar
285ln -sf $(find-jar smtp) $TOMCATDIR/common/lib/smtp.jar
286ln -sf $(find-jar imap) $TOMCATDIR/common/lib/imap.jar
287ln -sf $(find-jar commons-beanutils) $TOMCATDIR/server/lib/commons-beanutils.jar
288ln -sf $(find-jar commons-digester) $TOMCATDIR/server/lib/commons-digester.jar
289ln -sf $(find-jar commons-fileupload) $TOMCATDIR/server/lib/commons-fileupload.jar
290ln -sf $(find-jar commons-logging) $TOMCATDIR/server/lib/commons-logging.jar
291ln -sf $(find-jar jaas) $TOMCATDIR/server/lib/jaas.jar
292ln -sf $(find-jar mx4j-jmx) $TOMCATDIR/server/lib/mx4j-jmx.jar
293ln -sf $(find-jar regexp) $TOMCATDIR/server/lib/regexp.jar
294ln -sf $(find-jar regexp) $TOMCATDIR/server/lib/jakarta-regexp-1.2.jar
295ln -sf $(find-jar regexp) $TOMCATDIR/server/lib/regexp-1.2.jar
296%endif
297
298ln -sf $(find-jar jaxp_parser_impl) $TOMCATDIR/common/endorsed/jaxp_parser_impl.jar
299ln -sf $(find-jar xml-commons-apis) $TOMCATDIR/common/endorsed/xml-commons-apis.jar
300ln -sf $(find-jar struts) $TOMCATDIR/server/webapps/admin/WEB-INF/lib/struts.jar
55df0736 301
4470e4fe 302%clean
303rm -rf $RPM_BUILD_ROOT
304
50d4797f 305%pre
aa5bd00e
ER
306%groupadd -g 51 -r -f http
307%useradd -u 51 -r -d /home/services/httpd -s /bin/false -c "HTTP User" -g http http
50d4797f 308
309%post
310/sbin/chkconfig --add tomcat
4c334025 311%service tomcat restart
50d4797f 312
313%preun
314if [ "$1" = "0" ]; then
4c334025 315 %service tomcat stop
50d4797f 316 /sbin/chkconfig --del tomcat
317fi
318
319%postun
320if [ "$1" = "0" ]; then
0c0e0d39 321 %userremove http
322 %groupremove http
50d4797f 323fi
324
4470e4fe 325%files
326%defattr(644,root,root,755)
8eee8985
ER
327%doc build/{RELEASE-NOTES,RUNNING.txt}
328# tomcat wants to regenerate tomcat-users.xml
329%dir %attr(775,root,http) %{_sysconfdir}
330%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*
331%attr(754,root,root) /etc/rc.d/init.d/tomcat
55df0736
JB
332%dir %{_tomcatdir}
333%dir %{_tomcatdir}/bin
8eee8985
ER
334%{_tomcatdir}/bin/catalina-tasks.xml
335%{_tomcatdir}/bin/jkstatus-tasks.xml
336%{_tomcatdir}/bin/jmxaccessor-tasks.xml
98862cba 337%attr(755,root,root) %{_tomcatdir}/bin/*.sh
98862cba 338%{_tomcatdir}/bin/*.jar
55df0736
JB
339%dir %{_tomcatdir}/common
340%dir %{_tomcatdir}/common/classes
50d4797f 341%dir %{_tomcatdir}/common/endorsed
8eee8985 342%dir %{_tomcatdir}/common/i18n
8665efb1 343%{_tomcatdir}/common/endorsed/*.jar
8eee8985
ER
344%{_tomcatdir}/common/i18n/tomcat-i18n-en.jar
345%lang(es) %{_tomcatdir}/common/i18n/tomcat-i18n-es.jar
346%lang(fr) %{_tomcatdir}/common/i18n/tomcat-i18n-fr.jar
347%lang(ja) %{_tomcatdir}/common/i18n/tomcat-i18n-ja.jar
4470e4fe 348%{_tomcatdir}/common/lib
349%{_tomcatdir}/conf
4470e4fe 350%{_tomcatdir}/logs
55df0736
JB
351%dir %{_tomcatdir}/server
352%dir %{_tomcatdir}/server/classes
4470e4fe 353%{_tomcatdir}/server/lib
50d4797f 354%{_tomcatdir}/server/webapps
55df0736
JB
355%{_tomcatdir}/webapps
356%{_tomcatdir}/work
50d4797f 357%{_tomcatdir}/shared
358%{_tomcatdir}/temp
55df0736 359%dir %{_vardir}
8eee8985
ER
360%dir %attr(1730,root,http) %{_vardir}/work
361%dir %attr(1730,root,http) %{_logdir}/tomcat
4470e4fe 362
8eee8985 363%if 0
4470e4fe 364%files doc
9c3d8079 365%defattr(644,root,root,755)
4470e4fe 366%doc catalina/docs/*
8eee8985 367%endif
This page took 0.118908 seconds and 4 git commands to generate.