Blame SPECS/tomcat.spec

9a9096
# Copyright (c) 2000-2008, JPackage Project
9a9096
# All rights reserved.
9a9096
#
9a9096
# Redistribution and use in source and binary forms, with or without
9a9096
# modification, are permitted provided that the following conditions
9a9096
# are met:
9a9096
#
9a9096
# 1. Redistributions of source code must retain the above copyright
9a9096
#    notice, this list of conditions and the following disclaimer.
9a9096
# 2. Redistributions in binary form must reproduce the above copyright
9a9096
#    notice, this list of conditions and the following disclaimer in the
9a9096
#    documentation and/or other materials provided with the
9a9096
#    distribution.
9a9096
# 3. Neither the name of the JPackage Project nor the names of its
9a9096
#    contributors may be used to endorse or promote products derived
9a9096
#    from this software without specific prior written permission.
9a9096
#
9a9096
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
9a9096
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
9a9096
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
9a9096
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
9a9096
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
9a9096
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
9a9096
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
9a9096
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
9a9096
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
9a9096
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
9a9096
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
9a9096
#
9a9096
9a9096
%global jspspec 2.2
9a9096
%global major_version 7
9a9096
%global minor_version 0
9a9096
%global micro_version 76
9a9096
%global packdname apache-tomcat-%{version}-src
9a9096
%global servletspec 3.0
9a9096
%global elspec 2.2
9a9096
%global tcuid 53
9a9096
9a9096
# FHS 2.3 compliant tree structure - http://www.pathname.com/fhs/2.3/
9a9096
%global basedir %{_var}/lib/%{name}
9a9096
%global appdir %{basedir}/webapps
9a9096
%global homedir %{_datadir}/%{name}
9a9096
%global bindir %{homedir}/bin
9a9096
%global confdir %{_sysconfdir}/%{name}
9a9096
%global libdir %{_javadir}/%{name}
9a9096
%global logdir %{_var}/log/%{name}
9a9096
%global cachedir %{_var}/cache/%{name}
9a9096
%global tempdir %{cachedir}/temp
9a9096
%global workdir %{cachedir}/work
9a9096
%global _initrddir %{_sysconfdir}/init.d
9a9096
%global _systemddir /lib/systemd/system
9a9096
9a9096
Name:          tomcat
9a9096
Epoch:         0
9a9096
Version:       %{major_version}.%{minor_version}.%{micro_version}
783d95
Release:       11%{?dist}
9a9096
Summary:       Apache Servlet/JSP Engine, RI for Servlet %{servletspec}/JSP %{jspspec} API
9a9096
9a9096
Group:         System Environment/Daemons
9a9096
License:       ASL 2.0
9a9096
URL:           http://tomcat.apache.org/
9a9096
Source0:       http://www.apache.org/dist/tomcat/tomcat-%{major_version}/v%{version}/src/%{packdname}.tar.gz
9a9096
Source1:       %{name}-%{major_version}.%{minor_version}.conf
9a9096
Source3:       %{name}-%{major_version}.%{minor_version}.sysconfig
9a9096
Source4:       %{name}-%{major_version}.%{minor_version}.wrapper
9a9096
Source5:       %{name}-%{major_version}.%{minor_version}.logrotate
9a9096
Source6:       %{name}-%{major_version}.%{minor_version}-digest.script
9a9096
Source7:       %{name}-%{major_version}.%{minor_version}-tool-wrapper.script
9a9096
Source8:       servlet-api-OSGi-MANIFEST.MF
9a9096
Source9:       jsp-api-OSGi-MANIFEST.MF
9a9096
Source10:      %{name}-%{major_version}.%{minor_version}-log4j.properties
9a9096
Source11:      %{name}-%{major_version}.%{minor_version}.service
9a9096
Source12:      el-api-OSGi-MANIFEST.MF
9a9096
Source13:      jasper-el-OSGi-MANIFEST.MF
9a9096
Source14:      jasper-OSGi-MANIFEST.MF
9a9096
Source15:      tomcat-api-OSGi-MANIFEST.MF
9a9096
Source16:      tomcat-juli-OSGi-MANIFEST.MF
9a9096
Source20:      %{name}-%{major_version}.%{minor_version}-jsvc.service
9a9096
Source21:      tomcat-functions
9a9096
Source22:      tomcat-preamble
9a9096
Source23:      tomcat-server
9a9096
Source24:      tomcat-named.service
9a9096
Source25:      tomcat-juli-adapters.jar
9a9096
Source26:      tomcat-juli.jar
9a9096
9a9096
Patch0: %{name}-%{major_version}.%{minor_version}-bootstrap-MANIFEST.MF.patch
9a9096
Patch1: %{name}-%{major_version}.%{minor_version}-tomcat-users-webapp.patch
9a9096
Patch2: %{name}-7.0.54-rebase.patch
9a9096
Patch3: %{name}-7.0-catalina-policy.patch
9a9096
Patch4: %{name}-7.0.76-CVE-2017-5664.patch
9a9096
Patch5: %{name}-7.0.76-CVE-2017-5647.patch
9a9096
Patch6: %{name}-7.0.76-CVE-2017-7674.patch
9a9096
Patch7: %{name}-7.0.76-CVE-2017-12617.patch
9a9096
Patch8: patch.rhbz1602060
9a9096
Patch9: %{name}-7.0.76-CVE-2018-1336.patch
9a9096
Patch10: %{name}-7.0.76-CVE-2018-11784.patch
9a9096
Patch11: %{name}-7.0.76-CVE-2018-1304.patch
9a9096
Patch12: %{name}-7.0.76-CVE-2018-1305.patch
9a9096
Patch13: %{name}-7.0.76-CVE-2018-8014.patch
9a9096
Patch14: %{name}-7.0.76-CVE-2018-8034.patch
9a9096
Patch15: %{name}-7.0.76-rhbz-1588703.patch
9a9096
Patch16: %{name}-7.0.76-rhbz-1455483.patch
783d95
Patch17: %{name}-7.0.76-CVE-2020-1938.patch
9a9096
9a9096
BuildArch:     noarch
9a9096
9a9096
BuildRequires: ant
9a9096
#BuildRequires: ant-nodeps
9a9096
BuildRequires: ecj >= 1:4.2.1
9a9096
BuildRequires: findutils
9a9096
BuildRequires: apache-commons-collections
9a9096
BuildRequires: apache-commons-daemon
9a9096
BuildRequires: apache-commons-dbcp
9a9096
BuildRequires: apache-commons-pool
9a9096
BuildRequires: jakarta-taglibs-standard
9a9096
BuildRequires: java-devel >= 1:1.6.0
9a9096
BuildRequires: jpackage-utils >= 0:1.7.0
9a9096
BuildRequires: junit
9a9096
BuildRequires: log4j
9a9096
BuildRequires: geronimo-jaxrpc
9a9096
BuildRequires: wsdl4j
9a9096
BuildRequires: systemd-units
9a9096
Requires:      apache-commons-daemon
9a9096
Requires:      apache-commons-logging
9a9096
Requires:      apache-commons-collections
9a9096
Requires:      apache-commons-dbcp
9a9096
Requires:      apache-commons-pool
9a9096
Requires:      java >= 1:1.6.0
9a9096
Requires:      procps
9a9096
Requires:      %{name}-lib = %{epoch}:%{version}-%{release}
9a9096
Requires(pre):    shadow-utils
9a9096
Requires(post):   chkconfig
9a9096
Requires(preun):  chkconfig
9a9096
Requires(post):   systemd-units
9a9096
Requires(preun):  systemd-units
9a9096
Requires(postun): systemd-units
9a9096
9a9096
%description
9a9096
Tomcat is the servlet container that is used in the official Reference
9a9096
Implementation for the Java Servlet and JavaServer Pages technologies.
9a9096
The Java Servlet and JavaServer Pages specifications are developed by
9a9096
Sun under the Java Community Process.
9a9096
9a9096
Tomcat is developed in an open and participatory environment and
9a9096
released under the Apache Software License version 2.0. Tomcat is intended
9a9096
to be a collaboration of the best-of-breed developers from around the world.
9a9096
9a9096
%package admin-webapps
9a9096
Group: Applications/System
9a9096
Summary: The host-manager and manager web applications for Apache Tomcat
9a9096
Requires: %{name} = %{epoch}:%{version}-%{release}
9a9096
9a9096
%description admin-webapps
9a9096
The host-manager and manager web applications for Apache Tomcat.
9a9096
9a9096
%package docs-webapp
9a9096
Group: Applications/Text
9a9096
Summary: The docs web application for Apache Tomcat
9a9096
Requires: %{name} = %{epoch}:%{version}-%{release}
9a9096
9a9096
%description docs-webapp
9a9096
The docs web application for Apache Tomcat.
9a9096
9a9096
%package javadoc
9a9096
Group: Documentation
9a9096
Summary: Javadoc generated documentation for Apache Tomcat
9a9096
Requires: jpackage-utils
9a9096
9a9096
%description javadoc
9a9096
Javadoc generated documentation for Apache Tomcat.
9a9096
9a9096
%package jsvc
9a9096
Group: System Environment/Daemons
9a9096
Summary: Apache jsvc wrapper for Apache Tomcat as separate service
9a9096
Requires: %{name} = %{epoch}:%{version}-%{release}
9a9096
Requires: apache-commons-daemon-jsvc
9a9096
9a9096
%description jsvc
9a9096
Systemd service and wrapper scripts to start tomcat with jsvc,
9a9096
which allows tomcat to perform some privileged operations
9a9096
(e.g. bind to a port < 1024) and then switch identity to a non-privileged user.
9a9096
9a9096
%package jsp-%{jspspec}-api
9a9096
Group: Development/Libraries
9a9096
Summary: Apache Tomcat JSP API implementation classes
9a9096
Provides: jsp = %{jspspec}
9a9096
Provides: jsp22
9a9096
Requires: %{name}-servlet-%{servletspec}-api = %{epoch}:%{version}-%{release}
9a9096
Requires(post): chkconfig
9a9096
Requires(postun): chkconfig
9a9096
9a9096
%description jsp-%{jspspec}-api
9a9096
Apache Tomcat JSP API implementation classes.
9a9096
9a9096
%package lib
9a9096
Group: Development/Libraries
9a9096
Summary: Libraries needed to run the Tomcat Web container
9a9096
Requires: %{name}-jsp-%{jspspec}-api = %{epoch}:%{version}-%{release}
9a9096
Requires: %{name}-servlet-%{servletspec}-api = %{epoch}:%{version}-%{release}
9a9096
Requires: %{name}-el-%{elspec}-api = %{epoch}:%{version}-%{release}
9a9096
Requires: ecj >= 1:4.2.1
9a9096
Requires: apache-commons-collections
9a9096
Requires: apache-commons-dbcp
9a9096
Requires: apache-commons-pool
9a9096
Requires(preun): coreutils
9a9096
9a9096
%description lib
9a9096
Libraries needed to run the Tomcat Web container.
9a9096
9a9096
%package servlet-%{servletspec}-api
9a9096
Group: Development/Libraries
9a9096
Summary: Apache Tomcat Servlet API implementation classes
9a9096
Provides: servlet = %{servletspec}
9a9096
Provides: servlet6
9a9096
Provides: servlet3
9a9096
Requires(post): chkconfig
9a9096
Requires(postun): chkconfig
9a9096
9a9096
%description servlet-%{servletspec}-api
9a9096
Apache Tomcat Servlet API implementation classes.
9a9096
9a9096
%package el-%{elspec}-api
9a9096
Group: Development/Libraries
9a9096
Summary: Expression Language v%{elspec} API
9a9096
Provides: el_1_0_api = %{epoch}:%{version}-%{release}
9a9096
Provides: el_api = %{elspec}
9a9096
Requires(post): chkconfig
9a9096
Requires(postun): chkconfig
9a9096
9a9096
%description el-%{elspec}-api
9a9096
Expression Language %{elspec}.
9a9096
9a9096
%package webapps
9a9096
Group: Applications/Internet
9a9096
Summary: The ROOT and examples web applications for Apache Tomcat
9a9096
Requires: %{name} = %{epoch}:%{version}-%{release}
9a9096
Requires: jakarta-taglibs-standard >= 0:1.1
9a9096
9a9096
%description webapps
9a9096
The ROOT and examples web applications for Apache Tomcat.
9a9096
9a9096
%prep
9a9096
%setup -q -n %{packdname}
9a9096
# remove pre-built binaries and windows files
9a9096
find . -type f \( -name "*.bat" -o -name "*.class" -o -name Thumbs.db -o -name "*.gz" -o \
9a9096
   -name "*.jar" -o -name "*.war" -o -name "*.zip" \) -delete
