]> git.pld-linux.org Git - packages/apache-tomcat.git/blob - apache-tomcat.spec
- s/apache/tomcat/ in pre
[packages/apache-tomcat.git] / apache-tomcat.spec
1 Summary:        The Tomcat Servlet/JSP Container
2 Summary(pl):    Tomcat - Zasobnik servletów/JSP
3 Name:           jakarta-tomcat
4 Version:        4.1.24
5 %define         base_version 4.0
6 Release:        3
7 License:        Apache
8 Group:          Development/Languages/Java
9 Source0:        http://jakarta.apache.org/builds/%{name}-%{base_version}/release/v%{version}/src/%{name}-%{version}-src.tar.gz
10 # Source0-md5:  bdcdf1091ff942f378b1e6f402e44a67
11 Source1:        http://jakarta.apache.org/builds/%{name}-%{base_version}/release/v%{version}/src/%{name}-connectors-%{version}-src.tar.gz
12 # Source1-md5:  0daa701e51d04570006abce1ac580aed
13 Source2:        %{name}.init
14 Patch0:         %{name}-fixes.patch
15 Patch1:         %{name}-JAVA_HOME.patch
16 Patch2:         %{name}-fileupload.patch
17 URL:            http://jakarta.apache.org/tomcat/index.html
18 # required:
19 BuildRequires:  jdk >= 1.2
20 BuildRequires:  jakarta-ant >= 1.5.3
21 BuildRequires:  jaxp >= 1.1
22 BuildRequires:  xerces-j >= 1
23 BuildRequires:  jakarta-servletapi >= 4
24 BuildRequires:  jakarta-commons-collections
25 BuildRequires:  jakarta-commons-beanutils
26 BuildRequires:  jakarta-commons-digester
27 BuildRequires:  jakarta-commons-logging
28 BuildRequires:  jakarta-commons-fileupload
29 BuildRequires:  jakarta-regexp
30 # optional:
31 BuildRequires:  jakarta-commons-daemon
32 BuildRequires:  jakarta-commons-dbcp
33 BuildRequires:  jakarta-commons-modeler
34 BuildRequires:  jakarta-commons-pool
35 BuildRequires:  jdbc-stdext >= 2.0
36 BuildRequires:  jmx >= 1.0
37 BuildRequires:  jndi >= 1.2.1
38 BuildRequires:  jndi-provider-ldap
39 BuildRequires:  jaf >= 1.0.1
40 BuildRequires:  javamail >= 1.2
41 BuildRequires:  jsse >= 1.0.2
42 BuildRequires:  jta >= 1.0.1
43 BuildRequires:  tyrex >= 1.0
44 BuildRequires:  junit >= 3.7
45 Requires:       jre >= 1.2
46 Requires:       jaxp >= 1.1
47 Requires:       xerces-j >= 1
48 Requires:       jakarta-servletapi >= 4
49 Requires:       jakarta-commons-collections
50 Requires:       jakarta-commons-beanutils
51 Requires:       jakarta-commons-digester
52 Requires:       jakarta-commons-logging
53 Requires:       jakarta-commons-fileupload
54 Requires:       jakarta-regexp
55 Requires:       jdbc-stdext >= 2.0
56 Requires:       jmx >= 1.0
57 Requires:       jndi >= 1.2.1
58 Requires:       jndi-provider-ldap
59 Requires:       jaf >= 1.0.1
60 Requires:       javamail >= 1.2
61 Requires:       jsse >= 1.0.2
62 Requires:       jta >= 1.0.1
63 Requires:       tyrex >= 1.0
64 Requires(pre): /usr/bin/getgid
65 Requires(pre): /bin/id
66 Requires(pre): /usr/sbin/groupadd
67 Requires(pre): /usr/sbin/useradd
68 Requires(postun):      /usr/sbin/userdel
69 Requires(postun):      /usr/sbin/groupdel
70 Requires(post,preun):   /sbin/chkconfig
71 Requires(post,postun):  /sbin/ldconfig
72 BuildArch:      noarch
73 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
74
75 %define         _javalibdir     /usr/share/java
76 %define         _tomcatdir      %{_libdir}/tomcat
77 %define         _logdir         %{_var}/log
78 %define         _vardir         %{_var}/lib/tomcat
79
80 %description
81 Tomcat 4.0, a server that implements the Servlet 2.3 and JSP 1.2
82 Specifications from Java Software.
83
84 %description -l pl
85 Tomcat 4.0 - serwer implementuj±cy specyfikacje Servlet 2.3 oraz JSP
86 1.2.
87
88 %package doc
89 Summary:        The Tomcat Servlet/JSP Container documentation
90 Summary(pl):    Dokumentacja do Tomcata
91 Group:          Development/Languages/Java
92
93 %description doc
94 The Tomcat Servlet/JSP Container documentation.
95
96 %description doc -l pl
97 Dokumentacja do Tomcata.
98
99 %prep
100 %setup -q -n %{name}-%{version}-src -a1
101 %patch0 -p1
102 %patch1 -p1
103 %patch2 -p1
104
105 %build
106 if [ -z "$JAVA_HOME" ]; then
107         JAVA_HOME=%{_libdir}/java
108 fi
109 ANT_HOME=%{_javalibdir}
110 export JAVA_HOME ANT_HOME
111
112 cat > build.properties << EOF
113 # ----- Compile Control Flags -----
114 compile.debug=on
115 compile.deprecation=off
116 compile.optimize=on
117
118 # ----- Default Base Path for Dependent Packages -----
119 base.path=%{_prefix}
120
121 # ----- Jakarta Regular Expressions Library, version 1.2 -----
122 regexp.home=%{_javalibdir}
123 regexp.lib=\${regexp.home}
124 regexp.jar=\${regexp.home}/regexp.jar
125
126 # ----- Jakarta Servlet API Classes (Servlet 2.3 / JSP 1.2) -----
127 servlet.home=$RPM_BUILD_DIR/%{name}-%{version}-src/doc
128 servlet.lib=%{_javalibdir}
129 servlet.jar=\${servlet.lib}/servlet.jar
130
131 # ----- Java Activation Framework (JAF), version 1.0.1 or later -----
132 activation.home=%{_javalibdir}
133 activation.lib=\${activation.home}
134 activation.jar=\${activation.lib}/activation.jar
135
136 # ----- Java API for XML Processing (JAXP), version 1.1 or later -----
137 jaxp.home=%{_javalibdir}
138 jaxp.lib=\${jaxp.home}
139 crimson.jar=\${jaxp.lib}/crimson.jar
140 jaxp.jar=\${jaxp.lib}/jaxp.jar
141 xalan.jar=\${jaxp.lib}/xalan.jar
142
143 # ----- Java Database Connectivity (JDBC) Optional Package, version 2.0 -----
144 jdbc20ext.home=%{_javalibdir}
145 jdbc20ext.lib=\${jdbc20ext.home}
146 jdbc20ext.jar=\${jdbc20ext.lib}/jdbc2_0-stdext.jar
147
148 # ----- Java Mail, version 1.2 or later -----
149 mail.home=%{_javalibdir}
150 mail.lib=\${mail.home}
151 mail.jar=\${mail.lib}/mail.jar
152
153 # ----- Java Management Extensions (JMX) RI, version 1.0.1 or later -----
154 jmx.home=%{_javalibdir}
155 jmx.lib=\${jmx.home}
156 jmxri.jar=\${jmx.lib}/jmxri.jar
157
158 # ----- Java Naming and Directory Interface (JNDI), version 1.2 or later -----
159 jndi.home=%{_javalibdir}
160 jndi.lib=\${jndi.home}
161 jndi.jar=\${jndi.lib}/jndi.jar
162 ldap.jar=\${jndi.lib}/ldap.jar
163
164 # ----- Java Secure Sockets Extension (JSSE), version 1.0.2 or later -----
165 jsse.home=%{_javalibdir}
166 jsse.lib=\${jsse.home}
167 jcert.jar=\${jsse.lib}/jcert.jar
168 jnet.jar=\${jsse.lib}/jnet.jar
169 jsse.jar=\${jsse.lib}/jsse.jar
170
171 # ----- Java Transaction API (JTA), version 1.0.1 or later -----
172 jta.home=%{_javalibdir}
173 jta.lib=\${jta.home}
174 jta.jar=\${jta.lib}/jta.jar
175
176 # ----- JUnit Unit Test Suite, version 3.7 or later -----
177 junit.home=%{_javalibdir}
178 junit.lib=\${junit.home}
179 junit.jar=\${junit.lib}/junit.jar
180
181 # ----- Tyrex Data Source, version 0.9.7 -----
182 tyrex.home=%{_javalibdir}
183 tyrex.lib=\${tyrex.home}
184 tyrex.jar=\${tyrex.lib}/tyrex.jar
185
186 # ----- Xerces XML Parser, version 1.4.3 or later -----
187 xerces.home=%{_javalibdir}
188 xerces.lib=\${xerces.home}
189 xerces.jar=\${xerces.lib}/xerces.jar
190
191 # ----- Commons Collections, version 1.0 or later -----
192 commons-collections.home=%{_javalibdir}
193 commons-collections.lib=\${commons-collections.home}
194 commons-collections.jar=\${commons-collections.lib}/commons-collections.jar
195
196 # ----- Commons Beanutils, version 1.1 or later -----
197 commons-beanutils.home=%{_javalibdir}
198 commons-beanutils.lib=\${commons-beanutils.home}
199 commons-beanutils.jar=\${commons-beanutils.lib}/commons-beanutils.jar
200
201 # ----- Commons Digester, version 1.1.1 or later -----
202 commons-digester.home=%{_javalibdir}
203 commons-digester.lib=\${commons-digester.home}
204 commons-digester.jar=\${commons-digester.lib}/commons-digester.jar
205
206 # ----- Commons Logging, version 1.0.1 or later -----
207 commons-logging.home=%{_javalibdir}
208 commons-logging.lib=\${commons-logging.home}
209 commons-logging-api.jar=\${commons-logging.lib}/commons-logging-api.jar
210 commons-logging.jar=\${commons-logging.lib}/commons-logging.jar
211
212 # ----- Commons Daemon, version 20020219 or later -----
213 commons-daemon.home=%{_javalibdir}
214 commons-daemon.lib=\${commons-daemon.home}
215 commons-daemon.jar=\${commons-daemon.lib}/commons-daemon.jar
216
217 # ----- Commons DBCP, version 1.0 or later -----
218 commons-dbcp.home=%{_javalibdir}
219 commons-dbcp.lib=\${commons-dbcp.home}
220 commons-dbcp.jar=\${commons-dbcp.lib}/commons-dbcp.jar
221
222 # ----- Commons FileUpload, nightly build -----
223 commons-fileupload.home=%{_javalibdir}
224 commons-fileupload.lib=\${commons-fileupload.home}
225 commons-fileupload.jar=\${commons-fileupload.lib}/commons-fileupload.jar
226
227 # ----- Commons Modeler, version 1.0 or later -----
228 commons-modeler.home=%{_javalibdir}
229 commons-modeler.lib=\${commons-modeler.home}
230 commons-modeler.jar=\${commons-modeler.lib}/commons-modeler.jar
231
232 # ----- Commons Pool, version 1.0 or later -----
233 commons-pool.home=%{_javalibdir}
234 commons-pool.lib=\${commons-pool.home}
235 commons-pool.jar=\${commons-pool.lib}/commons-pool.jar
236
237
238 jasper.home=jasper
239 jtc.home=../jakarta-tomcat-connectors-%{version}-src
240 EOF
241
242 install -d doc/docs/api
243
244 ln -s ../jakarta-tomcat-connectors-%{version}-src  webapps/jakarta-tomcat-connectors-%{version}-src
245 cd jakarta-tomcat-connectors-%{version}-src
246 ln -s . jakarta-tomcat-connectors-%{version}-src
247 ant
248 cd ..
249
250 ant dist
251
252 %install
253 rm -rf $RPM_BUILD_ROOT
254
255 install -d $RPM_BUILD_ROOT%{_tomcatdir}/bin \
256             $RPM_BUILD_ROOT%{_tomcatdir}/common/{lib,classes,endorsed} \
257             $RPM_BUILD_ROOT%{_tomcatdir}/server/{lib,classes} \
258             $RPM_BUILD_ROOT%{_tomcatdir}/webapps \
259             $RPM_BUILD_ROOT%{_sysconfdir}/tomcat \
260             $RPM_BUILD_ROOT%{_logdir}/tomcat \
261             $RPM_BUILD_ROOT%{_vardir}/work \
262             $RPM_BUILD_ROOT/etc/rc.d/init.d
263
264 install build/bin/*.sh $RPM_BUILD_ROOT%{_tomcatdir}/bin
265 install build/bin/bootstrap*.jar $RPM_BUILD_ROOT%{_tomcatdir}/bin
266 install build/bin/tomcat*.jar $RPM_BUILD_ROOT%{_tomcatdir}/bin
267 install build/common/lib/naming-*.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib
268 install build/common/lib/jasper-*.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib
269 install build/conf/* $RPM_BUILD_ROOT%{_sysconfdir}/tomcat
270 install build/server/lib/catalina*.jar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib
271 install build/server/lib/servlets*.jar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib
272 install build/server/lib/servlets-cgi.renametojar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib/servlets-cgi.jar
273 install build/server/lib/servlets-ssi.renametojar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib/servlets-ssi.jar
274 install build/server/lib/tomcat*.jar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib
275 cp -rf  build/server/webapps $RPM_BUILD_ROOT%{_tomcatdir}/server
276 cp -rf  build/webapps $RPM_BUILD_ROOT%{_tomcatdir}
277 cp -rf  build/shared $RPM_BUILD_ROOT%{_tomcatdir}
278 cp -rf  build/temp $RPM_BUILD_ROOT%{_tomcatdir}
279
280 ln -sf %{_logdir}/tomcat $RPM_BUILD_ROOT%{_tomcatdir}/logs
281 ln -sf %{_vardir}/work $RPM_BUILD_ROOT%{_tomcatdir}/work
282 ln -sf %{_sysconfdir}/tomcat $RPM_BUILD_ROOT%{_tomcatdir}/conf
283
284 # symlinks instead of copies
285 ln -sf %{_javalibdir}/ant.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/ant.jar
286 ln -sf %{_javalibdir}/jaxp.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/jaxp.jar
287 ln -sf %{_javalibdir}/xerces.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/xerces.jar
288 ln -sf %{_javalibdir}/servlet.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/servlet.jar
289 ln -sf %{_javalibdir}/jdbc2_0-stdext.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/jdbc2_0.jar
290 ln -sf %{_javalibdir}/jmxri.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/jmxri.jar
291 ln -sf %{_javalibdir}/jndi.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/jndi.jar
292 ln -sf %{_javalibdir}/ldap.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/ldap.jar
293 ln -sf %{_javalibdir}/activation.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/activation.jar
294 ln -sf %{_javalibdir}/jta.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/jta.jar
295 ln -sf %{_javalibdir}/mail.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/mail.jar
296 ln -sf %{_javalibdir}/jsse.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/jsse.jar
297
298 ln -sf %{_javalibdir}/tyrex.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/tyrex.jar
299 ln -sf %{_javalibdir}/junit.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/junit.jar
300
301 ln -sf %{_javalibdir}/commons-collections.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/commons-collections.jar
302 ln -sf %{_javalibdir}/commons-dbcp.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/commons-dbcp.jar
303 ln -sf %{_javalibdir}/commons-logging-api.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/commons-logging-api.jar
304 ln -sf %{_javalibdir}/commons-pool.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/commons-pool.jar
305
306 ln -sf %{_javalibdir}/regexp.jar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib/regexp.jar
307 ln -sf %{_javalibdir}/commons-beanutils.jar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib/commons-beanutils.jar
308 ln -sf %{_javalibdir}/commons-digester.jar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib/commons-digester.jar
309 ln -sf %{_javalibdir}/commons-logging.jar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib/commons-logging.jar
310 ln -sf %{_javalibdir}/commons-modeler.jar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib/commons-modeler.jar
311 ln -sf %{_javalibdir}/commons-fileupload.jar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib/commons-fileupload.jar
312
313 ln -sf %{_javalibdir}/commons-daemon.jar $RPM_BUILD_ROOT%{_tomcatdir}/bin/commons-daemon.jar
314
315 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
316
317 %clean
318 rm -rf $RPM_BUILD_ROOT
319
320 %pre
321 if [ -n "`getgid http`" ]; then
322        if [ "`getgid http`" != "51" ]; then
323                echo "Error: group http doesn't have gid=51. Correct this before installing tomcat." 1>&2
324                exit 1
325        fi
326 else
327        /usr/sbin/groupadd -g 51 -r -f http
328 fi
329 if [ -n "`id -u http 2>/dev/null`" ]; then
330        if [ "`id -u http`" != "51" ]; then
331                echo "Error: user http doesn't have uid=51. Correct this before installing tomcat." 1>&2
332                exit 1
333        fi
334 else
335        /usr/sbin/useradd -u 51 -r -d /home/services/httpd -s /bin/false -c "HTTP User" -g http http 1>&2
336 fi
337
338 %post
339 /sbin/chkconfig --add tomcat
340 if [ -f /var/lock/subsys/tomcat ]; then
341         /etc/rc.d/init.d/tomcat restart 1>&2
342 else
343         echo "Run \"/etc/rc.d/init.d/tomcat start\" to start tomcat daemon."
344 fi
345
346 %preun
347 if [ "$1" = "0" ]; then
348         if [ -f /var/lock/subsys/tomcat ]; then
349                 /etc/rc.d/init.d/tomcat stop 1>&2
350         fi
351         /sbin/chkconfig --del tomcat
352 fi
353
354 %postun
355 if [ "$1" = "0" ]; then
356        /usr/sbin/userdel http
357        /usr/sbin/groupdel http
358 fi
359
360 %files
361 %defattr(644,root,root,755)
362 %doc *.txt LICENSE
363 %dir %{_tomcatdir}
364 %dir %{_tomcatdir}/bin
365 %attr(755,root,root) %{_tomcatdir}/bin/*.sh
366 %{_tomcatdir}/bin/*.jar
367 %dir %{_tomcatdir}/common
368 %dir %{_tomcatdir}/common/classes
369 %dir %{_tomcatdir}/common/endorsed
370 %{_tomcatdir}/common/lib
371 %{_tomcatdir}/conf
372 %{_tomcatdir}/logs
373 %dir %{_tomcatdir}/server
374 %dir %{_tomcatdir}/server/classes
375 %{_tomcatdir}/server/lib
376 %{_tomcatdir}/server/webapps
377 %{_tomcatdir}/webapps
378 %{_tomcatdir}/work
379 %{_tomcatdir}/shared
380 %{_tomcatdir}/temp
381 # tomcat wants to regenerate tomcat-users.xml
382 %attr(775,root,http) %dir %{_sysconfdir}/tomcat
383 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/tomcat/*
384 %attr(754,root,root) /etc/rc.d/init.d/tomcat
385 %dir %{_vardir}
386 %attr(1730,root,http) %dir %{_vardir}/work
387 %attr(1730,root,http) %dir %{_logdir}/tomcat
388
389 %files doc
390 %defattr(644,root,root,755)
391 %doc catalina/docs/*
This page took 0.120699 seconds and 4 git commands to generate.