]> git.pld-linux.org Git - packages/tomcat.git/blobdiff - tomcat.spec
- up to 7.0.73
[packages/tomcat.git] / tomcat.spec
index d1ea169de3a58c03e49391f2f8abf2794f3ae07c..7488d32b1bf7c8775fc981160b542578446d0b0e 100644 (file)
@@ -1,67 +1,67 @@
+
 # Conditional build:
-%bcond_with    binary  # build from binary source
-%bcond_without javadoc # skip building javadocs
-#
-Summary:       Apache Servlet/JSP Engine, RI for Servlet 2.4/JSP 2.0 API
-Summary(pl):   Tomcat - Zasobnik servletów/JSP
-Name:          jakarta-tomcat
-Version:       5.5.23
-Release:       0.1
-License:       Apache
-Group:         Development/Languages/Java
-#Source0:      http://www.apache.org/dist/tomcat/tomcat-5/v5.0.30/src/%{name}-%{version}-src.tar.gz
-Source0:       http://www.apache.org/dist/tomcat/tomcat-5/v%{version}/src/apache-tomcat-%{version}-src.tar.gz
-# Source0-md5: 362d1d8b15dc09882440dcab8c592dd7
-#Source0:      http://apache.zone-h.org/
-Source1:       %{name}.init
-Patch0:                apache-tomcat-skip-servletapi.patch
-Patch1:                apache-tomcat-nsis.patch
-Patch2:                apache-tomcat-native.patch
-Patch3:                apache-tomcat-skip-jdt.patch
+%bcond_without javadoc         # skip building javadocs
+%bcond_without extras          # skip building extras
+
+%define                jspapiver       2.2
+%define                servletapiver   3.0
+
+%define                tomcatnatver    1.1.27
+
+# Java Commons Logging version. Must be >= 1.1.
+%define                jclver  1.1.3
+
+%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:       7.0.73
+Release:       1
+License:       Apache v2.0
+Group:         Networking/Daemons/Java
+Source0:       http://www.apache.org/dist/tomcat/tomcat-7/v%{version}/src/apache-%{name}-%{version}-src.tar.gz
+# Source0-md5: c8391fe6504d2104835a2f7f883858ad
+Source1:       apache-%{name}.init
+Source2:       apache-%{name}.sysconfig
+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
+Source15:      %{name}.logrotate
+Source16:      log4j.properties
+Source100:     http://www.apache.org/dist/commons/logging/source/commons-logging-%{jclver}-src.tar.gz
+# Source100-md5:       e8e197d628436490886d17cffa108fe3
+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
+Patch5:                logging.patch
+Patch6:                jcl.patch
+Patch7:                %{name}-build.patch
+Patch100:      jcl-build.xml.patch
 URL:           http://tomcat.apache.org/
-# required:
 BuildRequires: ant >= 1.5.3
-BuildRequires: jaas
-BuildRequires: jakarta-commons-beanutils
-BuildRequires: jakarta-commons-collections
-BuildRequires: jakarta-commons-collections-source
-BuildRequires: jakarta-commons-daemon
-BuildRequires: jakarta-commons-dbcp
-BuildRequires: jakarta-commons-dbcp-source
-BuildRequires: jakarta-commons-digester
-BuildRequires: jakarta-commons-fileupload
-BuildRequires: jakarta-commons-httpclient
-BuildRequires: jakarta-commons-logging
-BuildRequires: jakarta-commons-modeler >= 2.0
-BuildRequires: jakarta-commons-pool
-BuildRequires: jakarta-commons-pool-source
-BuildRequires: jakarta-regexp
-BuildRequires: jakarta-servletapi5
-BuildRequires: jakarta-struts >= 1.0.2
-BuildRequires: jaxp_parser_impl
-BuildRequires: jdk >= 1.5
+BuildRequires: java(JSR109)
+BuildRequires: java-avalon-framework
+BuildRequires: java-avalon-logkit
+BuildRequires: java-commons-daemon >= 1.0
+BuildRequires: java-commons-dbcp-tomcat5 >= 0:1.1
+BuildRequires: java-commons-pool-tomcat5
+BuildRequires: java-eclipse-jdt >= 4.4.2
+BuildRequires: java-geronimo-spec-jaxrpc
+BuildRequires: java-jdbc-mysql
+BuildRequires: java-junit
+BuildRequires: java-log4j
+BuildRequires: java-mail
+BuildRequires: jdk >= 1.6
 BuildRequires: jpackage-utils