9a9096
9a9096
%patch0 -p0
9a9096
%patch1 -p0
9a9096
%patch2 -p0
9a9096
%patch3 -p0
9a9096
%patch4 -p0
9a9096
%patch5 -p0
9a9096
%patch6 -p0
9a9096
%patch7 -p0
9a9096
%patch8 -p0
9a9096
%patch9 -p0
9a9096
%patch10 -p0
9a9096
%patch11 -p0
9a9096
%patch12 -p0
9a9096
%patch13 -p0
9a9096
%patch14 -p0
9a9096
%patch15 -p0
9a9096
%patch16 -p0
783d95
%patch17 -p0
9a9096
9a9096
%{__ln_s} $(build-classpath jakarta-taglibs-core) webapps/examples/WEB-INF/lib/jstl.jar
9a9096
%{__ln_s} $(build-classpath jakarta-taglibs-standard) webapps/examples/WEB-INF/lib/standard.jar
9a9096
9a9096
%build
9a9096
export OPT_JAR_LIST="xalan-j2-serializer"
9a9096
9a9096
   # we don't care about the tarballs and we're going to replace
9a9096
   # tomcat-dbcp.jar with apache-commons-{collections,dbcp,pool}-tomcat5.jar
9a9096
   # so just create a dummy file for later removal
9a9096
   touch HACK
9a9096
   %{__mkdir_p} HACKDIR
9a9096
   touch HACKDIR/build.xml
9a9096
   # who needs a build.properties file anyway
9a9096
   %{ant} -Dbase.path="." \
9a9096
      -Dbuild.compiler="modern" \
9a9096
      -Dcommons-collections.jar="$(build-classpath apache-commons-collections)" \
9a9096
      -Dcommons-daemon.jar="$(build-classpath apache-commons-daemon)" \
9a9096
      -Dcommons-daemon.native.src.tgz="HACK" \
9a9096
      -Djasper-jdt.jar="$(build-classpath ecj)" \
9a9096
      -Djdt.jar="$(build-classpath ecj)" \
9a9096
      -Dtomcat-dbcp.jar="$(build-classpath apache-commons-dbcp)" \
9a9096
      -Dtomcat-native.tar.gz="HACK" \
9a9096
      -Dtomcat-native.home="." \
