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