30340fb
# Copyright (c) 2000-2008, JPackage Project
30340fb
# All rights reserved.
30340fb
#
30340fb
# Redistribution and use in source and binary forms, with or without
30340fb
# modification, are permitted provided that the following conditions
30340fb
# are met:
30340fb
#
30340fb
# 1. Redistributions of source code must retain the above copyright
30340fb
#    notice, this list of conditions and the following disclaimer.
30340fb
# 2. Redistributions in binary form must reproduce the above copyright
30340fb
#    notice, this list of conditions and the following disclaimer in the
30340fb
#    documentation and/or other materials provided with the
30340fb
#    distribution.
30340fb
# 3. Neither the name of the JPackage Project nor the names of its
30340fb
#    contributors may be used to endorse or promote products derived
30340fb
#    from this software without specific prior written permission.
30340fb
#
30340fb
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
30340fb
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30340fb
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
30340fb
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
30340fb
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
30340fb
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
30340fb
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
30340fb
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30340fb
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30340fb
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30340fb
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30340fb
#
30340fb
Ivan Afonichev 53dd136
%global jspspec 2.3
Ivan Afonichev 53dd136
%global major_version 8
Dave Knox 2cdbc95
%global minor_version 0
fe6d560
%global micro_version 37
Dave Knox 2cdbc95
%global packdname apache-tomcat-%{version}-src
Ivan Afonichev 53dd136
%global servletspec 3.1
Ivan Afonichev 53dd136
%global elspec 3.0
Dave Knox 2cdbc95
%global tcuid 91
Ivan Afonichev 65e6257
#Recommended version is specified in java/org/apache/catalina/core/AprLifecycleListener.java
Ivan Afonichev 65e6257
%global native_version 1.1.33
Ivan Afonichev 65e6257
30340fb
30340fb
# FHS 2.3 compliant tree structure - http://www.pathname.com/fhs/2.3/
Dave Knox 2cdbc95
%global basedir %{_var}/lib/%{name}
Dave Knox 2cdbc95
%global appdir %{basedir}/webapps
Dave Knox 2cdbc95
%global homedir %{_datadir}/%{name}
ca271e5
%global bindir %{homedir}/bin
ca271e5
%global confdir %{_sysconfdir}/%{name}
Dave Knox 2cdbc95
%global libdir %{_javadir}/%{name}
Dave Knox 2cdbc95
%global logdir %{_var}/log/%{name}
Dave Knox 2cdbc95
%global cachedir %{_var}/cache/%{name}
Dave Knox 2cdbc95
%global tempdir %{cachedir}/temp
Dave Knox 2cdbc95
%global workdir %{cachedir}/work
Dave Knox 2cdbc95
%global _initrddir %{_sysconfdir}/init.d
ca271e5
%global _systemddir /lib/systemd/system
30340fb
5b34837
Name:          tomcat
bdf0d75
Epoch:         1
Stanislav Ochotnicky 8ebe651
Version:       %{major_version}.%{minor_version}.%{micro_version}
fe6d560
Release:       1%{?dist}
Stanislav Ochotnicky 8ebe651
Summary:       Apache Servlet/JSP Engine, RI for Servlet %{servletspec}/JSP %{jspspec} API
Stanislav Ochotnicky 8ebe651
468fdba
Group:         System Environment/Daemons
Stanislav Ochotnicky 8ebe651
License:       ASL 2.0
Stanislav Ochotnicky 8ebe651
URL:           http://tomcat.apache.org/
5f0fcd8
Source0:       http://www.apache.org/dist/tomcat/tomcat-%{major_version}/v%{version}/src/%{packdname}.tar.gz
Stanislav Ochotnicky 8ebe651
Source1:       %{name}-%{major_version}.%{minor_version}.conf
Stanislav Ochotnicky 8ebe651
Source3:       %{name}-%{major_version}.%{minor_version}.sysconfig
Stanislav Ochotnicky 8ebe651
Source4:       %{name}-%{major_version}.%{minor_version}.wrapper
Stanislav Ochotnicky 8ebe651
Source5:       %{name}-%{major_version}.%{minor_version}.logrotate
Stanislav Ochotnicky 8ebe651
Source6:       %{name}-%{major_version}.%{minor_version}-digest.script
Stanislav Ochotnicky 8ebe651
Source7:       %{name}-%{major_version}.%{minor_version}-tool-wrapper.script
Stanislav Ochotnicky 8ebe651
Source8:       servlet-api-OSGi-MANIFEST.MF
Stanislav Ochotnicky 8ebe651
Source9:       jsp-api-OSGi-MANIFEST.MF
ca271e5
Source11:      %{name}-%{major_version}.%{minor_version}.service
46a16cc
Source12:      el-api-OSGi-MANIFEST.MF
46a16cc
Source13:      jasper-el-OSGi-MANIFEST.MF
46a16cc
Source14:      jasper-OSGi-MANIFEST.MF
46a16cc
Source15:      tomcat-api-OSGi-MANIFEST.MF
46a16cc
Source16:      tomcat-juli-OSGi-MANIFEST.MF
94b7c96
Source20:      %{name}-%{major_version}.%{minor_version}-jsvc.service
cee7bee
Source21:      tomcat-functions
0543334
Source30:      tomcat-preamble
0543334
Source31:      tomcat-server
0543334
Source32:      tomcat-named.service
94b7c96
Stanislav Ochotnicky 8ebe651
Patch0:        %{name}-%{major_version}.%{minor_version}-bootstrap-MANIFEST.MF.patch
Stanislav Ochotnicky 8ebe651
Patch1:        %{name}-%{major_version}.%{minor_version}-tomcat-users-webapp.patch
50c91f3
Patch2:        %{name}-8.0.36-CompilerOptionsV9.patch
fe6d560
Patch3:        %{name}-8.0.37-javadoc-fix.patch
167370b
Stanislav Ochotnicky 8ebe651
BuildArch:     noarch
Stanislav Ochotnicky 8ebe651
30340fb
BuildRequires: ant
Ivan Afonichev 53dd136
BuildRequires: ecj >= 1:4.4.0
30340fb
BuildRequires: findutils
5b34837
BuildRequires: apache-commons-collections
5b34837
BuildRequires: apache-commons-daemon
5b34837
BuildRequires: apache-commons-dbcp
5b34837
BuildRequires: apache-commons-pool
07e2fb4
BuildRequires: tomcat-taglibs-standard
Stanislav Ochotnicky 37c11cf
BuildRequires: java-devel >= 1:1.6.0
30340fb
BuildRequires: jpackage-utils >= 0:1.7.0
30340fb
BuildRequires: junit
31d304e
BuildRequires: geronimo-jaxrpc
31d304e
BuildRequires: wsdl4j
ddfc98c
BuildRequires: systemd-units
5b34837
Requires:      apache-commons-daemon
5b34837
Requires:      apache-commons-logging
5b34837
Requires:      apache-commons-collections
5b34837
Requires:      apache-commons-dbcp
5b34837
Requires:      apache-commons-pool
cee7bee
Requires:      java-headless >= 1:1.6.0
1ff9d5f
Requires:      jpackage-utils
Stanislav Ochotnicky 8ebe651
Requires:      procps
Stanislav Ochotnicky 8ebe651
Requires:      %{name}-lib = %{epoch}:%{version}-%{release}
Ivan Afonichev 65e6257
Recommends:    tomcat-native >= %{native_version}
Stanislav Ochotnicky 8ebe651
Requires(pre):    shadow-utils
7f5f5fa
Requires(post):   chkconfig
7f5f5fa
Requires(preun):  chkconfig
ddfc98c
Requires(post):   systemd-units
ddfc98c
Requires(preun):  systemd-units
ddfc98c
Requires(postun): systemd-units
30340fb
Ivan Afonichev 7977e00
# added after log4j sub-package was removed
Ivan Afonichev 7977e00
Provides:         %{name}-log4j = %{epoch}:%{version}-%{release}
Ivan Afonichev 7977e00
30340fb
%description
30340fb
Tomcat is the servlet container that is used in the official Reference
30340fb
Implementation for the Java Servlet and JavaServer Pages technologies.
30340fb
The Java Servlet and JavaServer Pages specifications are developed by
30340fb
Sun under the Java Community Process.
30340fb
30340fb
Tomcat is developed in an open and participatory environment and
30340fb
released under the Apache Software License version 2.0. Tomcat is intended
30340fb
to be a collaboration of the best-of-breed developers from around the world.
30340fb
30340fb
%package admin-webapps
468fdba
Group: Applications/System
30340fb
Summary: The host-manager and manager web applications for Apache Tomcat
30340fb
Requires: %{name} = %{epoch}:%{version}-%{release}
30340fb
30340fb
%description admin-webapps
f2e7822
The host-manager and manager web applications for Apache Tomcat.
30340fb
30340fb
%package docs-webapp
468fdba
Group: Applications/Text
30340fb
Summary: The docs web application for Apache Tomcat
30340fb
Requires: %{name} = %{epoch}:%{version}-%{release}
30340fb
30340fb
%description docs-webapp
f2e7822
The docs web application for Apache Tomcat.
30340fb
30340fb
%package javadoc
30340fb
Group: Documentation
30340fb
Summary: Javadoc generated documentation for Apache Tomcat
5f0fcd8
Requires: jpackage-utils
30340fb
30340fb
%description javadoc
f2e7822
Javadoc generated documentation for Apache Tomcat.
30340fb
94b7c96
%package jsvc
94b7c96
Group: System Environment/Daemons
94b7c96
Summary: Apache jsvc wrapper for Apache Tomcat as separate service
94b7c96
Requires: %{name} = %{epoch}:%{version}-%{release}
94b7c96
Requires: apache-commons-daemon-jsvc
94b7c96
94b7c96
%description jsvc
cee7bee
Systemd service to start tomcat with jsvc,
94b7c96
which allows tomcat to perform some privileged operations
94b7c96
(e.g. bind to a port < 1024) and then switch identity to a non-privileged user.
94b7c96
30340fb
%package jsp-%{jspspec}-api
468fdba
Group: Development/Libraries
30340fb
Summary: Apache Tomcat JSP API implementation classes
30340fb
Provides: jsp = %{jspspec}
Ivan Afonichev 53dd136
Obsoletes: %{name}-jsp-2.2-api
30340fb
Requires: %{name}-servlet-%{servletspec}-api = %{epoch}:%{version}-%{release}
be711a2
Requires: %{name}-el-%{elspec}-api = %{epoch}:%{version}-%{release}
7b951af
Requires(post): chkconfig
7b951af
Requires(postun): chkconfig
30340fb
30340fb
%description jsp-%{jspspec}-api
f2e7822
Apache Tomcat JSP API implementation classes.
30340fb
30340fb
%package lib
468fdba
Group: Development/Libraries
30340fb
Summary: Libraries needed to run the Tomcat Web container
30340fb
Requires: %{name}-jsp-%{jspspec}-api = %{epoch}:%{version}-%{release}
30340fb
Requires: %{name}-servlet-%{servletspec}-api = %{epoch}:%{version}-%{release}
Dave Knox d2e4841
Requires: %{name}-el-%{elspec}-api = %{epoch}:%{version}-%{release}
40dbe1d
Requires: ecj >= 1:4.2.1
5b34837
Requires: apache-commons-collections
5b34837
Requires: apache-commons-dbcp
5b34837
Requires: apache-commons-pool
30340fb
Requires(preun): coreutils
30340fb
30340fb
%description lib
f2e7822
Libraries needed to run the Tomcat Web container.
30340fb
30340fb
%package servlet-%{servletspec}-api
468fdba
Group: Development/Libraries
30340fb
Summary: Apache Tomcat Servlet API implementation classes
30340fb
Provides: servlet = %{servletspec}
30340fb
Provides: servlet6
167370b
Provides: servlet3
Ivan Afonichev 53dd136
Obsoletes: %{name}-servlet-3.0-api
7b951af
Requires(post): chkconfig
7b951af
Requires(postun): chkconfig
30340fb
30340fb
%description servlet-%{servletspec}-api
f2e7822
Apache Tomcat Servlet API implementation classes.
30340fb
Dave Knox d2e4841
%package el-%{elspec}-api
468fdba
Group: Development/Libraries
Ivan Afonichev 53dd136
Summary: Expression Language v%{elspec} API
Dave Knox d2e4841
Provides: el_api = %{elspec}
Ivan Afonichev 53dd136
Obsoletes: %{name}-el-2.2-api
7b951af
Requires(post): chkconfig
7b951af
Requires(postun): chkconfig
Dave Knox d2e4841
Dave Knox d2e4841
%description el-%{elspec}-api
Ivan Afonichev 53dd136
Expression Language %{elspec}.
Dave Knox d2e4841
30340fb
%package webapps
468fdba
Group: Applications/Internet
30340fb
Summary: The ROOT and examples web applications for Apache Tomcat
30340fb
Requires: %{name} = %{epoch}:%{version}-%{release}
07e2fb4
Requires: tomcat-taglibs-standard >= 0:1.1
30340fb
30340fb
%description webapps
f2e7822
The ROOT and examples web applications for Apache Tomcat.
30340fb
30340fb
%prep
7f5f5fa
%setup -q -n %{packdname}
30340fb
# remove pre-built binaries and windows files
f2e7822
find . -type f \( -name "*.bat" -o -name "*.class" -o -name Thumbs.db -o -name "*.gz" -o \
Stanislav Ochotnicky 89cd8ca
   -name "*.jar" -o -name "*.war" -o -name "*.zip" \) -delete