9a9096
      -Dcommons-daemon.native.win.mgr.exe="HACK" \
9a9096
      -Dnsis.exe="HACK" \
9a9096
      -Djaxrpc-lib.jar="$(build-classpath jaxrpc)" \
9a9096
      -Dwsdl4j-lib.jar="$(build-classpath wsdl4j)" \
9a9096
      -Dcommons-pool.home="HACKDIR" \
9a9096
      -Dcommons-dbcp.home="HACKDIR" \
9a9096
      -Dno.build.dbcp=true \
9a9096
      -Dversion="%{version}" \
9a9096
      -Dversion.build="%{micro_version}" \
9a9096
      -Djava.7.home=%{java_home} \
9a9096
      deploy dist-prepare dist-source javadoc
9a9096
9a9096
    # remove some jars that we'll replace with symlinks later
9a9096
   %{__rm} output/build/bin/commons-daemon.jar \
9a9096
           output/build/lib/ecj.jar \
9a9096
           output/build/lib/apache-commons-dbcp.jar
9a9096
9a9096
    # remove the cruft we created
9a9096
   %{__rm} output/build/bin/tomcat-native.tar.gz
9a9096
pushd output/dist/src/webapps/docs/appdev/sample/src
9a9096
%{__mkdir_p} ../web/WEB-INF/classes
9a9096
%{javac} -cp ../../../../../../../../output/build/lib/servlet-api.jar -d ../web/WEB-INF/classes mypackage/Hello.java
9a9096
pushd ../web
9a9096
%{jar} cf ../../../../../../../../output/build/webapps/docs/appdev/sample/sample.war *
9a9096
popd
9a9096
popd
9a9096
9a9096
# inject OSGi manifests
9a9096
mkdir -p META-INF
9a9096
cp -p %{SOURCE8} META-INF/MANIFEST.MF
9a9096
touch META-INF/MANIFEST.MF
9a9096
zip -u output/build/lib/servlet-api.jar META-INF/MANIFEST.MF
9a9096
cp -p %{SOURCE9} META-INF/MANIFEST.MF
9a9096
touch META-INF/MANIFEST.MF
9a9096
zip -u output/build/lib/jsp-api.jar META-INF/MANIFEST.MF
9a9096
cp -p %{SOURCE12} META-INF/MANIFEST.MF
9a9096
touch META-INF/MANIFEST.MF
9a9096
zip -u output/build/lib/el-api.jar META-INF/MANIFEST.MF
9a9096
cp -p %{SOURCE13} META-INF/MANIFEST.MF
9a9096
touch META-INF/MANIFEST.MF
9a9096
zip -u output/build/lib/jasper-el.jar META-INF/MANIFEST.MF
9a9096
cp -p %{SOURCE14} META-INF/MANIFEST.MF
9a9096
touch META-INF/MANIFEST.MF
9a9096
zip -u output/build/lib/jasper.jar META-INF/MANIFEST.MF
9a9096
cp -p %{SOURCE15} META-INF/MANIFEST.MF
9a9096
touch META-INF/MANIFEST.MF
9a9096
zip -u output/build/lib/tomcat-api.jar META-INF/MANIFEST.MF
9a9096
cp -p %{SOURCE16} META-INF/MANIFEST.MF
9a9096
touch META-INF/MANIFEST.MF
9a9096
zip -u output/build/bin/tomcat-juli.jar META-INF/MANIFEST.MF
9a9096
9a9096
%install
9a9096
# build initial path structure
9a9096
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_bindir}
9a9096
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_sbindir}
9a9096
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_javadocdir}/%{name}
9a9096
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_initrddir}
9a9096
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_systemddir}
9a9096
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d
9a9096
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig
9a9096
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{appdir}
9a9096
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{bindir}
9a9096
%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{confdir}
9a9096
%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{confdir}/Catalina/localhost
9a9096
%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{confdir}/conf.d
9a9096
/bin/echo "Place your custom *.conf files here. Shell expansion is supported." > ${RPM_BUILD_ROOT}%{confdir}/conf.d/README
9a9096
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{libdir}
9a9096
%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{logdir}
9a9096
/bin/touch ${RPM_BUILD_ROOT}%{logdir}/catalina.out
9a9096
%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{_localstatedir}/lib/tomcats
9a9096
/bin/echo "%{name}-%{major_version}.%{minor_version}.%{micro_version} RPM installed" >> ${RPM_BUILD_ROOT}%{logdir}/catalina.out
9a9096
%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{homedir}
9a9096
%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{tempdir}
9a9096
%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{workdir}
9a9096
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_unitdir}
9a9096
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}
9a9096
9a9096
# move things into place
9a9096
# First copy supporting libs to tomcat lib
9a9096
pushd output/build
9a9096
    %{__cp} -a bin/*.{jar,xml} ${RPM_BUILD_ROOT}%{bindir}
9a9096
    %{__cp} %{SOURCE10} conf/log4j.properties
9a9096
    %{__cp} -a conf/*.{policy,properties,xml} ${RPM_BUILD_ROOT}%{confdir}
9a9096
    %{__cp} -a lib/*.jar ${RPM_BUILD_ROOT}%{libdir}
9a9096
    %{__cp} -a webapps/* ${RPM_BUILD_ROOT}%{appdir}
9a9096
popd
9a9096
# javadoc
9a9096
%{__cp} -a output/dist/webapps/docs/api/* ${RPM_BUILD_ROOT}%{_javadocdir}/%{name}
9a9096
9a9096
%{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \
9a9096
   -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \
9a9096
   -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE1} \
9a9096
    > ${RPM_BUILD_ROOT}%{confdir}/%{name}.conf
9a9096
%{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \
9a9096
   -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \
9a9096
   -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE3} \
9a9096
    > ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/%{name}
9a9096
%{__install} -m 0644 %{SOURCE4} \
9a9096
    ${RPM_BUILD_ROOT}%{_sbindir}/%{name}
9a9096
%{__install} -m 0644 %{SOURCE11} \
9a9096
    ${RPM_BUILD_ROOT}%{_unitdir}/%{name}.service
9a9096
%{__install} -m 0644 %{SOURCE20} \
9a9096
    ${RPM_BUILD_ROOT}%{_unitdir}/%{name}-jsvc.service
9a9096
# %{__ln_s} %{name} ${RPM_BUILD_ROOT}%{_sbindir}/d%{name}
9a9096
%{__sed} -e "s|\@\@\@TCLOG\@\@\@|%{logdir}|g" %{SOURCE5} \
9a9096
    > ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}
9a9096
%{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \
9a9096
   -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \
9a9096
   -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE6} \
9a9096
    > ${RPM_BUILD_ROOT}%{_bindir}/%{name}-digest
9a9096
%{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \
9a9096
   -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \
9a9096
   -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE7} \
9a9096
    > ${RPM_BUILD_ROOT}%{_bindir}/%{name}-tool-wrapper
9a9096
9a9096
%{__install} -m 0644 %{SOURCE21} \
9a9096
    ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/functions         
9a9096
%{__install} -m 0755 %{SOURCE22} \
9a9096
    ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/preamble          
9a9096
%{__install} -m 0755 %{SOURCE23} \
9a9096
    ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/server            
9a9096
%{__install} -m 0644 %{SOURCE24} \
9a9096
    ${RPM_BUILD_ROOT}%{_unitdir}/%{name}@.service 
9a9096
9a9096
# create jsp and servlet API symlinks
9a9096
pushd ${RPM_BUILD_ROOT}%{_javadir}
9a9096
   %{__mv} %{name}/jsp-api.jar %{name}-jsp-%{jspspec}-api.jar
9a9096
   %{__ln_s} %{name}-jsp-%{jspspec}-api.jar %{name}-jsp-api.jar
9a9096
   %{__mv} %{name}/servlet-api.jar %{name}-servlet-%{servletspec}-api.jar
9a9096
   %{__ln_s} %{name}-servlet-%{servletspec}-api.jar %{name}-servlet-api.jar
9a9096
   %{__mv} %{name}/el-api.jar %{name}-el-%{elspec}-api.jar
9a9096
   %{__ln_s} %{name}-el-%{elspec}-api.jar %{name}-el-api.jar
9a9096
popd
9a9096
9a9096
pushd output/build
9a9096
    %{_bindir}/build-jar-repository lib apache-commons-collections \
9a9096
                                        apache-commons-dbcp apache-commons-pool ecj 2>&1
9a9096
    # need to use -p here with b-j-r otherwise the examples webapp fails to
9a9096
    # load with a java.io.IOException
9a9096
    %{_bindir}/build-jar-repository -p webapps/examples/WEB-INF/lib \
9a9096
    taglibs-core.jar taglibs-standard.jar 2>&1
9a9096
popd
9a9096
9a9096
pushd ${RPM_BUILD_ROOT}%{libdir}
9a9096
    # symlink JSP and servlet API jars
9a9096
    %{__ln_s} ../%{name}-jsp-%{jspspec}-api.jar .
9a9096
    %{__ln_s} ../%{name}-servlet-%{servletspec}-api.jar .
9a9096
    %{__ln_s} ../%{name}-el-%{elspec}-api.jar .
9a9096
    %{__ln_s} $(build-classpath apache-commons-collections) commons-collections.jar
9a9096
    %{__ln_s} $(build-classpath apache-commons-dbcp) commons-dbcp.jar
9a9096
    %{__ln_s} $(build-classpath apache-commons-pool) commons-pool.jar
9a9096
    %{__ln_s} $(build-classpath log4j) log4j.jar
9a9096
    %{__ln_s} $(build-classpath ecj) jasper-jdt.jar
9a9096
9a9096
    # Temporary copy the juli jar here from /usr/share/java/tomcat (for maven depmap)
9a9096
    %{__cp} -a ${RPM_BUILD_ROOT}%{bindir}/tomcat-juli.jar ./
9a9096
9a9096
    # Add extras JULI jars
9a9096
    %{__mkdir} extras
9a9096
    pushd extras
9a9096
        %{__cp} -p %{SOURCE25} .
9a9096
        %{__cp} -p %{SOURCE26} .
9a9096
    popd
9a9096
popd
9a9096
9a9096
# symlink to the FHS locations where we've installed things
9a9096
pushd ${RPM_BUILD_ROOT}%{homedir}
9a9096
    %{__ln_s} %{appdir} webapps
9a9096
    %{__ln_s} %{confdir} conf
9a9096
    %{__ln_s} %{libdir} lib
9a9096
    %{__ln_s} %{logdir} logs
9a9096
    %{__ln_s} %{tempdir} temp
9a9096
    %{__ln_s} %{workdir} work
9a9096
popd
9a9096
9a9096
# install sample webapp
9a9096
%{__mkdir_p} ${RPM_BUILD_ROOT}%{appdir}/sample
9a9096
pushd ${RPM_BUILD_ROOT}%{appdir}/sample
9a9096
%{jar} xf ${RPM_BUILD_ROOT}%{appdir}/docs/appdev/sample/sample.war
9a9096
popd
9a9096
%{__rm} ${RPM_BUILD_ROOT}%{appdir}/docs/appdev/sample/sample.war
9a9096
9a9096
# Allow linking for example webapp
9a9096
%{__mkdir_p} ${RPM_BUILD_ROOT}%{appdir}/examples/META-INF
9a9096
pushd ${RPM_BUILD_ROOT}%{appdir}/examples/META-INF
9a9096
echo ''>context.xml
9a9096
echo '<Context allowLinking="true"/>'>>context.xml
9a9096
popd
9a9096
9a9096
pushd ${RPM_BUILD_ROOT}%{appdir}/examples/WEB-INF/lib
9a9096
%{__ln_s} -f $(build-classpath jakarta-taglibs-core) jstl.jar
9a9096
%{__ln_s} -f $(build-classpath jakarta-taglibs-standard) standard.jar
9a9096
popd
9a9096
9a9096
9a9096
# Install the maven metadata
9a9096
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_mavenpomdir}
9a9096
pushd output/dist/src/res/maven
9a9096
for pom in *.pom; do
9a9096
    # fix-up version in all pom files
9a9096
    sed -i 's/@MAVEN.DEPLOY.VERSION@/%{version}/g' $pom
9a9096
done
9a9096
9a9096
# we won't install dbcp, juli-adapters and juli-extras pom files
9a9096
for libname in annotations-api catalina jasper-el jasper catalina-ha; do
9a9096
    %{__cp} -a %{name}-$libname.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.%{name}-$libname.pom
9a9096
    %add_maven_depmap JPP.%{name}-$libname.pom %{name}/$libname.jar
9a9096
done
9a9096
9a9096
# servlet-api jsp-api and el-api are not in tomcat subdir, since they are widely re-used elsewhere
9a9096
%{__cp} -a tomcat-jsp-api.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP-tomcat-jsp-api.pom
9a9096
%add_maven_depmap JPP-tomcat-jsp-api.pom tomcat-jsp-api.jar -f "tomcat-jsp-api" -a "javax.servlet.jsp:javax.servlet.jsp-api,javax.servlet:jsp-api,org.eclipse.jetty.orbit:javax.servlet.jsp"
9a9096
9a9096
%{__cp} -a tomcat-el-api.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP-tomcat-el-api.pom
9a9096
%add_maven_depmap JPP-tomcat-el-api.pom tomcat-el-api.jar -f "tomcat-el-api" -a "javax.el:javax.el-api,javax.el:el-api,org.eclipse.jetty.orbit:javax.el"
9a9096
9a9096
%{__cp} -a tomcat-servlet-api.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP-tomcat-servlet-api.pom
9a9096
# Generate a depmap fragment javax.servlet:servlet-api pointing to
9a9096
# tomcat-servlet-3.0-api for backwards compatibility
9a9096
# also provide jetty depmap (originally in jetty package, but it's cleaner to have it here
9a9096
%add_maven_depmap JPP-tomcat-servlet-api.pom tomcat-servlet-api.jar -f "tomcat-servlet-api" -a "javax.servlet:servlet-api,javax.servlet:javax.servlet-api,org.mortbay.jetty:servlet-api,org.eclipse.jetty.orbit:javax.servlet"
9a9096
9a9096
# two special pom where jar files have different names
9a9096
%{__cp} -a tomcat-tribes.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.%{name}-catalina-tribes.pom
9a9096
%add_maven_depmap JPP.%{name}-catalina-tribes.pom %{name}/catalina-tribes.jar
9a9096
9a9096
%{__cp} -a tomcat-coyote.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.%{name}-tomcat-coyote.pom
9a9096
%add_maven_depmap JPP.%{name}-tomcat-coyote.pom %{name}/tomcat-coyote.jar
9a9096
9a9096
%{__cp} -a tomcat-juli.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.%{name}-tomcat-juli.pom
9a9096
%add_maven_depmap JPP.%{name}-tomcat-juli.pom %{name}/tomcat-juli.jar
9a9096
9a9096
%{__cp} -a tomcat-api.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.%{name}-tomcat-api.pom
9a9096
%add_maven_depmap JPP.%{name}-tomcat-api.pom %{name}/tomcat-api.jar
9a9096
9a9096
%{__cp} -a tomcat-util.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.%{name}-tomcat-util.pom
9a9096
%add_maven_depmap JPP.%{name}-tomcat-util.pom %{name}/tomcat-util.jar
9a9096
9a9096
# replace temporary copy with link
9a9096
%{__ln_s} -f %{bindir}/tomcat-juli.jar ${RPM_BUILD_ROOT}%{libdir}/
9a9096
9a9096
9a9096
%pre
9a9096
# add the tomcat user and group
9a9096
getent group tomcat >/dev/null || %{_sbindir}/groupadd -f -g %{tcuid} -r tomcat
9a9096
if ! getent passwd tomcat >/dev/null ; then
9a9096
    if ! getent passwd %{tcuid} >/dev/null ; then
9a9096
        %{_sbindir}/useradd -r -u %{tcuid} -g tomcat -d %{homedir} -s /sbin/nologin -c "Apache Tomcat" tomcat
9a9096
        # Tomcat uses a reserved ID, so there should never be an else
9a9096
    fi
9a9096
fi
9a9096
exit 0
9a9096
9a9096
%post
9a9096
# install but don't activate
9a9096
%systemd_post %{name}.service
9a9096
9a9096
%post jsp-%{jspspec}-api
9a9096
%{_sbindir}/update-alternatives --install %{_javadir}/jsp.jar jsp \
9a9096
    %{_javadir}/%{name}-jsp-%{jspspec}-api.jar 20200
9a9096
9a9096
%post servlet-%{servletspec}-api
9a9096
%{_sbindir}/update-alternatives --install %{_javadir}/servlet.jar servlet \
9a9096
    %{_javadir}/%{name}-servlet-%{servletspec}-api.jar 30000
9a9096
9a9096
%post el-%{elspec}-api
9a9096
%{_sbindir}/update-alternatives --install %{_javadir}/elspec.jar elspec \
9a9096
   %{_javadir}/%{name}-el-%{elspec}-api.jar 20300
9a9096
9a9096
%preun
9a9096
# clean tempdir and workdir on removal or upgrade
9a9096
%{__rm} -rf %{workdir}/* %{tempdir}/*
9a9096
%systemd_preun %{name}.service
9a9096
9a9096
%postun
9a9096
%systemd_postun_with_restart %{name}.service 
9a9096
9a9096
%postun jsp-%{jspspec}-api
9a9096
if [ "$1" = "0" ]; then
9a9096
    %{_sbindir}/update-alternatives --remove jsp \
9a9096
        %{_javadir}/%{name}-jsp-%{jspspec}-api.jar
9a9096
fi
9a9096
9a9096
%postun servlet-%{servletspec}-api
9a9096
if [ "$1" = "0" ]; then
9a9096
    %{_sbindir}/update-alternatives --remove servlet \
9a9096
        %{_javadir}/%{name}-servlet-%{servletspec}-api.jar
9a9096
fi
9a9096
9a9096
%postun el-%{elspec}-api
9a9096
if [ "$1" = "0" ]; then
9a9096
    %{_sbindir}/update-alternatives --remove elspec \
9a9096
        %{_javadir}/%{name}-el-%{elspec}-api.jar
9a9096
fi
9a9096
9a9096
%triggerun -- tomcat < 0:7.0.22-2
9a9096
/usr/bin/systemd-sysv-convert -- save tomcat > /dev/null 2>&1 || :
9a9096
# Run these becasue the SysV package being removed won't do them
9a9096
/sbin/chkconfig --del tomcat > /dev/null 2>&1 || :
9a9096
/bin/systemctl try-restart tomcat.service > /dev/null 2>&1 || :
9a9096
9a9096
%files
9a9096
%defattr(0664,root,tomcat,0755)
9a9096
%doc {LICENSE,NOTICE,RELEASE*}
9a9096
%attr(0755,root,root) %{_bindir}/%{name}-digest
9a9096
%attr(0755,root,root) %{_bindir}/%{name}-tool-wrapper
9a9096
%attr(0755,root,root) %{_sbindir}/%{name}
9a9096
%attr(0644,root,root) %{_unitdir}/%{name}.service
9a9096
%attr(0644,root,root) %{_unitdir}/%{name}@.service
9a9096
%attr(0755,root,root) %dir %{_libexecdir}/%{name}
9a9096
%attr(0755,root,root) %dir %{_localstatedir}/lib/tomcats
9a9096
%attr(0644,root,root) %{_libexecdir}/%{name}/functions
9a9096
%attr(0755,root,root) %{_libexecdir}/%{name}/preamble
9a9096
%attr(0755,root,root) %{_libexecdir}/%{name}/server
9a9096
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
9a9096
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/sysconfig/%{name}
9a9096
%attr(0755,root,tomcat) %dir %{basedir}
9a9096
%attr(0755,root,tomcat) %dir %{confdir}
9a9096
9a9096
%defattr(0664,tomcat,root,0770)
9a9096
%attr(0770,tomcat,root) %dir %{logdir}
9a9096
9a9096
%defattr(0664,root,tomcat,0770)
9a9096
%attr(0660,tomcat,tomcat) %verify(not size md5 mtime) %{logdir}/catalina.out
9a9096
%attr(0770,root,tomcat) %dir %{cachedir}
9a9096
%attr(0770,root,tomcat) %dir %{tempdir}
9a9096
%attr(0770,root,tomcat) %dir %{workdir}
9a9096
9a9096
%defattr(0644,root,tomcat,0775)
9a9096
%attr(0775,root,tomcat) %dir %{appdir}
9a9096
%attr(0775,root,tomcat) %dir %{confdir}/Catalina
9a9096
%attr(0775,root,tomcat) %dir %{confdir}/Catalina/localhost
9a9096
%attr(0755,root,tomcat) %dir %{confdir}/conf.d
9a9096
%{confdir}/conf.d/README
9a9096
%config(noreplace) %{confdir}/%{name}.conf
9a9096
%config(noreplace) %{confdir}/*.policy
9a9096
%config(noreplace) %{confdir}/*.properties
9a9096
%config(noreplace) %{confdir}/context.xml
9a9096
%config(noreplace) %{confdir}/server.xml
9a9096
%attr(0640,root,tomcat) %config(noreplace) %{confdir}/tomcat-users.xml
9a9096
%config(noreplace) %{confdir}/web.xml
9a9096
%dir %{homedir}
9a9096
%{bindir}/bootstrap.jar
9a9096
%{bindir}/catalina-tasks.xml
9a9096
%{homedir}/lib
9a9096
%{homedir}/temp
9a9096
%{homedir}/webapps
9a9096
%{homedir}/work
9a9096
%{homedir}/logs
9a9096
%{homedir}/conf
9a9096
9a9096
%files admin-webapps
9a9096
%defattr(0664,root,tomcat,0755)
9a9096
%{appdir}/host-manager
9a9096
%{appdir}/manager
9a9096
%config(noreplace) %{appdir}/manager/WEB-INF/web.xml
9a9096
%config(noreplace) %{appdir}/host-manager/WEB-INF/web.xml
9a9096
9a9096
%files docs-webapp
9a9096
%defattr(-,root,root,-)
9a9096
%{appdir}/docs
9a9096
9a9096
%files javadoc
9a9096
%defattr(-,root,root,-)
9a9096
%{_javadocdir}/%{name}
9a9096
9a9096
%files jsp-%{jspspec}-api
9a9096
%defattr(-,root,root,-)
9a9096
%{_javadir}/%{name}-jsp-%{jspspec}*.jar
9a9096
%{_javadir}/%{name}-jsp-api.jar
9a9096
%{_mavenpomdir}/JPP-%{name}-jsp-api.pom
9a9096
%{_mavendepmapfragdir}/%{name}-tomcat-jsp-api
9a9096
9a9096
%files lib
9a9096
%defattr(-,root,root,-)
9a9096
%{libdir}
9a9096
%{bindir}/tomcat-juli.jar
9a9096
%{_mavendepmapfragdir}/%{name}
9a9096
%{_mavenpomdir}/JPP.%{name}-annotations-api.pom
9a9096
%{_mavenpomdir}/JPP.%{name}-catalina-ha.pom
9a9096
%{_mavenpomdir}/JPP.%{name}-catalina-tribes.pom
9a9096
%{_mavenpomdir}/JPP.%{name}-catalina.pom
9a9096
%{_mavenpomdir}/JPP.%{name}-jasper-el.pom
9a9096
%{_mavenpomdir}/JPP.%{name}-jasper.pom
9a9096
%{_mavenpomdir}/JPP.%{name}-tomcat-api.pom
9a9096
%{_mavenpomdir}/JPP.%{name}-tomcat-juli.pom
9a9096
%{_mavenpomdir}/JPP.%{name}-tomcat-coyote.pom
9a9096
%{_mavenpomdir}/JPP.%{name}-tomcat-util.pom
9a9096
9a9096
%exclude %{libdir}/%{name}-el-%{elspec}-api.jar
9a9096
9a9096
%files servlet-%{servletspec}-api
9a9096
%defattr(-,root,root,-)
9a9096
%doc LICENSE
9a9096
%{_javadir}/%{name}-servlet-%{servletspec}*.jar
9a9096
%{_javadir}/%{name}-servlet-api.jar
9a9096
%{_mavendepmapfragdir}/%{name}-tomcat-servlet-api
9a9096
%{_mavenpomdir}/JPP-%{name}-servlet-api.pom
9a9096
9a9096
%files el-%{elspec}-api
9a9096
%defattr(-,root,root,-)
9a9096
%doc LICENSE
9a9096
%{_javadir}/%{name}-el-%{elspec}-api.jar
9a9096
%{_javadir}/%{name}-el-api.jar
9a9096
%{libdir}/%{name}-el-%{elspec}-api.jar
9a9096
%{_mavenpomdir}/JPP-%{name}-el-api.pom
9a9096
%{_mavendepmapfragdir}/%{name}-tomcat-el-api
9a9096
9a9096
9a9096
%files webapps
9a9096
%defattr(0644,tomcat,tomcat,0755)
9a9096
%{appdir}/ROOT
9a9096
%{appdir}/examples
9a9096
%{appdir}/sample
9a9096
9a9096
%files jsvc
9a9096
%defattr(755,root,root,0755)
9a9096
%attr(0644,root,root) %{_unitdir}/%{name}-jsvc.service
9a9096
9a9096
%changelog
783d95
* Tue Mar 03 2020 Coty Sutherland <csutherl@redhat.com> 0:7.0.76-11
783d95
- Resolves: rhbz#1806801 CVE-2020-1938 tomcat: Apache Tomcat AJP File Read/Inclusion Vulnerability
783d95
9a9096
* Tue Sep 03 2019 Coty Sutherland <csutherl@redhat.com> 0:7.0.76-10
9a9096
- Resolves: rhbz#1748541 Bump tomcat release number
9a9096
9a9096
* Tue Feb 12 2019 Coty Sutherland <csutherl@redhat.com> 0:7.0.76-9
9a9096
- Resolves: rhbz#1641873 CVE-2018-11784 tomcat: Open redirect in default servlet
9a9096
- Resolves: rhbz#1552375 CVE-2018-1304 tomcat: Incorrect handling of empty string URL in security constraints can lead to unintended exposure of resources
9a9096
- Resolves: rhbz#1552374 CVE-2018-1305 tomcat: Late application of security constraints can lead to resource exposure for unauthorised users
9a9096
- Resolves: rhbz#1590182 CVE-2018-8014 tomcat: Insecure defaults in CORS filter enable 'supportsCredentials' for all origins
9a9096
- Resolves: rhbz#1608609 CVE-2018-8034 tomcat: host name verification missing in WebSocket client
9a9096
- Resolves: rhbz#1588703 Backport of Negative maxCookieCount value causes exception for Tomcat
9a9096
- Resolves: rhbz#1472950 shutdown_wait option is not working for Tomcat
9a9096
- Resolves: rhbz#1455483 Add support for characters "<" and ">" to the possible whitelist values
9a9096
9a9096
* Fri Oct 12 2018 Coty Sutherland <csutherl@redhat.com> 0:7.0.76-8
9a9096
- Resolves: rhbz#1608607 CVE-2018-1336 tomcat: A bug in the UTF 8 decoder can lead to DoS
9a9096
9a9096
* Tue Jul 24 2018 Jean-Frederic Clere <jclere@redhat.com> 0:7.0.76-7
9a9096
- Resolves: rhbz#1602060 Deadlock occurs while sending to a closing session
9a9096
9a9096
* Wed Nov 08 2017 Coty Sutherland <csutherl@redhat.com> 0:7.0.76-6
9a9096
- Related: rhbz#1505762 Remove erroneous useradd
9a9096
9a9096
* Tue Nov 07 2017 Coty Sutherland <csutherl@redhat.com> 0:7.0.76-5
9a9096
- Resolves: rhbz#1485453 man page uid and gid mismatch for service accounts
9a9096
- Resolves: rhbz#1505762 Problem to start tomcat with a user whose group has a name different to the user
9a9096
9a9096
* Mon Nov 06 2017 Coty Sutherland <csutherl@redhat.com> 0:7.0.76-3
9a9096
- Resolves: rhbz#1498343 CVE-2017-12615 CVE-2017-12617 tomcat: various flaws
9a9096
- Resolves: rhbz#1495655 CVE-2017-7674 tomcat: Vary header not added by CORS filter leading to cache poisoning
9a9096
- Resolves: rhbz#1470597 CVE-2017-5647 Add follow up revision
9a9096
9a9096
* Thu Jun 08 2017 Coty Sutherland <csutherl@redhat.com> 0:7.0.76-2
9a9096
- Resolves: rhbz#1459747 CVE-2017-5664 tomcat: Security constrained bypass in error page mechanism
9a9096
- Resolves: rhbz#1441481 CVE-2017-5647 tomcat: Incorrect handling of pipelined requests when send file was used
9a9096
9a9096
* Wed Mar 29 2017 Coty Sutherland <csutherl@redhat.com> - 0:7.0.76-1
9a9096
- Resolves: rhbz#1414895 Rebase tomcat to the current release
9a9096
9a9096
* Thu Aug 25 2016 Coty Sutherland <csutherl@redhat.com> - 0:7.0.69-10
9a9096
- Related: rhbz#1368122
9a9096
9a9096
* Tue Aug 23 2016 Coty Sutherland <csutherl@redhat.com> - 0:7.0.69-9
9a9096
- Resolves: rhbz#1362213 Tomcat: CGI sets environmental variable based on user supplied Proxy request header
9a9096
- Resolves: rhbz#1368122
9a9096
9a9096
* Wed Aug 03 2016 Coty Sutherland <csutherl@redhat.com> - 0:7.0.69-7
9a9096
- Resolves: rhbz#1362545
9a9096
9a9096
* Fri Jul 08 2016 Coty Sutherland <csutherl@redhat.com> - 0:7.0.69-6
9a9096
- Related: rhbz#1201409 Added /etc/sysconfig/tomcat to the systemd unit for tomcat-jsvc.service
9a9096
9a9096
* Fri Jul 01 2016 Coty Sutherland <csutherl@redhat.com> - 0:7.0.69-5
9a9096
- Resolves: rhbz#1347860 The systemd service unit does not allow tomcat to shut down gracefully
9a9096
9a9096
* Mon Jun 27 2016 Coty Sutherland <csutherl@redhat.com> - 0:7.0.69-4
9a9096
- Resolves: rhbz#1350438 CVE-2016-3092 tomcat: Usage of vulnerable FileUpload package can result in denial of service
9a9096
9a9096
* Fri Jun 17 2016 Coty Sutherland <csutherl@redhat.com> - 0:7.0.69-3
9a9096
- Resolves: rhbz#1347774 The security manager doesn't work correctly (JSPs cannot be compiled)
9a9096
9a9096
* Tue Jun 07 2016 Coty Sutherland <csutherl@redhat.com> - 0:7.0.69-2
9a9096
- Rebase Resolves: rhbz#1311622 Getting NoSuchElementException while handling attributes with empty string value in tomcat
9a9096
- Rebase Resolves: rhbz#1320853 Add HSTS support
9a9096
- Rebase Resolves: rhbz#1293292 CVE-2014-7810 tomcat: Tomcat/JBossWeb: security manager bypass via EL expressions
9a9096
- Rebase Resolves: rhbz#1347144 CVE-2016-0706 tomcat: security manager bypass via StatusManagerServlet
9a9096
- Rebase Resolves: rhbz#1347139 CVE-2015-5346 tomcat: Session fixation
9a9096
- Rebase Resolves: rhbz#1347136 CVE-2015-5345 tomcat: directory disclosure
9a9096
- Rebase Resolves: rhbz#1347129 CVE-2015-5174 tomcat: URL Normalization issue
9a9096
- Rebase Resolves: rhbz#1347146 CVE-2016-0763 tomcat: security manager bypass via setGlobalContext()
9a9096
- Rebase Resolves: rhbz#1347142 CVE-2016-0714 tomcat: Security Manager bypass via persistence mechanisms
9a9096
- Rebase Resolves: rhbz#1347133 CVE-2015-5351 tomcat: CSRF token leak
9a9096
9a9096
* Mon Jun 06 2016 Coty Sutherland <csutherl@redhat.com> - 0:7.0.69-1
9a9096
- Resolves: rhbz#1287928 Rebase to tomcat 7.0.69
9a9096
- Resolves: rhbz#1327326 rpm -V tomcat fails on /var/log/tomcat/catalina.out
9a9096
- Resolves: rhbz#1277197 tomcat user has non-existing default shell set
9a9096
- Resolves: rhbz#1240279 The command tomcat-digest doesn't work with RHEL 7
9a9096
- Resolves: rhbz#1229476 Tomcat startup ONLY options
9a9096
- Resolves: rhbz#1133070 Need to include full implementation of tomcat-juli.jar and tomcat-juli-adapters.jar
9a9096
- Resolves: rhbz#1201409 Fix the broken tomcat-jsvc service unit
9a9096
- Resolves: rhbz#1221896 tomcat.service loads /etc/sysconfig/tomcat without shell expansion
9a9096
- Resolves: rhbz#1208402 Mark web.xml in tomcat-admin-webapps as config file
9a9096
9a9096
* Tue Mar 24 2015 David Knox <dknox@redhat.com> - 0:7.0.54-2
9a9096
- Resolves: CVE-2014-0227
9a9096
9a9096
* Wed Sep 17 2014 David Knox <dknox@redhat.com> - 0:7.0.54-1
9a9096
- Resolves: rhbz#1141372 - Remove systemv artifacts. Add new systemd 
9a9096
- artifacts. Rebase on 7.0.54.
9a9096
9a9096
* Wed Jun 18 2014 David Knox <dknox@redhat.com> - 0:7.0.43-6
9a9096
- Resolves: CVE-2014-0099
9a9096
- Resolves: CVE-2014-0096
9a9096
- Resolves: CVE-2014-0075
9a9096
9a9096
* Wed Apr 16 2014 David Knox <dknox@redhat.com> - 0:7.0.42-5
9a9096
- Related: CVE-2013-4286
9a9096
- Related: CVE-2013-4322
9a9096
- Related: CVE-2014-0050
9a9096
- revisit patches for above. 
9a9096
9a9096
* Thu Mar 20 2014 David Knox <dknox@redhat.com> - 0:7.0.42-4
9a9096
- Related: rhbz#1056696 correct packaging for sbin tomcat
9a9096
9a9096
* Thu Mar 20 2014 David Knox <dknox@redhat.com> - 0:7.0.42-3
9a9096
- Related: CVE-2013-4286. increment build number. missed doing
9a9096
- it. 
9a9096
- Resolves: rhbz#1038183 remove BR for ant-nodeps. it's
9a9096
- no long used.
9a9096
9a9096
* Wed Jan 22 2014 David Knox <dknox@redhat.com> - 0:7.0.42-2
9a9096
- Resolves: rhbz#1056673 Invocation of useradd with shell
9a9096
- other than sbin nologin
9a9096
- Resolves: rhbz#1056677 preun systemv scriptlet unconditionally
9a9096
- stops service
9a9096
- Resolves: rhbz#1056696 init.d tomcat does not conform to RHEL7
9a9096
- systemd rules. systemv subpackage is removed.
9a9096
- Resolves: CVE-2013-4286
9a9096
- Resolves: CVE-2013-4322
9a9096
- Resolves: CVE-2014-0050
9a9096
- Built for rhel-7 RC
9a9096
9a9096
* Tue Jan 21 2014 David Knox <dknox@redhat.com> - 0:7.0.42-1
9a9096
- Resolves: rhbz#1051657 update to 7.0.42. Ant-nodeps is
9a9096
- deprecated.
9a9096
9a9096
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 07.0.40-3
9a9096
- Mass rebuild 2013-12-27
9a9096
9a9096
* Sat May 11 2013 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.40-1
9a9096
- Updated to 7.0.40
9a9096
- Resolves: rhbz 956569 added missing commons-pool link
9a9096
9a9096
* Mon Mar  4 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 0:7.0.37-2
9a9096
- Add depmaps for org.eclipse.jetty.orbit
9a9096
- Resolves: rhbz#917626
9a9096
9a9096
* Wed Feb 20 2013 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.39-1
9a9096
- Updated to 7.0.39
9a9096
9a9096
* Wed Feb 20 2013 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.37-1
9a9096
- Updated to 7.0.37
9a9096
9a9096
* Mon Feb 4 2013 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.35-1
9a9096
- Updated to 7.0.35
9a9096
- systemd SuccessExitStatus=143 for proper stop exit code processing
9a9096
9a9096
* Mon Dec 24 2012 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.34-1
9a9096
- Updated to 7.0.34
9a9096
- ecj >= 4.2.1 now required
9a9096
- Resolves: rhbz 889395 concat classpath correctly; chdir to $CATALINA_HOME
9a9096
9a9096
* Fri Dec 7 2012 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.33-2
9a9096
- Resolves: rhbz 883806 refix logdir ownership 
9a9096
9a9096
* Sun Dec 2 2012 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.33-1
9a9096
- Updated to 7.0.33
9a9096
- Resolves: rhbz 873620 need chkconfig for update-alternatives
9a9096
9a9096
* Wed Oct 17 2012 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.32-1
9a9096
- Updated to 7.0.32
9a9096
- Resolves: rhbz 842620 symlinks to taglibs
9a9096
9a9096
* Fri Aug 24 2012 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.29-1
9a9096
- Updated to 7.0.29
9a9096
- Add pidfile as tmpfile
9a9096
- Use systemd for running as unprivileged user
9a9096
- Resolves: rhbz 847751 upgrade path was broken
9a9096
- Resolves: rhbz 850343 use new systemd-rpm macros
9a9096
9a9096
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:7.0.28-2
9a9096
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
9a9096
9a9096
* Mon Jul 2 2012 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.28-1
9a9096
- Updated to 7.0.28
9a9096
- Resolves: rhbz 820119 Remove bundled apache-commons-dbcp
9a9096
- Resolves: rhbz 814900 Added tomcat-coyote POM
9a9096
- Resolves: rhbz 810775 Remove systemv stuff from %post scriptlet
9a9096
- Remove redhat-lsb R 
9a9096
9a9096
* Mon Apr 9 2012 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.27-2
9a9096
- Fixed native download hack
9a9096
9a9096
* Sat Apr 7 2012 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.27-1
9a9096
- Updated to 7.0.27
9a9096
- Fixed jakarta-taglibs-standard BR and R
9a9096
9a9096
* Wed Mar 21 2012 Stanislav Ochotnicky <sochotnicky@redhat.com> - 0:7.0.26-2
9a9096
- Add more depmaps to J2EE apis to help jetty/glassfish updates
9a9096
9a9096
* Wed Mar 14 2012 Juan Hernandez <juan.hernandez@redhat.com> 0:7.0.26-2
9a9096
- Added the POM files for tomcat-api and tomcat-util (#803495)
9a9096
9a9096
* Wed Feb 22 2012 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.26-1
9a9096
- Updated to 7.0.26
9a9096
- Bug 790334: Change ownership of logdir for logrotate
9a9096
9a9096
* Thu Feb 16 2012 Krzysztof Daniel <kdaniel@redhat.com> 0:7.0.25-4
9a9096
- Bug 790694: Priorities of jsp, servlet and el packages updated.
9a9096
9a9096
* Wed Feb 8 2012 Krzysztof Daniel <kdaniel@redhat.com> 0:7.0.25-3
9a9096
- Dropped indirect dependecy to tomcat 5
9a9096
9a9096
* Sun Jan 22 2012 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.25-2
9a9096
- Added hack for maven depmap of tomcat-juli absolute link [ -f ] pass correctly
9a9096
9a9096
* Sat Jan 21 2012 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.25-1
9a9096
- Updated to 7.0.25
9a9096
- Removed EntityResolver patch (changes already in upstream sources)
9a9096
- Place poms and depmaps in the same package as jars
9a9096
- Added javax.servlet.descriptor to export-package of servlet-api
9a9096
- Move several chkconfig actions and reqs to systemv subpackage
9a9096
- New maven depmaps generation method
9a9096
- Add patch to support java7. (patch sent upstream).
9a9096
- Require java >= 1:1.6.0
9a9096
9a9096
* Fri Jan 13 2012 Krzysztof Daniel <kdaniel@redhat.com> 0:7.0.23-5
9a9096
- Exported javax.servlet.* packages in version 3.0 as 2.6 to make
9a9096
  servlet-api compatible with Eclipse.
9a9096
9a9096
* Thu Jan 12 2012 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.23-4
9a9096
- Move jsvc support to subpackage
9a9096
9a9096
* Wed Jan 11 2012 Alexander Kurtakov <akurtako@redhat.com> 0:7.0.23-2
9a9096
- Add EntityResolver setter patch to jasper for jetty's need. (patch sent upstream).
9a9096
9a9096
* Mon Dec 12 2011 Joseph D. Wagner <joe@josephdwagner.info> 0:7.0.23-3
9a9096
- Added support to /usr/sbin/tomcat-sysd and /usr/sbin/tomcat for
9a9096
  starting tomcat with jsvc, which allows tomcat to perform some
9a9096
  privileged operations (e.g. bind to a port < 1024) and then switch
9a9096
  identity to a non-privileged user. Must add USE_JSVC="true" to
9a9096
  /etc/tomcat/tomcat.conf or /etc/sysconfig/tomcat.
9a9096
9a9096
* Mon Nov 28 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.23-1
9a9096
- Updated to 7.0.23
9a9096
9a9096
* Fri Nov 11 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.22-2
9a9096
- Move tomcat-juli.jar to lib package
9a9096
- Drop %%update_maven_depmap as in tomcat6
9a9096
- Provide native systemd unit file ported from tomcat6
9a9096
9a9096
* Thu Oct 6 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.22-1
9a9096
- Updated to 7.0.22
9a9096
9a9096
* Mon Oct 03 2011 Rex Dieter <rdieter@fedoraproject.org> - 0:7.0.21-3.1
9a9096
- rebuild (java), rel-eng#4932
9a9096
9a9096
* Mon Sep 26 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.21-3
9a9096
- Fix basedir mode
9a9096
9a9096
* Tue Sep 20 2011 Roland Grunberg <rgrunber@redhat.com> 0:7.0.21-2
9a9096
- Add manifests for el-api, jasper-el, jasper, tomcat, and tomcat-juli.
9a9096
9a9096
* Thu Sep 8 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.21-1
9a9096
- Updated to 7.0.21
9a9096
9a9096
* Mon Aug 15 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.20-3
9a9096
- Require java = 1:1.6.0
9a9096
9a9096
* Mon Aug 15 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.20-2
9a9096
- Require java < 1.7.0
9a9096
9a9096
* Mon Aug 15 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.20-1
9a9096
- Updated to 7.0.20
9a9096
9a9096
* Tue Jul 26 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.19-1
9a9096
- Updated to 7.0.19
9a9096
9a9096
* Tue Jun 21 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.16-1
9a9096
- Updated to 7.0.16
9a9096
9a9096
* Mon Jun 6 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.14-3
9a9096
- Added initial systemd service
9a9096
- Fix some paths
9a9096
9a9096
* Sat May 21 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.14-2
9a9096
- Fixed http source link
9a9096
- Securify some permissions
9a9096
- Added licenses for el-api and servlet-api
9a9096
- Added dependency on jpackage-utils for the javadoc subpackage
9a9096
9a9096
* Sat May 14 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.14-1
9a9096
- Updated to 7.0.14
9a9096
9a9096
* Thu May 5 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.12-4
9a9096
- Provided local paths for libs
9a9096
- Fixed dependencies
9a9096
- Fixed update temp/work cleanup
9a9096
9a9096
* Mon May 2 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.12-3
9a9096
- Fixed package groups
9a9096
- Fixed some permissions
9a9096
- Fixed some links
9a9096
- Removed old tomcat6 crap
9a9096
9a9096
* Thu Apr 28 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.12-2
9a9096
- Package now named just tomcat instead of tomcat7
9a9096
- Removed Provides:  %{name}-log4j
9a9096
- Switched to apache-commons-* names instead of jakarta-commons-* .
9a9096
- Remove the old changelog
9a9096
- BR/R java >= 1:1.6.0 , same for java-devel
9a9096
- Removed old tomcat6 crap
9a9096
9a9096
* Wed Apr 27 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.12-1
9a9096
- Tomcat7