]> git.pld-linux.org Git - packages/apache-tomcat.git/blob - apache-tomcat.spec
- fixed logdir path in %%files
[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}
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%{_logdir}/tomcat \
240             $RPM_BUILD_ROOT%{_vardir}/webapps \
241             $RPM_BUILD_ROOT%{_vardir}/work \
242             $RPM_BUILD_ROOT%{_vardir}/conf \
243             $RPM_BUILD_ROOT/etc/rc.d/init.d
244
245 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
246
247 cp -pR conf/* $CATALINADIR/conf
248 cp -HR bin common server $TOMCATDIR
249
250 cp -rf server/webapps $TOMCATDIR/server
251 cp -rf webapps $TOMCATDIR
252 cp -rf shared $TOMCATDIR
253 cp -rf temp $TOMCATDIR
254
255 ln -sf %{_logdir}/tomcat $CATALINADIR/logs
256 ln -sf %{_vardir}/work $TOMCATDIR/work
257 ln -sf %{_vardir}/conf $TOMCATDIR/conf
258 ln -sf %{_vardir}/conf $RPM_BUILD_ROOT%{_sysconfdir}
259
260 # symlinks instead of copies
261 ln -sf $(find-jar commons-el) $TOMCATDIR/common/lib/commons-el.jar
262 ln -sf $(find-jar jakarta-commons-dbcp-tomcat5) $TOMCATDIR/common/lib/jakarta-commons-dbcp-tomcat5.jar
263 ln -sf $(find-jar servlet-api) $TOMCATDIR/common/lib/servlet-api.jar
264
265 ln -sf $(find-jar commons-modeler) $TOMCATDIR/server/lib/commons-modeler.jar
266
267 %if 0
268 # do not make these symlinks as ant didn't do
269 ln -sf $(find-jar commons-daemon) $TOMCATDIR/bin/commons-daemon.jar
270 ln -sf $(find-jar activation) $TOMCATDIR/common/lib/activation.jar
271 ln -sf $(find-jar ant) $TOMCATDIR/common/lib/ant.jar
272 ln -sf $(find-jar commons-collections) $TOMCATDIR/common/lib/commons-collections.jar
273 ln -sf $(find-jar commons-dbcp) $TOMCATDIR/common/lib/commons-dbcp.jar
274 ln -sf $(find-jar commons-logging-api) $TOMCATDIR/common/lib/commons-logging-api.jar
275 ln -sf $(find-jar commons-pool) $TOMCATDIR/common/lib/commons-pool.jar
276 ln -sf $(find-jar servlet) $TOMCATDIR/common/lib/servlet.jar
277 ln -sf $(find-jar servlet) $TOMCATDIR/common/lib/servletapi4.jar
278 ln -sf $(find-jar jdbc-stdext) $TOMCATDIR/common/lib/jdbc-stdext.jar
279 ln -sf jdbc-stdext.jar $TOMCATDIR/common/lib/jdbc2_0-stdext.jar
280 ln -sf jdbc-stdext.jar $TOMCATDIR/common/lib/jdbc-stdext-2.0.jar
281 ln -sf $(find-jar jmxri) $TOMCATDIR/common/lib/jmxri.jar
282 ln -sf $(find-jar jndi) $TOMCATDIR/common/lib/jndi.jar
283 ln -sf $(find-jar jta) $TOMCATDIR/common/lib/jta.jar
284 ln -sf $(find-jar mail) $TOMCATDIR/common/lib/mail.jar
285 ln -sf $(find-jar jsse) $TOMCATDIR/common/lib/jsse.jar
286 ln -sf $(find-jar junit) $TOMCATDIR/common/lib/junit.jar
287 ln -sf $(find-jar mailapi) $TOMCATDIR/common/lib/mailapi.jar
288 ln -sf $(find-jar pop3) $TOMCATDIR/common/lib/pop3.jar
289 ln -sf pop3.jar $TOMCATDIR/common/lib/pop.jar
290 ln -sf $(find-jar smtp) $TOMCATDIR/common/lib/smtp.jar
291 ln -sf $(find-jar imap) $TOMCATDIR/common/lib/imap.jar
292 ln -sf $(find-jar commons-beanutils) $TOMCATDIR/server/lib/commons-beanutils.jar
293 ln -sf $(find-jar commons-digester) $TOMCATDIR/server/lib/commons-digester.jar
294 ln -sf $(find-jar commons-fileupload) $TOMCATDIR/server/lib/commons-fileupload.jar
295 ln -sf $(find-jar commons-logging) $TOMCATDIR/server/lib/commons-logging.jar
296 ln -sf $(find-jar jaas) $TOMCATDIR/server/lib/jaas.jar
297 ln -sf $(find-jar regexp) $TOMCATDIR/server/lib/regexp.jar
298 ln -sf $(find-jar regexp) $TOMCATDIR/server/lib/jakarta-regexp-1.2.jar
299 ln -sf $(find-jar regexp) $TOMCATDIR/server/lib/regexp-1.2.jar
300 %endif
301
302 ln -sf $(find-jar jaxp_parser_impl) $TOMCATDIR/common/endorsed/jaxp_parser_impl.jar
303 ln -sf $(find-jar xml-commons-apis) $TOMCATDIR/common/endorsed/xml-commons-apis.jar
304 ln -sf $(find-jar struts-core) $TOMCATDIR/server/webapps/admin/WEB-INF/lib/struts-core.jar
305
306 %clean
307 rm -rf $RPM_BUILD_ROOT
308
309 %pre
310 %groupadd -g 51 -r -f http
311 %useradd -u 51 -r -d /home/services/httpd -s /bin/false -c "HTTP User" -g http http
312
313 %post
314 /sbin/chkconfig --add tomcat
315 %service tomcat restart
316
317 %preun
318 if [ "$1" = "0" ]; then
319         %service tomcat stop
320         /sbin/chkconfig --del tomcat
321 fi
322
323 %postun
324 if [ "$1" = "0" ]; then
325         %userremove http
326         %groupremove http
327 fi
328
329 %files
330 %defattr(644,root,root,755)
331 %doc build/{RELEASE-NOTES,RUNNING.txt}
332 %attr(754,root,root) /etc/rc.d/init.d/tomcat
333 %{_sysconfdir}
334 %dir %{_tomcatdir}
335 %dir %{_tomcatdir}/conf
336 %dir %{_tomcatdir}/bin
337 %{_tomcatdir}/bin/catalina-tasks.xml
338 %{_tomcatdir}/bin/jkstatus-tasks.xml
339 %{_tomcatdir}/bin/jmxaccessor-tasks.xml
340 %attr(755,root,root) %{_tomcatdir}/bin/*.sh
341 %{_tomcatdir}/bin/*.jar
342 %dir %{_tomcatdir}/common
343 %dir %{_tomcatdir}/common/classes
344 %dir %{_tomcatdir}/common/endorsed
345 %dir %{_tomcatdir}/common/i18n
346 %{_tomcatdir}/common/endorsed/*.jar
347 %{_tomcatdir}/common/i18n/tomcat-i18n-en.jar
348 %lang(es) %{_tomcatdir}/common/i18n/tomcat-i18n-es.jar
349 %lang(fr) %{_tomcatdir}/common/i18n/tomcat-i18n-fr.jar
350 %lang(ja) %{_tomcatdir}/common/i18n/tomcat-i18n-ja.jar
351 %{_tomcatdir}/common/lib
352 %dir %{_tomcatdir}/server
353 %dir %{_tomcatdir}/server/classes
354 %{_tomcatdir}/server/lib
355 %{_tomcatdir}/server/webapps
356 %{_tomcatdir}/webapps
357 %{_tomcatdir}/work
358 %{_tomcatdir}/shared
359 %{_tomcatdir}/temp
360 %dir %{_vardir}
361 # tomcat config has to be writeable because of tomacta-users.xml file and
362 # Catalina dir
363 %config(noreplace) %attr(775,root,http) %verify(not md5 mtime size) %{_vardir}/conf
364 %dir %attr(1730,root,http) %{_vardir}/work
365 %dir %attr(775,root,http) %{_vardir}/webapps
366 %dir %attr(775,root,http) %{_logdir}/tomcat
367 %{_vardir}/logs
368
369 %if 0
370 %files doc
371 %defattr(644,root,root,755)
372 %doc catalina/docs/*
373 %endif
This page took 0.058281 seconds and 3 git commands to generate.