]> git.pld-linux.org Git - packages/tomcat.git/blobdiff - tomcat.spec
- +x for some dirs
[packages/tomcat.git] / tomcat.spec
index ac9b880efc11657e2d194517a3ac20ea9cb5ecf9..34aad415320d37609597e1b2b99a7b3f10f01d47 100644 (file)
-Summary:       The Tomcat Servlet/JSP Container
-Summary(pl):   Tomcat - Zasobnik servletów/JSP
-Name:          jakarta-tomcat
-Version:       4.1.24
-%define                base_version 4.0
-Release:       3
-License:       Apache
-Group:         Development/Languages/Java
-Source0:       http://jakarta.apache.org/builds/%{name}-%{base_version}/release/v%{version}/src/%{name}-%{version}-src.tar.gz
-# Source0-md5: bdcdf1091ff942f378b1e6f402e44a67
-Source1:       http://jakarta.apache.org/builds/%{name}-%{base_version}/release/v%{version}/src/%{name}-connectors-%{version}-src.tar.gz
-# Source1-md5: 0daa701e51d04570006abce1ac580aed
-Source2:       %{name}.init
-Patch0:                %{name}-fixes.patch
-Patch1:                %{name}-JAVA_HOME.patch
-Patch2:                %{name}-fileupload.patch
-URL:           http://jakarta.apache.org/tomcat/index.html
-# required:
-BuildRequires: jdk >= 1.2
-BuildRequires: jakarta-ant >= 1.5.3
-BuildRequires: jaxp >= 1.1
-BuildRequires: xerces-j >= 1
-BuildRequires: jakarta-servletapi >= 4
-BuildRequires: jakarta-commons-collections
-BuildRequires: jakarta-commons-beanutils
-BuildRequires: jakarta-commons-digester
-BuildRequires: jakarta-commons-logging
-BuildRequires: jakarta-commons-fileupload
-BuildRequires: jakarta-regexp
-# optional:
-BuildRequires: jakarta-commons-daemon
-BuildRequires: jakarta-commons-dbcp
-BuildRequires: jakarta-commons-modeler
-BuildRequires: jakarta-commons-pool
-BuildRequires: jdbc-stdext >= 2.0
-BuildRequires: jmx >= 1.0
-BuildRequires: jndi >= 1.2.1
-BuildRequires: jndi-provider-ldap
-BuildRequires: jaf >= 1.0.1
-BuildRequires: javamail >= 1.2
-BuildRequires: jsse >= 1.0.2
-BuildRequires: jta >= 1.0.1
-BuildRequires: tyrex >= 1.0
-BuildRequires: junit >= 3.7
-Requires:      jre >= 1.2
-Requires:      jaxp >= 1.1
-Requires:      xerces-j >= 1
-Requires:      jakarta-servletapi >= 4
-Requires:      jakarta-commons-collections
-Requires:      jakarta-commons-beanutils
-Requires:      jakarta-commons-digester
-Requires:      jakarta-commons-logging
-Requires:      jakarta-commons-fileupload
-Requires:      jakarta-regexp
+# 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
+Name:          tomcat
+Version:       5.5.27
+Release:       0.6
+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
+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
+URL:           http://tomcat.apache.org/
+%if %{with java_sun}
+BuildRequires: java-sun >= 1.5
+BuildRequires: java-sun-jre >= 1.5
+%else
+# BuildRequires:       jsse >= 0:1.0.3
+BuildRequires: java-gcj-compat-devel
+%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: 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-mail >= 0:1.3.1
+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: jaxp_parser_impl >= 0:2.7.1
+BuildRequires: jdbc-stdext >= 0:2.0
+BuildRequires: jmx
+BuildRequires: jndi >= 0:1.2.1
+BuildRequires: jpackage-utils
+BuildRequires: junit >= 0:3.8.1
+BuildRequires: rpmbuild(macros) >= 1.300
+Requires(post,postun): /sbin/ldconfig
+Requires(post,preun):  /sbin/chkconfig
+Requires(postun):      /usr/sbin/groupdel
+Requires(postun):      /usr/sbin/userdel
+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:      jmx >= 1.0
 Requires:      jndi >= 1.2.1
-Requires:      jndi-provider-ldap
-Requires:      jaf >= 1.0.1
-Requires:      javamail >= 1.2
+Requires:      jre >= 1.2
 Requires:      jsse >= 1.0.2
