2 # - packages for *.renametojar files (-cgi and -ssi in server/lib)
5 %bcond_without javadoc # skip building javadocs
7 Summary: Apache Servlet/JSP Engine, RI for Servlet 2.4/JSP 2.0 API
8 Summary(pl.UTF-8): Silnik Servlet/JSP Apache będący wzorcową implementacją API Servlet 2.4/JSP 2.0
13 Group: Development/Languages/Java
14 Source0: http://www.apache.org/dist/tomcat/tomcat-5/v%{version}/src/%{name}-%{version}-src.tar.gz
15 # Source0-md5: eb3f196013550b9b1684e4ff18593a8e
17 Patch0: %{name}-skip-servletapi.patch
18 Patch1: %{name}-nsis.patch
19 Patch2: %{name}-native.patch
20 Patch3: %{name}-skip-jdt.patch
21 Patch4: %{name}-no-connectors.patch
22 Patch5: %{name}-dbcp.patch
23 # this patch is needed for struts >= 1.3
24 Patch6: %{name}-struts.patch
25 URL: http://tomcat.apache.org/
26 BuildRequires: ant >= 1.5.3
27 BuildRequires: ant-trax
28 BuildRequires: eclipse-jdt
30 BuildRequires: java-commons-httpclient
31 BuildRequires: jakarta-regexp >= 0:1.3
32 #BuildRequires: java-struts >= 0:1.2.7
33 BuildRequires: java-struts >= 1.0.2
34 BuildRequires: java-commons-beanutils >= 1.7
35 BuildRequires: java-commons-collections >= 0:3.1
36 BuildRequires: java-commons-collections-tomcat5 >= 0:3.1
37 BuildRequires: java-commons-daemon >= 1.0
38 BuildRequires: java-commons-dbcp >= 0:1.2.1
39 BuildRequires: java-commons-dbcp-tomcat5 >= 0:1.2.1
40 BuildRequires: java-commons-digester >= 0:1.7
41 BuildRequires: java-commons-el >= 0:1.0
42 BuildRequires: java-commons-fileupload >= 0:1.0
43 BuildRequires: java-commons-io >= 1.4
44 BuildRequires: java-commons-launcher >= 0:0.9
45 BuildRequires: java-commons-logging >= 0:1.0.4
46 BuildRequires: java-commons-modeler >= 2.0
47 BuildRequires: java-commons-pool >= 0:1.2
48 BuildRequires: java-commons-pool-tomcat5 >= 0:1.2
49 BuildRequires: java-servletapi5 = %{version}
50 BuildRequires: javamail >= 0:1.3.1
51 BuildRequires: jaxp_parser_impl >= 0:2.7.1
52 BuildRequires: jdbc-stdext >= 0:2.0
53 BuildRequires: jdk >= 1.5
55 BuildRequires: jndi >= 0:1.2.1
56 BuildRequires: jpackage-utils
57 BuildRequires: jsse >= 0:1.0.3
58 BuildRequires: jta >= 0:1.0.1
59 BuildRequires: junit >= 0:3.8.1
60 BuildRequires: logging-log4j
61 BuildRequires: puretls
62 BuildRequires: rpmbuild(macros) >= 1.300
63 BuildRequires: xerces-j >= 0:2.7.1
64 BuildRequires: xml-commons
65 #BuildRequires: xml-commons >= 1.3
66 Requires(post,postun): /sbin/ldconfig
67 Requires(post,preun): /sbin/chkconfig
68 Requires(postun): /usr/sbin/groupdel
69 Requires(postun): /usr/sbin/userdel
70 Requires(pre): /bin/id
71 Requires(pre): /usr/bin/getgid
72 Requires(pre): /usr/sbin/groupadd
73 Requires(pre): /usr/sbin/useradd
75 #Requires: jaf >= 1.0.1
76 Requires: jakarta-regexp
77 #Requires: java-commons-beanutils
78 #Requires: java-commons-collections
79 #Requires: java-commons-dbcp-tomcat5
80 #Requires: java-commons-digester
81 Requires: java-commons-el
82 #Requires: java-commons-fileupload
83 #Requires: java-commons-logging
84 Requires: java-servletapi5 = %{version}
85 Requires: javamail >= 1.2
86 Requires: jaxp_parser_impl
87 Requires: jdbc-stdext >= 2.0
88 Requires: jndi >= 1.2.1
90 Requires: jsse >= 1.0.2
91 Requires: jta >= 1.0.1
96 Obsoletes: jakarta-tomcat
98 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
100 %define _tomcatdir %{_datadir}/tomcat
101 %define _logdir %{_var}/log
102 %define _vardir %{_var}/lib/tomcat
103 %define _sysconfdir /etc/tomcat
106 Tomcat is the servlet container that is used in the official Reference
107 Implementation for the Java Servlet and JavaServer Pages technologies.
108 The Java Servlet and JavaServer Pages specifications are developed by
109 Sun under the Java Community Process.
111 Tomcat is developed in an open and participatory environment and
112 released under the Apache Software License. Tomcat is intended to be a
113 collaboration of the best-of-breed developers from around the world.
114 We invite you to participate in this open development project.
116 %description -l pl.UTF-8
117 Tomcat to kontener serwletowy używany przez oficjalną implementację
118 wzorcową technologii Java Servlet i JavaServer Pages. Specyfikacje
119 Java Servlet i JavaServer Pages są rozwijane przez Suna zgodnie z Java
123 Summary: The Apache Tomcat Servlet/JSP Container documentation
124 Summary(pl.UTF-8): Dokumentacja do Tomcata - kontenera Servlet/JSP
125 Group: Development/Languages/Java
126 Obsoletes: jakarta-tomcat-doc
129 The Tomcat Servlet/JSP Container documentation.
131 %description doc -l pl.UTF-8
132 Dokumentacja do Tomcata - kontenera Servlet/JSP.
135 %setup -q -n %{name}-%{version}-src
144 # servletapi built from jakarta-servletapi5.spec
147 # Remove pre-built jars
148 find -name '*.jar' | xargs rm -fv
154 # build jasper javadocs
156 CLASSPATH=$(build-classpath xml-commons-apis)
157 # building jasper needs eclipse classes
158 cat > build.properties <<EOF
159 ant.jar=$(find-jar ant)
160 servlet-api.jar=$(find-jar servlet-api)
161 jsp-api.jar=$(find-jar jsp-api)
162 tools.jar=%{java_home}/lib/tools.jar
163 xercesImpl.jar=$(find-jar jaxp_parser_impl)
164 xmlParserAPIs.jar=$(find-jar xml-commons-apis)
165 commons-collections.jar=$(find-jar commons-collections)
166 commons-logging.jar=$(find-jar commons-logging)
167 commons-daemon.jar=$(find-jar commons-daemon)
168 junit.jar=$(find-jar junit)
169 commons-el.jar=$(find-jar commons-el)
175 -Dcompile.source=1.4 \
176 -Dbuild.compiler=modern \
183 cat > build.properties <<EOF
184 commons-beanutils.jar=$(find-jar commons-beanutils-core)
185 commons-launcher.jar=$(find-jar commons-launcher)
186 commons-daemon.jar=$(find-jar commons-daemon)
187 commons-digester.jar=$(find-jar commons-digester)
188 commons-el.jar=$(find-jar commons-el)
189 commons-logging-api.jar=$(find-jar commons-logging-api)
190 commons-logging.jar=$(find-jar commons-logging)
191 commons-modeler.jar=$(find-jar commons-modeler)
192 xercesImpl.jar=$(find-jar jaxp_parser_impl)
193 xml-apis.jar=$(find-jar xml-commons-apis)
194 jdt.jar=$(find-jar org.eclipse.jdt.core)
195 jasper-compiler-jdt.home=$TOPDIR/tomcat-deps
196 commons-httpclient.jar=$(find-jar commons-httpclient)
197 commons-collections.jar=$(find-jar commons-collections)
198 commons-fileupload.jar=$(find-jar commons-fileupload)
199 commons-io.jar=$(find-jar commons-io)
200 jmx.jar=$(find-jar jmx)
201 jmx-tools.jar=$(find-jar jmx)
202 junit.jar=$(find-jar junit)
203 struts.jar=$(find-jar struts-core)
204 struts-core.jar=$(find-jar struts-core)
205 struts-taglib.jar=$(find-jar struts-taglib)
206 jcert.jar=$(find-jar jcert)
207 jnet.jar=$(find-jar jnet)
208 jsse.jar=$(find-jar jsse)
209 jta.jar=$(find-jar jta)
210 puretls.jar=$(find-jar puretls)
211 servlet-api.jar=$(find-jar servlet-api)
212 servletapi.build.notrequired=true
213 jsp-api.jar=$(find-jar jsp-api)
214 jspapi.build.notrequired=true
215 log4j.jar=$(find-jar log4j)
216 tomcat-dbcp.jar=$(find-jar commons-dbcp-tomcat5)
217 struts.lib=%{_datadir}/java-struts
224 rm -rf $RPM_BUILD_ROOT
226 TOMCATDIR=$RPM_BUILD_ROOT%{_tomcatdir}
227 CATALINADIR=$RPM_BUILD_ROOT/var/lib/tomcat
229 # we don't need dos scripts
232 randpw=$(echo $RANDOM$$ | md5sum | cut -c 1-15)
233 %{__sed} -i -e "s:SHUTDOWN:${randpw}:" conf/{server,server-minimal}.xml
235 install -d $TOMCATDIR/bin \
236 $TOMCATDIR/common/{lib,classes,endorsed} \
237 $TOMCATDIR/server/{lib,classes} \
239 $RPM_BUILD_ROOT%{_sysconfdir} \
240 $RPM_BUILD_ROOT%{_logdir}/tomcat \
241 $RPM_BUILD_ROOT%{_vardir}/work \
242 $RPM_BUILD_ROOT/etc/rc.d/init.d
244 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
246 cp -pR conf/* $RPM_BUILD_ROOT%{_sysconfdir}
247 cp -HR bin common server $TOMCATDIR
249 cp -rf server/webapps $TOMCATDIR/server
250 cp -rf webapps $TOMCATDIR
251 cp -rf shared $TOMCATDIR
252 cp -rf temp $TOMCATDIR
254 ln -sf %{_logdir}/tomcat $TOMCATDIR/logs
255 ln -sf %{_vardir}/work $TOMCATDIR/work
256 ln -sf %{_sysconfdir} $TOMCATDIR/conf
258 # symlinks instead of copies
259 ln -sf $(find-jar commons-el) $TOMCATDIR/common/lib/commons-el.jar
260 ln -sf $(find-jar jakarta-commons-dbcp-tomcat5) $TOMCATDIR/common/lib/jakarta-commons-dbcp-tomcat5.jar
261 ln -sf $(find-jar servlet-api) $TOMCATDIR/common/lib/servlet-api.jar
263 ln -sf $(find-jar commons-modeler) $TOMCATDIR/server/lib/commons-modeler.jar
266 # do not make these symlinks as ant didn't do
267 ln -sf $(find-jar commons-daemon) $TOMCATDIR/bin/commons-daemon.jar
268 ln -sf $(find-jar activation) $TOMCATDIR/common/lib/activation.jar
269 ln -sf $(find-jar ant) $TOMCATDIR/common/lib/ant.jar
270 ln -sf $(find-jar commons-collections) $TOMCATDIR/common/lib/commons-collections.jar
271 ln -sf $(find-jar commons-dbcp) $TOMCATDIR/common/lib/commons-dbcp.jar
272 ln -sf $(find-jar commons-logging-api) $TOMCATDIR/common/lib/commons-logging-api.jar
273 ln -sf $(find-jar commons-pool) $TOMCATDIR/common/lib/commons-pool.jar
274 ln -sf $(find-jar servlet) $TOMCATDIR/common/lib/servlet.jar
275 ln -sf $(find-jar servlet) $TOMCATDIR/common/lib/servletapi4.jar
276 ln -sf $(find-jar jdbc-stdext) $TOMCATDIR/common/lib/jdbc-stdext.jar
277 ln -sf jdbc-stdext.jar $TOMCATDIR/common/lib/jdbc2_0-stdext.jar
278 ln -sf jdbc-stdext.jar $TOMCATDIR/common/lib/jdbc-stdext-2.0.jar
279 ln -sf $(find-jar jmxri) $TOMCATDIR/common/lib/jmxri.jar
280 ln -sf $(find-jar jndi) $TOMCATDIR/common/lib/jndi.jar
281 ln -sf $(find-jar jta) $TOMCATDIR/common/lib/jta.jar
282 ln -sf $(find-jar mail) $TOMCATDIR/common/lib/mail.jar
283 ln -sf $(find-jar jsse) $TOMCATDIR/common/lib/jsse.jar
284 ln -sf $(find-jar junit) $TOMCATDIR/common/lib/junit.jar
285 ln -sf $(find-jar mailapi) $TOMCATDIR/common/lib/mailapi.jar
286 ln -sf $(find-jar pop3) $TOMCATDIR/common/lib/pop3.jar
287 ln -sf pop3.jar $TOMCATDIR/common/lib/pop.jar
288 ln -sf $(find-jar smtp) $TOMCATDIR/common/lib/smtp.jar
289 ln -sf $(find-jar imap) $TOMCATDIR/common/lib/imap.jar
290 ln -sf $(find-jar commons-beanutils) $TOMCATDIR/server/lib/commons-beanutils.jar
291 ln -sf $(find-jar commons-digester) $TOMCATDIR/server/lib/commons-digester.jar
292 ln -sf $(find-jar commons-fileupload) $TOMCATDIR/server/lib/commons-fileupload.jar
293 ln -sf $(find-jar commons-logging) $TOMCATDIR/server/lib/commons-logging.jar
294 ln -sf $(find-jar jaas) $TOMCATDIR/server/lib/jaas.jar
295 ln -sf $(find-jar regexp) $TOMCATDIR/server/lib/regexp.jar
296 ln -sf $(find-jar regexp) $TOMCATDIR/server/lib/jakarta-regexp-1.2.jar
297 ln -sf $(find-jar regexp) $TOMCATDIR/server/lib/regexp-1.2.jar
300 ln -sf $(find-jar jaxp_parser_impl) $TOMCATDIR/common/endorsed/jaxp_parser_impl.jar
301 ln -sf $(find-jar xml-commons-apis) $TOMCATDIR/common/endorsed/xml-commons-apis.jar
302 ln -sf $(find-jar struts-core) $TOMCATDIR/server/webapps/admin/WEB-INF/lib/struts-core.jar
305 rm -rf $RPM_BUILD_ROOT
308 %groupadd -g 51 -r -f http
309 %useradd -u 51 -r -d /home/services/httpd -s /bin/false -c "HTTP User" -g http http
312 /sbin/chkconfig --add tomcat
313 %service tomcat restart
316 if [ "$1" = "0" ]; then
318 /sbin/chkconfig --del tomcat
322 if [ "$1" = "0" ]; then
328 %defattr(644,root,root,755)
329 %doc build/{RELEASE-NOTES,RUNNING.txt}
330 # tomcat wants to regenerate tomcat-users.xml
331 %dir %attr(775,root,http) %{_sysconfdir}
332 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*
333 %attr(754,root,root) /etc/rc.d/init.d/tomcat
335 %dir %{_tomcatdir}/bin
336 %{_tomcatdir}/bin/catalina-tasks.xml
337 %{_tomcatdir}/bin/jkstatus-tasks.xml
338 %{_tomcatdir}/bin/jmxaccessor-tasks.xml
339 %attr(755,root,root) %{_tomcatdir}/bin/*.sh
340 %{_tomcatdir}/bin/*.jar
341 %dir %{_tomcatdir}/common
342 %dir %{_tomcatdir}/common/classes
343 %dir %{_tomcatdir}/common/endorsed
344 %dir %{_tomcatdir}/common/i18n
345 %{_tomcatdir}/common/endorsed/*.jar
346 %{_tomcatdir}/common/i18n/tomcat-i18n-en.jar
347 %lang(es) %{_tomcatdir}/common/i18n/tomcat-i18n-es.jar
348 %lang(fr) %{_tomcatdir}/common/i18n/tomcat-i18n-fr.jar
349 %lang(ja) %{_tomcatdir}/common/i18n/tomcat-i18n-ja.jar
350 %{_tomcatdir}/common/lib
353 %dir %{_tomcatdir}/server
354 %dir %{_tomcatdir}/server/classes
355 %{_tomcatdir}/server/lib
356 %{_tomcatdir}/server/webapps
357 %{_tomcatdir}/webapps
362 %dir %attr(1730,root,http) %{_vardir}/work
363 %dir %attr(1730,root,http) %{_logdir}/tomcat
367 %defattr(644,root,root,755)