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