Stanislav Ochotnicky 89cd8ca
30340fb
%patch0 -p0
30340fb
%patch1 -p0
50c91f3
%patch2 -p0
d64bf2e
%patch3 -p0
50c91f3
07e2fb4
%{__ln_s} $(build-classpath tomcat-taglibs-standard/taglibs-standard-impl) webapps/examples/WEB-INF/lib/jstl.jar
07e2fb4
%{__ln_s} $(build-classpath tomcat-taglibs-standard/taglibs-standard-compat) webapps/examples/WEB-INF/lib/standard.jar
30340fb
30340fb
%build
7f5f5fa
export OPT_JAR_LIST="xalan-j2-serializer"
Dave Knox d2e4841
   # we don't care about the tarballs and we're going to replace
Stanislav Ochotnicky 8ebe651
   # tomcat-dbcp.jar with apache-commons-{collections,dbcp,pool}-tomcat5.jar
Dave Knox d2e4841
   # so just create a dummy file for later removal
Dave Knox d2e4841
   touch HACK
31d304e
   %{__mkdir_p} HACKDIR
31d304e
   touch HACKDIR/build.xml
Ivan Afonichev 53dd136
   touch HACKDIR/LICENSE
Ivan Afonichev 53dd136
Dave Knox d2e4841
   # who needs a build.properties file anyway
Dave Knox d2e4841
   %{ant} -Dbase.path="." \
Dave Knox d2e4841
      -Dbuild.compiler="modern" \
Stanislav Ochotnicky 8ebe651
      -Dcommons-collections.jar="$(build-classpath apache-commons-collections)" \
Stanislav Ochotnicky 8ebe651
      -Dcommons-daemon.jar="$(build-classpath apache-commons-daemon)" \
7f5f5fa
      -Dcommons-daemon.native.src.tgz="HACK" \
Dave Knox d2e4841
      -Djasper-jdt.jar="$(build-classpath ecj)" \
Dave Knox d2e4841
      -Djdt.jar="$(build-classpath ecj)" \
Dave Knox d2e4841
      -Dtomcat-native.tar.gz="HACK" \
607cf32
      -Dtomcat-native.home="." \
Ivan Afonichev 53dd136
      -Dtomcat-native.win.path="HACKDIR" \
31d304e
      -Dcommons-daemon.native.win.mgr.exe="HACK" \
31d304e
      -Dnsis.exe="HACK" \
31d304e
      -Djaxrpc-lib.jar="$(build-classpath jaxrpc)" \
31d304e
      -Dwsdl4j-lib.jar="$(build-classpath wsdl4j)" \
31d304e
      -Dcommons-pool.home="HACKDIR" \
31d304e
      -Dcommons-dbcp.home="HACKDIR" \
31d304e
      -Dno.build.dbcp=true \
167370b
      -Dversion="%{version}" \
167370b
      -Dversion.build="%{micro_version}" \
