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