]> git.pld-linux.org Git - packages/apache-tomcat.git/blobdiff - apache-tomcat.spec
- remove container/webapps/admin/images/Thumbs.db, causes magic db to abort
[packages/apache-tomcat.git] / apache-tomcat.spec
index d59df3848fea8e02968b063cde12615e83671683..43e6189c06b0519f9a09ef366a034c001ca61b10 100644 (file)
@@ -1,63 +1,84 @@
+# TODO
+# - packages for *.renametojar files (-cgi and -ssi in server/lib)
+#
 # Conditional build:
-%bcond_without javadoc # skip building javadocs
+%bcond_without javadoc         # skip building javadocs
+%bcond_with    jta             # put jta jar into tomcat lib dir.
+%bcond_without java_sun        # build with gcj (does not work)
 #
 Summary:       Apache Servlet/JSP Engine, RI for Servlet 2.4/JSP 2.0 API
 Summary(pl.UTF-8):     Silnik Servlet/JSP Apache będący wzorcową implementacją API Servlet 2.4/JSP 2.0
 Name:          apache-tomcat
-Version:       5.5.23
-Release:       0.1
-License:       Apache
-Group:         Development/Languages/Java
+Version:       5.5.27
+Release:       0.3
+License:       Apache v2.0
+Group:         Networking/Daemons/Java
 Source0:       http://www.apache.org/dist/tomcat/tomcat-5/v%{version}/src/%{name}-%{version}-src.tar.gz
-# Source0-md5: 362d1d8b15dc09882440dcab8c592dd7
-Source1:       jakarta-tomcat.init
+# Source0-md5: eb3f196013550b9b1684e4ff18593a8e
+Source1:       %{name}.init
+Source2:       %{name}.sysconfig
+Source10:      %{name}-context-ROOT.xml
+Source11:      %{name}-context-balancer.xml
+Source12:      %{name}-context-jsp-examples.xml
+Source13:      %{name}-context-tomcat-docs.xml
+Source14:      %{name}-context-webdav.xml
 Patch0:                %{name}-skip-servletapi.patch
 Patch1:                %{name}-nsis.patch
 Patch2:                %{name}-native.patch
 Patch3:                %{name}-skip-jdt.patch
 Patch4:                %{name}-no-connectors.patch
+Patch5:                %{name}-dbcp.patch
+# this patch is needed for struts >= 1.3
+Patch6:                %{name}-struts.patch
+# WTF? Why is it needed? Is it related to struts version?
+Patch7:                %{name}-admin-struts.patch
 URL:           http://tomcat.apache.org/
+%if %{with java_sun}
+BuildRequires: java-sun >= 1.5
+BuildRequires: java-sun-jre >= 1.5
+%else
+BuildRequires: java-gcj-compat-devel
+# BuildRequires:       jsse >= 0:1.0.3
+%endif
 BuildRequires: ant >= 1.5.3
 BuildRequires: ant-trax
 BuildRequires: eclipse-jdt
 BuildRequires: jaas
-BuildRequires: jakarta-commons-beanutils >= 1.7
-BuildRequires: jakarta-commons-collections >= 0:3.1
-BuildRequires: jakarta-commons-collections-source >= 0:3.1
-BuildRequires: jakarta-commons-daemon >= 1.0
-BuildRequires: jakarta-commons-dbcp >= 0:1.2.1
-BuildRequires: jakarta-commons-dbcp-source >= 0:1.2.1
-BuildRequires: jakarta-commons-digester >= 0:1.7
-BuildRequires: jakarta-commons-el >= 0:1.0
-BuildRequires: jakarta-commons-fileupload >= 0:1.0
-BuildRequires: jakarta-commons-httpclient
-BuildRequires: jakarta-commons-launcher >= 0:0.9
-BuildRequires: jakarta-commons-logging >= 0:1.0.4
-BuildRequires: jakarta-commons-modeler >= 2.0
-BuildRequires: jakarta-commons-pool >= 0:1.2
-BuildRequires: jakarta-commons-pool-source >= 0:1.2
 BuildRequires: jakarta-regexp >= 0:1.3
