]> git.pld-linux.org Git - packages/apache-tomcat.git/blob - apache-tomcat.spec
- revert vodka overdoze by paszczus
[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}-%{release}
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:        JSP compiler
144 Summary(pl.UTF-8):      Kompilator JSP
145 Group:          Libraries/Java
146 Requires:       jpackage-utils
147
148 %description jasper
149 Jasper is Java ServerPages compiler used by Apache Tomcat servlet
150 container.
151
152 %description jasper -l pl.UTF-8
153 Jasper jest kompilatorem Java ServerPages używanym przez kontener
154 servletów Apache Tomcat.
155
156 %prep
157 %setup -q -n %{name}-%{version}-src
158 %patch0 -p1
159 %patch1 -p1
160 %patch2 -p1
161 %patch3 -p1
162 %patch4 -p1
163 %patch5 -p1
164 %patch6 -p1
165
166 # servletapi built from jakarta-servletapi5.spec
167 rm -rf servletapi
168
169 # Remove pre-built jars
170 find -name '*.jar' | xargs rm -fv
171
172 %build
173 TOPDIR=$(pwd)
174
175 %if 0
176 # build jasper javadocs
177 cd jasper
178 CLASSPATH=$(build-classpath xml-commons-apis)
179 # building jasper needs eclipse classes
180 cat > build.properties <<EOF
181 ant.jar=$(find-jar ant)
182 servlet-api.jar=$(find-jar servlet-api)
183 jsp-api.jar=$(find-jar jsp-api)
184 tools.jar=%{java_home}/lib/tools.jar
185 xercesImpl.jar=$(find-jar jaxp_parser_impl)
186 xmlParserAPIs.jar=$(find-jar xml-commons-apis)
187 commons-collections.jar=$(find-jar commons-collections)
188 commons-logging.jar=$(find-jar commons-logging)
189 commons-daemon.jar=$(find-jar commons-daemon)
190 junit.jar=$(find-jar junit)
191 commons-el.jar=$(find-jar commons-el)
192 EOF
193 #%ant dist
194
195 %if %{with javadoc}
196 %ant javadoc \
197         -Dcompile.source=1.4 \
198         -Dbuild.compiler=modern \
199
200 %endif
201 cd -
202 %endif
203
204 # build tomcat 5.5
205 cat > build.properties <<EOF
206 commons-beanutils.jar=$(find-jar commons-beanutils-core)
207 commons-launcher.jar=$(find-jar commons-launcher)
208 commons-daemon.jar=$(find-jar commons-daemon)
209 commons-digester.jar=$(find-jar commons-digester)
210 commons-el.jar=$(find-jar commons-el)
211 commons-logging-api.jar=$(find-jar commons-logging-api)
212 commons-logging.jar=$(find-jar commons-logging)
213 commons-modeler.jar=$(find-jar commons-modeler)
214 xercesImpl.jar=$(find-jar jaxp_parser_impl)
215 xml-apis.jar=$(find-jar xml-commons-apis)
216 jdt.jar=$(find-jar org.eclipse.jdt.core)
217 jasper-compiler-jdt.home=$TOPDIR/tomcat-deps
218 commons-httpclient.jar=$(find-jar commons-httpclient)
219 commons-collections.jar=$(find-jar commons-collections)
220 commons-fileupload.jar=$(find-jar commons-fileupload)
221 commons-io.jar=$(find-jar commons-io)
222 jmx.jar=$(find-jar jmx)
223 jmx-tools.jar=$(find-jar jmx)
224 junit.jar=$(find-jar junit)
225 struts.jar=$(find-jar struts-core)
226 struts-core.jar=$(find-jar struts-core)
227 struts-taglib.jar=$(find-jar struts-taglib)
228 jcert.jar=$(find-jar jcert)
229 jnet.jar=$(find-jar jnet)
230 jsse.jar=$(find-jar jsse)
231 jta.jar=$(find-jar jta)
232 puretls.jar=$(find-jar puretls)
233 servlet-api.jar=$(find-jar servlet-api)
234 servletapi.build.notrequired=true
235 jsp-api.jar=$(find-jar jsp-api)
236 jspapi.build.notrequired=true
237 log4j.jar=$(find-jar log4j)
238 tomcat-dbcp.jar=$(find-jar commons-dbcp-tomcat5)
239 struts.lib=%{_javadir}-struts
240 EOF
241
242 %ant \
243         -Dcompile.source=1.4
244
245 %install
246 rm -rf $RPM_BUILD_ROOT
247 cd build/build
248 TOMCATDIR=$RPM_BUILD_ROOT%{_tomcatdir}
249 CATALINADIR=$RPM_BUILD_ROOT/var/lib/tomcat
250
251 # we don't need dos scripts
252 rm -f bin/*.bat
253
254 randpw=$(echo $RANDOM$$ | md5sum | cut -c 1-15)
255 %{__sed} -i -e "s:SHUTDOWN:${randpw}:" conf/{server,server-minimal}.xml
256
257 install -d $TOMCATDIR/bin \
258             $TOMCATDIR/common/{lib,classes,endorsed} \
259             $TOMCATDIR/server/{lib,classes} \
260             $TOMCATDIR/webapps \
261             $RPM_BUILD_ROOT%{_logdir}/tomcat \
262             $RPM_BUILD_ROOT%{_vardir}/webapps \
263             $RPM_BUILD_ROOT%{_vardir}/work \
264             $RPM_BUILD_ROOT%{_vardir}/conf \
265             $RPM_BUILD_ROOT/etc/sysconfig \
266             $RPM_BUILD_ROOT/etc/rc.d/init.d
267
268 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
269 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/tomcat
270
271 cp -pR conf/* $CATALINADIR/conf
272 install %{SOURCE10} $CATALINADIR/conf/Catalina/localhost/ROOT.xml
273 install %{SOURCE11} $CATALINADIR/conf/Catalina/localhost/balancer.xml
274 install %{SOURCE12} $CATALINADIR/conf/Catalina/localhost/jsp-examples.xml
275 install %{SOURCE13} $CATALINADIR/conf/Catalina/localhost/tomcat-docs.xml
276 install %{SOURCE14} $CATALINADIR/conf/Catalina/localhost/webdav.xml
277 cp -HR bin common server $TOMCATDIR
278
279 cp -rf server/webapps $TOMCATDIR/server
280 cp -rf webapps $TOMCATDIR
281 cp -rf shared $TOMCATDIR
282 cp -rf temp $CATALINADIR
283
284 ln -sf %{_logdir}/tomcat $CATALINADIR/logs
285 ln -sf %{_vardir}/work $TOMCATDIR/work
286 ln -sf %{_vardir}/conf $TOMCATDIR/conf
287 ln -sf %{_vardir}/conf $RPM_BUILD_ROOT%{_sysconfdir}
288
289 # symlinks instead of copies
290 ln -sf $(find-jar commons-el) $TOMCATDIR/common/lib/commons-el.jar
291 ln -sf $(find-jar jakarta-commons-dbcp-tomcat5) $TOMCATDIR/common/lib/jakarta-commons-dbcp-tomcat5.jar
292 ln -sf $(find-jar servlet-api) $TOMCATDIR/common/lib/servlet-api.jar
293
294 ln -sf $(find-jar commons-modeler) $TOMCATDIR/server/lib/commons-modeler.jar
295
296 %if 0
297 # do not make these symlinks as ant didn't do
298 ln -sf $(find-jar commons-daemon) $TOMCATDIR/bin/commons-daemon.jar
299 ln -sf $(find-jar activation) $TOMCATDIR/common/lib/activation.jar
300 ln -sf $(find-jar ant) $TOMCATDIR/common/lib/ant.jar
301 ln -sf $(find-jar commons-collections) $TOMCATDIR/common/lib/commons-collections.jar
302 ln -sf $(find-jar commons-dbcp) $TOMCATDIR/common/lib/commons-dbcp.jar
303 ln -sf $(find-jar commons-logging-api) $TOMCATDIR/common/lib/commons-logging-api.jar
304 ln -sf $(find-jar commons-pool) $TOMCATDIR/common/lib/commons-pool.jar
305 ln -sf $(find-jar servlet) $TOMCATDIR/common/lib/servlet.jar
306 ln -sf $(find-jar servlet) $TOMCATDIR/common/lib/servletapi4.jar
307 ln -sf $(find-jar jdbc-stdext) $TOMCATDIR/common/lib/jdbc-stdext.jar
308 ln -sf jdbc-stdext.jar $TOMCATDIR/common/lib/jdbc2_0-stdext.jar
309 ln -sf jdbc-stdext.jar $TOMCATDIR/common/lib/jdbc-stdext-2.0.jar
310 ln -sf $(find-jar jmxri) $TOMCATDIR/common/lib/jmxri.jar
311 ln -sf $(find-jar jndi) $TOMCATDIR/common/lib/jndi.jar
312 ln -sf $(find-jar jta) $TOMCATDIR/common/lib/jta.jar
313 ln -sf $(find-jar mail) $TOMCATDIR/common/lib/mail.jar
314 ln -sf $(find-jar jsse) $TOMCATDIR/common/lib/jsse.jar
315 ln -sf $(find-jar junit) $TOMCATDIR/common/lib/junit.jar
316 ln -sf $(find-jar mailapi) $TOMCATDIR/common/lib/mailapi.jar
317 ln -sf $(find-jar pop3) $TOMCATDIR/common/lib/pop3.jar
318 ln -sf pop3.jar $TOMCATDIR/common/lib/pop.jar
319 ln -sf $(find-jar smtp) $TOMCATDIR/common/lib/smtp.jar
320 ln -sf $(find-jar imap) $TOMCATDIR/common/lib/imap.jar
321 ln -sf $(find-jar commons-beanutils) $TOMCATDIR/server/lib/commons-beanutils.jar
322 ln -sf $(find-jar commons-digester) $TOMCATDIR/server/lib/commons-digester.jar
323 ln -sf $(find-jar commons-fileupload) $TOMCATDIR/server/lib/commons-fileupload.jar
324 ln -sf $(find-jar commons-logging) $TOMCATDIR/server/lib/commons-logging.jar
325 ln -sf $(find-jar jaas) $TOMCATDIR/server/lib/jaas.jar
326 ln -sf $(find-jar regexp) $TOMCATDIR/server/lib/regexp.jar
327 ln -sf $(find-jar regexp) $TOMCATDIR/server/lib/jakarta-regexp-1.2.jar
328 ln -sf $(find-jar regexp) $TOMCATDIR/server/lib/regexp-1.2.jar
329 %endif
330
331 ln -sf $(find-jar jaxp_parser_impl) $TOMCATDIR/common/endorsed/jaxp_parser_impl.jar
332 ln -sf $(find-jar xml-commons-apis) $TOMCATDIR/common/endorsed/xml-commons-apis.jar
333 ln -sf $(find-jar struts-core) $TOMCATDIR/server/webapps/admin/WEB-INF/lib/struts-core.jar
334
335 install -d $RPM_BUILD_ROOT%{_javadir}
336 mv $TOMCATDIR/common/lib/jasper* $RPM_BUILD_ROOT%{_javadir}
337 ln -sf %{_javadir}/jasper-compiler-jdt.jar $TOMCATDIR/common/lib/
338 ln -sf %{_javadir}/jasper-compiler.jar $TOMCATDIR/common/lib/
339 ln -sf %{_javadir}/jasper-compiler-runtime.jar $TOMCATDIR/common/lib/
340
341 %clean
342 rm -rf $RPM_BUILD_ROOT
343
344 %pre
345 %groupadd -g 234 -r -f tomcat
346 %useradd -u 234 -r -d /var/lib/tomcat -s /bin/false -c "Tomcat User" -g tomcat tomcat
347
348 %post
349 /sbin/chkconfig --add tomcat
350 %service tomcat restart
351
352 %preun
353 if [ "$1" = "0" ]; then
354         %service tomcat stop
355         /sbin/chkconfig --del tomcat
356 fi
357
358 %postun
359 if [ "$1" = "0" ]; then
360         %userremove tomcat
361         %groupremove tomcat
362 fi
363
364 %files
365 %defattr(644,root,root,755)
366 %doc build/{RELEASE-NOTES,RUNNING.txt}
367 %attr(754,root,root) /etc/rc.d/init.d/tomcat
368 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/tomcat
369 %{_sysconfdir}
370 %dir %{_tomcatdir}
371 %dir %{_tomcatdir}/conf
372 %dir %{_tomcatdir}/bin
373 %{_tomcatdir}/bin/catalina-tasks.xml
374 %{_tomcatdir}/bin/jkstatus-tasks.xml
375 %{_tomcatdir}/bin/jmxaccessor-tasks.xml
376 %attr(755,root,root) %{_tomcatdir}/bin/*.sh
377 %{_tomcatdir}/bin/*.jar
378 %dir %{_tomcatdir}/common
379 %dir %{_tomcatdir}/common/classes
380 %dir %{_tomcatdir}/common/endorsed
381 %dir %{_tomcatdir}/common/i18n
382 %{_tomcatdir}/common/endorsed/*.jar
383 %{_tomcatdir}/common/i18n/tomcat-i18n-en.jar
384 %lang(es) %{_tomcatdir}/common/i18n/tomcat-i18n-es.jar
385 %lang(fr) %{_tomcatdir}/common/i18n/tomcat-i18n-fr.jar
386 %lang(ja) %{_tomcatdir}/common/i18n/tomcat-i18n-ja.jar
387 %{_tomcatdir}/common/lib
388 %dir %{_tomcatdir}/server
389 %dir %{_tomcatdir}/server/classes
390 %{_tomcatdir}/server/lib
391 %{_tomcatdir}/server/webapps
392 %{_tomcatdir}/webapps
393 %{_tomcatdir}/work
394 %{_tomcatdir}/shared
395 %dir %{_vardir}
396 # tomcat config has to be writeable because of tomacta-users.xml file and
397 # Catalina dir
398 %config(noreplace) %attr(775,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf
399 %dir %attr(1730,root,tomcat) %{_vardir}/work
400 %dir %attr(775,root,tomcat) %{_vardir}/webapps
401 %dir %attr(775,root,tomcat) %{_vardir}/temp
402 %dir %attr(775,root,tomcat) %{_logdir}/tomcat
403 %{_vardir}/logs
404
405 %if 0
406 %files doc
407 %defattr(644,root,root,755)
408 %doc catalina/docs/*
409 %endif
410
411 %files jasper
412 %defattr(644,root,root,755)
413 %{_javadir}/jasper-compiler-jdt.jar
414 %{_javadir}/jasper-compiler.jar
415 %{_javadir}/jasper-runtime.jar
This page took 0.157658 seconds and 3 git commands to generate.