]> git.pld-linux.org Git - packages/apache-tomcat.git/blob - apache-tomcat.spec
- s/jakarta-struts/java-struts/
[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 # this patch is needed for struts >= 1.3
24 Patch6:         %{name}-struts.patch
25 URL:            http://tomcat.apache.org/
26 BuildRequires:  ant >= 1.5.3
27 BuildRequires:  ant-trax
28 BuildRequires:  eclipse-jdt
29 BuildRequires:  jaas
30 BuildRequires:  java-commons-httpclient
31 BuildRequires:  jakarta-regexp >= 0:1.3
32 #BuildRequires: java-struts >= 0:1.2.7
33 BuildRequires:  java-struts >= 1.0.2
34 BuildRequires:  java-commons-beanutils >= 1.7
35 BuildRequires:  java-commons-collections >= 0:3.1
36 BuildRequires:  java-commons-collections-tomcat5 >= 0:3.1
37 BuildRequires:  java-commons-daemon >= 1.0
38 BuildRequires:  java-commons-dbcp >= 0:1.2.1
39 BuildRequires:  java-commons-dbcp-tomcat5 >= 0:1.2.1
40 BuildRequires:  java-commons-digester >= 0:1.7
41 BuildRequires:  java-commons-el >= 0:1.0
42 BuildRequires:  java-commons-fileupload >= 0:1.0
43 BuildRequires:  java-commons-io >= 1.4
44 BuildRequires:  java-commons-launcher >= 0:0.9
45 BuildRequires:  java-commons-logging >= 0:1.0.4
46 BuildRequires:  java-commons-modeler >= 2.0
47 BuildRequires:  java-commons-pool >= 0:1.2
48 BuildRequires:  java-commons-pool-tomcat5 >= 0:1.2
49 BuildRequires:  java-servletapi5 = %{version}
50 BuildRequires:  javamail >= 0:1.3.1
51 BuildRequires:  jaxp_parser_impl >= 0:2.7.1
52 BuildRequires:  jdbc-stdext >= 0:2.0
53 BuildRequires:  jdk >= 1.5
54 BuildRequires:  jmx
55 BuildRequires:  jndi >= 0:1.2.1
56 BuildRequires:  jpackage-utils
57 BuildRequires:  jsse >= 0:1.0.3
58 BuildRequires:  jta >= 0:1.0.1
59 BuildRequires:  junit >= 0:3.8.1
60 BuildRequires:  logging-log4j
61 BuildRequires:  puretls
62 BuildRequires:  rpmbuild(macros) >= 1.300
63 BuildRequires:  xerces-j >= 0:2.7.1
64 BuildRequires:  xml-commons
65 #BuildRequires: xml-commons >= 1.3
66 Requires(post,postun):  /sbin/ldconfig
67 Requires(post,preun):   /sbin/chkconfig
68 Requires(postun):       /usr/sbin/groupdel
69 Requires(postun):       /usr/sbin/userdel
70 Requires(pre):  /bin/id
71 Requires(pre):  /usr/bin/getgid
72 Requires(pre):  /usr/sbin/groupadd
73 Requires(pre):  /usr/sbin/useradd
74 Requires:       jaas
75 #Requires:      jaf >= 1.0.1
76 Requires:       jakarta-regexp
77 #Requires:      java-commons-beanutils
78 #Requires:      java-commons-collections
79 #Requires:      java-commons-dbcp-tomcat5
80 #Requires:      java-commons-digester
81 Requires:       java-commons-el
82 #Requires:      java-commons-fileupload
83 #Requires:      java-commons-logging
84 Requires:       java-servletapi5 = %{version}-%{release}
85 Requires:       javamail >= 1.2
86 Requires:       jaxp_parser_impl
87 Requires:       jdbc-stdext >= 2.0
88 Requires:       jndi >= 1.2.1
89 Requires:       jre >= 1.2
90 Requires:       jsse >= 1.0.2
91 Requires:       jta >= 1.0.1
92 Requires:       rc-scripts
93 Requires:       xml-commons
94 Provides:       group(http)
95 Provides:       user(http)
96 Obsoletes:      jakarta-tomcat
97 BuildArch:      noarch
98 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
99
100 %define         _tomcatdir      %{_datadir}/tomcat
101 %define         _logdir         %{_var}/log
102 %define         _vardir         %{_var}/lib/tomcat
103 %define         _sysconfdir     /etc/tomcat
104
105 %description
106 Tomcat is the servlet container that is used in the official Reference
107 Implementation for the Java Servlet and JavaServer Pages technologies.
108 The Java Servlet and JavaServer Pages specifications are developed by
109 Sun under the Java Community Process.
110
111 Tomcat is developed in an open and participatory environment and
112 released under the Apache Software License. Tomcat is intended to be a
113 collaboration of the best-of-breed developers from around the world.
114 We invite you to participate in this open development project.
115
116 %description -l pl.UTF-8
117 Tomcat to kontener serwletowy używany przez oficjalną implementację
118 wzorcową technologii Java Servlet i JavaServer Pages. Specyfikacje
119 Java Servlet i JavaServer Pages są rozwijane przez Suna zgodnie z Java
120 Community Process.
121
122 %package doc
123 Summary:        The Apache Tomcat Servlet/JSP Container documentation
124 Summary(pl.UTF-8):      Dokumentacja do Tomcata - kontenera Servlet/JSP
125 Group:          Development/Languages/Java
126 Obsoletes:      jakarta-tomcat-doc
127
128 %description doc
129 The Tomcat Servlet/JSP Container documentation.
130
131 %description doc -l pl.UTF-8
132 Dokumentacja do Tomcata - kontenera Servlet/JSP.
133
134 %prep
135 %setup -q -n %{name}-%{version}-src
136 %patch0 -p1
137 %patch1 -p1
138 %patch2 -p1
139 %patch3 -p1
140 %patch4 -p1
141 %patch5 -p1
142 %patch6 -p1
143
144 # servletapi built from jakarta-servletapi5.spec
145 rm -rf servletapi
146
147 # Remove pre-built jars
148 find -name '*.jar' | xargs rm -fv
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}/java-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.07254 seconds and 3 git commands to generate.