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