-Requires:      jta >= 1.0.1
-Requires:      tyrex >= 1.0
-Requires(pre): /usr/bin/getgid
-Requires(pre): /bin/id
-Requires(pre): /usr/sbin/groupadd
-Requires(pre): /usr/sbin/useradd
-Requires(postun):      /usr/sbin/userdel
-Requires(postun):      /usr/sbin/groupdel
-Requires(post,preun):  /sbin/chkconfig
-Requires(post,postun): /sbin/ldconfig
+%{?with_jta:Requires:  jta >= 1.0.1}
+Requires:      rc-scripts
+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)
 
-%define                _javalibdir     /usr/share/java
-%define                _tomcatdir      %{_libdir}/tomcat
+%define                _tomcatdir      %{_datadir}/tomcat
 %define        _logdir         %{_var}/log
 %define                _vardir         %{_var}/lib/tomcat
+%define                _sysconfdir     /etc/tomcat
 
-%description
-Tomcat 4.0, a server that implements the Servlet 2.3 and JSP 1.2
-Specifications from Java Software.
+%define find_jar() %{expand:%%define jarfile {%(jar=$(find-jar %1); echo ${jar:-%%nil})}}%{?jarfile}%{!?jarfile:%{error:find-jar %1 failed}}%{nil}
 
-%description -l pl
-Tomcat 4.0 - serwer implementuj±cy specyfikacje Servlet 2.3 oraz JSP
-1.2.
+%description
+Tomcat is the servlet container that is used in the official Reference
+Implementation for the Java Servlet and JavaServer Pages technologies.
+The Java Servlet and JavaServer Pages specifications are developed by
+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ę
+wzorcową technologii Java Servlet i JavaServer Pages. Specyfikacje
+Java Servlet i JavaServer Pages są rozwijane przez Suna zgodnie z Java
+Community Process.
 
 %package doc
-Summary:       The Tomcat Servlet/JSP Container documentation
-Summary(pl):   Dokumentacja do Tomcata
-Group:         Development/Languages/Java
+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
 
 %description doc
 The Tomcat Servlet/JSP Container documentation.
 
