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