-BuildRequires: jakarta-servletapi5
-#BuildRequires:        jakarta-struts >= 0:1.2.7
-BuildRequires: jakarta-struts >= 1.0.2
-BuildRequires: javamail >= 0:1.3.1
+BuildRequires: java-commons-beanutils >= 1.7
+BuildRequires: java-commons-chain
+BuildRequires: java-commons-collections >= 0:3.1
+BuildRequires: java-commons-collections-tomcat5 >= 0:3.1
+BuildRequires: java-commons-daemon >= 1.0
+BuildRequires: java-commons-dbcp >= 0:1.2.1
+BuildRequires: java-commons-dbcp-tomcat5 >= 0:1.2.1
+BuildRequires: java-commons-digester >= 0:1.7
+BuildRequires: java-commons-el >= 0:1.0
+BuildRequires: java-commons-fileupload >= 0:1.0
+BuildRequires: java-commons-httpclient
+BuildRequires: java-commons-io >= 1.4
+BuildRequires: java-commons-launcher >= 0:0.9
+BuildRequires: java-commons-logging >= 0:1.0.4
+BuildRequires: java-commons-modeler >= 2.0
+BuildRequires: java-commons-pool >= 0:1.2
+BuildRequires: java-commons-pool-tomcat5 >= 0:1.2
+%{?with_jta:BuildRequires:     java-jta >= 0:1.0.1}
+BuildRequires: java-log4j
+BuildRequires: java-puretls
+BuildRequires: java-servletapi5 = %{version}
+#BuildRequires:        java-struts >= 0:1.2.7
+BuildRequires: java-struts >= 1.0.2
+BuildRequires: java-xerces >= 0:2.7.1
+BuildRequires: java-xml-commons
+#BuildRequires:        java-xml-commons >= 1.3
+BuildRequires: java-mail >= 0:1.3.1
 BuildRequires: jaxp_parser_impl >= 0:2.7.1
 BuildRequires: jdbc-stdext >= 0:2.0
-BuildRequires: jdk >= 1.5
 BuildRequires: jmx
 BuildRequires: jndi >= 0:1.2.1
 BuildRequires: jpackage-utils
-BuildRequires: jsse >= 0:1.0.3
-BuildRequires: jta >= 0:1.0.1
 BuildRequires: junit >= 0:3.8.1
-BuildRequires: logging-log4j
-#BuildRequires:        mx4j >= 0:3.0.1
-BuildRequires: mx4j >= 1.1.1
-BuildRequires: puretls
 BuildRequires: rpmbuild(macros) >= 1.300
-BuildRequires: xerces-j >= 0:2.7.1
-BuildRequires: xml-commons
-#BuildRequires:        xml-commons >= 1.3
 Requires(post,postun): /sbin/ldconfig
 Requires(post,preun):  /sbin/chkconfig
 Requires(postun):      /usr/sbin/groupdel
@@ -66,27 +87,31 @@ Requires(pre):      /bin/id
 Requires(pre): /usr/bin/getgid
 Requires(pre): /usr/sbin/groupadd
 Requires(pre): /usr/sbin/useradd
+Requires:      %{name}-jasper = %{version}-%{release}
 Requires:      jaas
 #Requires:     jaf >= 1.0.1
-Requires:      jakarta-commons-beanutils
-Requires:      jakarta-commons-collections
-Requires:      jakarta-commons-digester
-Requires:      jakarta-commons-fileupload
-Requires:      jakarta-commons-logging
-Requires:      jakarta-regexp
-Requires:      jakarta-servletapi >= 4
+Requires:      java-commons-beanutils
+Requires:      java-commons-collections
+#Requires:     java-commons-dbcp-tomcat5
+Requires:      java-commons-digester
+Requires:      java-commons-el
+#Requires:     java-commons-fileupload
+Requires:      java-commons-logging
+Requires:      java-commons-modeler
+Requires:      java-regexp
+Requires:      java-servletapi5 = %{version}
+Requires:      java-xml-commons
 Requires:      javamail >= 1.2
 Requires:      jaxp_parser_impl
 Requires:      jdbc-stdext >= 2.0
 Requires:      jndi >= 1.2.1
 Requires:      jre >= 1.2
 Requires:      jsse >= 1.0.2
-Requires:      jta >= 1.0.1
-Requires:      mx4j >= 1.1.1
+%{?with_jta:Requires:  jta >= 1.0.1}
 Requires:      rc-scripts
-Requires:      xml-commons
-Provides:      group(http)
-Provides:      user(http)
+Provides:      group(tomcat)
+Provides:      java-servlet-container
+Provides:      user(tomcat)
 Obsoletes:     jakarta-tomcat
 BuildArch:     noarch
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -96,6 +121,8 @@ BuildRoot:   %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %define                _vardir         %{_var}/lib/tomcat
 %define                _sysconfdir     /etc/tomcat
 