-%description doc -l pl
-Dokumentacja do Tomcata.
+%description doc -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
+Group:         Networking/Daemons/Java/Servlets
+Requires:      %{name} = %{version}-%{release}
+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
+Obsoletes:     apache-tomcat-jasper
+
+%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 -a1
+%setup -q -n apache-%{name}-%{version}-src
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+
+# we don't need dos scripts
+rm -f container/catalina/src/bin/*.bat
+# or those
+rm -f container/catalina/src/bin/{startup,shutdown}.sh
+
+# 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
+
+# Remove pre-built jars
+find -name '*.jar' | xargs rm -fv
 
 %build
-if [ -z "$JAVA_HOME" ]; then
-       JAVA_HOME=%{_libdir}/java
-fi
-ANT_HOME=%{_javalibdir}
-export JAVA_HOME ANT_HOME
-
-cat > build.properties << EOF
-# ----- Compile Control Flags -----
-compile.debug=on
-compile.deprecation=off
-compile.optimize=on
-
-# ----- Default Base Path for Dependent Packages -----
-base.path=%{_prefix}
-
-# ----- Jakarta Regular Expressions Library, version 1.2 -----
-regexp.home=%{_javalibdir}
-regexp.lib=\${regexp.home}
-regexp.jar=\${regexp.home}/regexp.jar
-
-# ----- Jakarta Servlet API Classes (Servlet 2.3 / JSP 1.2) -----
-servlet.home=$RPM_BUILD_DIR/%{name}-%{version}-src/doc
-servlet.lib=%{_javalibdir}
-servlet.jar=\${servlet.lib}/servlet.jar
-
-# ----- Java Activation Framework (JAF), version 1.0.1 or later -----
-activation.home=%{_javalibdir}
-activation.lib=\${activation.home}
-activation.jar=\${activation.lib}/activation.jar
-
-# ----- Java API for XML Processing (JAXP), version 1.1 or later -----
-jaxp.home=%{_javalibdir}
-jaxp.lib=\${jaxp.home}
-crimson.jar=\${jaxp.lib}/crimson.jar
-jaxp.jar=\${jaxp.lib}/jaxp.jar
-xalan.jar=\${jaxp.lib}/xalan.jar
-
-# ----- Java Database Connectivity (JDBC) Optional Package, version 2.0 -----
-jdbc20ext.home=%{_javalibdir}
-jdbc20ext.lib=\${jdbc20ext.home}
-jdbc20ext.jar=\${jdbc20ext.lib}/jdbc2_0-stdext.jar
-
-# ----- Java Mail, version 1.2 or later -----
-mail.home=%{_javalibdir}
-mail.lib=\${mail.home}
-mail.jar=\${mail.lib}/mail.jar
-
-# ----- Java Management Extensions (JMX) RI, version 1.0.1 or later -----
-jmx.home=%{_javalibdir}
-jmx.lib=\${jmx.home}
-jmxri.jar=\${jmx.lib}/jmxri.jar
-
-# ----- Java Naming and Directory Interface (JNDI), version 1.2 or later -----
-jndi.home=%{_javalibdir}
-jndi.lib=\${jndi.home}
-jndi.jar=\${jndi.lib}/jndi.jar
-ldap.jar=\${jndi.lib}/ldap.jar
-
-# ----- Java Secure Sockets Extension (JSSE), version 1.0.2 or later -----
-jsse.home=%{_javalibdir}
-jsse.lib=\${jsse.home}
-jcert.jar=\${jsse.lib}/jcert.jar
-jnet.jar=\${jsse.lib}/jnet.jar
-jsse.jar=\${jsse.lib}/jsse.jar
-
-# ----- Java Transaction API (JTA), version 1.0.1 or later -----
-jta.home=%{_javalibdir}
-jta.lib=\${jta.home}
-jta.jar=\${jta.lib}/jta.jar
-
-# ----- JUnit Unit Test Suite, version 3.7 or later -----
-junit.home=%{_javalibdir}
-junit.lib=\${junit.home}
-junit.jar=\${junit.lib}/junit.jar
-
-# ----- Tyrex Data Source, version 0.9.7 -----
-tyrex.home=%{_javalibdir}
-tyrex.lib=\${tyrex.home}
-tyrex.jar=\${tyrex.lib}/tyrex.jar
-
-# ----- Xerces XML Parser, version 1.4.3 or later -----
-xerces.home=%{_javalibdir}
-xerces.lib=\${xerces.home}
-xerces.jar=\${xerces.lib}/xerces.jar
-
-# ----- Commons Collections, version 1.0 or later -----
-commons-collections.home=%{_javalibdir}
-commons-collections.lib=\${commons-collections.home}
-commons-collections.jar=\${commons-collections.lib}/commons-collections.jar
-
-# ----- Commons Beanutils, version 1.1 or later -----
-commons-beanutils.home=%{_javalibdir}
-commons-beanutils.lib=\${commons-beanutils.home}
-commons-beanutils.jar=\${commons-beanutils.lib}/commons-beanutils.jar
-
-# ----- Commons Digester, version 1.1.1 or later -----
-commons-digester.home=%{_javalibdir}
-commons-digester.lib=\${commons-digester.home}
-commons-digester.jar=\${commons-digester.lib}/commons-digester.jar
-
-# ----- Commons Logging, version 1.0.1 or later -----
-commons-logging.home=%{_javalibdir}
-commons-logging.lib=\${commons-logging.home}
-commons-logging-api.jar=\${commons-logging.lib}/commons-logging-api.jar
-commons-logging.jar=\${commons-logging.lib}/commons-logging.jar
-
-# ----- Commons Daemon, version 20020219 or later -----
-commons-daemon.home=%{_javalibdir}
-commons-daemon.lib=\${commons-daemon.home}
-commons-daemon.jar=\${commons-daemon.lib}/commons-daemon.jar
-
-# ----- Commons DBCP, version 1.0 or later -----
-commons-dbcp.home=%{_javalibdir}
-commons-dbcp.lib=\${commons-dbcp.home}
-commons-dbcp.jar=\${commons-dbcp.lib}/commons-dbcp.jar
-
-# ----- Commons FileUpload, nightly build -----
-commons-fileupload.home=%{_javalibdir}
-commons-fileupload.lib=\${commons-fileupload.home}
-commons-fileupload.jar=\${commons-fileupload.lib}/commons-fileupload.jar
-
-# ----- Commons Modeler, version 1.0 or later -----
-commons-modeler.home=%{_javalibdir}
-commons-modeler.lib=\${commons-modeler.home}
-commons-modeler.jar=\${commons-modeler.lib}/commons-modeler.jar
-
-# ----- Commons Pool, version 1.0 or later -----
-commons-pool.home=%{_javalibdir}
-commons-pool.lib=\${commons-pool.home}
-commons-pool.jar=\${commons-pool.lib}/commons-pool.jar
-
-
-jasper.home=jasper
-jtc.home=../jakarta-tomcat-connectors-%{version}-src
+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
 
-install -d doc/docs/api
-
-ln -s ../jakarta-tomcat-connectors-%{version}-src  webapps/jakarta-tomcat-connectors-%{version}-src
-cd jakarta-tomcat-connectors-%{version}-src
-ln -s . jakarta-tomcat-connectors-%{version}-src
-ant
-cd ..
+if grep '=$' build.properties; then
+       : Some .jar could not be found
+       exit 1
+fi
 
-ant dist
+%ant \
+       -Dcompile.source=1.4
 
 %install
 rm -rf $RPM_BUILD_ROOT
+cd build/build
+TOMCATDIR=$RPM_BUILD_ROOT%{_tomcatdir}
+CATALINADIR=$RPM_BUILD_ROOT/var/lib/tomcat
 
-install -d $RPM_BUILD_ROOT%{_tomcatdir}/bin \
-           $RPM_BUILD_ROOT%{_tomcatdir}/common/{lib,classes,endorsed} \
-           $RPM_BUILD_ROOT%{_tomcatdir}/server/{lib,classes} \
-           $RPM_BUILD_ROOT%{_tomcatdir}/webapps \
-           $RPM_BUILD_ROOT%{_sysconfdir}/tomcat \
+randpw=$(echo $RANDOM$$ | md5sum | cut -c 1-15)
+%{__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%{_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 build/bin/*.sh $RPM_BUILD_ROOT%{_tomcatdir}/bin
-install build/bin/bootstrap*.jar $RPM_BUILD_ROOT%{_tomcatdir}/bin
-install build/bin/tomcat*.jar $RPM_BUILD_ROOT%{_tomcatdir}/bin
-install build/common/lib/naming-*.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib
-install build/common/lib/jasper-*.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib
-install build/conf/* $RPM_BUILD_ROOT%{_sysconfdir}/tomcat
-install build/server/lib/catalina*.jar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib
-install build/server/lib/servlets*.jar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib
-install build/server/lib/servlets-cgi.renametojar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib/servlets-cgi.jar
-install build/server/lib/servlets-ssi.renametojar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib/servlets-ssi.jar
-install build/server/lib/tomcat*.jar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib
-cp -rf  build/server/webapps $RPM_BUILD_ROOT%{_tomcatdir}/server
-cp -rf  build/webapps $RPM_BUILD_ROOT%{_tomcatdir}
-cp -rf build/shared $RPM_BUILD_ROOT%{_tomcatdir}
-cp -rf build/temp $RPM_BUILD_ROOT%{_tomcatdir}
-
-ln -sf %{_logdir}/tomcat $RPM_BUILD_ROOT%{_tomcatdir}/logs
-ln -sf %{_vardir}/work $RPM_BUILD_ROOT%{_tomcatdir}/work
-ln -sf %{_sysconfdir}/tomcat $RPM_BUILD_ROOT%{_tomcatdir}/conf
+install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
+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 -a server/webapps $TOMCATDIR/server
+cp -a webapps $TOMCATDIR
+cp -a shared $TOMCATDIR
+cp -a temp $CATALINADIR
+
+ln -sf %{_logdir}/tomcat $CATALINADIR/logs
+ln -sf %{_logdir}/tomcat $TOMCATDIR/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 %{_javalibdir}/ant.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/ant.jar
-ln -sf %{_javalibdir}/jaxp.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/jaxp.jar
-ln -sf %{_javalibdir}/xerces.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/xerces.jar
-ln -sf %{_javalibdir}/servlet.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/servlet.jar
-ln -sf %{_javalibdir}/jdbc2_0-stdext.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/jdbc2_0.jar
-ln -sf %{_javalibdir}/jmxri.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/jmxri.jar
-ln -sf %{_javalibdir}/jndi.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/jndi.jar
-ln -sf %{_javalibdir}/ldap.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/ldap.jar
-ln -sf %{_javalibdir}/activation.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/activation.jar
-ln -sf %{_javalibdir}/jta.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/jta.jar
-ln -sf %{_javalibdir}/mail.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/mail.jar
-ln -sf %{_javalibdir}/jsse.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/jsse.jar
-
-ln -sf %{_javalibdir}/tyrex.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/tyrex.jar
-ln -sf %{_javalibdir}/junit.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/junit.jar
-
-ln -sf %{_javalibdir}/commons-collections.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/commons-collections.jar
-ln -sf %{_javalibdir}/commons-dbcp.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/commons-dbcp.jar
-ln -sf %{_javalibdir}/commons-logging-api.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/commons-logging-api.jar
-ln -sf %{_javalibdir}/commons-pool.jar $RPM_BUILD_ROOT%{_tomcatdir}/common/lib/commons-pool.jar
-
-ln -sf %{_javalibdir}/regexp.jar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib/regexp.jar
-ln -sf %{_javalibdir}/commons-beanutils.jar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib/commons-beanutils.jar
-ln -sf %{_javalibdir}/commons-digester.jar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib/commons-digester.jar
-ln -sf %{_javalibdir}/commons-logging.jar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib/commons-logging.jar
-ln -sf %{_javalibdir}/commons-modeler.jar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib/commons-modeler.jar
-ln -sf %{_javalibdir}/commons-fileupload.jar $RPM_BUILD_ROOT%{_tomcatdir}/server/lib/commons-fileupload.jar
-
-ln -sf %{_javalibdir}/commons-daemon.jar $RPM_BUILD_ROOT%{_tomcatdir}/bin/commons-daemon.jar
-
-install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
+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
-if [ -n "`getgid http`" ]; then
-       if [ "`getgid http`" != "51" ]; then
-               echo "Error: group http doesn't have gid=51. Correct this before installing tomcat." 1>&2
-               exit 1
-       fi
-else
-       /usr/sbin/groupadd -g 51 -r -f http
-fi
-if [ -n "`id -u http 2>/dev/null`" ]; then
-       if [ "`id -u http`" != "51" ]; then
-               echo "Error: user http doesn't have uid=51. Correct this before installing tomcat." 1>&2
-               exit 1
-       fi
-else
-       /usr/sbin/useradd -u 51 -r -d /home/services/httpd -s /bin/false -c "HTTP User" -g http http 1>&2
-fi
+%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
-if [ -f /var/lock/subsys/tomcat ]; then
-       /etc/rc.d/init.d/tomcat restart 1>&2
-else
-       echo "Run \"/etc/rc.d/init.d/tomcat start\" to start tomcat daemon."
-fi
+%service tomcat restart
 
 %preun
 if [ "$1" = "0" ]; then
-       if [ -f /var/lock/subsys/tomcat ]; then
-               /etc/rc.d/init.d/tomcat stop 1>&2
-       fi
+       %service tomcat stop
        /sbin/chkconfig --del tomcat
 fi
 
 %postun
 if [ "$1" = "0" ]; then
-       /usr/sbin/userdel http
-       /usr/sbin/groupdel http
+       %userremove tomcat
+       %groupremove tomcat
+       %groupremove servlet
 fi
 
 %files
 %defattr(644,root,root,755)
-%doc *.txt LICENSE
+%doc build/{RELEASE-NOTES,RUNNING.txt}
+%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
+%{_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
-%{_tomcatdir}/conf
-%{_tomcatdir}/logs
 %dir %{_tomcatdir}/server
 %dir %{_tomcatdir}/server/classes
 %{_tomcatdir}/server/lib
-%{_tomcatdir}/server/webapps
-%{_tomcatdir}/webapps
+%dir %{_tomcatdir}/server/webapps
+
+%config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/host-manager.xml
+%{_tomcatdir}/server/webapps/host-manager
+
+%config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/manager.xml
+%{_tomcatdir}/server/webapps/manager
+
+%dir %{_tomcatdir}/webapps
+
+%config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/ROOT.xml
+%{_tomcatdir}/webapps/ROOT
+
+%config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/balancer.xml
+%{_tomcatdir}/webapps/balancer
+
+%config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/webdav.xml
+%{_tomcatdir}/webapps/webdav
+
+%{_tomcatdir}/logs
 %{_tomcatdir}/work
 %{_tomcatdir}/shared
-%{_tomcatdir}/temp
-# tomcat wants to regenerate tomcat-users.xml
-%attr(775,root,http) %dir %{_sysconfdir}/tomcat
-%config(noreplace) %verify(not size mtime md5) %{_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
+# these directory has to be writeable because /admin need to modify config
+# files and create temporary files
+%dir %attr(775,root,tomcat) %{_vardir}/conf
+%dir %attr(775,root,tomcat) %{_vardir}/conf/Catalina
+%dir %{_vardir}/conf/Catalina/localhost
+# tomcat config has to be writeable because of tomcat-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
+%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
 
 %files doc
 %defattr(644,root,root,755)
-%doc catalina/docs/*
+%config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/tomcat-docs.xml
+%{_tomcatdir}/webapps/tomcat-docs
+
+%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.052755 seconds and 4 git commands to generate.