]> git.pld-linux.org Git - packages/tomcat.git/blobdiff - tomcat.spec
- jclver back to 1.1.1 (doesn't build with newer); eclipse-jdt R bump to >= 4.2.2
[packages/tomcat.git] / tomcat.spec
index 1bb8137069cf261263e0626d637faaaac231304e..0a50905eb285c7a8c3f39814281e05385bc9b919 100644 (file)
@@ -1,85 +1,57 @@
-# TODO
-# - packages for *.renametojar files (-cgi and -ssi in server/lib)
-#
+
 # Conditional build:
 %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
+
+%define                jspapiver       2.2
+%define                servletapiver   3.0
+
+# Java Commons Logging version. Must be >= 1.1.
+%define                jclver  1.1.1
+
+%include       /usr/lib/rpm/macros.java
+Summary:       Web server and Servlet/JSP Engine, RI for Servlet %{servletapiver}/JSP %{jspapiver} API
+Summary(pl.UTF-8):     Serwer www i silnik Servlet/JSP będący wzorcową implementacją API Servlet %{servletapiver}/JSP %{jspapiver}
 Name:          tomcat
-Version:       5.5.27
-Release:       0.3
+Version:       7.0.40
+Release:       1
 License:       Apache v2.0
 Group:         Networking/Daemons/Java
-Source0:       http://www.apache.org/dist/tomcat/tomcat-5/v%{version}/src/apache-%{name}-%{version}-src.tar.gz
-# Source0-md5: eb3f196013550b9b1684e4ff18593a8e
+Source0:       http://www.apache.org/dist/tomcat/tomcat-7/v%{version}/src/apache-%{name}-%{version}-src.tar.gz
+# Source0-md5: 158df72e6c046fa5d46a691a7c0805e6
 Source1:       apache-%{name}.init
 Source2:       apache-%{name}.sysconfig
-Source10:      apache-%{name}-context-ROOT.xml
-Source11:      apache-%{name}-context-balancer.xml
-Source12:      apache-%{name}-context-jsp-examples.xml
-Source13:      apache-%{name}-context-tomcat-docs.xml
-Source14:      apache-%{name}-context-webdav.xml
-Patch0:                apache-%{name}-skip-servletapi.patch
-Patch1:                apache-%{name}-nsis.patch
-Patch2:                apache-%{name}-native.patch
-Patch3:                apache-%{name}-skip-jdt.patch
-Patch4:                apache-%{name}-no-connectors.patch
-Patch5:                apache-%{name}-dbcp.patch
-# this patch is needed for struts >= 1.3
-Patch6:                apache-%{name}-struts.patch
-# WTF? Why is it needed? Is it related to struts version?
-Patch7:                apache-%{name}-admin-struts.patch
+Source3:       %{name}-build.properties
+Source10:      %{name}-context-ROOT.xml
+Source11:      %{name}-context-docs.xml
+Source12:      %{name}-context-manager.xml
+Source13:      %{name}-context-host-manager.xml
+Source14:      %{name}-context-examples.xml
+Source100:     http://www.apache.org/dist/commons/logging/source/commons-logging-%{jclver}-src.tar.gz
+# Source100-md5:       e5cfa8cca13152d7545fde6b1783c60a
+Patch0:                %{name}-build.xml.patch
+Patch1:                server.xml-URIEncoding-utf8.patch
+Patch2:                %{name}-LDAPUserDatabase.patch
+Patch3:                %{name}-catalina.policy-javadir.patch
+Patch4:                %{name}-userdir.patch
+Patch100:      jcl-build.xml.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-regexp >= 0:1.3
-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: eclipse-jdt >= 4.2.2
+BuildRequires: java(JSR109)
+BuildRequires: java-avalon-logkit
 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-commons-dbcp-tomcat5 >= 0:1.1
+BuildRequires: java-commons-pool-tomcat5
+BuildRequires: java-geronimo-spec-jaxrpc
+BuildRequires: java-jdbc-mysql
+BuildRequires: java-junit
 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: jmx
-BuildRequires: jndi >= 0:1.2.1
+BuildRequires: java-mail
+BuildRequires: jdk
 BuildRequires: jpackage-utils
-BuildRequires: junit >= 0:3.8.1
-BuildRequires: rpmbuild(macros) >= 1.300
-Requires(post,postun): /sbin/ldconfig
+BuildRequires: rpm-javaprov
+BuildRequires: rpmbuild(macros) >= 1.553
+BuildRequires: sed >= 4.0
 Requires(post,preun):  /sbin/chkconfig
 Requires(postun):      /usr/sbin/groupdel
 Requires(postun):      /usr/sbin/userdel
@@ -87,31 +59,25 @@ 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:      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:      java(jaxp_parser_impl)
+Requires:      java(jndi) >= 1.2.1
+Requires:      java-%{name}-catalina = %{version}-%{release}
+Requires:      java-%{name}-coyote = %{version}-%{release}
+Requires:      java-%{name}-jasper = %{version}-%{release}
+Requires:      java-commons-dbcp-tomcat5 >= 0:1.1
+Requires:      java-commons-pool-tomcat5
+Requires:      java-jdbc-mysql
+Requires:      java-mail
+Requires:      java-servletapi = %{version}-%{release}
+Requires:      jpackage-utils
 Requires:      jre >= 1.2
-Requires:      jsse >= 1.0.2
-%{?with_jta:Requires:  jta >= 1.0.1}
+Requires:      jsvc
 Requires:      rc-scripts
+Suggests:      tomcat-native
+Provides:      group(servlet)
 Provides:      group(tomcat)
-Provides:      java-servlet-container
 Provides:      user(tomcat)
+Obsoletes:     apache-tomcat
 Obsoletes:     jakarta-tomcat
 BuildArch:     noarch
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -119,7 +85,6 @@ BuildRoot:   %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %define                _tomcatdir      %{_datadir}/tomcat
 %define        _logdir         %{_var}/log
 %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}
 