cee7bee
      -Djava.7.home=%{java_home} \
31d304e
      deploy dist-prepare dist-source javadoc
167370b
30340fb
    # remove some jars that we'll replace with symlinks later
7f5f5fa
   %{__rm} output/build/bin/commons-daemon.jar \
Ivan Afonichev 53dd136
           output/build/lib/ecj.jar
c29844a
30340fb
    # remove the cruft we created
7f5f5fa
   %{__rm} output/build/bin/tomcat-native.tar.gz
7f5f5fa
pushd output/dist/src/webapps/docs/appdev/sample/src
30340fb
%{__mkdir_p} ../web/WEB-INF/classes
30340fb
%{javac} -cp ../../../../../../../../output/build/lib/servlet-api.jar -d ../web/WEB-INF/classes mypackage/Hello.java
30340fb
pushd ../web
30340fb
%{jar} cf ../../../../../../../../output/build/webapps/docs/appdev/sample/sample.war *
30340fb
popd
30340fb
popd
30340fb
f999669
# inject OSGi manifests
f999669
mkdir -p META-INF
f999669
cp -p %{SOURCE8} META-INF/MANIFEST.MF
f999669
touch META-INF/MANIFEST.MF
7f5f5fa
zip -u output/build/lib/servlet-api.jar META-INF/MANIFEST.MF
3652da7
cp -p %{SOURCE9} META-INF/MANIFEST.MF
3652da7
touch META-INF/MANIFEST.MF
7f5f5fa
zip -u output/build/lib/jsp-api.jar META-INF/MANIFEST.MF
46a16cc
cp -p %{SOURCE12} META-INF/MANIFEST.MF
46a16cc
touch META-INF/MANIFEST.MF
46a16cc
zip -u output/build/lib/el-api.jar META-INF/MANIFEST.MF
46a16cc
cp -p %{SOURCE13} META-INF/MANIFEST.MF
46a16cc
touch META-INF/MANIFEST.MF
46a16cc
zip -u output/build/lib/jasper-el.jar META-INF/MANIFEST.MF
46a16cc
cp -p %{SOURCE14} META-INF/MANIFEST.MF
46a16cc
touch META-INF/MANIFEST.MF
46a16cc
zip -u output/build/lib/jasper.jar META-INF/MANIFEST.MF
46a16cc
cp -p %{SOURCE15} META-INF/MANIFEST.MF
46a16cc
touch META-INF/MANIFEST.MF
46a16cc
zip -u output/build/lib/tomcat-api.jar META-INF/MANIFEST.MF
46a16cc
cp -p %{SOURCE16} META-INF/MANIFEST.MF
46a16cc
touch META-INF/MANIFEST.MF
46a16cc
zip -u output/build/bin/tomcat-juli.jar META-INF/MANIFEST.MF
f999669
30340fb
%install
30340fb
# build initial path structure
30340fb
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_bindir}
30340fb
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_sbindir}
30340fb
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_javadocdir}/%{name}
30340fb
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_initrddir}
ca271e5
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_systemddir}
30340fb
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d
30340fb
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig
30340fb
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{appdir}
30340fb
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{bindir}
Dave Knox d2e4841
%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{confdir}
Dave Knox d2e4841
%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{confdir}/Catalina/localhost
Ivan Afonichev 7d21a72
%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{confdir}/conf.d
Ivan Afonichev 7d21a72
/bin/echo "Place your custom *.conf files here. Shell expansion is supported." > ${RPM_BUILD_ROOT}%{confdir}/conf.d/README
30340fb
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{libdir}
Dave Knox d2e4841
%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{logdir}
david knox 3cb34c7
/bin/touch ${RPM_BUILD_ROOT}%{logdir}/catalina.out
cee7bee
%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{_localstatedir}/lib/tomcats
Dave Knox d2e4841
%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{homedir}
Dave Knox d2e4841
%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{tempdir}
Dave Knox d2e4841
%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{workdir}
ddfc98c
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_unitdir}
0543334
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}
Dave Knox 2cdbc95
30340fb
# move things into place
Dave Knox 2cdbc95
# First copy supporting libs to tomcat lib
7f5f5fa
pushd output/build
30340fb
    %{__cp} -a bin/*.{jar,xml} ${RPM_BUILD_ROOT}%{bindir}
30340fb
    %{__cp} -a conf/*.{policy,properties,xml} ${RPM_BUILD_ROOT}%{confdir}
30340fb
    %{__cp} -a lib/*.jar ${RPM_BUILD_ROOT}%{libdir}
30340fb
    %{__cp} -a webapps/* ${RPM_BUILD_ROOT}%{appdir}
30340fb
popd
30340fb
# javadoc
7f5f5fa
%{__cp} -a output/dist/webapps/docs/api/* ${RPM_BUILD_ROOT}%{_javadocdir}/%{name}
Stanislav Ochotnicky 89cd8ca
30340fb
%{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \
Dave Knox d2e4841
   -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \
Dave Knox d2e4841
   -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE1} \
30340fb
    > ${RPM_BUILD_ROOT}%{confdir}/%{name}.conf
30340fb
%{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \
Dave Knox d2e4841
   -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \
Dave Knox d2e4841
   -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE3} \
30340fb
    > ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/%{name}
30340fb
%{__install} -m 0644 %{SOURCE4} \
30340fb
    ${RPM_BUILD_ROOT}%{_sbindir}/%{name}
ca271e5
%{__install} -m 0644 %{SOURCE11} \
ddfc98c
    ${RPM_BUILD_ROOT}%{_unitdir}/%{name}.service
94b7c96
%{__install} -m 0644 %{SOURCE20} \
94b7c96
    ${RPM_BUILD_ROOT}%{_unitdir}/%{name}-jsvc.service
30340fb
%{__sed} -e "s|\@\@\@TCLOG\@\@\@|%{logdir}|g" %{SOURCE5} \
30340fb
    > ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}
30340fb
%{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \
Dave Knox d2e4841
   -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \
Dave Knox d2e4841
   -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE6} \
30340fb
    > ${RPM_BUILD_ROOT}%{_bindir}/%{name}-digest
30340fb
%{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \
Dave Knox d2e4841
   -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \
Dave Knox d2e4841
   -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE7} \
30340fb
    > ${RPM_BUILD_ROOT}%{_bindir}/%{name}-tool-wrapper
0543334
cee7bee
%{__install} -m 0644 %{SOURCE21} \
cee7bee
    ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/functions
0543334
%{__install} -m 0755 %{SOURCE30} \
0543334
    ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/preamble
0543334
%{__install} -m 0755 %{SOURCE31} \
0543334
    ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/server
0543334
%{__install} -m 0644 %{SOURCE32} \
0543334
    ${RPM_BUILD_ROOT}%{_unitdir}/%{name}@.service
0543334
Ivan Afonichev 53dd136
# Substitute libnames in catalina-tasks.xml
Ivan Afonichev 53dd136
sed -i \
Ivan Afonichev 53dd136
   "s,el-api.jar,%{name}-el-%{elspec}-api.jar,;
Ivan Afonichev 53dd136
    s,servlet-api.jar,%{name}-servlet-%{servletspec}-api.jar,;
Ivan Afonichev 53dd136
    s,jsp-api.jar,%{name}-jsp-%{jspspec}-api.jar,;" \
Ivan Afonichev 53dd136
    ${RPM_BUILD_ROOT}%{bindir}/catalina-tasks.xml
Ivan Afonichev 53dd136
30340fb
# create jsp and servlet API symlinks
30340fb
pushd ${RPM_BUILD_ROOT}%{_javadir}
Stanislav Ochotnicky 89cd8ca
   %{__mv} %{name}/jsp-api.jar %{name}-jsp-%{jspspec}-api.jar
Stanislav Ochotnicky fb3cd5e
   %{__ln_s} %{name}-jsp-%{jspspec}-api.jar %{name}-jsp-api.jar
Stanislav Ochotnicky 89cd8ca
   %{__mv} %{name}/servlet-api.jar %{name}-servlet-%{servletspec}-api.jar
Stanislav Ochotnicky fb3cd5e
   %{__ln_s} %{name}-servlet-%{servletspec}-api.jar %{name}-servlet-api.jar
Stanislav Ochotnicky 89cd8ca
   %{__mv} %{name}/el-api.jar %{name}-el-%{elspec}-api.jar
Stanislav Ochotnicky fb3cd5e
   %{__ln_s} %{name}-el-%{elspec}-api.jar %{name}-el-api.jar
30340fb
popd
Dave Knox fa747cf
7f5f5fa
pushd output/build
Stanislav Ochotnicky 8ebe651
    %{_bindir}/build-jar-repository lib apache-commons-collections \
Stanislav Ochotnicky 8ebe651
                                        apache-commons-dbcp apache-commons-pool ecj 2>&1
Stanislav Ochotnicky 8ebe651
    # need to use -p here with b-j-r otherwise the examples webapp fails to
Stanislav Ochotnicky 8ebe651
    # load with a java.io.IOException
Stanislav Ochotnicky 8ebe651
    %{_bindir}/build-jar-repository -p webapps/examples/WEB-INF/lib \
07e2fb4
    tomcat-taglibs-standard/taglibs-standard-impl.jar tomcat-taglibs-standard/taglibs-standard-compat.jar 2>&1
Dave Knox fa747cf
popd
Dave Knox fa747cf
30340fb
pushd ${RPM_BUILD_ROOT}%{libdir}
30340fb
    # symlink JSP and servlet API jars
Ivan Afonichev d6fc5df
    %{__ln_s} ../../java/%{name}-jsp-%{jspspec}-api.jar .
Ivan Afonichev d6fc5df
    %{__ln_s} ../../java/%{name}-servlet-%{servletspec}-api.jar .
Ivan Afonichev d6fc5df
    %{__ln_s} ../../java/%{name}-el-%{elspec}-api.jar .
Stanislav Ochotnicky 89cd8ca
    %{__ln_s} $(build-classpath apache-commons-collections) commons-collections.jar
Stanislav Ochotnicky 89cd8ca
    %{__ln_s} $(build-classpath apache-commons-dbcp) commons-dbcp.jar
6df24b6
    %{__ln_s} $(build-classpath apache-commons-pool) commons-pool.jar
Dave Knox d2e4841
    %{__ln_s} $(build-classpath ecj) jasper-jdt.jar
Stanislav Ochotnicky 89cd8ca
56bee3d
    # Temporary copy the juli jar here from /usr/share/java/tomcat (for maven depmap)
56bee3d
    %{__cp} -a ${RPM_BUILD_ROOT}%{bindir}/tomcat-juli.jar ./
30340fb
popd
Stanislav Ochotnicky 89cd8ca
30340fb
# symlink to the FHS locations where we've installed things
30340fb
pushd ${RPM_BUILD_ROOT}%{homedir}
30340fb
    %{__ln_s} %{appdir} webapps
30340fb
    %{__ln_s} %{confdir} conf
30340fb
    %{__ln_s} %{libdir} lib
30340fb
    %{__ln_s} %{logdir} logs
30340fb
    %{__ln_s} %{tempdir} temp
30340fb
    %{__ln_s} %{workdir} work
30340fb
popd
30340fb
30340fb
# install sample webapp
30340fb
%{__mkdir_p} ${RPM_BUILD_ROOT}%{appdir}/sample
30340fb
pushd ${RPM_BUILD_ROOT}%{appdir}/sample
30340fb
%{jar} xf ${RPM_BUILD_ROOT}%{appdir}/docs/appdev/sample/sample.war
30340fb
popd
30340fb
%{__rm} ${RPM_BUILD_ROOT}%{appdir}/docs/appdev/sample/sample.war
30340fb
ad8bfff
# Allow linking for example webapp
ad8bfff
%{__mkdir_p} ${RPM_BUILD_ROOT}%{appdir}/examples/META-INF
ad8bfff
pushd ${RPM_BUILD_ROOT}%{appdir}/examples/META-INF
4f6d837
echo '' > context.xml
4f6d837
echo '<Context>' >> context.xml
4f6d837
echo '  <Resources allowLinking="true" />' >> context.xml
4f6d837
echo '</Context>' >> context.xml
ad8bfff
popd
ad8bfff
ad8bfff
pushd ${RPM_BUILD_ROOT}%{appdir}/examples/WEB-INF/lib
07e2fb4
%{__ln_s} -f $(build-classpath tomcat-taglibs-standard/taglibs-standard-impl) jstl.jar
07e2fb4
%{__ln_s} -f $(build-classpath tomcat-taglibs-standard/taglibs-standard-compat) standard.jar
ad8bfff
popd
ad8bfff
850f211
2ed3aec
# Install the maven metadata
2ed3aec
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_mavenpomdir}
7f5f5fa
pushd output/dist/src/res/maven
Stanislav Ochotnicky 02259b0
for pom in *.pom; do
Stanislav Ochotnicky 02259b0
    # fix-up version in all pom files
Stanislav Ochotnicky 02259b0
    sed -i 's/@MAVEN.DEPLOY.VERSION@/%{version}/g' $pom
2ed3aec
done
2ed3aec
Stanislav Ochotnicky 02259b0
# we won't install dbcp, juli-adapters and juli-extras pom files
62f8d6a
for libname in annotations-api catalina jasper-el jasper catalina-ha; do
a7d085a
    %{__cp} -a %{name}-$libname.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.%{name}-$libname.pom
995a509
    %add_maven_depmap JPP.%{name}-$libname.pom %{name}/$libname.jar -f "tomcat-lib"
Stanislav Ochotnicky 02259b0
done
Stanislav Ochotnicky 02259b0
62f8d6a
# tomcat-util-scan
62f8d6a
%{__cp} -a %{name}-util-scan.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.%{name}-util-scan.pom
62f8d6a
%add_maven_depmap JPP.%{name}-util-scan.pom %{name}/%{name}-util-scan.jar -f "tomcat-lib"
62f8d6a
62f8d6a
# tomcat-jni
62f8d6a
%{__cp} -a %{name}-jni.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.%{name}-jni.pom
62f8d6a
%add_maven_depmap JPP.%{name}-jni.pom %{name}/%{name}-jni.jar -f "tomcat-lib"
62f8d6a
5b34837
# servlet-api jsp-api and el-api are not in tomcat subdir, since they are widely re-used elsewhere
Stanislav Ochotnicky 37c11cf
%{__cp} -a tomcat-jsp-api.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP-tomcat-jsp-api.pom
4bbbd3e
%add_maven_depmap JPP-tomcat-jsp-api.pom tomcat-jsp-api.jar -f "tomcat-jsp-api" -a "org.eclipse.jetty.orbit:javax.servlet.jsp"
Stanislav Ochotnicky 37c11cf
Stanislav Ochotnicky 37c11cf
%{__cp} -a tomcat-el-api.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP-tomcat-el-api.pom
6d77b87
%add_maven_depmap JPP-tomcat-el-api.pom tomcat-el-api.jar -f "tomcat-el-api" -a "org.eclipse.jetty.orbit:javax.el"
Stanislav Ochotnicky 02259b0
a7d085a
%{__cp} -a tomcat-servlet-api.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP-tomcat-servlet-api.pom
a7d085a
# Generate a depmap fragment javax.servlet:servlet-api pointing to
a7d085a
# tomcat-servlet-3.0-api for backwards compatibility
a7d085a
# also provide jetty depmap (originally in jetty package, but it's cleaner to have it here
a599bc5
%add_maven_depmap JPP-tomcat-servlet-api.pom tomcat-servlet-api.jar -f "tomcat-servlet-api"
a7d085a
22a6d96
# replace temporary copy with link
22a6d96
%{__ln_s} -f $(abs2rel %{bindir}/tomcat-juli.jar %{libdir}) ${RPM_BUILD_ROOT}%{libdir}/
22a6d96
Stanislav Ochotnicky 02259b0
# two special pom where jar files have different names
167370b
%{__cp} -a tomcat-tribes.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.%{name}-catalina-tribes.pom
a7d085a
%add_maven_depmap JPP.%{name}-catalina-tribes.pom %{name}/catalina-tribes.jar
Stanislav Ochotnicky 02259b0
c29844a
%{__cp} -a tomcat-coyote.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.%{name}-tomcat-coyote.pom
c29844a
%add_maven_depmap JPP.%{name}-tomcat-coyote.pom %{name}/tomcat-coyote.jar
c29844a
167370b
%{__cp} -a tomcat-juli.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.%{name}-tomcat-juli.pom
a7d085a
%add_maven_depmap JPP.%{name}-tomcat-juli.pom %{name}/tomcat-juli.jar
2ed3aec
Juan Hernandez 9077401
%{__cp} -a tomcat-api.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.%{name}-tomcat-api.pom
Juan Hernandez 9077401
%add_maven_depmap JPP.%{name}-tomcat-api.pom %{name}/tomcat-api.jar
Juan Hernandez 9077401
Juan Hernandez 9077401
%{__cp} -a tomcat-util.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.%{name}-tomcat-util.pom
Juan Hernandez 9077401
%add_maven_depmap JPP.%{name}-tomcat-util.pom %{name}/tomcat-util.jar
Juan Hernandez 9077401
cee7bee
%{__cp} -a tomcat-jdbc.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.%{name}-tomcat-jdbc.pom
cee7bee
%add_maven_depmap JPP.%{name}-tomcat-jdbc.pom %{name}/tomcat-jdbc.jar
cee7bee
2b099c5
# tomcat-websocket-api
2b099c5
%{__cp} -a tomcat-websocket-api.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.%{name}-websocket-api.pom
2b099c5
%add_maven_depmap JPP.%{name}-websocket-api.pom %{name}/websocket-api.jar
2b099c5
2b099c5
# tomcat-tomcat-websocket
2b099c5
%{__cp} -a tomcat-websocket.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.%{name}-tomcat-websocket.pom
2b099c5
%add_maven_depmap JPP.%{name}-tomcat-websocket.pom %{name}/tomcat-websocket.jar
2b099c5
56bee3d
30340fb
%pre
30340fb
# add the tomcat user and group
30340fb
%{_sbindir}/groupadd -g %{tcuid} -r tomcat 2>/dev/null || :
30340fb
%{_sbindir}/useradd -c "Apache Tomcat" -u %{tcuid} -g tomcat \
669936a
    -s /sbin/nologin -r -d %{homedir} tomcat 2>/dev/null || :
30340fb
30340fb
%post
30340fb
# install but don't activate
18fb32c
%systemd_post %{name}.service
30340fb
30340fb
%post jsp-%{jspspec}-api
30340fb
%{_sbindir}/update-alternatives --install %{_javadir}/jsp.jar jsp \
Krzysztof Daniel 38aa251
    %{_javadir}/%{name}-jsp-%{jspspec}-api.jar 20200
30340fb
30340fb
%post servlet-%{servletspec}-api
30340fb
%{_sbindir}/update-alternatives --install %{_javadir}/servlet.jar servlet \
Krzysztof Daniel 38aa251
    %{_javadir}/%{name}-servlet-%{servletspec}-api.jar 30000
30340fb
Dave Knox d2e4841
%post el-%{elspec}-api
Dave Knox 431c79f
%{_sbindir}/update-alternatives --install %{_javadir}/elspec.jar elspec \
Krzysztof Daniel 38aa251
   %{_javadir}/%{name}-el-%{elspec}-api.jar 20300
Dave Knox d2e4841
30340fb
%preun
30340fb
# clean tempdir and workdir on removal or upgrade
31d304e
%{__rm} -rf %{workdir}/* %{tempdir}/*
18fb32c
%systemd_preun %{name}.service
30340fb
2ed3aec
%postun
18fb32c
%systemd_postun_with_restart %{name}.service 
2ed3aec
30340fb
%postun jsp-%{jspspec}-api
30340fb
if [ "$1" = "0" ]; then
30340fb
    %{_sbindir}/update-alternatives --remove jsp \
30340fb
        %{_javadir}/%{name}-jsp-%{jspspec}-api.jar
30340fb
fi
30340fb
30340fb
%postun servlet-%{servletspec}-api
30340fb
if [ "$1" = "0" ]; then
30340fb
    %{_sbindir}/update-alternatives --remove servlet \
30340fb
        %{_javadir}/%{name}-servlet-%{servletspec}-api.jar
30340fb
fi
30340fb
Dave Knox d2e4841
%postun el-%{elspec}-api
Dave Knox d2e4841
if [ "$1" = "0" ]; then
Dave Knox d2e4841
    %{_sbindir}/update-alternatives --remove elspec \
Dave Knox d2e4841
        %{_javadir}/%{name}-el-%{elspec}-api.jar
Dave Knox d2e4841
fi
Dave Knox d2e4841
ddfc98c
%triggerun -- tomcat < 0:7.0.22-2
ddfc98c
/usr/bin/systemd-sysv-convert -- save tomcat > /dev/null 2>&1 || :
ddfc98c
# Run these becasue the SysV package being removed won't do them
ddfc98c
/sbin/chkconfig --del tomcat > /dev/null 2>&1 || :
ddfc98c
/bin/systemctl try-restart tomcat.service > /dev/null 2>&1 || :
ddfc98c
995a509
%files 
468fdba
%defattr(0664,root,tomcat,0755)
7f5f5fa
%doc {LICENSE,NOTICE,RELEASE*}
30340fb
%attr(0755,root,root) %{_bindir}/%{name}-digest
30340fb
%attr(0755,root,root) %{_bindir}/%{name}-tool-wrapper
30340fb
%attr(0755,root,root) %{_sbindir}/%{name}
ddfc98c
%attr(0644,root,root) %{_unitdir}/%{name}.service
0543334
%attr(0644,root,root) %{_unitdir}/%{name}@.service
0543334
%attr(0755,root,root) %dir %{_libexecdir}/%{name}
cee7bee
%attr(0755,root,root) %dir %{_localstatedir}/lib/tomcats
cee7bee
%attr(0644,root,root) %{_libexecdir}/%{name}/functions
0543334
%attr(0755,root,root) %{_libexecdir}/%{name}/preamble
0543334
%attr(0755,root,root) %{_libexecdir}/%{name}/server
30340fb
%config(noreplace) %{_sysconfdir}/sysconfig/%{name}
2c71edb
%attr(0755,root,tomcat) %dir %{basedir}
5f0fcd8
%attr(0755,root,tomcat) %dir %{confdir}
50ce272
%defattr(0664,tomcat,root,0770)
50ce272
%attr(0770,tomcat,root) %dir %{logdir}
5f0fcd8
%defattr(0664,root,tomcat,0770)
5f0fcd8
%attr(0770,root,tomcat) %dir %{cachedir}
5f0fcd8
%attr(0770,root,tomcat) %dir %{tempdir}
5f0fcd8
%attr(0770,root,tomcat) %dir %{workdir}
468fdba
%defattr(0664,root,tomcat,0775)
David Knox 74a4175
%attr(0775,root,tomcat) %dir %{appdir}
David Knox 74a4175
%attr(0775,root,tomcat) %dir %{confdir}/Catalina
David Knox 74a4175
%attr(0775,root,tomcat) %dir %{confdir}/Catalina/localhost
Ivan Afonichev 7d21a72
%attr(0775,root,tomcat) %dir %{confdir}/conf.d
Ivan Afonichev 7d21a72
%attr(0664,tomcat,tomcat) %{confdir}/conf.d/README
David Knox 74a4175
%attr(0664,tomcat,tomcat) %config(noreplace) %{confdir}/%{name}.conf
David Knox 74a4175
%attr(0664,tomcat,tomcat) %config(noreplace) %{confdir}/*.policy
David Knox 74a4175
%attr(0664,tomcat,tomcat) %config(noreplace) %{confdir}/*.properties
David Knox 74a4175
%attr(0664,tomcat,tomcat) %config(noreplace) %{confdir}/context.xml
David Knox 74a4175
%attr(0664,tomcat,tomcat) %config(noreplace) %{confdir}/server.xml
468fdba
%attr(0660,tomcat,tomcat) %config(noreplace) %{confdir}/tomcat-users.xml
468fdba
%attr(0664,tomcat,tomcat) %config(noreplace) %{confdir}/web.xml
Dave Knox d2e4841
%dir %{homedir}
Dave Knox d2e4841
%{bindir}/bootstrap.jar
Dave Knox d2e4841
%{bindir}/catalina-tasks.xml
Dave Knox d2e4841
%{homedir}/lib
Dave Knox d2e4841
%{homedir}/temp
Dave Knox d2e4841
%{homedir}/webapps
Dave Knox d2e4841
%{homedir}/work
Dave Knox d2e4841
%{homedir}/logs
Dave Knox d2e4841
%{homedir}/conf
30340fb
30340fb
%files admin-webapps
5f0fcd8
%defattr(0664,root,tomcat,0755)
30340fb
%{appdir}/host-manager
30340fb
%{appdir}/manager
30340fb
30340fb
%files docs-webapp
Stanislav Ochotnicky 89cd8ca
%defattr(-,root,root,-)
30340fb
%{appdir}/docs
30340fb
30340fb
%files javadoc
Stanislav Ochotnicky 89cd8ca
%defattr(-,root,root,-)
30340fb
%{_javadocdir}/%{name}
30340fb
995a509
%files jsp-%{jspspec}-api -f output/dist/src/res/maven/.mfiles-tomcat-jsp-api
Stanislav Ochotnicky 89cd8ca
%defattr(-,root,root,-)
Dave Knox d2e4841
%{_javadir}/%{name}-jsp-%{jspspec}*.jar
30340fb
995a509
%files lib -f output/dist/src/res/maven/.mfiles-tomcat-lib
Stanislav Ochotnicky 89cd8ca
%defattr(-,root,root,-)
30340fb
%{libdir}
4b23f91
%{bindir}/tomcat-juli.jar
Juan Hernandez 9077401
%{_mavenpomdir}/JPP.%{name}-annotations-api.pom
Juan Hernandez 9077401
%{_mavenpomdir}/JPP.%{name}-catalina-ha.pom
Juan Hernandez 9077401
%{_mavenpomdir}/JPP.%{name}-catalina-tribes.pom
Juan Hernandez 9077401
%{_mavenpomdir}/JPP.%{name}-catalina.pom
Juan Hernandez 9077401
%{_mavenpomdir}/JPP.%{name}-jasper-el.pom
Juan Hernandez 9077401
%{_mavenpomdir}/JPP.%{name}-jasper.pom
Juan Hernandez 9077401
%{_mavenpomdir}/JPP.%{name}-tomcat-api.pom
Juan Hernandez 9077401
%{_mavenpomdir}/JPP.%{name}-tomcat-juli.pom
c29844a
%{_mavenpomdir}/JPP.%{name}-tomcat-coyote.pom
Juan Hernandez 9077401
%{_mavenpomdir}/JPP.%{name}-tomcat-util.pom
cee7bee
%{_mavenpomdir}/JPP.%{name}-tomcat-jdbc.pom
2b099c5
%{_mavenpomdir}/JPP.%{name}-websocket-api.pom
2b099c5
%{_mavenpomdir}/JPP.%{name}-tomcat-websocket.pom
1001f00
%{_datadir}/maven-metadata/tomcat.xml
468fdba
%exclude %{libdir}/%{name}-el-%{elspec}-api.jar
30340fb
995a509
%files servlet-%{servletspec}-api -f output/dist/src/res/maven/.mfiles-tomcat-servlet-api
Stanislav Ochotnicky 89cd8ca
%defattr(-,root,root,-)
5f0fcd8
%doc LICENSE
Dave Knox d2e4841
%{_javadir}/%{name}-servlet-%{servletspec}*.jar
30340fb
995a509
%files el-%{elspec}-api -f output/dist/src/res/maven/.mfiles-tomcat-el-api
Stanislav Ochotnicky 89cd8ca
%defattr(-,root,root,-)
5f0fcd8
%doc LICENSE
Stanislav Ochotnicky 89cd8ca
%{_javadir}/%{name}-el-%{elspec}-api.jar
ca271e5
%{libdir}/%{name}-el-%{elspec}-api.jar
Dave Knox d2e4841
30340fb
%files webapps
468fdba
%defattr(0644,tomcat,tomcat,0755)
30340fb
%{appdir}/ROOT
30340fb
%{appdir}/examples
30340fb
%{appdir}/sample
30340fb
94b7c96
%files jsvc
94b7c96
%defattr(755,root,root,0755)
94b7c96
%attr(0644,root,root) %{_unitdir}/%{name}-jsvc.service
55c043f
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
55c043f
%attr(0660,tomcat,tomcat) %verify(not size md5 mtime) %{logdir}/catalina.out
94b7c96
30340fb
%changelog
ca41eb1
* Thu Oct 13 2016 Coty Sutherland <csutherl@redhat.com> - 1:8.0.37-2
ca41eb1
- Resolves: rhbz#1382310 CVE-2016-5425 tomcat: Local privilege escalation via systemd-tmpfiles service
ca41eb1
fe6d560
* Tue Sep 13 2016 Coty Sutherland <csutherl@redhat.com> - 1:8.0.37-1
fe6d560
- Rebase to 8.0.37
fe6d560
- Resolves: rhbz#1375581 CVE-2016-5388 CGI sets environmental variable based on user supplied Proxy request header
55c043f
- Resolves: rhbz#1370262 catalina.out is no longer in use in the main package, but still gets rotated
fe6d560
d5efee4
* Thu Aug 11 2016 Coty Sutherland <csutherl@redhat.com> - 1:8.0.36-2
d5efee4
- Related: rhbz#1349469 Correct typo in changelog entry
d5efee4
50c91f3
* Mon Aug 08 2016 Coty Sutherland <csutherl@redhat.com> - 1:8.0.36-1
d5efee4
- Resolves: rhbz#1349469 CVE-2016-3092 tomcat: Usage of vulnerable FileUpload package can result in denial of service (updates to 8.0.36)
6bc593d
- Resolves: rhbz#1364056 The command tomcat-digest doesn't work
4376081
- Resolves: rhbz#1363884 The tomcat-tool-wrapper script is broken
5d682aa
- Resolves: rhbz#1347864 The systemd service unit does not allow tomcat to shut down gracefully
4dc51a6
- Resolves: rhbz#1347835 The security manager doesn't work correctly (JSPs cannot be compiled)
b6ffa60
- Resolves: rhbz#1341853 rpm -V tomcat fails on /var/log/tomcat/catalina.out
ea624b1
- Resolves: rhbz#1341850 tomcat-jsvc.service has TOMCAT_USER value hard-coded
2b099c5
- Resolves: rhbz#1359737 Missing maven depmap for the following artifacts: org.apache.tomcat:tomcat-websocket, org.apache.tomcat:tomcat-websocket-api
d64bf2e
- Resolves: asfbz#59960  Building javadocs with java8 fails
6bc593d
Ivan Afonichev 7d21a72
* Wed Mar 2 2016 Ivan Afonichev <ivan.afonichev@gmail.com> - 1:8.0.32-4
Ivan Afonichev 7d21a72
- Revert sysconfig migration changes, resolves: rhbz#1311771, rhbz#1311905
Ivan Afonichev 7d21a72
- Add /etc/tomcat/conf.d/ with shell expansion support, resolves rhbz#1293636
Ivan Afonichev 7d21a72
Ivan Afonichev ef1b76e
* Sat Feb 27 2016 Ivan Afonichev <ivan.afonichev@gmail.com> - 1:8.0.32-3
Ivan Afonichev ef1b76e
- Load sysconfig from tomcat.conf, resolves: rhbz#1311771, rhbz#1311905
Ivan Afonichev ef1b76e
- Set default javax.sql.DataSource factory to apache commons one, resolves rhbz#1214381
Ivan Afonichev ef1b76e
Ivan Afonichev ef1b76e
* Sun Feb 21 2016 Ivan Afonichev <ivan.afonichev@gmail.com> - 1:8.0.32-2
Ivan Afonichev d6fc5df
- Fix symlinks from $CATALINA_HOME/lib perspective, resolves: rhbz#1308685
Ivan Afonichev d6fc5df
Ivan Afonichev 7977e00
* Thu Feb 11 2016 Ivan Afonichev <ivan.afonichev@gmail.com> - 1:8.0.32-1
Ivan Afonichev 7977e00
- Updated to 8.0.32
Ivan Afonichev 7977e00
- Remove log4j support. It has never been working actually. See rhbz#1236297
Ivan Afonichev 7977e00
- Move shipped config to /etc/sysconfig/tomcat. /etc/tomcat/tomcat.conf can now be used to override it with shell expansion, resolves rhbz#1293636
Ivan Afonichev 65e6257
- Recommend tomcat-native, resolves: rhbz#1243132
Ivan Afonichev 7977e00
4f6d837
* Wed Feb 10 2016 Coty Sutherland <csutherl@redhat.com> 1:8.0.26-4
4f6d837
- Resolves: rhbz#1286800 Failed to start component due to wrong allowLinking="true" in context.xml
669936a
- Program /bin/nologin does not exist (#1302718)
4f6d837
6f36935
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1:8.0.26-3
6f36935
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
6f36935
Ivan Afonichev ef1b76e
* Wed Nov 11 2015 Robert Scheck <robert@fedoraproject.org> 1:8.0.26-2
dc47b58
- CATALINA_OPTS are only read when SECURITY_MANAGER is true (#1147105)
dc47b58
872c469
* Thu Aug 27 2015 Alexander Kurtakov <akurtako@redhat.com> 1:8.0.26-1
872c469
- Update to 8.0.26.
872c469
3a20f84
* Fri Jul 10 2015 Alexander Kurtakov <akurtako@redhat.com> 1:8.0.24-2
3a20f84
- Update to 8.0.24.
3a20f84
6d77b87
* Fri Jun 19 2015 Alexander Kurtakov <akurtako@redhat.com> 1:8.0.23-2
6d77b87
- Drop javax.el:el-api alias.
6d77b87
b2dda77
* Thu Jun 18 2015 Alexander Kurtakov <akurtako@redhat.com> 1:8.0.23-1
b2dda77
- Update to 8.0.23.
b2dda77
a599bc5
* Thu Jun 18 2015 Alexander Kurtakov <akurtako@redhat.com> 1:8.0.20-3
a599bc5
- Drop jetty alias for servlet.
a599bc5
62f8d6a
* Tue Jun 09 2015 Michal Srb <msrb@redhat.com> - 1:8.0.20-2
62f8d6a
- Fix metadata for org.apache.tomcat:{tomcat-jni,tomcat-util-scan}
62f8d6a
07e2fb4
* Thu Mar 5 2015 Alexander Kurtakov <akurtako@redhat.com> 1:8.0.18-5
07e2fb4
- Rebuild against tomcat-taglibs-standard.
07e2fb4
a7f5683
* Wed Mar 4 2015 Alexander Kurtakov <akurtako@redhat.com> 1:8.0.18-4
a7f5683
- Fix epoch bumped el_1_0_api that would override all other glassfish/jboss/etc. due to wrong epoch.
a7f5683
- Drop old provides. 
a7f5683
bdf0d75
* Tue Mar 03 2015 Stephen Gallagher <sgallagh@redhat.com> 1:8.0.18-3
bdf0d75
- Bump epoch to maintain upgrade path from Fedora 22
bdf0d75
d6cc435
* Mon Feb 16 2015 Michal Srb <msrb@redhat.com> - 0:8.0.18-2
d6cc435
- Install POM files for org.apache.tomcat:{tomcat-jni,tomcat-util-scan}
d6cc435
1001f00
* Sun Feb 15 2015 Ivan Afonichev <ivan.afonichev@gmail.com> 0:8.0.18-1
1001f00
- Updated to 8.0.18
1001f00
Ivan Afonichev 53dd136
* Sat Sep 20 2014 Ivan Afonichev <ivan.afonichev@gmail.com> 0:8.0.12-1
Ivan Afonichev 53dd136
- Updated to 8.0.12
Ivan Afonichev 53dd136
- Substitute libnames in catalina-tasks.xml, resolves: rhbz#1126439
Ivan Afonichev 53dd136
- Use CATALINA_OPTS only on start, resolves: rhbz#1051194
Ivan Afonichev 53dd136
be711a2
* Mon Jun 16 2014 Michal Srb <msrb@redhat.com> - 0:7.0.54-3
be711a2
- jsp-api requires el-api
be711a2
084db18
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:7.0.54-2
084db18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
084db18
b5a9b72
* Thu Jun 5 2014 Alexander Kurtakov <akurtako@redhat.com> 0:7.0.54-1
b5a9b72
- Update to upstream 7.0.54 - fixes compile with Java 8.
b5a9b72
7290014
* Wed May 21 2014 Alexander Kurtakov <akurtako@redhat.com> 0:7.0.52-3
7290014
- Drop servlet/el api provides to reduce user machines ending with both.
7290014
4bbbd3e
* Sun Mar 30 2014 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.52-2
4bbbd3e
- Don't provide maven javax.jsp:jsp-api and javax.servlet.jsp:javax.servlet.jsp-api resolves: rhbz#1076949
4bbbd3e
- Move log4j support into subpackage, resolves: rhbz#1027716
4bbbd3e
cee7bee
* Wed Mar 26 2014 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.52-1
cee7bee
- Updated to 7.0.52
cee7bee
- Rewrite jsvc implementation, resolves: rhbz#1051743
cee7bee
- Switch to java-headless R, resolves: rhbz#1068566
cee7bee
- Create and own %{_localstatedir}/lib/tomcats, resolves: rhbz#1026741
cee7bee
- Add pom for tomcat-jdbc, resolves: rhbz#1011003 
cee7bee
22a6d96
* Tue Jan 21 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 0:7.0.47-3
22a6d96
- Fix installation of Maven metadata for tomcat-juli.jar
22a6d96
- Resolves: rhbz#1033664
22a6d96
Stanislav Ochotnicky 3b876f4
* Wed Jan 15 2014 Stanislav Ochotnicky <sochotnicky@redhat.com> - 0:7.0.47-2
Stanislav Ochotnicky 3b876f4
- Rebuild for bug #1033664
Stanislav Ochotnicky 3b876f4
2e1950e
* Sun Nov 03 2013 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.47-1
2e1950e
- Updated to 7.0.47
2e1950e
- Fix java.security.policy
2e1950e
53df09c
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:7.0.42-3
53df09c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
53df09c
1ff9d5f
* Fri Jul 12 2013 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.42-2
1ff9d5f
- Remove jpackage-utils R
1ff9d5f
squallsama 4bc1f14
* Thu Jul 11 2013 Dmitry Tikhonov <squall.sama@gmail.com> 0:7.0.42-1
squallsama 4bc1f14
- Updated to 7.0.42
squallsama 4bc1f14
0543334
* Tue Jun 11 2013 Paul Komkoff <i@stingr.net> 0:7.0.40-3
0543334
- Dropped systemv inits. Bye-bye.
0543334
- Updated the systemd wrappers to allow running multiple instances.
0543334
  Added wrapper scripts to do that, ported the original non-named
0543334
  service file to work with the same wrappers, updated
0543334
  /usr/sbin/tomcat to call systemctl.
0543334
6df24b6
* Sat May 11 2013 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.40-1
6df24b6
- Updated to 7.0.40
6df24b6
- Resolves: rhbz 956569 added missing commons-pool link
004db97
- Remove ant-nodeps BR
6df24b6
9b14c45
* Mon Mar  4 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 0:7.0.37-2
9b14c45
- Add depmaps for org.eclipse.jetty.orbit
9b14c45
- Resolves: rhbz#917626
9b14c45
06021af
* Wed Feb 20 2013 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.39-1
06021af
- Updated to 7.0.39
06021af
c9c2c4a
* Wed Feb 20 2013 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.37-1
c9c2c4a
- Updated to 7.0.37
c9c2c4a
b2b5f77
* Mon Feb 4 2013 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.35-1
b2b5f77
- Updated to 7.0.35
b2b5f77
- systemd SuccessExitStatus=143 for proper stop exit code processing
b2b5f77
a91e144
* Mon Dec 24 2012 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.34-1
a91e144
- Updated to 7.0.34
a91e144
- ecj >= 4.2.1 now required
a91e144
- Resolves: rhbz 889395 concat classpath correctly; chdir to $CATALINA_HOME
a91e144
50ce272
* Fri Dec 7 2012 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.33-2
50ce272
- Resolves: rhbz 883806 refix logdir ownership 
50ce272
7b951af
* Sun Dec 2 2012 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.33-1
7b951af
- Updated to 7.0.33
7b951af
- Resolves: rhbz 873620 need chkconfig for update-alternatives
7b951af
ad8bfff
* Wed Oct 17 2012 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.32-1
ad8bfff
- Updated to 7.0.32
ad8bfff
- Resolves: rhbz 842620 symlinks to taglibs
ad8bfff
18fb32c
* Fri Aug 24 2012 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.29-1
5955ecc
- Updated to 7.0.29
18fb32c
- Add pidfile as tmpfile
18fb32c
- Use systemd for running as unprivileged user
18fb32c
- Resolves: rhbz 847751 upgrade path was broken
18fb32c
- Resolves: rhbz 850343 use new systemd-rpm macros
18fb32c
24d9982
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:7.0.28-2
24d9982
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
24d9982
c29844a
* Mon Jul 2 2012 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.28-1
c29844a
- Updated to 7.0.28
c29844a
- Resolves: rhbz 820119 Remove bundled apache-commons-dbcp
c29844a
- Resolves: rhbz 814900 Added tomcat-coyote POM
c29844a
- Resolves: rhbz 810775 Remove systemv stuff from %post scriptlet
c29844a
- Remove redhat-lsb R 
c29844a
ceaa841
* Mon Apr 9 2012 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.27-2
ceaa841
- Fixed native download hack
ceaa841
ceaa841
* Sat Apr 7 2012 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.27-1
4133172
- Updated to 7.0.27
4133172
- Fixed jakarta-taglibs-standard BR and R
4133172
Stanislav Ochotnicky 37c11cf
* Wed Mar 21 2012 Stanislav Ochotnicky <sochotnicky@redhat.com> - 0:7.0.26-2
Stanislav Ochotnicky 37c11cf
- Add more depmaps to J2EE apis to help jetty/glassfish updates
Stanislav Ochotnicky 37c11cf
Juan Hernandez 9077401
* Wed Mar 14 2012 Juan Hernandez <juan.hernandez@redhat.com> 0:7.0.26-2
Juan Hernandez 9077401
- Added the POM files for tomcat-api and tomcat-util (#803495)
Juan Hernandez 9077401
5d4b042
* Wed Feb 22 2012 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.26-1
5d4b042
- Updated to 7.0.26
5d4b042
- Bug 790334: Change ownership of logdir for logrotate
5d4b042
Krzysztof Daniel 38aa251
* Thu Feb 16 2012 Krzysztof Daniel <kdaniel@redhat.com> 0:7.0.25-4
Krzysztof Daniel 38aa251
- Bug 790694: Priorities of jsp, servlet and el packages updated.
Krzysztof Daniel 38aa251
Krzysztof Daniel 1daf3ea
* Wed Feb 8 2012 Krzysztof Daniel <kdaniel@redhat.com> 0:7.0.25-3
Krzysztof Daniel 1daf3ea
- Dropped indirect dependecy to tomcat 5
Krzysztof Daniel 1daf3ea
56bee3d
* Sun Jan 22 2012 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.25-2
56bee3d
- Added hack for maven depmap of tomcat-juli absolute link [ -f ] pass correctly
56bee3d
a7d085a
* Sat Jan 21 2012 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.25-1
a7d085a
- Updated to 7.0.25
a7d085a
- Removed EntityResolver patch (changes already in upstream sources)
a7d085a
- Place poms and depmaps in the same package as jars
a7d085a
- Added javax.servlet.descriptor to export-package of servlet-api
a7d085a
- Move several chkconfig actions and reqs to systemv subpackage
a7d085a
- New maven depmaps generation method
Stanislav Ochotnicky 37c11cf
- Add patch to support java7. (patch sent upstream).
a7d085a
- Require java >= 1:1.6.0
a7d085a
4bfdca2
* Fri Jan 13 2012 Krzysztof Daniel <kdaniel@redhat.com> 0:7.0.23-5
4bfdca2
- Exported javax.servlet.* packages in version 3.0 as 2.6 to make
4bfdca2
  servlet-api compatible with Eclipse.
4bfdca2
a7d085a
* Thu Jan 12 2012 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.23-4
94b7c96
- Move jsvc support to subpackage
94b7c96
94b7c96
* Wed Jan 11 2012 Alexander Kurtakov <akurtako@redhat.com> 0:7.0.23-2
94b7c96
- Add EntityResolver setter patch to jasper for jetty's need. (patch sent upstream).
94b7c96
86b2d17
* Mon Dec 12 2011 Joseph D. Wagner <joe@josephdwagner.info> 0:7.0.23-3
a4cdf56
- Added support to /usr/sbin/tomcat-sysd and /usr/sbin/tomcat for
a4cdf56
  starting tomcat with jsvc, which allows tomcat to perform some
a4cdf56
  privileged operations (e.g. bind to a port < 1024) and then switch
a4cdf56
  identity to a non-privileged user. Must add USE_JSVC="true" to
a4cdf56
  /etc/tomcat/tomcat.conf or /etc/sysconfig/tomcat.
a4cdf56
4cfe7cc
* Mon Nov 28 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.23-1
4cfe7cc
- Updated to 7.0.23
4cfe7cc
ddfc98c
* Fri Nov 11 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.22-2
Stanislav Ochotnicky 37c11cf
- Move tomcat-juli.jar to lib package
ddfc98c
- Drop %%update_maven_depmap as in tomcat6
ddfc98c
- Provide native systemd unit file ported from tomcat6
ddfc98c
7998554
* Thu Oct 6 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.22-1
7998554
- Updated to 7.0.22
7998554
8c286ad
* Mon Oct 03 2011 Rex Dieter <rdieter@fedoraproject.org> - 0:7.0.21-3.1
8c286ad
- rebuild (java), rel-eng#4932
8c286ad
2c71edb
* Mon Sep 26 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.21-3
2c71edb
- Fix basedir mode
2c71edb
46a16cc
* Tue Sep 20 2011 Roland Grunberg <rgrunber@redhat.com> 0:7.0.21-2
46a16cc
- Add manifests for el-api, jasper-el, jasper, tomcat, and tomcat-juli.
46a16cc
5e7f3de
* Thu Sep 8 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.21-1
5e7f3de
- Updated to 7.0.21
5e7f3de
3137597
* Mon Aug 15 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.20-3
3137597
- Require java = 1:1.6.0
3137597
0091331
* Mon Aug 15 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.20-2
0091331
- Require java < 1.7.0
0091331
f0cf232
* Mon Aug 15 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.20-1
f0cf232
- Updated to 7.0.20
f0cf232
d07c057
* Tue Jul 26 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.19-1
d07c057
- Updated to 7.0.19
d07c057
bdc086f
* Tue Jun 21 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.16-1
bdc086f
- Updated to 7.0.16
bdc086f
ca271e5
* Mon Jun 6 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.14-3
ca271e5
- Added initial systemd service
Stanislav Ochotnicky 37c11cf
- Fix some paths
ca271e5
5f0fcd8
* Sat May 21 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.14-2
5f0fcd8
- Fixed http source link
5f0fcd8
- Securify some permissions
5f0fcd8
- Added licenses for el-api and servlet-api
5f0fcd8
- Added dependency on jpackage-utils for the javadoc subpackage
5f0fcd8
5f0fcd8
* Sat May 14 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.14-1
b44b78b
- Updated to 7.0.14
b44b78b
5f0fcd8
* Thu May 5 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.12-4
31d304e
- Provided local paths for libs
31d304e
- Fixed dependencies
31d304e
- Fixed update temp/work cleanup
31d304e
468fdba
* Mon May 2 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.12-3
468fdba
- Fixed package groups
468fdba
- Fixed some permissions
468fdba
- Fixed some links
468fdba
- Removed old tomcat6 crap
468fdba
468fdba
* Thu Apr 28 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.12-2
5b34837
- Package now named just tomcat instead of tomcat7
Stanislav Ochotnicky 37c11cf
- Removed Provides:  %{name}-log4j
5b34837
- Switched to apache-commons-* names instead of jakarta-commons-* .
Stanislav Ochotnicky 37c11cf
- Remove the old changelog
5b34837
- BR/R java >= 1:1.6.0 , same for java-devel
5b34837
- Removed old tomcat6 crap
5b34837
167370b
* Wed Apr 27 2011 Ivan Afonichev <ivan.afonichev@gmail.com> 0:7.0.12-1
167370b
- Tomcat7