]> git.pld-linux.org Git - packages/apache-tomcat.git/blob - apache-tomcat.spec
- more
[packages/apache-tomcat.git] / apache-tomcat.spec
1 # Conditional build:
2 %bcond_with     binary  # build from binary source
3 %bcond_without  javadoc # skip building javadocs
4 #
5 Summary:        Apache Servlet/JSP Engine, RI for Servlet 2.4/JSP 2.0 API
6 Summary(pl):    Tomcat - Zasobnik servletów/JSP
7 Name:           jakarta-tomcat
8 Version:        5.5.23
9 Release:        0.1
10 License:        Apache
11 Group:          Development/Languages/Java
12 #Source0:       http://www.apache.org/dist/tomcat/tomcat-5/v5.0.30/src/%{name}-%{version}-src.tar.gz
13 Source0:        http://www.apache.org/dist/tomcat/tomcat-5/v%{version}/src/apache-tomcat-%{version}-src.tar.gz
14 # Source0-md5:  362d1d8b15dc09882440dcab8c592dd7
15 #Source0:       http://apache.zone-h.org/
16 Source1:        %{name}.init
17 URL:            http://tomcat.apache.org/
18 # required:
19 BuildRequires:  ant >= 1.5.3
20 BuildRequires:  jaas
21 BuildRequires:  jakarta-commons-beanutils
22 BuildRequires:  jakarta-commons-collections
23 BuildRequires:  jakarta-commons-digester
24 BuildRequires:  jakarta-commons-fileupload
25 BuildRequires:  jakarta-commons-logging
26 BuildRequires:  jakarta-regexp
27 BuildRequires:  jakarta-servletapi >= 4
28 BuildRequires:  jakarta-struts >= 1.0.2
29 BuildRequires:  jaxp_parser_impl
30 BuildRequires:  jdk >= 1.2
31 BuildRequires:  jpackage-utils
32 BuildRequires:  mx4j >= 1.1.1
33 BuildRequires:  puretls
34 BuildRequires:  rpmbuild(macros) >= 1.300
35 BuildRequires:  xerces-j
36 # optional:
37 BuildRequires:  jaf >= 1.0.1
38 BuildRequires:  jakarta-commons-daemon
39 BuildRequires:  jakarta-commons-dbcp
40 BuildRequires:  jakarta-commons-modeler
41 BuildRequires:  jakarta-commons-pool
42 BuildRequires:  javamail >= 1.2
43 BuildRequires:  jdbc-stdext >= 2.0
44 BuildRequires:  jndi >= 1.2.1
45 BuildRequires:  jsse >= 1.0.2
46 BuildRequires:  jta >= 1.0.1
47 BuildRequires:  junit >= 3.7
48 BuildRequires:  rpmbuild(macros) >= 1.268
49 BuildRequires:  tyrex >= 1.0
50 BuildRequires:  xml-commons
51 Requires(post,postun):  /sbin/ldconfig
52 Requires(post,preun):   /sbin/chkconfig
53 Requires(postun):       /usr/sbin/groupdel
54 Requires(postun):       /usr/sbin/userdel
55 Requires(pre):  /bin/id
56 Requires(pre):  /usr/bin/getgid
57 Requires(pre):  /usr/sbin/groupadd
58 Requires(pre):  /usr/sbin/useradd
59 Requires:       jaas
60 Requires:       jaf >= 1.0.1
61 Requires:       jakarta-commons-beanutils
62 Requires:       jakarta-commons-collections
63 Requires:       jakarta-commons-digester
64 Requires:       jakarta-commons-fileupload
65 Requires:       jakarta-commons-logging
66 Requires:       jakarta-regexp
67 Requires:       jakarta-servletapi >= 4
68 Requires:       javamail >= 1.2
69 Requires:       jaxp_parser_impl
70 Requires:       jdbc-stdext >= 2.0
71 Requires:       jndi >= 1.2.1
72 Requires:       jre >= 1.2
73 Requires:       jsse >= 1.0.2
74 Requires:       jta >= 1.0.1
75 Requires:       mx4j >= 1.1.1
76 Requires:       rc-scripts
77 Requires:       tyrex >= 1.0
78 Requires:       xml-commons
79 Provides:       group(http)
80 Provides:       user(http)
81 BuildArch:      noarch
82 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
83
84 %define         _tomcatdir      %{_libdir}/tomcat
85 %define         _logdir         %{_var}/log
86 %define         _vardir         %{_var}/lib/tomcat
87
88 %description
89 Tomcat is the servlet container that is used in the official Reference
90 Implementation for the Java Servlet and JavaServer Pages technologies.
91 The Java Servlet and JavaServer Pages specifications are developed by
92 Sun under the Java Community Process.
93
94 Tomcat is developed in an open and participatory environment and
95 released under the Apache Software License. Tomcat is intended to be a
96 collaboration of the best-of-breed developers from around the world.
97 We invite you to participate in this open development project.
98
99 %description -l pl
100 Tomcat 4.0 - serwer implementuj±cy specyfikacje Servlet 2.3 oraz JSP
101 1.2.
102
103 %package doc
104 Summary:        The Tomcat Servlet/JSP Container documentation
105 Summary(pl):    Dokumentacja do Tomcata
106 Group:          Development/Languages/Java
107
108 %description doc
109 The Tomcat Servlet/JSP Container documentation.
110
111 %description doc -l pl
112 Dokumentacja do Tomcata.
113
114 %prep
115 %setup -q -n apache-tomcat-%{version}-src/
116
117 # Remove pre-built jars
118 find -name '*.jar' | xargs rm -fv
119
120 %build
121 TOPDIR=$(pwd)
122
123 # build jsp-api, servlet-api as ant dist will later on require them for webapps
124 cd servletapi/jsr154
125 %ant -Dservletapi.build=build -Dservletapi.dist=dist -Dbuild.compiler=modern dist
126
127 cd ../jsr152
128 %ant -Dservletapi.build=build -Dservletapi.dist=dist -Dbuild.compiler=modern dist
129
130 # build jasper subpackage
131 cd ../../jasper
132 CLASSPATH=$(build-classpath xml-commons-apis xalan)
133 export CLASSPATH=$CLASSPATH:$TOPDIR/servletapi/jsr154/dist/lib/servlet-api.jar
134 cat > build.properties <<EOF
135 ant.jar=$(build-classpath ant)
136 servlet-api.jar=$TOPDIR/servletapi/jsr154/dist/lib/servlet-api.jar
137 jsp-api.jar=$TOPDIR/servletapi/jsr152/dist/lib/jsp-api.jar
138 tools.jar=%{java_home}/lib/tools.jar
139 xerces.jar=$(build-classpath xerces)
140 xercesImpl.jar=$(build-classpath jaxp_parser_impl)
141 xmlParserAPIs.jar=$(build-classpath xml-commons-apis)
142 commons-el.jar=$(build-classpath commons-el)
143 commons-collections.jar=$(build-classpath commons-collections)
144 commons-logging.jar=$(build-classpath commons-logging)
145 commons-daemon.jar=$(build-classpath commons-daemon)
146 junit.jar=$(build-classpath junit)
147 jasper-compiler-jdt.jar=$(build-classpath jdtcore)
148 EOF
149 %ant -Dbuild.compiler=modern javadoc
150
151 # build tomcat 5.5
152 cd ../build
153 cat >> build.properties <<EOF
154 ant.jar=%{_javadir}/ant.jar
155 ant-launcher.jar=%{_javadir}/ant-launcher.jar
156 jtc.home=$TOPDIR/jakarta-tomcat-connectors/
157 jasper.home=$TOPDIR/jakarta-tomcat-jasper/jasper2
158 commons-beanutils.jar=$(build-classpath commons-beanutils)
159 commons-fileupload.jar=$(build-classpath commons-fileupload)
160 commons-collections.jar=$(build-classpath commons-collections)
161 commons-dbcp.jar=$(build-classpath commons-dbcp)
162 commons-digester.jar=$(build-classpath commons-digester)
163 commons-el.jar=$(build-classpath commons-el)
164 commons-launcher.jar=$(build-classpath commons-launcher)
165 commons-logging.jar=$(build-classpath commons-logging)
166 commons-logging-api.jar=$(build-classpath commons-logging-api)
167 commons-modeler.jar=$(build-classpath commons-modeler)
168 commons-pool.jar=$(build-classpath commons-pool)
169 jmx.jar=$(build-classpath jre/jmx)
170 jmx-tools.jar=$(build-classpath jre/jmx)
171 jmxri.jar=$(build-classpath jre/jmx)
172 junit.jar=$(build-classpath junit)
173 regexp.jar=$(build-classpath regexp)
174 servlet-api.jar=$TOPDIR/jakarta-servletapi-5/jsr154/dist/lib/servlet-api.jar
175 jsp-api.jar=$TOPDIR/jakarta-servletapi-5/jsr152/dist/lib/jsp-api.jar
176 servlet.doc=$TOPDIR/jakarta-servletapi-5/jsr154/dist/docs/api
177 xercesImpl.jar=$(build-classpath jaxp_parser_impl)
178 xml-apis.jar=$(build-classpath xml-commons-apis)
179 struts.jar=$(build-classpath struts)
180 struts.lib=%{_datadir}/struts
181 activation.jar=$(build-classpath jaf)
182 mail.jar=$(build-classpath javamail/mailapi)
183 jta.jar=$(build-classpath jta)
184 tyrex.jar=$(build-classpath tyrex)
185 jaas.jar=$(build-classpath jre/jaas)
186 jndi.jar=$(build-classpath jre/jndi)
187 jdbc20ext.jar=$(build-classpath jdbc-stdext)
188 puretls.jar=$(build-classpath puretls)
189 jcert.jar=$(build-classpath java/jcert)
190 jnet.jar=$(build-classpath java/jnet)
191 jsse.jar=$(build-classpath java/jsse)
192 servletapi.build.notrequired=true
193 jspapi.build.notrequired=true
194 taglibs-core.jar=$(build-classpath taglibs-core)
195 taglibs-standard.jar=$(build-classpath taglibs-standard)
196 EOF
197
198 %ant build
199
200 exit 1
201
202 %if 0
203 # build tomcat 5
204
205 # build the connectors
206 cd ../jakarta-tomcat-connectors
207
208 # this is just plain and simply evil but something changed in a major way between 5.0.16 and 5.0.18
209 oldclasspath=$CLASSPATH
210 export CLASSPATH=$TOPDIR/jakarta-servletapi-5/jsr154/dist/lib/servlet-api.jar:\
211 $TOPDIR/jakarta-tomcat-5/build/server/lib/catalina.jar
212
213 cat > build.properties <<EOBP
214 activation.jar=$(build-classpath jaf)
215 ant.jar=%{_javadir}/ant.jar
216 junit.jar=$(build-classpath junit)
217 commons-beanutils.jar=$(build-classpath commons-beanutils)
218 commons-collections.jar=$(build-classpath commons-collections)
219 commons-digester.jar=$(build-classpath commons-digester)
220 commons-fileupload.jar=$(build-classpath commons-fileupload)
221 commons-logging.jar=$(build-classpath commons-logging)
222 commons-logging-api.jar=$(build-classpath commons-logging-api)
223 commons-modeler.jar=$(build-classpath commons-modeler)
224 commons-pool.jar=$(build-classpath commons-pool)
225 regexp.jar=$(build-classpath regexp)
226 jmx.jar=$(build-classpath mx4j/mx4j)
227 puretls=$(build-classpath puretls)
228 activation.jar=$(build-classpath jaf)
229 mail.jar=$(build-classpath javamail/mailapi)
230 jta.jar=$(build-classpath jta)
231 tyrex.jar=$(build-classpath tyrex)
232 jaas.jar=$(build-classpath jaas)
233 jndi.jar=$(build-classpath jndi)
234 jdbc20ext.jar=$(build-classpath java/jdbc-stdext)
235 puretls.jar=$(build-classpath puretls)
236 jcert.jar=$(build-classpath jsse/jcert)
237 jnet.jar=$(build-classpath jsse/jnet)
238 jsse.jar=$(build-classpath jsse/jsse)
239 EOBP
240 %ant -Dbuild.compiler=modern -Djava.home=%{java_home} build
241 export CLASSPATH=$oldclasspath
242
243 # build the webapps and make the tree ready to install
244 cd ../jakarta-tomcat-5
245 %ant -Dbuild.compiler=modern -Djava.home=%{java_home} dist
246 %endif
247
248 %install
249 rm -rf $RPM_BUILD_ROOT
250
251 DEST=$RPM_BUILD_ROOT%{_tomcatdir}
252
253 install -d $DEST/bin \
254             $DEST/common/{lib,classes,endorsed} \
255             $DEST/server/{lib,classes} \
256             $DEST/webapps \
257             $RPM_BUILD_ROOT%{_sysconfdir}/tomcat \
258             $RPM_BUILD_ROOT%{_logdir}/tomcat \
259             $RPM_BUILD_ROOT%{_vardir}/work \
260             $RPM_BUILD_ROOT/etc/rc.d/init.d
261
262 install build/bin/*.sh                  $DEST/bin
263 install build/bin/bootstrap*.jar        $DEST/bin
264 install build/bin/tomcat*.jar           $DEST/bin
265 install build/common/lib/naming-*.jar   $DEST/common/lib
266 install build/common/lib/jasper-*.jar   $DEST/common/lib
267 install build/conf/*                    $RPM_BUILD_ROOT%{_sysconfdir}/tomcat
268 install build/server/lib/catalina*.jar  $DEST/server/lib
269 install build/server/lib/servlets*.jar  $DEST/server/lib
270 install build/server/lib/tomcat*.jar    $DEST/server/lib
271 install build/server/lib/servlets-cgi.renametojar $DEST/server/lib/servlets-cgi.jar
272 install build/server/lib/servlets-ssi.renametojar $DEST/server/lib/servlets-ssi.jar
273 cp -rf  build/server/webapps    $DEST/server
274 cp -rf  build/webapps           $DEST
275 cp -rf  build/shared            $DEST
276 cp -rf  build/temp              $DEST
277
278 ln -sf %{_logdir}/tomcat        $DEST/logs
279 ln -sf %{_vardir}/work          $DEST/work
280 ln -sf %{_sysconfdir}/tomcat    $DEST/conf
281
282 # symlinks instead of copies
283 ln -sf %{_javadir}/commons-daemon.jar   $DEST/bin
284
285 ln -sf %{_javadir}/activation.jar               $DEST/common/lib
286 ln -sf %{_javadir}/ant.jar                      $DEST/common/lib
287 ln -sf %{_javadir}/commons-collections.jar      $DEST/common/lib
288 ln -sf %{_javadir}/commons-dbcp.jar             $DEST/common/lib
289 ln -sf %{_javadir}/commons-logging-api.jar      $DEST/common/lib
290 ln -sf %{_javadir}/commons-pool.jar             $DEST/common/lib
291 ln -sf %{_javadir}/servlet.jar          $DEST/common/lib
292 ln -sf %{_javadir}/servlet.jar          $DEST/common/lib/servletapi4.jar
293 ln -sf %{_javadir}/jdbc-stdext.jar              $DEST/common/lib/jdbc2_0-stdext.jar
294 ln -sf %{_javadir}/jdbc-stdext.jar              $DEST/common/lib/jdbc-stdext-2.0.jar
295 ln -sf %{_javadir}/jmxri.jar                    $DEST/common/lib
296 ln -sf %{_javadir}/jndi.jar                     $DEST/common/lib
297 ln -sf %{_javadir}/jta.jar                      $DEST/common/lib
298 ln -sf %{_javadir}/mail.jar                     $DEST/common/lib
299 ln -sf %{_javadir}/jsse.jar                     $DEST/common/lib
300 ln -sf %{_javadir}/tyrex.jar                    $DEST/common/lib
301 ln -sf %{_javadir}/junit.jar                    $DEST/common/lib
302
303 ln -sf %{_javadir}/mailapi.jar          $DEST/common/lib
304 ln -sf %{_javadir}/pop3.jar                     $DEST/common/lib
305 ln -sf %{_javadir}/pop3.jar                     $DEST/common/lib/pop.jar
306 ln -sf %{_javadir}/smtp.jar                     $DEST/common/lib
307 ln -sf %{_javadir}/imap.jar                     $DEST/common/lib
308
309 ln -sf %{_javadir}/commons-beanutils.jar        $DEST/server/lib
310 ln -sf %{_javadir}/commons-digester.jar $DEST/server/lib
311 ln -sf %{_javadir}/commons-fileupload.jar       $DEST/server/lib
312 ln -sf %{_javadir}/commons-logging.jar  $DEST/server/lib
313 ln -sf %{_javadir}/commons-modeler.jar  $DEST/server/lib
314 ln -sf %{_javadir}/jaas.jar                     $DEST/server/lib/jaas.jar
315 ln -sf %{_javadir}/mx4j-jmx.jar         $DEST/server/lib
316 ln -sf %{_javadir}/regexp.jar           $DEST/server/lib
317 ln -sf %{_javadir}/regexp.jar           $DEST/server/lib/jakarta-regexp-1.2.jar
318 ln -sf %{_javadir}/regexp.jar           $DEST/server/lib/regexp-1.2.jar
319
320 ln -sf %{_javadir}/jaxp_parser_impl.jar $DEST/common/endorsed
321 ln -sf %{_javadir}/xml-commons-apis.jar $DEST/common/endorsed
322
323 ln -sf %{_javadir}/struts.jar $DEST/server/webapps/admin/WEB-INF/lib
324
325 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
326
327 %clean
328 rm -rf $RPM_BUILD_ROOT
329
330 %pre
331 %groupadd -g 51 -r -f http
332 %useradd -u 51 -r -d /home/services/httpd -s /bin/false -c "HTTP User" -g http http
333
334 %post
335 /sbin/chkconfig --add tomcat
336 %service tomcat restart
337
338 %preun
339 if [ "$1" = "0" ]; then
340         %service tomcat stop
341         /sbin/chkconfig --del tomcat
342 fi
343
344 %postun
345 if [ "$1" = "0" ]; then
346         %userremove http
347         %groupremove http
348 fi
349
350 %files
351 %defattr(644,root,root,755)
352 %doc *.txt LICENSE
353 %dir %{_tomcatdir}
354 %dir %{_tomcatdir}/bin
355 %attr(755,root,root) %{_tomcatdir}/bin/*.sh
356 %{_tomcatdir}/bin/*.jar
357 %dir %{_tomcatdir}/common
358 %dir %{_tomcatdir}/common/classes
359 %dir %{_tomcatdir}/common/endorsed
360 %{_tomcatdir}/common/endorsed/*.jar
361 %{_tomcatdir}/common/lib
362 %{_tomcatdir}/conf
363 %{_tomcatdir}/logs
364 %dir %{_tomcatdir}/server
365 %dir %{_tomcatdir}/server/classes
366 %{_tomcatdir}/server/lib
367 %{_tomcatdir}/server/webapps
368 %{_tomcatdir}/webapps
369 %{_tomcatdir}/work
370 %{_tomcatdir}/shared
371 %{_tomcatdir}/temp
372 # tomcat wants to regenerate tomcat-users.xml
373 %attr(775,root,http) %dir %{_sysconfdir}/tomcat
374 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/tomcat/*
375 %attr(754,root,root) /etc/rc.d/init.d/tomcat
376 %dir %{_vardir}
377 %attr(1730,root,http) %dir %{_vardir}/work
378 %attr(1730,root,http) %dir %{_logdir}/tomcat
379
380 %files doc
381 %defattr(644,root,root,755)
382 %doc catalina/docs/*
This page took 0.117359 seconds and 3 git commands to generate.