-BuildRequires: mx4j >= 1.1.1
-BuildRequires: puretls
-BuildRequires: rpmbuild(macros) >= 1.300
-BuildRequires: xerces-j
-%if %{with javadoc}
-BuildRequires: commons-el
-%endif
-# optional:
-BuildRequires: jaf >= 1.0.1
-BuildRequires: jakarta-commons-dbcp
-BuildRequires: jakarta-commons-pool
-BuildRequires: javamail >= 1.2
-BuildRequires: jdbc-stdext >= 2.0
-BuildRequires: jndi >= 1.2.1
-BuildRequires: jsse >= 1.0.2
-BuildRequires: jta >= 1.0.1
-BuildRequires: junit >= 3.7
-BuildRequires: rpmbuild(macros) >= 1.268
-BuildRequires: tyrex >= 1.0
-BuildRequires: xml-commons
-Requires(post,postun): /sbin/ldconfig
+BuildRequires: rpm >= 4.4.9-56
+BuildRequires: rpm-javaprov
+BuildRequires: rpmbuild(macros) >= 1.657
+BuildRequires: sed >= 4.0
 Requires(post,preun):  /sbin/chkconfig
 Requires(postun):      /usr/sbin/groupdel
 Requires(postun):      /usr/sbin/userdel
@@ -69,32 +69,35 @@ Requires(pre):      /bin/id
 Requires(pre): /usr/bin/getgid
 Requires(pre): /usr/sbin/groupadd
 Requires(pre): /usr/sbin/useradd
-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:      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
-Requires:      jta >= 1.0.1
-Requires:      mx4j >= 1.1.1
+Requires:      jsvc
 Requires:      rc-scripts
-Requires:      tyrex >= 1.0
-Requires:      xml-commons
-Provides:      group(http)
-Provides:      user(http)
+Suggests:      logrotate
+Suggests:      tomcat-native >= %{tomcatnatver}
+Provides:      group(servlet)
+Provides:      group(tomcat)
+Provides:      user(tomcat)
+Obsoletes:     apache-tomcat
+Obsoletes:     jakarta-tomcat
+%if "%{pld_release}" != "ac"
+Conflicts:     logrotate < 3.8.0
+%endif
+Conflicts:     tomcat-native < %{tomcatnatver}
 BuildArch:     noarch
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define                _tomcatdir      %{_libdir}/tomcat
+%define                _tomcatdir      %{_datadir}/tomcat
 %define        _logdir         %{_var}/log
 %define                _vardir         %{_var}/lib/tomcat
 
@@ -107,348 +110,342 @@ 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
-Tomcat 4.0 - serwer implementuj±cy specyfikacje Servlet 2.3 oraz JSP
-1.2.
 
-%package doc
-Summary:       The Tomcat Servlet/JSP Container documentation
-Summary(pl):   Dokumentacja do Tomcata
-Group:         Development/Languages/Java
-
-%description doc
+%description -l pl.UTF-8
+Tomcat to kontener serwletowy używany przez oficjalną implementację
+wzorcową technologii Java Servlet i JavaServer Pages. Specyfikacje
+Java Servlet i JavaServer Pages są rozwijane przez Suna zgodnie z Java
+Community Process.
+
+%package webapp-docs
+Summary:       The Apache Tomcat Servlet/JSP Container documentation
+Summary(pl.UTF-8):     Dokumentacja do Tomcata - kontenera Servlet/JSP
+Group:         Documentation
+Requires:      %{name} = %{version}-%{release}
+Obsoletes:     apache-tomcat-doc
+Obsoletes:     jakarta-tomcat-doc
+Obsoletes:     tomcat-doc
+
+%description webapp-docs
 The Tomcat Servlet/JSP Container documentation.
 
