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