@@ -132,7 +97,6 @@ Sun under the Java Community Process.
 Tomcat is developed in an open and participatory environment and
 released under the Apache Software License. Tomcat is intended to be a
 collaboration of the best-of-breed developers from around the world.
-We invite you to participate in this open development project.
 
 %description -l pl.UTF-8
 Tomcat to kontener serwletowy używany przez oficjalną implementację
@@ -140,218 +104,299 @@ wzorcową technologii Java Servlet i JavaServer Pages. Specyfikacje
 Java Servlet i JavaServer Pages są rozwijane przez Suna zgodnie z Java
 Community Process.
 
-%package doc
+%package webapp-docs
 Summary:       The Apache Tomcat Servlet/JSP Container documentation
 Summary(pl.UTF-8):     Dokumentacja do Tomcata - kontenera Servlet/JSP
 Group:         Documentation
+Obsoletes:     apache-tomcat-doc
 Obsoletes:     jakarta-tomcat-doc
+Obsoletes:     tomcat-doc
 
-%description doc
+%description webapp-docs
 The Tomcat Servlet/JSP Container documentation.
 
-%description doc -l pl.UTF-8
+%description webapp-docs -l pl.UTF-8
 Dokumentacja do Tomcata - kontenera Servlet/JSP.
 
-%package admin
-Summary:       Apache Tomcat`s Administration Web Application
-Summary(pl.UTF-8):     Panel Administracyjny dla Apache Tomcat
+%package webapp-manager
+Summary:       The Apache Tomcat Servlet/JSP application manager
+Summary(pl.UTF-8):     Zarządca aplikacji w Tomcacie
+Group:         Networking/Daemons/Java/Servlets
+Requires:      %{name} = %{version}-%{release}
+
+%description webapp-manager
+The Apache Tomcat Servlet/JSP application manager.
+
+%description webapp-manager -l pl.UTF-8
+Zarządca aplikacji w Tomcacie.
+
+%package webapp-host-manager
+Summary:       The Apache Tomcat Servlet/JSP virtual hosts manager
+Summary(pl.UTF-8):     Zarządca wirtualnych hostów w Tomcacie
+Group:         Networking/Daemons/Java/Servlets
+Requires:      %{name} = %{version}-%{release}
+Obsoletes:     tomcat-admin
+
+%description webapp-host-manager
+The Apache Tomcat Servlet/JSP virtual hosts manager.
+
+%description webapp-host-manager -l pl.UTF-8
+Zarządca wirtualnych hostów w Tomcacie.
+
+%package webapp-examples
+Summary:       The Apache Tomcat Servlet/JSP example applications
+Summary(pl.UTF-8):     Przykładowe aplikacje dla Tomcata
 Group:         Networking/Daemons/Java/Servlets
-Requires:      java-commons-chain
+Requires:      %{name} = %{version}-%{release}
+
+%description webapp-examples
+The Apache Tomcat Servlet/JSP example applications.
+
+%description webapp-examples -l pl.UTF-8
+Przykładowe aplikacje dla Tomcata.
+
+%package webservices
+Summary:       Web Services support (JSR 109)
+Summary(pl.UTF-8):     Wsparcie dla Web Services (JSR 109)
+Group:         Libraries/Java
+Requires:      %{name} = %{version}-%{release}
+Requires:      java(JSR109)
+Requires:      java-geronimo-spec-jaxrpc
+
+%description webservices
+Factories for JSR 109 which may be used to resolve web services
+references.
+
+%description webservices -l pl.UTF-8
+Wsparcie dla JSR 109 (Web Services).
+
+%package jmx
+Summary:       JMX remote interface for Tomcat
+Summary(pl.UTF-8):     Zdalny interfejs JMX dla Tomcata
+Group:         Libraries/Java
+Requires:      %{name} = %{version}-%{release}
 
-%description admin
-Administration Web Application for Apache Tomcat.
+%description jmx
+JMX remote interface for Tomcat.
 
-%description admin -l pl.UTF-8
-Panel Administracyjny dla Apache Tomcat.
+%description jmx -l pl.UTF-8
+Zdalny interfejs JMX dla Tomcata.
 
-%package jasper
+%package -n java-tomcat-catalina
+Summary:       Tomcat's servlet engine
+Summary(pl.UTF-8):     Silnik servletów dla Tomcata.
+Group:         Libraries/Java
+Requires:      jpackage-utils
+
+%description -n java-tomcat-catalina
+Catalina is Tomcat's servlet container. Catalina implements Sun
+Microsystems' specifications for servlet and JavaServer Pages (JSP).
+
+%description -n java-tomcat-catalina -l pl.UTF-8
+Bibliotek Javy zawierające silnik servletów i JSP tomcata.
+
+%package -n java-tomcat-coyote
+Summary:       Tomcat HTTP connector
+Summary(pl.UTF-8):     Interfejs HTTP dla Tomcata
+Group:         Libraries/Java
+Requires:      jpackage-utils
+
+%description -n java-tomcat-coyote
+Coyote is Tomcat's HTTP Connector component that supports the HTTP 1.1
+protocol for the web server or application container. Coyote listens
+for incoming connections on a specific TCP port on the server and
+forwards the request to the Tomcat Engine to process the request and
+send back a response to the requesting client.
+
+%description -n java-tomcat-coyote -l pl.UTF-8
+Biblioteki Javy zawierające serwer HTTP 1.1 dla Tomcata.
+
+%package -n java-tomcat-jasper
 Summary:       JSP compiler
 Summary(pl.UTF-8):     Kompilator JSP
 Group:         Libraries/Java
+Requires:      java-eclipse-jdt >= 4.2.2
 Requires:      jpackage-utils
+Obsoletes:     apache-tomcat-jasper
+Obsoletes:     tomcat-jasper
 
-%description jasper
+%description -n java-tomcat-jasper
 Jasper is Java ServerPages compiler used by Apache Tomcat servlet
 container.
 
-%description jasper -l pl.UTF-8
+%description -n java-tomcat-jasper -l pl.UTF-8
 Jasper jest kompilatorem Java ServerPages używanym przez kontener
 servletów Apache Tomcat.
 
+%package -n java-servletapi
+Summary:       Java servlet and JSP implementation classes
+Summary(pl.UTF-8):     Klasy z implementacją Java Servlet i JSP
+Group:         Libraries/Java
+Provides:      java(jsp) = %{jspapiver}
+Provides:      java(servlet) = %{servletapiver}
+Obsoletes:     jakarta-servletapi5
+Obsoletes:     jakarta-servletapi5
+Obsoletes:     java-servletapi5
+
+%description -n java-servletapi
+Implementation classes of the Java Servlet and JSP APIs (packages
+javax.servlet, javax.servlet.http, javax.servlet.jsp, and
+javax.servlet.jsp.tagext).
+
+%description -n java-servletapi -l pl.UTF-8
+Implementacje klas API Java Servlet i JSP (pakiety javax.servlet,
+javax.servlet.http, javax.servlet.jsp i java.servlet.jsp.tagext).
+
 %prep
-%setup -q -n apache-%{name}-%{version}-src
+%setup -q -a100 -n apache-%{name}-%{version}-src
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
-%patch5 -p1
-%patch6 -p1
 
-# we don't need dos scripts
-rm -f container/catalina/src/bin/*.bat
+# Prepare java-commmons-logging sources
+mkdir -p output/extras/logging
+mv commons-logging-%{jclver}-src output/extras/logging
+cd output/extras/logging/commons-logging-%{jclver}-src
+%undos build.xml
+%patch100 -p1
+cd -
+
+# we don't need those scripts
+rm bin/*.bat
+rm bin/{startup,shutdown}.sh
+
+cp -a %{SOURCE3} build.properties
+cat >>build.properties <<EOF
+
+log4j.jar=%(find-jar log4j)
+log4j12.jar=%(find-jar log4j)
+junit.jar=%(find-jar junit)
+logkit.jar=%(find-jar avalon-logkit)
+avalon-framework-impl.jar=%(find-jar avalon-framework-impl.jar)
+avalon-framework-api.jar=%(find-jar avalon-framework-api.jar)
+servletapi.jar=$(pwd)/output/build/lib/servlet-api.jar
+commons-logging.version=%{jclver}
+EOF
 
-# 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)
+%build
+export LC_ALL=en_US
 
-# servletapi built from jakarta-servletapi5.spec
-rm -rf servletapi
+# Base package
+%ant \
+       -Drpm.javadir=%{_javadir} \
+       -Drpm.libdir=%{_libdir}
 
-# Remove pre-built jars
-find -name '*.jar' | xargs rm -fv
+# Extras
+mkdir -p output/extras/webservices
 
-%build
-TOPDIR=$(pwd)
-
-# build tomcat 5.5
-cat > build.properties <<EOF
-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=$(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=$(find-jar jsp-api)
-jspapi.build.notrequired=true
-log4j.jar=$(find-jar log4j)
-tomcat-dbcp.jar=$(find-jar commons-dbcp-tomcat5)
-struts.lib=%{_javadir}-struts
-EOF
+ln -sf %{_javadir}/geronimo-spec-jaxrpc.jar output/extras/webservices/jaxrpc.jar
+ln -sf %{_javadir}/jsr109.jar output/extras/webservices/wsdl4j.jar
 
-if grep '=$' build.properties; then
-       : Some .jar could not be found
-       exit 1
-fi
+%ant -Dcommons-logging-version=%{jclver} extras
 
-%ant \
-       -Dcompile.source=1.4
+# Javadoc
+%if %{with javadoc}
+%ant javadoc
+%endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
-cd build/build
+cd output/build
+
 TOMCATDIR=$RPM_BUILD_ROOT%{_tomcatdir}
 CATALINADIR=$RPM_BUILD_ROOT/var/lib/tomcat
 
-randpw=$(echo $RANDOM$$ | md5sum | cut -c 1-15)
-%{__sed} -i -e "s:SHUTDOWN:${randpw}:" conf/{server,server-minimal}.xml
+# useful for constructing relative symlinks. Is there a better way?
+TOMCATDIRREV=$(echo %{_tomcatdir} | sed 's#[^/]\+#..#g;s#^/##')
+CATALINADIRREV=$(echo /var/lib/tomcat | sed 's#[^/]\+#..#g;s#^/##')
+SYSCONFDIRREV=$(echo %{_sysconfdir} | sed 's#[^/]\+#..#g;s#^/##')
 
-install -d $TOMCATDIR/bin \
-           $TOMCATDIR/common/{lib,classes,endorsed} \
-           $TOMCATDIR/server/{lib,classes} \
-           $TOMCATDIR/webapps \
-           $RPM_BUILD_ROOT%{_logdir}/tomcat \
+install -d $TOMCATDIR \
+           $CATALINADIR/temp \
            $RPM_BUILD_ROOT%{_vardir}/webapps \
            $RPM_BUILD_ROOT%{_vardir}/work \
            $RPM_BUILD_ROOT%{_vardir}/conf \
+           $RPM_BUILD_ROOT%{_logdir}/tomcat \
            $RPM_BUILD_ROOT/etc/sysconfig \
            $RPM_BUILD_ROOT/etc/rc.d/init.d
 
-install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
-install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/tomcat
+install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
+cp -a %{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 -a server/webapps $TOMCATDIR/server
-cp -a webapps $TOMCATDIR
-cp -a shared $TOMCATDIR
+install -d $CATALINADIR/conf/Catalina/localhost
+cp -a %{SOURCE10} $CATALINADIR/conf/Catalina/localhost/ROOT.xml
+cp -a %{SOURCE11} $CATALINADIR/conf/Catalina/localhost/docs.xml
+cp -a %{SOURCE12} $CATALINADIR/conf/Catalina/localhost/manager.xml
+cp -a %{SOURCE13} $CATALINADIR/conf/Catalina/localhost/host-manager.xml
+cp -a %{SOURCE14} $CATALINADIR/conf/Catalina/localhost/examples.xml
+
+cp -a bin lib webapps $TOMCATDIR
 cp -a temp $CATALINADIR
 
-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}
+ln -sf $CATALINADIRREV%{_logdir}/tomcat $CATALINADIR/logs
+ln -sf $TOMCATDIRREV%{_logdir}/tomcat $TOMCATDIR/logs
+ln -sf $TOMCATDIRREV%{_vardir}/work $TOMCATDIR/work
+ln -sf $TOMCATDIRREV%{_vardir}/conf $TOMCATDIR/conf
+ln -sf $SYSCONFDIRREV%{_vardir}/conf $RPM_BUILD_ROOT%{_sysconfdir}/tomcat
 
 # symlinks instead of copies
-jars="commons-el commons-dbcp-tomcat5 servlet-api jsp-api commons-modeler"
+jars="commons-daemon commons-logging-api"
 for jar in $jars; do
        jar=$(find-jar $jar)
-       ln -sf $jar $TOMCATDIR/common/lib
+       ln -sf $jar $TOMCATDIR/bin
 done
 
-jars="jaxp_parser_impl xml-commons-apis"
+jars="commons-pool-tomcat5 commons-dbcp-tomcat5 mysql-connector-java org.eclipse.jdt.core mail"
 for jar in $jars; do
        jar=$(find-jar $jar)
-       ln -sf $jar $TOMCATDIR/common/endorsed
+       ln -sf $jar $TOMCATDIR/lib
 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
+install -d $RPM_BUILD_ROOT%{_javadir}
+mv $TOMCATDIR/lib/jasper*.jar $RPM_BUILD_ROOT%{_javadir}
+mv $TOMCATDIR/lib/jsp-api.jar $RPM_BUILD_ROOT%{_javadir}/jsp-api-%{jspapiver}.jar
+mv $TOMCATDIR/lib/servlet-api.jar $RPM_BUILD_ROOT%{_javadir}/servlet-api-%{servletapiver}.jar
+mv $TOMCATDIR/lib/catalina.jar $RPM_BUILD_ROOT%{_javadir}/tomcat-catalina.jar
+mv $TOMCATDIR/lib/tomcat-coyote.jar $RPM_BUILD_ROOT%{_javadir}/tomcat-coyote.jar
+mv $TOMCATDIR/lib/tomcat-util.jar $RPM_BUILD_ROOT%{_javadir}/tomcat-util.jar
+mv $TOMCATDIR/lib/tomcat-api.jar $RPM_BUILD_ROOT%{_javadir}/tomcat-api.jar
 
-%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
+ln -s jsp-api-%{jspapiver}.jar $RPM_BUILD_ROOT%{_javadir}/jsp-api.jar
+ln -s servlet-api-%{servletapiver}.jar $RPM_BUILD_ROOT%{_javadir}/servlet-api.jar
 
-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
+# XXX add softlinks jasper-compiler.jar and jasper-runtime for compatibility with tomcat 5.5?
+ln -sf %{_javadir}/jasper-el.jar $TOMCATDIR/lib
+ln -sf %{_javadir}/jasper.jar $TOMCATDIR/lib
 
-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
+ln -sf %{_javadir}/jsp-api-%{jspapiver}.jar $TOMCATDIR/lib/jsp-api.jar
+ln -sf %{_javadir}/servlet-api-%{servletapiver}.jar $TOMCATDIR/lib/servlet-api.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
+ln -sf %{_javadir}/tomcat-catalina.jar $TOMCATDIR/lib/catalina.jar
+ln -sf %{_javadir}/tomcat-util.jar $TOMCATDIR/lib/util.jar
+ln -sf %{_javadir}/tomcat-api.jar $TOMCATDIR/lib/api.jar
 
-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
+ln -sf %{_javadir}/tomcat-coyote.jar $TOMCATDIR/lib/tomcat-coyote.jar
+
+cp -a ../extras/catalina-ws.jar $TOMCATDIR/lib/catalina-ws.jar
+cp -a ../extras/catalina-jmx-remote.jar $TOMCATDIR/lib/catalina-jmx-remote.jar
+cp -a ../extras/tomcat-juli-adapters.jar $RPM_BUILD_ROOT%{_javadir}/tomcat-juli-adapters.jar
+cp -a ../extras/tomcat-juli.jar $RPM_BUILD_ROOT%{_javadir}/tomcat-juli.jar
+ln -sf %{_javadir}/tomcat-juli-adapters.jar $TOMCATDIR/lib/juli-adapters.jar
+ln -sf %{_javadir}/tomcat-juli.jar $TOMCATDIR/lib/juli.jar
+
+ln -s %{_javadir}/geronimo-spec-jaxrpc.jar $TOMCATDIR/lib/jaxrpc.jar
+ln -s %{_javadir}/jsr109.jar $TOMCATDIR/lib/jsr109.jar
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %pre
 %groupadd -g 234 -r -f tomcat
-%useradd -u 234 -r -d /var/lib/tomcat -s /bin/false -c "Tomcat User" -g tomcat tomcat
+%groupadd -g 237 -r -f servlet
+%useradd -u 234 -r -d /var/lib/tomcat -s /bin/false -c "Tomcat User" -g tomcat -G servlet tomcat
 
 %post
 /sbin/chkconfig --add tomcat
@@ -367,77 +412,118 @@ fi
 if [ "$1" = "0" ]; then
        %userremove tomcat
        %groupremove tomcat
+       %groupremove servlet
 fi
 
 %files
 %defattr(644,root,root,755)
-%doc build/{RELEASE-NOTES,RUNNING.txt}
+%doc KEYS RELEASE-NOTES
 %attr(754,root,root) /etc/rc.d/init.d/tomcat
 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/tomcat
-%{_sysconfdir}
+%{_sysconfdir}/tomcat
 %dir %{_tomcatdir}
 %dir %{_tomcatdir}/conf
 %dir %{_tomcatdir}/bin
 %{_tomcatdir}/bin/catalina-tasks.xml
-%{_tomcatdir}/bin/jkstatus-tasks.xml
-%{_tomcatdir}/bin/jmxaccessor-tasks.xml
 %attr(755,root,root) %{_tomcatdir}/bin/*.sh
 %{_tomcatdir}/bin/*.jar
-%dir %{_tomcatdir}/common
-%dir %{_tomcatdir}/common/classes
-%dir %{_tomcatdir}/common/endorsed
-%dir %{_tomcatdir}/common/i18n
-%{_tomcatdir}/common/endorsed/*.jar
-%{_tomcatdir}/common/i18n/tomcat-i18n-en.jar
-%lang(es) %{_tomcatdir}/common/i18n/tomcat-i18n-es.jar
-%lang(fr) %{_tomcatdir}/common/i18n/tomcat-i18n-fr.jar
-%lang(ja) %{_tomcatdir}/common/i18n/tomcat-i18n-ja.jar
-%{_tomcatdir}/common/lib
-%dir %{_tomcatdir}/server
-%dir %{_tomcatdir}/server/classes
-%{_tomcatdir}/server/lib
-%dir %{_tomcatdir}/server/webapps
-%{_tomcatdir}/server/webapps/host-manager
-%{_tomcatdir}/server/webapps/manager
-%{_tomcatdir}/webapps
+%dir %{_tomcatdir}/lib
+%{_tomcatdir}/lib/annotations-api.jar
+%{_tomcatdir}/lib/api.jar
+%{_tomcatdir}/lib/catalina-ant.jar
+%{_tomcatdir}/lib/catalina-ha.jar
+%{_tomcatdir}/lib/catalina.jar
+%{_tomcatdir}/lib/catalina-tribes.jar
+%{_tomcatdir}/lib/commons-dbcp-tomcat5.jar
+%{_tomcatdir}/lib/commons-pool-tomcat5.jar
+%{_tomcatdir}/lib/el-api.jar
+%{_tomcatdir}/lib/jasper-el.jar
+%{_tomcatdir}/lib/jasper.jar
+%{_tomcatdir}/lib/jsp-api.jar
+%{_tomcatdir}/lib/juli-adapters.jar
+%{_tomcatdir}/lib/juli.jar
+%{_tomcatdir}/lib/mail.jar
+%{_tomcatdir}/lib/mysql-connector-java.jar
+%{_tomcatdir}/lib/org.eclipse.jdt.core.jar
+%{_tomcatdir}/lib/servlet-api.jar
+%{_tomcatdir}/lib/tomcat-jdbc.jar
+%{_tomcatdir}/lib/tomcat-coyote.jar
+%{_tomcatdir}/lib/tomcat-i18n-es.jar
+%{_tomcatdir}/lib/tomcat-i18n-fr.jar
+%{_tomcatdir}/lib/tomcat-i18n-ja.jar
+%{_tomcatdir}/lib/util.jar
+
+%dir %{_tomcatdir}/webapps
+
+%config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/ROOT.xml
+%{_tomcatdir}/webapps/ROOT
+
+%{_tomcatdir}/logs
 %{_tomcatdir}/work
-%{_tomcatdir}/shared
-%dir %{_vardir}
-%dir %{_vardir}/conf
-%dir %{_vardir}/conf/Catalina
+%dir %attr(770,root,tomcat) %{_vardir}
+# these directory has to be writeable because /admin need to modify config
+# files and create temporary files
+%dir %attr(770,root,tomcat) %{_vardir}/conf
+%dir %attr(770,root,tomcat) %{_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
+# tomcat config has to be writeable because of tomcat-users.xml file and Catalina dir
+%config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/catalina.policy
+%config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.properties*
+%config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.xml
+%dir %attr(770,root,tomcat) %{_vardir}/work
+%dir %attr(770,root,tomcat) %{_vardir}/webapps
+%dir %attr(770,root,tomcat) %{_vardir}/temp
+%dir %attr(770,root,tomcat) %{_logdir}/tomcat
 %{_vardir}/logs
 
-%if 0
-%files doc
+%files webapp-docs
 %defattr(644,root,root,755)
-%doc catalina/docs/*
-%endif
+%config(noreplace,missingok) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/docs.xml
+%{_tomcatdir}/webapps/docs
+
+%files webapp-manager
+%defattr(644,root,root,755)
+%config(noreplace,missingok) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/manager.xml
+%{_tomcatdir}/webapps/manager
+
+%files webapp-host-manager
+%defattr(644,root,root,755)
+%config(noreplace,missingok) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/host-manager.xml
+%{_tomcatdir}/webapps/host-manager
+
+%files webapp-examples
+%defattr(644,root,root,755)
+%config(noreplace,missingok) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/examples.xml
+%{_tomcatdir}/webapps/examples
+
+%files webservices
+%defattr(644,root,root,755)
+%{_tomcatdir}/lib/catalina-ws.jar
+%{_tomcatdir}/lib/jsr109.jar
+%{_tomcatdir}/lib/jaxrpc.jar
+
+%files jmx
+%defattr(644,root,root,755)
+%{_tomcatdir}/lib/catalina-jmx-remote.jar
+
+%files -n java-tomcat-jasper
+%defattr(644,root,root,755)
+%{_javadir}/jasper-el.jar
+%{_javadir}/jasper.jar
+
+%files -n java-tomcat-catalina
+%defattr(644,root,root,755)
+%{_javadir}/tomcat-api.jar
+%{_javadir}/tomcat-catalina.jar
+%{_javadir}/tomcat-juli-adapters.jar
+%{_javadir}/tomcat-juli.jar
+%{_javadir}/tomcat-util.jar
 
-%files admin
+%files -n java-tomcat-coyote
 %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
+%{_javadir}/tomcat-coyote.jar
 
-%files jasper
+%files -n java-servletapi
 %defattr(644,root,root,755)
-%{_javadir}/jasper-compiler-jdt.jar
-%{_javadir}/jasper-compiler.jar
-%{_javadir}/jasper-runtime.jar
+%{_javadir}/jsp-api*.jar
+%{_javadir}/servlet-api*.jar
This page took 0.087947 seconds and 4 git commands to generate.