+%define find_jar() %{expand:%%define jarfile {%(jar=$(find-jar %1); echo ${jar:-%%nil})}}%{?jarfile}%{!?jarfile:%{error:find-jar %1 failed}}%{nil}
+
 %description
 Tomcat is the servlet container that is used in the official Reference
 Implementation for the Java Servlet and JavaServer Pages technologies.
@@ -115,15 +142,41 @@ Community Process.
 
 %package doc
 Summary:       The Apache Tomcat Servlet/JSP Container documentation
-Summary(pl.UTF-8):     Dokumentacja do Tomcata - kontekera Servlet/JSP
-Group:         Development/Languages/Java
+Summary(pl.UTF-8):     Dokumentacja do Tomcata - kontenera Servlet/JSP
+Group:         Documentation
 Obsoletes:     jakarta-tomcat-doc
 
 %description doc
 The Tomcat Servlet/JSP Container documentation.
 
 %description doc -l pl.UTF-8
-Dokumentacja do Tomcata - kontekera Servlet/JSP.
+Dokumentacja do Tomcata - kontenera Servlet/JSP.
+
+%package admin
+Summary:       Apache Tomcat`s Administration Web Application
+Summary(pl.UTF-8):     Panel Administracyjny dla Apache Tomcat
+Group:         Networking/Daemons/Java/Servlets
+Requires:      java-commons-chain
+
+%description admin
+Administration Web Application for Apache Tomcat.
+
+%description admin -l pl.UTF-8
+Panel Administracyjny dla Apache Tomcat.
+
+%package jasper
+Summary:       JSP compiler
+Summary(pl.UTF-8):     Kompilator JSP
+Group:         Libraries/Java
+Requires:      jpackage-utils
+
+%description jasper
+Jasper is Java ServerPages compiler used by Apache Tomcat servlet
+container.
+
+%description jasper -l pl.UTF-8
+Jasper jest kompilatorem Java ServerPages używanym przez kontener
+servletów Apache Tomcat.
 
 %prep
 %setup -q -n %{name}-%{version}-src
@@ -132,6 +185,16 @@ Dokumentacja do Tomcata - kontekera Servlet/JSP.
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
+%patch5 -p1
+%patch6 -p1
+
+# we don't need dos scripts
+rm -f bin/*.bat
+
+# causes file(1) rpm to abort, and not really neccessary file
+rm container/webapps/admin/images/Thumbs.db
+# file: Thumbs.db: ERROR: Cannot read short stream (Invalid argument)
+# rpm: error: magic_file(ms, "Thumbs.db") failed: mode 37777700644 Cannot read short stream (Invalid argument)
 
 # servletapi built from jakarta-servletapi5.spec
 rm -rf servletapi
@@ -142,79 +205,49 @@ find -name '*.jar' | xargs rm -fv
 %build
 TOPDIR=$(pwd)
 
-mkdir -p tomcat-deps
-> tomcat-deps/tomcat-dbcp.jar
-
-%if 0
-# build jasper javadocs
-cd jasper
-CLASSPATH=$(build-classpath xml-commons-apis)
-cat > build.properties <<EOF
-ant.jar=$(build-classpath ant)
-servlet-api.jar=$(build-classpath servlet-api)
-jsp-api.jar=$(build-classpath jsp-api)
-tools.jar=%{java_home}/lib/tools.jar
-xercesImpl.jar=$(build-classpath jaxp_parser_impl)
-xmlParserAPIs.jar=$(build-classpath xml-commons-apis)
-commons-collections.jar=$(build-classpath commons-collections)
-commons-logging.jar=$(build-classpath commons-logging)
-commons-daemon.jar=$(build-classpath commons-daemon)
-junit.jar=$(build-classpath junit)
-commons-el.jar=$(build-classpath commons-el)
-EOF
-# building jasper needs eclipse classes
-#%ant dist
-
-%if %{with javadoc}
-%ant javadoc \
-       -Dcompile.source=1.4 \
-       -Dbuild.compiler=modern \
-
-%endif
-cd -
-%endif
-
 # build tomcat 5.5
 cat > build.properties <<EOF
-commons-beanutils.jar=$(build-classpath commons-beanutils)
-commons-launcher.jar=$(build-classpath commons-launcher)
-commons-daemon.jar=$(build-classpath commons-daemon)
-commons-digester.jar=$(build-classpath commons-digester)
-commons-el.jar=$(build-classpath commons-el)
-commons-logging-api.jar=$(build-classpath commons-logging-api)
-commons-logging.jar=$(build-classpath commons-logging)
-commons-modeler.jar=$(build-classpath commons-modeler)
-xercesImpl.jar=$(build-classpath jaxp_parser_impl)
-xml-apis.jar=$(build-classpath xml-commons-apis)
-jdt.jar=$(build-classpath org.eclipse.jdt.core)
+commons-beanutils.jar=$(find-jar commons-beanutils-core)
+commons-launcher.jar=$(find-jar commons-launcher)
+commons-daemon.jar=$(find-jar commons-daemon)
+commons-digester.jar=$(find-jar commons-digester)
+commons-el.jar=$(find-jar commons-el)
+commons-logging-api.jar=$(find-jar commons-logging-api)
+commons-logging.jar=$(find-jar commons-logging)
+commons-modeler.jar=$(find-jar commons-modeler)
+xercesImpl.jar=$(find-jar jaxp_parser_impl)
+xml-apis.jar=$(find-jar xml-commons-apis)
+jdt.jar=$(find-jar org.eclipse.jdt.core)
 jasper-compiler-jdt.home=$TOPDIR/tomcat-deps
-commons-httpclient.jar=$(build-classpath commons-httpclient)
-commons-collections.jar=$(build-classpath commons-collections)
-commons-fileupload.jar=$(build-classpath commons-fileupload)
-jmx.jar=$(build-classpath jmx)
-jmx-tools.jar=$(build-classpath jmx)
-junit.jar=$(build-classpath junit)
-struts.jar=$(build-classpath struts)
-jcert.jar=$(build-classpath java/jcert)
-jnet.jar=$(build-classpath java/jnet)
-jsse.jar=$(build-classpath java/jsse)
-jta.jar=$(build-classpath jta)
-puretls.jar=$(build-classpath puretls)
-servlet-api.jar=$(build-classpath servlet-api)
+commons-httpclient.jar=$(find-jar commons-httpclient)
+commons-collections.jar=$(find-jar commons-collections)
+commons-fileupload.jar=$(find-jar commons-fileupload)
+commons-io.jar=$(find-jar commons-io)
+jmx.jar=$(find-jar jmx)
+jmx-tools.jar=$(find-jar jmx)
+junit.jar=$(find-jar junit)
+struts.jar=$(find-jar struts-core)
+struts-core.jar=$(find-jar struts-core)
+struts-taglib.jar=$(find-jar struts-taglib)
+jcert.jar=$(find-jar jcert)
+jnet.jar=$(find-jar jnet)
+jsse.jar=$(find-jar jsse)
+%{?with_jta:jta.jar=$(find-jar jta)}
+puretls.jar=$(find-jar puretls)
+servlet-api.jar=$(find-jar servlet-api)
 servletapi.build.notrequired=true
-jsp-api.jar=$(build-classpath jsp-api)
+jsp-api.jar=$(find-jar jsp-api)
 jspapi.build.notrequired=true
-log4j.jar=$(build-classpath log4j)
-# source is needed because source is copied modified and recompiled as tomcat jar
-# see <target name="-build-tomcat-dbcp"> in build/build.xml
-commons-collections.home=%{_prefix}/src/jakarta-commons-collections-3.1
-commons-pool.home=%{_prefix}/src/jakarta-commons-pool-1.3
-commons-dbcp.home=%{_prefix}/src/jakarta-commons-dbcp-1.2.1
-tomcat-dbcp.home=$TOPDIR/tomcat-deps
-# err, it compiles three above and then appends to the jar, so the file should exist
-tomcat-dbcp.jar=$TOPDIR/tomcat-deps/tomcat-dbcp.jar
+log4j.jar=$(find-jar log4j)
+tomcat-dbcp.jar=$(find-jar commons-dbcp-tomcat5)
+struts.lib=%{_javadir}-struts
 EOF
 
+if grep '=$' build.properties; then
+       : Some .jar could not be found
+       exit 1
+fi
+
 %ant \
        -Dcompile.source=1.4
 
@@ -224,83 +257,102 @@ cd build/build
 TOMCATDIR=$RPM_BUILD_ROOT%{_tomcatdir}
 CATALINADIR=$RPM_BUILD_ROOT/var/lib/tomcat
 
-# we don't need dos scripts
-rm -f bin/*.bat
-
 randpw=$(echo $RANDOM$$ | md5sum | cut -c 1-15)
-sed -i -e s:SHUTDOWN:${randpw}: conf/{server,server-minimal}.xml
+%{__sed} -i -e "s:SHUTDOWN:${randpw}:" conf/{server,server-minimal}.xml
 
 install -d $TOMCATDIR/bin \
            $TOMCATDIR/common/{lib,classes,endorsed} \
            $TOMCATDIR/server/{lib,classes} \
            $TOMCATDIR/webapps \
-           $RPM_BUILD_ROOT%{_sysconfdir} \
            $RPM_BUILD_ROOT%{_logdir}/tomcat \
+           $RPM_BUILD_ROOT%{_vardir}/webapps \
            $RPM_BUILD_ROOT%{_vardir}/work \
+           $RPM_BUILD_ROOT%{_vardir}/conf \
+           $RPM_BUILD_ROOT/etc/sysconfig \
            $RPM_BUILD_ROOT/etc/rc.d/init.d
 
 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
-
-cp -pR conf/* $RPM_BUILD_ROOT%{_sysconfdir}
+install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/tomcat
+
+cp -a conf/* $CATALINADIR/conf
+install %{SOURCE10} $CATALINADIR/conf/Catalina/localhost/ROOT.xml
+install %{SOURCE11} $CATALINADIR/conf/Catalina/localhost/balancer.xml
+install %{SOURCE12} $CATALINADIR/conf/Catalina/localhost/jsp-examples.xml
+install %{SOURCE13} $CATALINADIR/conf/Catalina/localhost/tomcat-docs.xml
+install %{SOURCE14} $CATALINADIR/conf/Catalina/localhost/webdav.xml
 cp -HR bin common server $TOMCATDIR
 
-cp -rf  server/webapps $TOMCATDIR/server
-cp -rf  webapps                $TOMCATDIR
-cp -rf shared          $TOMCATDIR
-cp -rf temp            $TOMCATDIR
+/home/users/glen/tmp/apache-tomcat-5.5.27-root-glen/usr/share/tomcat/server/webapps/admin/images/Thumbs.db
+cp -a server/webapps $TOMCATDIR/server
+cp -a webapps $TOMCATDIR
+cp -a shared $TOMCATDIR
+cp -a temp $CATALINADIR
 
-ln -sf %{_logdir}/tomcat       $TOMCATDIR/logs
-ln -sf %{_vardir}/work         $TOMCATDIR/work
-ln -sf %{_sysconfdir}  $TOMCATDIR/conf
+ln -sf %{_logdir}/tomcat $CATALINADIR/logs
+ln -sf %{_vardir}/work $TOMCATDIR/work
+ln -sf %{_vardir}/conf $TOMCATDIR/conf
+ln -sf %{_vardir}/conf $RPM_BUILD_ROOT%{_sysconfdir}
 
 # symlinks instead of copies
-ln -sf %{_javadir}/commons-daemon.jar  $TOMCATDIR/bin
-
-ln -sf %{_javadir}/activation.jar              $TOMCATDIR/common/lib
-ln -sf %{_javadir}/ant.jar                     $TOMCATDIR/common/lib
-ln -sf %{_javadir}/commons-collections.jar     $TOMCATDIR/common/lib
-ln -sf %{_javadir}/commons-dbcp.jar            $TOMCATDIR/common/lib
-ln -sf %{_javadir}/commons-logging-api.jar     $TOMCATDIR/common/lib
-ln -sf %{_javadir}/commons-pool.jar            $TOMCATDIR/common/lib
-ln -sf %{_javadir}/servlet.jar         $TOMCATDIR/common/lib
-ln -sf %{_javadir}/servlet.jar         $TOMCATDIR/common/lib/servletapi4.jar
-ln -sf %{_javadir}/jdbc-stdext.jar             $TOMCATDIR/common/lib/jdbc2_0-stdext.jar
-ln -sf %{_javadir}/jdbc-stdext.jar             $TOMCATDIR/common/lib/jdbc-stdext-2.0.jar
-ln -sf %{_javadir}/jmxri.jar                   $TOMCATDIR/common/lib
-ln -sf %{_javadir}/jndi.jar                    $TOMCATDIR/common/lib
-ln -sf %{_javadir}/jta.jar                     $TOMCATDIR/common/lib
-ln -sf %{_javadir}/mail.jar                    $TOMCATDIR/common/lib
-ln -sf %{_javadir}/jsse.jar                    $TOMCATDIR/common/lib
-ln -sf %{_javadir}/junit.jar                   $TOMCATDIR/common/lib
-
-ln -sf %{_javadir}/mailapi.jar         $TOMCATDIR/common/lib
-ln -sf %{_javadir}/pop3.jar                    $TOMCATDIR/common/lib
-ln -sf %{_javadir}/pop3.jar                    $TOMCATDIR/common/lib/pop.jar
-ln -sf %{_javadir}/smtp.jar                    $TOMCATDIR/common/lib
-ln -sf %{_javadir}/imap.jar                    $TOMCATDIR/common/lib
-
-ln -sf %{_javadir}/commons-beanutils.jar       $TOMCATDIR/server/lib
-ln -sf %{_javadir}/commons-digester.jar        $TOMCATDIR/server/lib
-ln -sf %{_javadir}/commons-fileupload.jar      $TOMCATDIR/server/lib
-ln -sf %{_javadir}/commons-logging.jar $TOMCATDIR/server/lib
-ln -sf %{_javadir}/commons-modeler.jar $TOMCATDIR/server/lib
-ln -sf %{_javadir}/jaas.jar                    $TOMCATDIR/server/lib/jaas.jar
-ln -sf %{_javadir}/mx4j-jmx.jar                $TOMCATDIR/server/lib
-ln -sf %{_javadir}/regexp.jar          $TOMCATDIR/server/lib
-ln -sf %{_javadir}/regexp.jar          $TOMCATDIR/server/lib/jakarta-regexp-1.2.jar
-ln -sf %{_javadir}/regexp.jar          $TOMCATDIR/server/lib/regexp-1.2.jar
-
-ln -sf %{_javadir}/jaxp_parser_impl.jar        $TOMCATDIR/common/endorsed
-ln -sf %{_javadir}/xml-commons-apis.jar        $TOMCATDIR/common/endorsed
-
-ln -sf %{_javadir}/struts.jar $TOMCATDIR/server/webapps/admin/WEB-INF/lib
+jars="commons-el commons-dbcp-tomcat5 servlet-api jsp-api commons-modeler"
+for jar in $jars; do
+       jar=$(find-jar $jar)
+       ln -sf $jar $TOMCATDIR/common/lib
+done
+
+jars="jaxp_parser_impl xml-commons-apis"
+for jar in $jars; do
+       jar=$(find-jar $jar)
+       ln -sf $jar $TOMCATDIR/common/endorsed
+done
+
+jars="struts-core struts-taglib commons-collections commons-beanutils-core commons-digester commons-chain"
+for jar in $jars; do
+       jar=$(find-jar $jar)
+       ln -sf $jar $TOMCATDIR/server/webapps/admin/WEB-INF/lib
+done
+
+%if 0
+# do not make these symlinks as ant didn't do
+jars="commons-daemon"
+for jar in $jars; do
+       jar=$(find-jar $jar)
+       ln -sf $jar $TOMCATDIR/bin
+done
+
+jars="activation ant commons-dbcp commons-logging-api commons-pool servlet jdbc-stdext
+jmxri jndi %{?with_jta:jta} mail jsse junit mailapi pop3"
+for jar in $jars; do
+       jar=$(find-jar $jar)
+       ln -sf $jar $TOMCATDIR/common/lib
+done
+
+ln -sf servlet.jar $TOMCATDIR/common/lib/servletapi4.jar
+ln -sf jdbc-stdext.jar $TOMCATDIR/common/lib/jdbc2_0-stdext.jar
+ln -sf jdbc-stdext.jar $TOMCATDIR/common/lib/jdbc-stdext-2.0.jar
+ln -sf pop3.jar $TOMCATDIR/common/lib/pop.jar
+
+jars="commons-beanutils commons-digester commons-fileupload commons-logging jaas regexp"
+for jar in $jars; do
+       jar=$(find-jar $jar)
+       ln -sf $jar $TOMCATDIR/server/lib
+done
+ln -sf regexp.jar $TOMCATDIR/server/lib/jakarta-regexp-1.2.jar
+ln -sf regexp.jar $TOMCATDIR/server/lib/regexp-1.2.jar
+%endif
+
+install -d $RPM_BUILD_ROOT%{_javadir}
+mv $TOMCATDIR/common/lib/jasper*.jar $RPM_BUILD_ROOT%{_javadir}
+ln -sf %{_javadir}/jasper-compiler-jdt.jar $TOMCATDIR/common/lib
+ln -sf %{_javadir}/jasper-compiler.jar $TOMCATDIR/common/lib
+ln -sf %{_javadir}/jasper-runtime.jar $TOMCATDIR/common/lib
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %pre
-%groupadd -g 51 -r -f http
-%useradd -u 51 -r -d /home/services/httpd -s /bin/false -c "HTTP User" -g http http
+%groupadd -g 234 -r -f tomcat
+%useradd -u 234 -r -d /var/lib/tomcat -s /bin/false -c "Tomcat User" -g tomcat tomcat
 
 %post
 /sbin/chkconfig --add tomcat
@@ -314,18 +366,18 @@ fi
 
 %postun
 if [ "$1" = "0" ]; then
-       %userremove http
-       %groupremove http
+       %userremove tomcat
+       %groupremove tomcat
 fi
 
 %files
 %defattr(644,root,root,755)
 %doc build/{RELEASE-NOTES,RUNNING.txt}
-# tomcat wants to regenerate tomcat-users.xml
-%dir %attr(775,root,http) %{_sysconfdir}
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*
 %attr(754,root,root) /etc/rc.d/init.d/tomcat
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/tomcat
+%{_sysconfdir}
 %dir %{_tomcatdir}
+%dir %{_tomcatdir}/conf
 %dir %{_tomcatdir}/bin
 %{_tomcatdir}/bin/catalina-tasks.xml
 %{_tomcatdir}/bin/jkstatus-tasks.xml
@@ -342,22 +394,51 @@ fi
 %lang(fr) %{_tomcatdir}/common/i18n/tomcat-i18n-fr.jar
 %lang(ja) %{_tomcatdir}/common/i18n/tomcat-i18n-ja.jar
 %{_tomcatdir}/common/lib
-%{_tomcatdir}/conf
-%{_tomcatdir}/logs
 %dir %{_tomcatdir}/server
 %dir %{_tomcatdir}/server/classes
 %{_tomcatdir}/server/lib
-%{_tomcatdir}/server/webapps
+%dir %{_tomcatdir}/server/webapps
+%{_tomcatdir}/server/webapps/host-manager
+%{_tomcatdir}/server/webapps/manager
 %{_tomcatdir}/webapps
 %{_tomcatdir}/work
 %{_tomcatdir}/shared
-%{_tomcatdir}/temp
 %dir %{_vardir}
-%dir %attr(1730,root,http) %{_vardir}/work
-%dir %attr(1730,root,http) %{_logdir}/tomcat
+%dir %{_vardir}/conf
+%dir %{_vardir}/conf/Catalina
+%dir %{_vardir}/conf/Catalina/localhost
+# tomcat config has to be writeable because of tomacta-users.xml file and Catalina dir
+%config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/MANIFEST.MF
+%config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/catalina.policy
+%config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.properties*
+%config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.manifest
+%config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.xml
+%config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/balancer.xml
+%config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/host-manager.xml
+%config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/jsp-examples.xml
+%config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/manager.xml
+%config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/ROOT.xml
+%config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/tomcat-docs.xml
+%config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/webdav.xml
+%dir %attr(1730,root,tomcat) %{_vardir}/work
+%dir %attr(775,root,tomcat) %{_vardir}/webapps
+%dir %attr(775,root,tomcat) %{_vardir}/temp
+%dir %attr(775,root,tomcat) %{_logdir}/tomcat
+%{_vardir}/logs
 
 %if 0
 %files doc
 %defattr(644,root,root,755)
 %doc catalina/docs/*
 %endif
+
+%files admin
+%defattr(644,root,root,755)
+%config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/admin.xml
+%{_tomcatdir}/server/webapps/admin
+
+%files jasper
+%defattr(644,root,root,755)
+%{_javadir}/jasper-compiler-jdt.jar
+%{_javadir}/jasper-compiler.jar
+%{_javadir}/jasper-runtime.jar
This page took 0.800858 seconds and 4 git commands to generate.