-%description doc -l pl
-Dokumentacja do Tomcata.
+%description webapp-docs -l pl.UTF-8
+Dokumentacja do Tomcata - kontenera Servlet/JSP.
+
+%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:      %{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 jmx
+JMX remote interface for Tomcat.
+
+%description jmx -l pl.UTF-8
+Zdalny interfejs JMX dla Tomcata.
+
+%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 -n java-tomcat-jasper
+Jasper is Java ServerPages compiler used by Apache Tomcat servlet
+container.
+
+%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-tomcat-%{version}-src
+%setup -q -a100 -n apache-%{name}-%{version}-src
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
-
-# servletapi built from jakarta-servletapi5
-rm -rf servletapi
-
-# Remove pre-built jars
-find -name '*.jar' | xargs rm -fv
-
-%build
-TOPDIR=$(pwd)
-#xerces.jar=$(build-classpath xerces)
-#jasper-compiler-jdt.jar=$(build-classpath jdtcore)
-
-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
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+
+# Prepare java-commmons-logging sources
+install -d 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 -
-%endif
 
-# build tomcat 5.5
-#cd build
-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)
-%if 0
-jdt.jar=${jdt.lib}/org.eclipse.jdt.core_3.1.2.jar
-log4j.jar=${log4j.lib}/dist/lib/log4j-1.2.12.jar
-%endif
-commons-httpclient.jar=$(build-classpath commons-httpclient)
-commons-collections.jar=$(build-classpath commons-collections)
-commons-fileupload.jar=$(build-classpath commons-fileupload)
+# we don't need those scripts
+rm bin/*.bat
+rm bin/{startup,shutdown}.sh
 
+cp -p %{SOURCE3} build.properties
 
-%if 0
-jmx.jar=${jmx.lib}/mx4j.jar
-%endif
-jmx.jar=$(build-classpath jre/jmx)
-%if 0
-jmx-tools.jar=${jmx.lib}/mx4j-tools.jar
-%endif
-jmx-tools.jar=$(build-classpath jre/jmx)
-%if 0
-jmx-remote.jar=${jmx.lib}/mx4j-remote.jar
-%endif
-junit.jar=$(build-classpath junit)
-%if 0
-rhino.jar=${rhino.home}/js.jar
-%endif
-struts.jar=$(build-classpath struts)
-activation.jar=$(build-classpath jaf)
-jcert.jar=$(build-classpath java/jcert)
-jnet.jar=$(build-classpath java/jnet)
-jsse.jar=$(build-classpath java/jsse)
-jta.jar=$(build-classpath jta)
-mail.jar=$(build-classpath javamail/mailapi)
-puretls.jar=$(build-classpath puretls)
-
-servlet-api.jar=$(build-classpath servlet-api)
-# how the fck those bools work
-# build.xml:103: servletapi/jsr154/src not found.
-servletapi.build.notrequired=true
-
-jsp-api.jar=$(build-classpath jsp-api)
-jspapi.build.notrequired=true
-
-log4j.jar=$(build-classpath logging-log4j)
-#log4j.loc=%{_javadir}
-
-# source is needed because source is copied modified and recompiled as tomcat jar
-# see <target name="-build-tomcat-dbcp"> in build/build.xml
-tomcat-dbcp.home=
-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
-
-%if 0
-ant.jar=%{_javadir}/ant.jar
-ant-launcher.jar=%{_javadir}/ant-launcher.jar
-jtc.home=$TOPDIR/jakarta-tomcat-connectors/
-jasper.home=$TOPDIR/jakarta-tomcat-jasper/jasper2
-commons-dbcp.jar=$(build-classpath commons-dbcp)
-commons-pool.jar=$(build-classpath commons-pool)
-jmxri.jar=$(build-classpath jre/jmx)
-regexp.jar=$(build-classpath regexp)
-jsp-api.jar=$TOPDIR/jakarta-servletapi-5/jsr152/dist/lib/jsp-api.jar
-servlet.doc=$TOPDIR/jakarta-servletapi-5/jsr154/dist/docs/api
-struts.lib=%{_datadir}/struts
-servletapi.build.notrequired=true
-tyrex.jar=$(build-classpath tyrex)
-jaas.jar=$(build-classpath jre/jaas)
-jndi.jar=$(build-classpath jre/jndi)
-jdbc20ext.jar=$(build-classpath jdbc-stdext)
-jspapi.build.notrequired=true
-taglibs-core.jar=$(build-classpath taglibs-core)
-taglibs-standard.jar=$(build-classpath taglibs-standard)
-%endif
+%build
+if test ! -e build.properties.local; then
+       cat > build.properties.local <<-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}
+       java.7.home=%{java_home}
+       EOF
+       cat build.properties.local >> build.properties
+fi
+if grep '=$' build.properties; then
+       : Some .jar could not be found
+       exit 1
+fi
 
-EOF
+export LC_ALL=en_US
 
+# Base package
 %ant
 
-exit 1
-
-# build the connectors
-cd connectors
-
-%if 0
-
-# this is just plain and simply evil but something changed in a major way between 5.0.16 and 5.0.18
-oldclasspath=$CLASSPATH
-export CLASSPATH=$TOPDIR/jakarta-servletapi-5/jsr154/dist/lib/servlet-api.jar:\
-$TOPDIR/jakarta-tomcat-5/build/server/lib/catalina.jar
+%if %{with extras}
+install -d output/extras/webservices
+ln -sf %{_javadir}/geronimo-spec-jaxrpc.jar output/extras/webservices/jaxrpc.jar
+ln -sf %{_javadir}/jsr109.jar output/extras/webservices/wsdl4j.jar
+%ant extras
 %endif
 
-%if 0
-cat > build.properties <<EOF
-
-activation.jar=$(build-classpath jaf)
-ant.jar=%{_javadir}/ant.jar
-junit.jar=$(build-classpath junit)
-commons-beanutils.jar=$(build-classpath commons-beanutils)
-commons-collections.jar=$(build-classpath commons-collections)
-commons-digester.jar=$(build-classpath commons-digester)
-commons-fileupload.jar=$(build-classpath commons-fileupload)
-commons-logging.jar=$(build-classpath commons-logging)
-commons-logging-api.jar=$(build-classpath commons-logging-api)
-commons-modeler.jar=$(build-classpath commons-modeler)
-commons-pool.jar=$(build-classpath commons-pool)
-regexp.jar=$(build-classpath regexp)
-jmx.jar=$(build-classpath mx4j/mx4j)
-puretls=$(build-classpath puretls)
-activation.jar=$(build-classpath jaf)
-mail.jar=$(build-classpath javamail/mailapi)
-jta.jar=$(build-classpath jta)
-tyrex.jar=$(build-classpath tyrex)
-jaas.jar=$(build-classpath jaas)
-jndi.jar=$(build-classpath jndi)
-jdbc20ext.jar=$(build-classpath java/jdbc-stdext)
-puretls.jar=$(build-classpath puretls)
-jcert.jar=$(build-classpath jsse/jcert)
-jnet.jar=$(build-classpath jsse/jnet)
-jsse.jar=$(build-classpath jsse/jsse)
-
+# Javadoc
+%if %{with javadoc}
+%ant javadoc
 %endif
 
-%if 0
-commons-beanutils.jar=${commons-beanutils.lib}/commons-beanutils.jar
-commons-collections.jar=${commons-collections.lib}/commons-collections.jar
-commons-digester.jar=${commons-digester.lib}/commons-digester.jar
-commons-fileupload.jar=${commons-fileupload.lib}/commons-fileupload-1.0-beta-1.jar
-commons-logging-api.jar=${commons-logging.lib}/commons-logging-api.jar
-commons-logging.jar=${commons-logging.lib}/commons-logging.jar
-jndi.jar=${jndi.lib}/jndi.jar
-ldap.jar=${jndi.lib}/ldap.jar
-jaas.jar=${jndi.lib}/jaas.jar
-regexp.jar=${regexp.lib}/jakarta-regexp-1.4.jar
-servlet.jar=${servlet.lib}/servlet.jar
-#xerces.jar=${xerces.lib}/xerces.jar
-xercesImpl.jar=${xerces.lib}/xercesImpl.jar
-xml-apis.jar=${xerces.lib}/xml-apis.jar
-activation.jar=${activation.lib}/activation.jar
-commons-daemon.jar=${commons-daemon.lib}/commons-daemon.jar
-commons-dbcp.jar=${commons-dbcp.lib}/commons-dbcp.jar
-commons-modeler.jar=${commons-modeler.lib}/commons-modeler.jar
-commons-pool.jar=${commons-pool.lib}/commons-pool.jar
-jdbc20ext.jar=${jdbc20ext.lib}/jdbc2_0-stdext.jar
-jmx.jar=${jmx.lib}/mx4j-jmx.jar
-jcert.jar=${jsse.lib}/jcert.jar
-jnet.jar=${jsse.lib}/jnet.jar
-jsse.jar=${jsse.lib}/jsse.jar
-jta.jar=${jta.lib}/jta.jar
-junit.jar=${junit.lib}/junit.jar
-mail.jar=${mail.lib}/mail.jar
-puretls.jar=${puretls.lib}/puretls.jar
-struts.jar=${struts.lib}/struts.jar
-tyrex.jar=${tyrex.lib}/tyrex-1.0.jar
-tomcat5.jar=${tomcat5.home}/server/lib/catalina.jar
-servlet-api.jar=${tomcat5.home}/common/lib/servlet-api.jar
-tomcat41.jar=${tomcat41.home}/server/lib/catalina.jar
-servlet-api.jar=${tomcat41.home}/common/lib/servlet.jar
-tomcat33.jar=${tomcat33.home}/lib/common/tomcat_core.jar
+%install
+rm -rf $RPM_BUILD_ROOT
+cd output/build
+
+TOMCATDIR=$RPM_BUILD_ROOT%{_tomcatdir}
+CATALINADIR=$RPM_BUILD_ROOT/var/lib/tomcat
+
+# 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#^/##')
+
+install -d $TOMCATDIR \
+       $CATALINADIR/temp \
+       $RPM_BUILD_ROOT%{_vardir}/webapps \
+       $RPM_BUILD_ROOT%{_vardir}/work \
+       $RPM_BUILD_ROOT%{_logdir}/{archive/,}tomcat \
+       $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/Catalina/localhost \
+       $RPM_BUILD_ROOT/etc/{sysconfig,rc.d/init.d,logrotate.d}
+
+install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
+cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/tomcat
+
+cp -a conf/* $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
+ln -sf $CATALINADIRREV%{_sysconfdir}/%{name} $RPM_BUILD_ROOT%{_vardir}/conf
+cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/Catalina/localhost/ROOT.xml
+cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/Catalina/localhost/docs.xml
+cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/Catalina/localhost/manager.xml
+cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/Catalina/localhost/host-manager.xml
+cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/Catalina/localhost/examples.xml
+cp -p %{SOURCE15} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
+%if "%{pld_release}" == "ac"
+%{__sed} -i -e '/su/d' $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
 %endif
+cp -p %{SOURCE16} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
 
+cp -a bin lib webapps $TOMCATDIR
+cp -a temp $CATALINADIR
 
-%if 0
-EOF
-%ant build \
-       -Dbuild.compiler=modern \
-       -Djava.home=%{java_home}
-%endif
-%if 0
-export CLASSPATH=$oldclasspath
+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
 
-# build the webapps and make the tree ready to install
-cd ../jakarta-tomcat-5
-%ant -Dbuild.compiler=modern -Djava.home=%{java_home} dist
+# symlinks instead of copies
+jars="commons-daemon commons-logging-api"
+for jar in $jars; do
+       jar=$(find-jar $jar)
+       ln -sf $jar $TOMCATDIR/bin
+done
+
+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/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
+
+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
+
+# 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 %{_javadir}/jsp-api-%{jspapiver}.jar $TOMCATDIR/lib/jsp-api.jar
+ln -sf %{_javadir}/servlet-api-%{servletapiver}.jar $TOMCATDIR/lib/servlet-api.jar
+
+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
+
+ln -sf %{_javadir}/tomcat-coyote.jar $TOMCATDIR/lib/tomcat-coyote.jar
+
+%if %{with extras}
+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
 %endif
 
-%install
-rm -rf $RPM_BUILD_ROOT
-
-DEST=$RPM_BUILD_ROOT%{_tomcatdir}
-
-install -d $DEST/bin \
-           $DEST/common/{lib,classes,endorsed} \
-           $DEST/server/{lib,classes} \
-           $DEST/webapps \
-           $RPM_BUILD_ROOT%{_sysconfdir}/tomcat \
-           $RPM_BUILD_ROOT%{_logdir}/tomcat \
-           $RPM_BUILD_ROOT%{_vardir}/work \
-           $RPM_BUILD_ROOT/etc/rc.d/init.d
-
-install build/bin/*.sh                 $DEST/bin
-install build/bin/bootstrap*.jar       $DEST/bin
-install build/bin/tomcat*.jar          $DEST/bin
-install build/common/lib/naming-*.jar  $DEST/common/lib
-install build/common/lib/jasper-*.jar  $DEST/common/lib
-install build/conf/*                   $RPM_BUILD_ROOT%{_sysconfdir}/tomcat
-install build/server/lib/catalina*.jar $DEST/server/lib
-install build/server/lib/servlets*.jar $DEST/server/lib
-install build/server/lib/tomcat*.jar   $DEST/server/lib
-install build/server/lib/servlets-cgi.renametojar $DEST/server/lib/servlets-cgi.jar
-install build/server/lib/servlets-ssi.renametojar $DEST/server/lib/servlets-ssi.jar
-cp -rf  build/server/webapps   $DEST/server
-cp -rf  build/webapps          $DEST
-cp -rf build/shared            $DEST
-cp -rf build/temp              $DEST
-
-ln -sf %{_logdir}/tomcat       $DEST/logs
-ln -sf %{_vardir}/work         $DEST/work
-ln -sf %{_sysconfdir}/tomcat   $DEST/conf
-
-# symlinks instead of copies
-ln -sf %{_javadir}/commons-daemon.jar  $DEST/bin
-
-ln -sf %{_javadir}/activation.jar              $DEST/common/lib
-ln -sf %{_javadir}/ant.jar                     $DEST/common/lib
-ln -sf %{_javadir}/commons-collections.jar     $DEST/common/lib
-ln -sf %{_javadir}/commons-dbcp.jar            $DEST/common/lib
-ln -sf %{_javadir}/commons-logging-api.jar     $DEST/common/lib
-ln -sf %{_javadir}/commons-pool.jar            $DEST/common/lib
-ln -sf %{_javadir}/servlet.jar         $DEST/common/lib
-ln -sf %{_javadir}/servlet.jar         $DEST/common/lib/servletapi4.jar
-ln -sf %{_javadir}/jdbc-stdext.jar             $DEST/common/lib/jdbc2_0-stdext.jar
-ln -sf %{_javadir}/jdbc-stdext.jar             $DEST/common/lib/jdbc-stdext-2.0.jar
-ln -sf %{_javadir}/jmxri.jar                   $DEST/common/lib
-ln -sf %{_javadir}/jndi.jar                    $DEST/common/lib
-ln -sf %{_javadir}/jta.jar                     $DEST/common/lib
-ln -sf %{_javadir}/mail.jar                    $DEST/common/lib
-ln -sf %{_javadir}/jsse.jar                    $DEST/common/lib
-ln -sf %{_javadir}/tyrex.jar                   $DEST/common/lib
-ln -sf %{_javadir}/junit.jar                   $DEST/common/lib
-
-ln -sf %{_javadir}/mailapi.jar         $DEST/common/lib
-ln -sf %{_javadir}/pop3.jar                    $DEST/common/lib
-ln -sf %{_javadir}/pop3.jar                    $DEST/common/lib/pop.jar
-ln -sf %{_javadir}/smtp.jar                    $DEST/common/lib
-ln -sf %{_javadir}/imap.jar                    $DEST/common/lib
-
-ln -sf %{_javadir}/commons-beanutils.jar       $DEST/server/lib
-ln -sf %{_javadir}/commons-digester.jar        $DEST/server/lib
-ln -sf %{_javadir}/commons-fileupload.jar      $DEST/server/lib
-ln -sf %{_javadir}/commons-logging.jar $DEST/server/lib
-ln -sf %{_javadir}/commons-modeler.jar $DEST/server/lib
-ln -sf %{_javadir}/jaas.jar                    $DEST/server/lib/jaas.jar
-ln -sf %{_javadir}/mx4j-jmx.jar                $DEST/server/lib
-ln -sf %{_javadir}/regexp.jar          $DEST/server/lib
-ln -sf %{_javadir}/regexp.jar          $DEST/server/lib/jakarta-regexp-1.2.jar
-ln -sf %{_javadir}/regexp.jar          $DEST/server/lib/regexp-1.2.jar
-
-ln -sf %{_javadir}/jaxp_parser_impl.jar        $DEST/common/endorsed
-ln -sf %{_javadir}/xml-commons-apis.jar        $DEST/common/endorsed
-
-ln -sf %{_javadir}/struts.jar $DEST/server/webapps/admin/WEB-INF/lib
-
-install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
+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
 
+%pretrans
+# handle /var/lib/tomcat/logs -> /var/log/tomcat migration
+if [ -d %{_vardir}/logs ] && [ ! -L %{_vardir}/logs ]; then
+       mv -v %{_vardir}/logs{,.rpmsave}
+fi
+
+# migrate /var/lib/tomcat/conf to /etc/tomcat
+if [ -d %{_vardir}/conf ] && [ ! -L %{_vardir}/conf ]; then
+       if [ -d %{_sysconfdir}/%{name} ]; then
+               if [ ! -L %{_sysconfdir}/%{name} ]; then
+                       mv %{_vardir}/conf/* %{_sysconfdir}/%{name}
+                       rmdir %{_vardir}/conf 2>/dev/null || mv -v %{_vardir}/conf{,.rpmsave}
+               else
+                       mv -v %{_sysconfdir}/%{name}{,.rpmsave}
+                       mv %{_vardir}/conf %{_sysconfdir}/%{name}
+               fi
+       else
+               mv %{_vardir}/conf %{_sysconfdir}/%{name}
+       fi
+       ln -s %{_sysconfdir}/%{name} %{_vardir}/conf
+fi
+exit 0
+
 %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
+%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
@@ -462,40 +459,135 @@ fi
 
 %postun
 if [ "$1" = "0" ]; then
-       %userremove http
-       %groupremove http
+       %userremove tomcat
+       %groupremove tomcat
+       %groupremove servlet
 fi
 
 %files
 %defattr(644,root,root,755)
-%doc *.txt LICENSE
+%doc KEYS RELEASE-NOTES
+%attr(754,root,root) /etc/rc.d/init.d/tomcat
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/tomcat
+%config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
+
+# these directory has to be writeable because /admin need to modify config
+# files and create temporary files
+%dir %attr(770,root,tomcat) %{_sysconfdir}/%{name}
+%dir %attr(770,root,tomcat) %{_sysconfdir}/%{name}/Catalina
+%dir %{_sysconfdir}/%{name}/Catalina/localhost
+# 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) %{_sysconfdir}/%{name}/catalina.policy
+%config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.properties
+%config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.xml
+
+%config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/Catalina/localhost/ROOT.xml
+
 %dir %{_tomcatdir}
+%dir %{_tomcatdir}/conf
 %dir %{_tomcatdir}/bin
+%{_tomcatdir}/bin/catalina-tasks.xml
 %attr(755,root,root) %{_tomcatdir}/bin/*.sh
 %{_tomcatdir}/bin/*.jar
-%dir %{_tomcatdir}/common
-%dir %{_tomcatdir}/common/classes
-%dir %{_tomcatdir}/common/endorsed
-%{_tomcatdir}/common/endorsed/*.jar
-%{_tomcatdir}/common/lib
-%{_tomcatdir}/conf
+%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/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/tomcat7-websocket.jar
+%{_tomcatdir}/lib/websocket-api.jar
+%{_tomcatdir}/lib/util.jar
+%if %{with extras}
+%{_tomcatdir}/lib/juli-adapters.jar
+%{_tomcatdir}/lib/juli.jar
+%endif
+
+%dir %{_tomcatdir}/webapps
+
+%{_tomcatdir}/webapps/ROOT
+
 %{_tomcatdir}/logs
-%dir %{_tomcatdir}/server
-%dir %{_tomcatdir}/server/classes
-%{_tomcatdir}/server/lib
-%{_tomcatdir}/server/webapps
-%{_tomcatdir}/webapps
 %{_tomcatdir}/work
-%{_tomcatdir}/shared
-%{_tomcatdir}/temp
-# tomcat wants to regenerate tomcat-users.xml
-%attr(775,root,http) %dir %{_sysconfdir}/tomcat
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/tomcat/*
-%attr(754,root,root) /etc/rc.d/init.d/tomcat
-%dir %{_vardir}
-%attr(1730,root,http) %dir %{_vardir}/work
-%attr(1730,root,http) %dir %{_logdir}/tomcat
+%dir %attr(770,root,tomcat) %{_vardir}
+%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
+%dir %attr(770,root,root) %{_logdir}/archive/tomcat
+%{_vardir}/conf
+%{_vardir}/logs
+
+%files webapp-docs
+%defattr(644,root,root,755)
+%config(noreplace,missingok) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/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) %{_sysconfdir}/%{name}/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) %{_sysconfdir}/%{name}/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) %{_sysconfdir}/%{name}/Catalina/localhost/examples.xml
+%{_tomcatdir}/webapps/examples
+
+%files webservices
+%defattr(644,root,root,755)
+%{_tomcatdir}/lib/jsr109.jar
+%{_tomcatdir}/lib/jaxrpc.jar
+%if %{with extras}
+%{_tomcatdir}/lib/catalina-ws.jar
+%endif
+
+%if %{with extras}
+%files jmx
+%defattr(644,root,root,755)
+%{_tomcatdir}/lib/catalina-jmx-remote.jar
+%endif
+
+%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-util.jar
+%if %{with extras}
+%{_javadir}/tomcat-juli-adapters.jar
+%{_javadir}/tomcat-juli.jar
+%endif
+
+%files -n java-tomcat-coyote
+%defattr(644,root,root,755)
+%{_javadir}/tomcat-coyote.jar
 
-%files doc
+%files -n java-servletapi
 %defattr(644,root,root,755)
-%doc catalina/docs/*
+%{_javadir}/jsp-api*.jar
+%{_javadir}/servlet-api*.jar
This page took 0.456874 seconds and 4 git commands to generate.