]> git.pld-linux.org Git - packages/tomcat.git/blob - tomcat.spec
- some old changes from my laptop, plz review and keep or remove
[packages/tomcat.git] / 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 ln -sf $(find-jar jsp-api) $TOMCATDIR/common/lib/jsp-api.jar
294
295 ln -sf $(find-jar commons-modeler) $TOMCATDIR/server/lib/commons-modeler.jar
296
297 ln -sf $(find-jar jaxp_parser_impl) $TOMCATDIR/common/endorsed/jaxp_parser_impl.jar
298 ln -sf $(find-jar xml-commons-apis) $TOMCATDIR/common/endorsed/xml-commons-apis.jar
299 ln -sf $(find-jar struts) $TOMCATDIR/server/webapps/admin/WEB-INF/lib/struts.jar
300
301 %if 0
302 # do not make these symlinks as ant didn't do
303 ln -sf $(find-jar commons-daemon) $TOMCATDIR/bin/commons-daemon.jar
304 ln -sf $(find-jar activation) $TOMCATDIR/common/lib/activation.jar
305 ln -sf $(find-jar ant) $TOMCATDIR/common/lib/ant.jar
306 ln -sf $(find-jar commons-collections) $TOMCATDIR/common/lib/commons-collections.jar
307 ln -sf $(find-jar commons-dbcp) $TOMCATDIR/common/lib/commons-dbcp.jar
308 ln -sf $(find-jar commons-logging-api) $TOMCATDIR/common/lib/commons-logging-api.jar
309 ln -sf $(find-jar commons-pool) $TOMCATDIR/common/lib/commons-pool.jar
310 ln -sf $(find-jar servlet) $TOMCATDIR/common/lib/servlet.jar
311 ln -sf $(find-jar servlet) $TOMCATDIR/common/lib/servletapi4.jar
312 ln -sf $(find-jar jdbc-stdext) $TOMCATDIR/common/lib/jdbc-stdext.jar
313 ln -sf jdbc-stdext.jar $TOMCATDIR/common/lib/jdbc2_0-stdext.jar
314 ln -sf jdbc-stdext.jar $TOMCATDIR/common/lib/jdbc-stdext-2.0.jar
315 ln -sf $(find-jar jmxri) $TOMCATDIR/common/lib/jmxri.jar
316 ln -sf $(find-jar jndi) $TOMCATDIR/common/lib/jndi.jar
317 ln -sf $(find-jar jta) $TOMCATDIR/common/lib/jta.jar
318 ln -sf $(find-jar mail) $TOMCATDIR/common/lib/mail.jar
319 ln -sf $(find-jar jsse) $TOMCATDIR/common/lib/jsse.jar
320 ln -sf $(find-jar junit) $TOMCATDIR/common/lib/junit.jar
321 ln -sf $(find-jar mailapi) $TOMCATDIR/common/lib/mailapi.jar
322 ln -sf $(find-jar pop3) $TOMCATDIR/common/lib/pop3.jar
323 ln -sf pop3.jar $TOMCATDIR/common/lib/pop.jar
324 ln -sf $(find-jar smtp) $TOMCATDIR/common/lib/smtp.jar
325 ln -sf $(find-jar imap) $TOMCATDIR/common/lib/imap.jar
326 ln -sf $(find-jar commons-beanutils) $TOMCATDIR/server/lib/commons-beanutils.jar
327 ln -sf $(find-jar commons-digester) $TOMCATDIR/server/lib/commons-digester.jar
328 ln -sf $(find-jar commons-fileupload) $TOMCATDIR/server/lib/commons-fileupload.jar
329 ln -sf $(find-jar commons-logging) $TOMCATDIR/server/lib/commons-logging.jar
330 ln -sf $(find-jar jaas) $TOMCATDIR/server/lib/jaas.jar
331 ln -sf $(find-jar regexp) $TOMCATDIR/server/lib/regexp.jar
332 ln -sf $(find-jar regexp) $TOMCATDIR/server/lib/jakarta-regexp-1.2.jar
333 ln -sf $(find-jar regexp) $TOMCATDIR/server/lib/regexp-1.2.jar
334 %endif
335
336 ln -sf $(find-jar jaxp_parser_impl) $TOMCATDIR/common/endorsed/jaxp_parser_impl.jar
337 ln -sf $(find-jar xml-commons-apis) $TOMCATDIR/common/endorsed/xml-commons-apis.jar
338 ln -sf $(find-jar struts-core) $TOMCATDIR/server/webapps/admin/WEB-INF/lib/struts-core.jar
339
340 install -d $RPM_BUILD_ROOT%{_javadir}
341 mv $TOMCATDIR/common/lib/jasper* $RPM_BUILD_ROOT%{_javadir}
342 ln -sf %{_javadir}/jasper-compiler-jdt.jar $TOMCATDIR/common/lib/
343 ln -sf %{_javadir}/jasper-compiler.jar $TOMCATDIR/common/lib/
344 ln -sf %{_javadir}/jasper-runtime.jar $TOMCATDIR/common/lib/
345
346 %clean
347 rm -rf $RPM_BUILD_ROOT
348
349 %pre
350 %groupadd -g 234 -r -f tomcat
351 %useradd -u 234 -r -d /var/lib/tomcat -s /bin/false -c "Tomcat User" -g tomcat tomcat
352
353 %post
354 /sbin/chkconfig --add tomcat
355 %service tomcat restart
356
357 %preun
358 if [ "$1" = "0" ]; then
359         %service tomcat stop
360         /sbin/chkconfig --del tomcat
361 fi
362
363 %postun
364 if [ "$1" = "0" ]; then
365         %userremove tomcat
366         %groupremove tomcat
367 fi
368
369 %files
370 %defattr(644,root,root,755)
371 %doc build/{RELEASE-NOTES,RUNNING.txt}
372 %attr(754,root,root) /etc/rc.d/init.d/tomcat
373 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/tomcat
374 %{_sysconfdir}
375 %dir %{_tomcatdir}
376 %dir %{_tomcatdir}/conf
377 %dir %{_tomcatdir}/bin
378 %{_tomcatdir}/bin/catalina-tasks.xml
379 %{_tomcatdir}/bin/jkstatus-tasks.xml
380 %{_tomcatdir}/bin/jmxaccessor-tasks.xml
381 %attr(755,root,root) %{_tomcatdir}/bin/*.sh
382 %{_tomcatdir}/bin/*.jar
383 %dir %{_tomcatdir}/common
384 %dir %{_tomcatdir}/common/classes
385 %dir %{_tomcatdir}/common/endorsed
386 %dir %{_tomcatdir}/common/i18n
387 %{_tomcatdir}/common/endorsed/*.jar
388 %{_tomcatdir}/common/i18n/tomcat-i18n-en.jar
389 %lang(es) %{_tomcatdir}/common/i18n/tomcat-i18n-es.jar
390 %lang(fr) %{_tomcatdir}/common/i18n/tomcat-i18n-fr.jar
391 %lang(ja) %{_tomcatdir}/common/i18n/tomcat-i18n-ja.jar
392 %{_tomcatdir}/common/lib
393 %dir %{_tomcatdir}/server
394 %dir %{_tomcatdir}/server/classes
395 %{_tomcatdir}/server/lib
396 %{_tomcatdir}/server/webapps
397 %{_tomcatdir}/webapps
398 %{_tomcatdir}/work
399 %{_tomcatdir}/shared
400 %dir %{_vardir}
401 # tomcat config has to be writeable because of tomacta-users.xml file and
402 # Catalina dir
403 %config(noreplace) %attr(775,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf
404 %dir %attr(1730,root,tomcat) %{_vardir}/work
405 %dir %attr(775,root,tomcat) %{_vardir}/webapps
406 %dir %attr(775,root,tomcat) %{_vardir}/temp
407 %dir %attr(775,root,tomcat) %{_logdir}/tomcat
408 %{_vardir}/logs
409
410 %if 0
411 %files doc
412 %defattr(644,root,root,755)
413 %doc catalina/docs/*
414 %endif
415
416 %files jasper
417 %defattr(644,root,root,755)
418 %{_javadir}/jasper-compiler-jdt.jar
419 %{_javadir}/jasper-compiler.jar
420 %{_javadir}/jasper-runtime.jar
This page took 0.081721 seconds and 4 git commands to generate.