Merge branch pki-servlet-container/stream-pki-10.6 into stream-pki-10.7
This commit is contained in:
commit
a32e876dca
2
.gitignore
vendored
2
.gitignore
vendored
@ -0,0 +1,2 @@
|
||||
apache-tomcat-*-src.tar.gz
|
||||
tomcat-*-src.zip
|
475
pki-servlet-container.spec
Normal file
475
pki-servlet-container.spec
Normal file
@ -0,0 +1,475 @@
|
||||
# Copyright (c) 2000-2008, JPackage Project
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the
|
||||
# distribution.
|
||||
# 3. Neither the name of the JPackage Project nor the names of its
|
||||
# contributors may be used to endorse or promote products derived
|
||||
# from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
%global major_version 9
|
||||
%global minor_version 0
|
||||
%global micro_version 7
|
||||
%global redhat_version 16
|
||||
%global packdname apache-tomcat-%{version}.redhat-%{redhat_version}-src
|
||||
|
||||
# Specification versions
|
||||
%global servletspec 4.0
|
||||
%global jspspec 2.3
|
||||
%global elspec 3.0
|
||||
|
||||
%global tcuid 91
|
||||
|
||||
# FHS 2.3 compliant tree structure - http://www.pathname.com/fhs/2.3/
|
||||
%global basedir %{_var}/lib/tomcat
|
||||
%global appdir %{basedir}/webapps
|
||||
%global homedir %{_datadir}/tomcat
|
||||
%global bindir %{homedir}/bin
|
||||
%global confdir %{_sysconfdir}/tomcat
|
||||
%global libdir %{_javadir}/tomcat
|
||||
%global logdir %{_var}/log/tomcat
|
||||
%global cachedir %{_var}/cache/tomcat
|
||||
%global tempdir %{cachedir}/temp
|
||||
%global workdir %{cachedir}/work
|
||||
%global _initrddir %{_sysconfdir}/init.d
|
||||
%global _systemddir /lib/systemd/system
|
||||
|
||||
Name: pki-servlet-container
|
||||
Epoch: 1
|
||||
Version: %{major_version}.%{minor_version}.%{micro_version}
|
||||
Release: 14%{?dist}
|
||||
Summary: Apache Servlet/JSP Engine, RI for Servlet %{servletspec}/JSP %{jspspec} API
|
||||
Group: System Environment/Daemons
|
||||
License: ASL 2.0
|
||||
URL: http://tomcat.apache.org/
|
||||
|
||||
#Source0: http://www.apache.org/dist/tomcat/tomcat-%%{major_version}/v%%{version}/src/%%{packdname}.tar.gz
|
||||
Source0: tomcat-%{version}.redhat-%{redhat_version}-src.zip
|
||||
Source1: tomcat-%{major_version}.%{minor_version}.conf
|
||||
Source3: tomcat-%{major_version}.%{minor_version}.sysconfig
|
||||
Source4: tomcat-%{major_version}.%{minor_version}.wrapper
|
||||
Source6: tomcat-%{major_version}.%{minor_version}-digest.script
|
||||
Source7: tomcat-%{major_version}.%{minor_version}-tool-wrapper.script
|
||||
Source8: tomcat-%{major_version}.%{minor_version}.service
|
||||
Source21: tomcat-functions
|
||||
Source30: tomcat-preamble
|
||||
Source31: tomcat-server
|
||||
Source32: tomcat-named.service
|
||||
|
||||
Patch0: tomcat-%{major_version}.%{minor_version}-bootstrap-MANIFEST.MF.patch
|
||||
Patch1: tomcat-%{major_version}.%{minor_version}-tomcat-users-webapp.patch
|
||||
Patch2: tomcat-8.0.36-CompilerOptionsV9.patch
|
||||
Patch3: tomcat-%{major_version}.%{minor_version}-catalina-policy.patch
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
BuildRequires: ant
|
||||
BuildRequires: findutils
|
||||
BuildRequires: java-devel >= 1:1.8.0
|
||||
BuildRequires: jpackage-utils >= 0:1.7.0
|
||||
BuildRequires: maven-local
|
||||
BuildRequires: systemd-units
|
||||
|
||||
Requires: ant
|
||||
Requires: java-headless >= 1:1.8.0
|
||||
Requires: java-devel >= 1:1.8.0
|
||||
Requires: jpackage-utils
|
||||
Requires: procps
|
||||
Requires(pre): shadow-utils
|
||||
Requires(post): chkconfig
|
||||
Requires(postun): chkconfig
|
||||
Requires(preun): chkconfig
|
||||
Requires(post): systemd-units
|
||||
Requires(preun): systemd-units
|
||||
Requires(postun): systemd-units
|
||||
Requires(preun): coreutils
|
||||
Requires: pki-servlet-%{servletspec}-api = %{epoch}:%{version}-%{release}
|
||||
|
||||
# Add bundled so that everyone knows this is Tomcat
|
||||
Provides: bundled(tomcat) = 9.0.7.redhat-%{redhat_version}
|
||||
|
||||
%description
|
||||
Tomcat is the servlet container that is used in the official Reference
|
||||
Implementation for the Java Servlet and JavaServer Pages technologies.
|
||||
The Java Servlet and JavaServer Pages specifications are developed by
|
||||
Sun under the Java Community Process.
|
||||
|
||||
Tomcat is developed in an open and participatory environment and
|
||||
released under the Apache Software License version 2.0. Tomcat is intended
|
||||
to be a collaboration of the best-of-breed developers from around the world.
|
||||
|
||||
%package -n pki-servlet-%{servletspec}-api
|
||||
Group: Development/Libraries
|
||||
Summary: Apache Tomcat Java Servlet v%{servletspec} API Implementation Classes
|
||||
Requires(post): chkconfig
|
||||
Requires(postun): chkconfig
|
||||
|
||||
%description -n pki-servlet-%{servletspec}-api
|
||||
Apache Tomcat Servlet API Implementation Classes.
|
||||
|
||||
%prep
|
||||
%setup -q -n %{packdname}
|
||||
|
||||
# remove pre-built binaries and windows files
|
||||
find . -type f \( -name "*.bat" -o -name "*.class" -o -name Thumbs.db -o -name "*.gz" -o \
|
||||
-name "*.jar" -o -name "*.war" -o -name "*.zip" \) -delete
|
||||
|
||||
%patch0 -p0
|
||||
%patch1 -p0
|
||||
%patch2 -p0
|
||||
%patch3 -p0
|
||||
|
||||
# Since we don't support ECJ in RHEL anymore, remove the class that requires it
|
||||
%{__rm} -f java/org/apache/jasper/compiler/JDTCompiler.java
|
||||
|
||||
%build
|
||||
export OPT_JAR_LIST="xalan-j2-serializer"
|
||||
|
||||
# Create a dummy file for later removal
|
||||
touch HACK
|
||||
|
||||
# who needs a build.properties file anyway
|
||||
%{ant} -Dbase.path="." \
|
||||
-Dbuild.compiler="modern" \
|
||||
-Dcommons-daemon.jar="HACK" \
|
||||
-Dcommons-daemon.native.src.tgz="HACK" \
|
||||
-Djdt.jar="HACK" \
|
||||
-Dtomcat-native.tar.gz="HACK" \
|
||||
-Dtomcat-native.home="." \
|
||||
-Dcommons-daemon.native.win.mgr.exe="HACK" \
|
||||
-Dnsis.exe="HACK" \
|
||||
deploy dist-prepare dist-source
|
||||
|
||||
# remove some jars that we don't need
|
||||
%{__rm} output/build/bin/commons-daemon.jar
|
||||
|
||||
%install
|
||||
# build initial path structure
|
||||
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_bindir}
|
||||
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_sbindir}
|
||||
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_initrddir}
|
||||
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_systemddir}
|
||||
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig
|
||||
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{appdir}
|
||||
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{bindir}
|
||||
%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{confdir}
|
||||
%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{confdir}/Catalina/localhost
|
||||
%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{confdir}/conf.d
|
||||
/bin/echo "Place your custom *.conf files here. Shell expansion is supported." > ${RPM_BUILD_ROOT}%{confdir}/conf.d/README
|
||||
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{libdir}
|
||||
%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{logdir}
|
||||
%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{_localstatedir}/lib/tomcats
|
||||
%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{homedir}
|
||||
%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{tempdir}
|
||||
%{__install} -d -m 0775 ${RPM_BUILD_ROOT}%{workdir}
|
||||
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_unitdir}
|
||||
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_libexecdir}/tomcat
|
||||
|
||||
# move things into place
|
||||
# First copy supporting libs to tomcat lib
|
||||
pushd output/build
|
||||
%{__cp} -a bin/*.{jar,xml} ${RPM_BUILD_ROOT}%{bindir}
|
||||
%{__cp} -a conf/*.{policy,properties,xml,xsd} ${RPM_BUILD_ROOT}%{confdir}
|
||||
%{__cp} -a lib/*.jar ${RPM_BUILD_ROOT}%{libdir}
|
||||
popd
|
||||
|
||||
%{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \
|
||||
-e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \
|
||||
-e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE1} \
|
||||
> ${RPM_BUILD_ROOT}%{confdir}/tomcat.conf
|
||||
%{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \
|
||||
-e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \
|
||||
-e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE3} \
|
||||
> ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/tomcat
|
||||
%{__install} -m 0644 %{SOURCE4} \
|
||||
${RPM_BUILD_ROOT}%{_sbindir}/tomcat
|
||||
%{__install} -m 0644 %{SOURCE8} \
|
||||
${RPM_BUILD_ROOT}%{_unitdir}/tomcat.service
|
||||
%{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \
|
||||
-e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \
|
||||
-e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE6} \
|
||||
> ${RPM_BUILD_ROOT}%{_bindir}/tomcat-digest
|
||||
%{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \
|
||||
-e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \
|
||||
-e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE7} \
|
||||
> ${RPM_BUILD_ROOT}%{_bindir}/tomcat-tool-wrapper
|
||||
|
||||
%{__install} -m 0644 %{SOURCE21} \
|
||||
${RPM_BUILD_ROOT}%{_libexecdir}/tomcat/functions
|
||||
%{__install} -m 0755 %{SOURCE30} \
|
||||
${RPM_BUILD_ROOT}%{_libexecdir}/tomcat/preamble
|
||||
%{__install} -m 0755 %{SOURCE31} \
|
||||
${RPM_BUILD_ROOT}%{_libexecdir}/tomcat/server
|
||||
%{__install} -m 0644 %{SOURCE32} \
|
||||
${RPM_BUILD_ROOT}%{_unitdir}/tomcat@.service
|
||||
|
||||
# Substitute libnames in catalina-tasks.xml
|
||||
sed -i \
|
||||
"s,el-api.jar,tomcat-el-%{elspec}-api.jar,;
|
||||
s,servlet-api.jar,tomcat-servlet-%{servletspec}-api.jar,;
|
||||
s,jsp-api.jar,tomcat-jsp-%{jspspec}-api.jar,;" \
|
||||
${RPM_BUILD_ROOT}%{bindir}/catalina-tasks.xml
|
||||
|
||||
# create jsp and servlet API symlinks
|
||||
pushd ${RPM_BUILD_ROOT}%{_javadir}
|
||||
%{__mv} tomcat/jsp-api.jar tomcat-jsp-%{jspspec}-api.jar
|
||||
%{__ln_s} tomcat-jsp-%{jspspec}-api.jar tomcat-jsp-api.jar
|
||||
%{__mv} tomcat/servlet-api.jar tomcat-servlet-%{servletspec}-api.jar
|
||||
%{__ln_s} tomcat-servlet-%{servletspec}-api.jar tomcat-servlet-api.jar
|
||||
%{__mv} tomcat/el-api.jar tomcat-el-%{elspec}-api.jar
|
||||
%{__ln_s} tomcat-el-%{elspec}-api.jar tomcat-el-api.jar
|
||||
popd
|
||||
|
||||
pushd ${RPM_BUILD_ROOT}%{libdir}
|
||||
# symlink JSP and servlet API jars
|
||||
%{__ln_s} ../../java/tomcat-jsp-%{jspspec}-api.jar .
|
||||
%{__ln_s} ../../java/tomcat-servlet-%{servletspec}-api.jar .
|
||||
%{__ln_s} ../../java/tomcat-el-%{elspec}-api.jar .
|
||||
|
||||
# Temporary copy the juli jar here from /usr/share/java/tomcat (for maven depmap)
|
||||
%{__cp} -a ${RPM_BUILD_ROOT}%{bindir}/tomcat-juli.jar ./
|
||||
popd
|
||||
|
||||
# symlink to the FHS locations where we've installed things
|
||||
pushd ${RPM_BUILD_ROOT}%{homedir}
|
||||
%{__ln_s} %{appdir} webapps
|
||||
%{__ln_s} %{confdir} conf
|
||||
%{__ln_s} %{libdir} lib
|
||||
%{__ln_s} %{logdir} logs
|
||||
%{__ln_s} %{tempdir} temp
|
||||
%{__ln_s} %{workdir} work
|
||||
popd
|
||||
|
||||
# Install the maven metadata
|
||||
%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_mavenpomdir}
|
||||
pushd output/dist/src/res/maven
|
||||
for pom in *.pom; do
|
||||
# fix-up version in all pom files
|
||||
sed -i 's/@MAVEN.DEPLOY.VERSION@/%{version}/g' $pom
|
||||
done
|
||||
|
||||
# we won't install dbcp, juli-adapters and juli-extras pom files
|
||||
for libname in annotations-api catalina jasper-el jasper catalina-ha; do
|
||||
%{__cp} -a tomcat-$libname.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.tomcat-$libname.pom
|
||||
%add_maven_depmap JPP.tomcat-$libname.pom tomcat/$libname.jar
|
||||
done
|
||||
|
||||
# tomcat-util-scan
|
||||
%{__cp} -a tomcat-util-scan.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.tomcat-util-scan.pom
|
||||
%add_maven_depmap JPP.tomcat-util-scan.pom tomcat/tomcat-util-scan.jar
|
||||
|
||||
# tomcat-jni
|
||||
%{__cp} -a tomcat-jni.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.tomcat-jni.pom
|
||||
%add_maven_depmap JPP.tomcat-jni.pom tomcat/tomcat-jni.jar
|
||||
|
||||
# servlet-api jsp-api and el-api are not in tomcat subdir, since they are widely re-used elsewhere
|
||||
%{__cp} -a tomcat-jsp-api.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP-tomcat-jsp-api.pom
|
||||
%add_maven_depmap JPP-tomcat-jsp-api.pom tomcat-jsp-api.jar -a "org.eclipse.jetty.orbit:javax.servlet.jsp"
|
||||
|
||||
%{__cp} -a tomcat-el-api.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP-tomcat-el-api.pom
|
||||
%add_maven_depmap JPP-tomcat-el-api.pom tomcat-el-api.jar -a "org.eclipse.jetty.orbit:javax.el"
|
||||
|
||||
%{__cp} -a tomcat-servlet-api.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP-tomcat-servlet-api.pom
|
||||
# Generate a depmap fragment javax.servlet:servlet-api pointing to
|
||||
# tomcat-servlet-3.0-api for backwards compatibility
|
||||
# also provide jetty depmap (originally in jetty package, but it's cleaner to have it here
|
||||
%add_maven_depmap JPP-tomcat-servlet-api.pom tomcat-servlet-%{servletspec}-api.jar -f "tomcat-servlet-api"
|
||||
|
||||
# replace temporary copy with link
|
||||
%{__ln_s} -f $(abs2rel %{bindir}/tomcat-juli.jar %{libdir}) ${RPM_BUILD_ROOT}%{libdir}/
|
||||
|
||||
# two special pom where jar files have different names
|
||||
%{__cp} -a tomcat-tribes.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.tomcat-catalina-tribes.pom
|
||||
%add_maven_depmap JPP.tomcat-catalina-tribes.pom tomcat/catalina-tribes.jar
|
||||
|
||||
%{__cp} -a tomcat-coyote.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.tomcat-tomcat-coyote.pom
|
||||
%add_maven_depmap JPP.tomcat-tomcat-coyote.pom tomcat/tomcat-coyote.jar
|
||||
|
||||
%{__cp} -a tomcat-juli.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.tomcat-tomcat-juli.pom
|
||||
%add_maven_depmap JPP.tomcat-tomcat-juli.pom tomcat/tomcat-juli.jar
|
||||
|
||||
%{__cp} -a tomcat-api.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.tomcat-tomcat-api.pom
|
||||
%add_maven_depmap JPP.tomcat-tomcat-api.pom tomcat/tomcat-api.jar
|
||||
|
||||
%{__cp} -a tomcat-util.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.tomcat-tomcat-util.pom
|
||||
%add_maven_depmap JPP.tomcat-tomcat-util.pom tomcat/tomcat-util.jar
|
||||
|
||||
%{__cp} -a tomcat-jdbc.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.tomcat-tomcat-jdbc.pom
|
||||
%add_maven_depmap JPP.tomcat-tomcat-jdbc.pom tomcat/tomcat-jdbc.jar
|
||||
|
||||
# tomcat-websocket-api
|
||||
%{__cp} -a tomcat-websocket-api.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.tomcat-websocket-api.pom
|
||||
%add_maven_depmap JPP.tomcat-websocket-api.pom tomcat/websocket-api.jar
|
||||
|
||||
# tomcat-tomcat-websocket
|
||||
%{__cp} -a tomcat-websocket.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.tomcat-tomcat-websocket.pom
|
||||
%add_maven_depmap JPP.tomcat-tomcat-websocket.pom tomcat/tomcat-websocket.jar
|
||||
|
||||
# tomcat-jaspic-api
|
||||
%{__cp} -a tomcat-jaspic-api.pom ${RPM_BUILD_ROOT}%{_mavenpomdir}/JPP.tomcat-jaspic-api.pom
|
||||
%add_maven_depmap JPP.tomcat-jaspic-api.pom tomcat/jaspic-api.jar
|
||||
|
||||
# Manually change the metadata filenames
|
||||
%{__mv} ${RPM_BUILD_ROOT}%{_datadir}/maven-metadata/%{name}.xml ${RPM_BUILD_ROOT}%{_datadir}/maven-metadata/tomcat.xml
|
||||
%{__mv} ${RPM_BUILD_ROOT}%{_datadir}/maven-metadata/%{name}-tomcat-servlet-api.xml ${RPM_BUILD_ROOT}%{_datadir}/maven-metadata/tomcat-servlet-api.xml
|
||||
|
||||
%pre
|
||||
# add the tomcat user and group
|
||||
%{_sbindir}/groupadd -g %{tcuid} -r tomcat 2>/dev/null || :
|
||||
%{_sbindir}/useradd -c "Apache Tomcat" -u %{tcuid} -g tomcat \
|
||||
-s /sbin/nologin -r -d %{homedir} tomcat 2>/dev/null || :
|
||||
|
||||
%post
|
||||
# install but don't activate
|
||||
%systemd_post tomcat.service
|
||||
|
||||
# Collapse all of the alternatives installations into one
|
||||
%{_sbindir}/update-alternatives --install %{_javadir}/jsp.jar jsp \
|
||||
%{_javadir}/tomcat-jsp-%{jspspec}-api.jar 20200
|
||||
%{_sbindir}/update-alternatives --install %{_javadir}/servlet.jar servlet \
|
||||
%{_javadir}/tomcat-servlet-%{servletspec}-api.jar 30000
|
||||
%{_sbindir}/update-alternatives --install %{_javadir}/elspec.jar elspec \
|
||||
%{_javadir}/tomcat-el-%{elspec}-api.jar 20300
|
||||
|
||||
%preun
|
||||
# clean tempdir and workdir on removal or upgrade
|
||||
%{__rm} -rf %{workdir}/* %{tempdir}/*
|
||||
%systemd_preun tomcat.service
|
||||
|
||||
%postun
|
||||
%systemd_postun_with_restart tomcat.service
|
||||
|
||||
# Collapse all of the alternatives removals into one
|
||||
if [ "$1" = "0" ]; then
|
||||
%{_sbindir}/update-alternatives --remove jsp \
|
||||
%{_javadir}/tomcat-jsp-%{jspspec}-api.jar
|
||||
%{_sbindir}/update-alternatives --remove servlet \
|
||||
%{_javadir}/tomcat-servlet-%{servletspec}-api.jar
|
||||
%{_sbindir}/update-alternatives --remove elspec \
|
||||
%{_javadir}/tomcat-el-%{elspec}-api.jar
|
||||
fi
|
||||
|
||||
%files
|
||||
%defattr(0664,root,tomcat,0755)
|
||||
%doc {LICENSE,NOTICE,RELEASE*}
|
||||
%attr(0755,root,root) %{_bindir}/tomcat-digest
|
||||
%attr(0755,root,root) %{_bindir}/tomcat-tool-wrapper
|
||||
%attr(0755,root,root) %{_sbindir}/tomcat
|
||||
%attr(0644,root,root) %{_unitdir}/tomcat.service
|
||||
%attr(0644,root,root) %{_unitdir}/tomcat@.service
|
||||
%attr(0755,root,root) %dir %{_libexecdir}/tomcat
|
||||
%attr(0755,root,root) %dir %{_localstatedir}/lib/tomcats
|
||||
%attr(0644,root,root) %{_libexecdir}/tomcat/functions
|
||||
%attr(0755,root,root) %{_libexecdir}/tomcat/preamble
|
||||
%attr(0755,root,root) %{_libexecdir}/tomcat/server
|
||||
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/sysconfig/tomcat
|
||||
%attr(0755,root,tomcat) %dir %{basedir}
|
||||
%attr(0755,root,tomcat) %dir %{confdir}
|
||||
|
||||
%defattr(0664,tomcat,root,0770)
|
||||
%attr(0770,tomcat,root) %dir %{logdir}
|
||||
|
||||
%defattr(0664,root,tomcat,0770)
|
||||
%attr(0770,root,tomcat) %dir %{cachedir}
|
||||
%attr(0770,root,tomcat) %dir %{tempdir}
|
||||
%attr(0770,root,tomcat) %dir %{workdir}
|
||||
|
||||
%defattr(0644,root,tomcat,0775)
|
||||
%attr(0775,root,tomcat) %dir %{appdir}
|
||||
%attr(0775,root,tomcat) %dir %{confdir}/Catalina
|
||||
%attr(0775,root,tomcat) %dir %{confdir}/Catalina/localhost
|
||||
%attr(0755,root,tomcat) %dir %{confdir}/conf.d
|
||||
%{confdir}/conf.d/README
|
||||
%config(noreplace) %{confdir}/tomcat.conf
|
||||
%config(noreplace) %{confdir}/*.policy
|
||||
%config(noreplace) %{confdir}/*.properties
|
||||
%config(noreplace) %{confdir}/context.xml
|
||||
%config(noreplace) %{confdir}/server.xml
|
||||
%attr(0640,root,tomcat) %config(noreplace) %{confdir}/tomcat-users.xml
|
||||
%attr(0664,root,tomcat) %{confdir}/tomcat-users.xsd
|
||||
%attr(0664,root,tomcat) %config(noreplace) %{confdir}/jaspic-providers.xml
|
||||
%attr(0664,root,tomcat) %{confdir}/jaspic-providers.xsd
|
||||
%config(noreplace) %{confdir}/web.xml
|
||||
%dir %{homedir}
|
||||
%{bindir}/bootstrap.jar
|
||||
%{bindir}/catalina-tasks.xml
|
||||
%{homedir}/lib
|
||||
%{homedir}/temp
|
||||
%{homedir}/webapps
|
||||
%{homedir}/work
|
||||
%{homedir}/logs
|
||||
%{homedir}/conf
|
||||
|
||||
%defattr(-,root,root,-)
|
||||
%dir %{libdir}
|
||||
%{libdir}/*.jar
|
||||
%{_javadir}/*.jar
|
||||
%{bindir}/tomcat-juli.jar
|
||||
%{_mavenpomdir}/JPP.tomcat-annotations-api.pom
|
||||
%{_mavenpomdir}/JPP.tomcat-catalina-ha.pom
|
||||
%{_mavenpomdir}/JPP.tomcat-catalina-tribes.pom
|
||||
%{_mavenpomdir}/JPP.tomcat-catalina.pom
|
||||
%{_mavenpomdir}/JPP.tomcat-jasper-el.pom
|
||||
%{_mavenpomdir}/JPP.tomcat-jasper.pom
|
||||
%{_mavenpomdir}/JPP.tomcat-tomcat-api.pom
|
||||
%{_mavenpomdir}/JPP.tomcat-tomcat-juli.pom
|
||||
%{_mavenpomdir}/JPP.tomcat-tomcat-coyote.pom
|
||||
%{_mavenpomdir}/JPP.tomcat-tomcat-util.pom
|
||||
%{_mavenpomdir}/JPP.tomcat-tomcat-jdbc.pom
|
||||
%{_mavenpomdir}/JPP.tomcat-websocket-api.pom
|
||||
%{_mavenpomdir}/JPP.tomcat-tomcat-websocket.pom
|
||||
%{_mavenpomdir}/JPP.tomcat-jaspic-api.pom
|
||||
%{_mavenpomdir}/JPP.tomcat-jni.pom
|
||||
%{_mavenpomdir}/JPP.tomcat-util-scan.pom
|
||||
%{_mavenpomdir}/JPP-tomcat-jsp-api.pom
|
||||
%{_mavenpomdir}/JPP-tomcat-el-api.pom
|
||||
%{_datadir}/maven-metadata/tomcat.xml
|
||||
%exclude %{_javadir}/tomcat-servlet-%{servletspec}*.jar
|
||||
|
||||
%files -n pki-servlet-%{servletspec}-api
|
||||
%defattr(-,root,root,-)
|
||||
%doc LICENSE
|
||||
%{_javadir}/tomcat-servlet-%{servletspec}*.jar
|
||||
%{_datadir}/maven-metadata/tomcat-servlet-api.xml
|
||||
%{_mavenpomdir}/JPP-tomcat-servlet-api.pom
|
||||
|
||||
%changelog
|
||||
* Mon Mar 04 2019 Coty Sutherland <csutherl@redhat.com> - 1:9.0.7-14
|
||||
- Update to JWS 5.0.2 distribution
|
||||
- Resolves: rhbz#1658846 CVE-2018-8034 pki-servlet-container: tomcat: host name verification missing in WebSocket client
|
||||
- Resolves: rhbz#1579614 CVE-2018-8014 pki-servlet-container: tomcat: Insecure defaults in CORS filter enable 'supportsCredentials' for all origins
|
||||
- Resolves: rhbz#1619232 - CVE-2018-8037 pki-servlet-container: tomcat: Due to a mishandling of close in NIO/NIO2 connectors user sessions can get mixed up
|
||||
- Resolves: rhbz#1641874 - CVE-2018-11784 pki-servlet-container: tomcat: Open redirect in default servlet
|
||||
|
||||
* Fri Aug 03 2018 Fraser Tweedale <ftweedal@redhat.com> - 1:9.0.7-13
|
||||
- Reinstate Maven artifacts and fix maven-metadata JAR path
|
||||
|
||||
* Fri Jul 20 2018 Jean-Frederic Clere <jclere@redhat.com> - 1:9.0.7-12
|
||||
- Add missing BuildRequires: systemd-units
|
||||
|
||||
* Fri Jun 22 2018 Coty Sutherland <csutherl@redhat.com> - 1:9.0.7-11
|
||||
- Resolves: rhbz#1594139 Cleanup Provides and Requires
|
||||
|
||||
* Thu Jun 07 2018 Coty Sutherland <csutherl@redhat.com> - 1:9.0.7-10
|
||||
- Create packages for FreeIPA that wrap the JWS distribution of Tomcat
|
1
sources
Normal file
1
sources
Normal file
@ -0,0 +1 @@
|
||||
cab3a9624554d5bd07bff460251bddab tomcat-9.0.7.redhat-16-src.zip
|
24
tomcat-8.0.36-CompilerOptionsV9.patch
Normal file
24
tomcat-8.0.36-CompilerOptionsV9.patch
Normal file
@ -0,0 +1,24 @@
|
||||
--- java/org/apache/jasper/compiler/JDTCompiler.java~ 2016-07-01 14:39:19.728255958 -0400
|
||||
+++ java/org/apache/jasper/compiler/JDTCompiler.java 2016-07-01 14:39:37.191311760 -0400
|
||||
@@ -312,9 +312,6 @@
|
||||
} else if(opt.equals("1.8")) {
|
||||
settings.put(CompilerOptions.OPTION_Source,
|
||||
CompilerOptions.VERSION_1_8);
|
||||
- } else if(opt.equals("1.9")) {
|
||||
- settings.put(CompilerOptions.OPTION_Source,
|
||||
- CompilerOptions.VERSION_1_9);
|
||||
} else {
|
||||
log.warn("Unknown source VM " + opt + " ignored.");
|
||||
settings.put(CompilerOptions.OPTION_Source,
|
||||
@@ -361,11 +358,6 @@
|
||||
CompilerOptions.VERSION_1_8);
|
||||
settings.put(CompilerOptions.OPTION_Compliance,
|
||||
CompilerOptions.VERSION_1_8);
|
||||
- } else if(opt.equals("1.9")) {
|
||||
- settings.put(CompilerOptions.OPTION_TargetPlatform,
|
||||
- CompilerOptions.VERSION_1_9);
|
||||
- settings.put(CompilerOptions.OPTION_Compliance,
|
||||
- CompilerOptions.VERSION_1_9);
|
||||
} else {
|
||||
log.warn("Unknown target VM " + opt + " ignored.");
|
||||
settings.put(CompilerOptions.OPTION_TargetPlatform,
|
9
tomcat-9.0-bootstrap-MANIFEST.MF.patch
Normal file
9
tomcat-9.0-bootstrap-MANIFEST.MF.patch
Normal file
@ -0,0 +1,9 @@
|
||||
--- res/META-INF/bootstrap.jar.manifest.orig 2010-04-06 10:11:09.000000000 -0600
|
||||
+++ res/META-INF/bootstrap.jar.manifest 2010-04-06 10:45:56.000000000 -0600
|
||||
@@ -1,6 +1,5 @@
|
||||
Manifest-Version: 1.0
|
||||
Main-Class: org.apache.catalina.startup.Bootstrap
|
||||
-Class-Path: commons-daemon.jar
|
||||
Specification-Title: Apache Tomcat Bootstrap
|
||||
Specification-Version: @VERSION_MAJOR_MINOR@
|
||||
Specification-Vendor: Apache Software Foundation
|
33
tomcat-9.0-catalina-policy.patch
Normal file
33
tomcat-9.0-catalina-policy.patch
Normal file
@ -0,0 +1,33 @@
|
||||
--- conf/catalina.policy.orig 2018-06-21 13:30:04.074492012 -0400
|
||||
+++ conf/catalina.policy 2018-06-21 13:30:02.111479809 -0400
|
||||
@@ -50,6 +50,30 @@ grant codeBase "file:${java.home}/lib/ex
|
||||
permission java.security.AllPermission;
|
||||
};
|
||||
|
||||
+// ========== RHEL SPECIFIC CODE PERMISSIONS =======================================
|
||||
+
|
||||
+// Allowing everything in /usr/share/java allows too many unknowns to be permitted
|
||||
+// Specifying the individual jars that tomcat needs to function with the security manager
|
||||
+// is the safest way forward.
|
||||
+grant codeBase "file:/usr/share/java/tomcat-servlet-4.0-api.jar" {
|
||||
+ permission java.security.AllPermission;
|
||||
+};
|
||||
+grant codeBase "file:/usr/share/java/tomcat-jsp-2.3-api.jar" {
|
||||
+ permission java.security.AllPermission;
|
||||
+};
|
||||
+grant codeBase "file:/usr/share/java/tomcat-el-3.0-api.jar" {
|
||||
+ permission java.security.AllPermission;
|
||||
+};
|
||||
+grant codeBase "file:/usr/share/java/ant.jar" {
|
||||
+ permission java.security.AllPermission;
|
||||
+};
|
||||
+grant codeBase "file:/usr/share/java/ant-launcher.jar" {
|
||||
+ permission java.security.AllPermission;
|
||||
+};
|
||||
+grant codeBase "file:/usr/lib/jvm/java/lib/tools.jar" {
|
||||
+ permission java.security.AllPermission;
|
||||
+};
|
||||
+
|
||||
|
||||
// ========== CATALINA CODE PERMISSIONS =======================================
|
||||
|
49
tomcat-9.0-digest.script
Normal file
49
tomcat-9.0-digest.script
Normal file
@ -0,0 +1,49 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# tomcat-digest script
|
||||
# JPackage Project <http://www.jpackage.org/>
|
||||
|
||||
# Source functions library
|
||||
if [ -f /usr/share/java-utils/java-functions ] ; then
|
||||
. /usr/share/java-utils/java-functions
|
||||
else
|
||||
echo "Can't find functions library, aborting"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Get the tomcat config (use this for environment specific settings)
|
||||
if [ -z "${TOMCAT_CFG}" ]; then
|
||||
TOMCAT_CFG="/etc/tomcat/tomcat.conf"
|
||||
fi
|
||||
|
||||
if [ -r "$TOMCAT_CFG" ]; then
|
||||
. $TOMCAT_CFG
|
||||
fi
|
||||
|
||||
set_javacmd
|
||||
|
||||
CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/bin/bootstrap.jar"
|
||||
CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/bin/tomcat-juli.jar"
|
||||
CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/lib/tomcat-api.jar"
|
||||
CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/lib/tomcat-util.jar"
|
||||
CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/lib/tomcat-util-scan.jar"
|
||||
CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/lib/tomcat-coyote.jar"
|
||||
CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/lib/catalina.jar"
|
||||
CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/lib/servlet-api.jar"
|
||||
export CLASSPATH
|
||||
|
||||
# Configuration
|
||||
MAIN_CLASS="org.apache.catalina.startup.Tool"
|
||||
BASE_FLAGS="-Dcatalina.home=\"$CATALINA_HOME\""
|
||||
BASE_OPTIONS=""
|
||||
#BASE_JARS="tomcat/tomcat-util tomcat/tomcat-util-scan"
|
||||
#BASE_JARS="${BASE_JARS} tomcat/tomcat-coyote tomcat/catalina"
|
||||
#BASE_JARS="${BASE_JARS} tomcat/servlet-api"
|
||||
|
||||
# Set parameters
|
||||
#set_classpath $BASE_JARS
|
||||
set_flags $BASE_FLAGS
|
||||
set_options $BASE_OPTIONS
|
||||
|
||||
# Let's start
|
||||
run -server org.apache.catalina.realm.RealmBase "$@"
|
11
tomcat-9.0-log4j.properties
Normal file
11
tomcat-9.0-log4j.properties
Normal file
@ -0,0 +1,11 @@
|
||||
log4j.rootLogger=debug, R
|
||||
log4j.appender.R=org.apache.log4j.RollingFileAppender
|
||||
log4j.appender.R.File=${catalina.base}/logs/tomcat.log
|
||||
log4j.appender.R.MaxFileSize=10MB
|
||||
log4j.appender.R.MaxBackupIndex=10
|
||||
log4j.appender.R.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
|
||||
log4j.logger.org.apache.catalina=DEBUG, R
|
||||
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=DEBUG, R
|
||||
log4j.logger.org.apache.catalina.core=DEBUG, R
|
||||
log4j.logger.org.apache.catalina.session=DEBUG, R
|
17
tomcat-9.0-tomcat-users-webapp.patch
Normal file
17
tomcat-9.0-tomcat-users-webapp.patch
Normal file
@ -0,0 +1,17 @@
|
||||
--- conf/tomcat-users.xml~ 2008-01-28 17:41:06.000000000 -0500
|
||||
+++ conf/tomcat-users.xml 2008-03-07 19:40:07.000000000 -0500
|
||||
@@ -23,4 +23,14 @@
|
||||
<user username="both" password="<must-be-changed>" roles="tomcat,role1"/>
|
||||
<user username="role1" password="<must-be-changed>" roles="role1"/>
|
||||
-->
|
||||
+
|
||||
+<!-- <role rolename="admin"/> -->
|
||||
+<!-- <role rolename="admin-gui"/> -->
|
||||
+<!-- <role rolename="admin-script"/> -->
|
||||
+<!-- <role rolename="manager"/> -->
|
||||
+<!-- <role rolename="manager-gui"/> -->
|
||||
+<!-- <role rolename="manager-script"/> -->
|
||||
+<!-- <role rolename="manager-jmx"/> -->
|
||||
+<!-- <role rolename="manager-status"/> -->
|
||||
+<!-- <user name="admin" password="<must-be-changed>" roles="admin,manager,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status" /> -->
|
||||
</tomcat-users>
|
49
tomcat-9.0-tool-wrapper.script
Normal file
49
tomcat-9.0-tool-wrapper.script
Normal file
@ -0,0 +1,49 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# tomcat-digest script
|
||||
# JPackage Project <http://www.jpackage.org/>
|
||||
|
||||
# Source functions library
|
||||
if [ -f /usr/share/java-utils/java-functions ] ; then
|
||||
. /usr/share/java-utils/java-functions
|
||||
else
|
||||
echo "Can't find functions library, aborting"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Get the tomcat config (use this for environment specific settings)
|
||||
if [ -z "${TOMCAT_CFG}" ]; then
|
||||
TOMCAT_CFG="/etc/tomcat/tomcat.conf"
|
||||
fi
|
||||
|
||||
if [ -r "$TOMCAT_CFG" ]; then
|
||||
. $TOMCAT_CFG
|
||||
fi
|
||||
|
||||
set_javacmd
|
||||
|
||||
CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/bin/bootstrap.jar"
|
||||
CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/bin/tomcat-juli.jar"
|
||||
CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/lib/tomcat-api.jar"
|
||||
CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/lib/tomcat-util.jar"
|
||||
CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/lib/tomcat-util-scan.jar"
|
||||
CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/lib/tomcat-coyote.jar"
|
||||
CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/lib/catalina.jar"
|
||||
CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/lib/servlet-api.jar"
|
||||
export CLASSPATH
|
||||
|
||||
# Configuration
|
||||
MAIN_CLASS="org.apache.catalina.startup.Tool"
|
||||
BASE_OPTIONS=""
|
||||
BASE_FLAGS="-Dcatalina.home=\"$CATALINA_HOME\""
|
||||
#BASE_JARS="tomcat/tomcat-util tomcat/tomcat-util-scan"
|
||||
#BASE_JARS="${BASE_JARS} tomcat/tomcat-coyote tomcat/catalina"
|
||||
#BASE_JARS="${BASE_JARS} tomcat/servlet-api"
|
||||
|
||||
# Set parameters
|
||||
#set_classpath $BASE_JARS
|
||||
set_flags $BASE_FLAGS
|
||||
set_options $BASE_OPTIONS
|
||||
|
||||
# Let's start
|
||||
run "$@"
|
61
tomcat-9.0.conf
Normal file
61
tomcat-9.0.conf
Normal file
@ -0,0 +1,61 @@
|
||||
# This will be loaded by systemd as an environment file,
|
||||
# so please keep the syntax. For shell expansion support
|
||||
# place your custom files as /etc/tomcat/conf.d/*.conf.
|
||||
#
|
||||
# There are 2 "classes" of startup behavior in this package.
|
||||
# The old one, the default service named tomcat.service.
|
||||
# The new named instances are called tomcat@instance.service.
|
||||
#
|
||||
# Use this file to change default values for all services.
|
||||
# Change the service specific ones to affect only one service.
|
||||
# For tomcat.service it's /etc/sysconfig/tomcat, for
|
||||
# tomcat@instance it's /etc/sysconfig/tomcat@instance.
|
||||
|
||||
# This variable is used to figure out if config is loaded or not.
|
||||
TOMCAT_CFG_LOADED="1"
|
||||
|
||||
# Where your java installation lives
|
||||
#JAVA_HOME="/usr/lib/jvm/java"
|
||||
|
||||
# Where your tomcat installation lives
|
||||
CATALINA_BASE="@@@TCHOME@@@"
|
||||
CATALINA_HOME="@@@TCHOME@@@"
|
||||
CATALINA_TMPDIR="@@@TCTEMP@@@"
|
||||
|
||||
# You can pass some parameters to java here if you wish to
|
||||
#JAVA_OPTS="-Xminf0.1 -Xmaxf0.3"
|
||||
|
||||
# You can change your tomcat locale here
|
||||
#LANG="en_US"
|
||||
|
||||
# Run tomcat under the Java Security Manager
|
||||
SECURITY_MANAGER="false"
|
||||
|
||||
# DEPRECATED VARIABLES
|
||||
#
|
||||
# TOMCAT_USER has been deprecated. To update the tomcat process owner,
|
||||
# please see User in tomcat.service.
|
||||
#
|
||||
# TOMCAT_GROUP has been deprecated. To update the tomcat process group,
|
||||
# please see Group in tomcat.service.
|
||||
#
|
||||
# SHUTDOWN_WAIT has been deprecated. To change the shutdown wait time, set
|
||||
# TimeoutStopSec in tomcat.service.
|
||||
#
|
||||
# SHUTDOWN_VERBOSE has been deprecated. There is no replacement for this behavior.
|
||||
#
|
||||
# CATALINA_PID has been deprecated. A replacement for this behavior is to set
|
||||
# PIDFile in tomcat.service.
|
||||
#
|
||||
# CONNECTOR_PORT has been deprecated. There is no replacement for this behavior.
|
||||
# Set init script output file
|
||||
#
|
||||
# TOMCAT_LOG has been deprecated. Output from start/stop/status operations are
|
||||
# logged to the system's journal.
|
||||
#
|
||||
# LOGGING_CONFIG has been deprecated. To update the logging properties in use, use:
|
||||
# LOGGING_PROPERTIES="${CATALINA_HOME}/lib/log4j.properties"
|
||||
|
||||
# If you wish to further customize your tomcat environment,
|
||||
# put your own definitions here
|
||||
# (i.e. LD_LIBRARY_PATH for some jdbc drivers)
|
21
tomcat-9.0.service
Normal file
21
tomcat-9.0.service
Normal file
@ -0,0 +1,21 @@
|
||||
# Systemd unit file for default tomcat
|
||||
#
|
||||
# To create clones of this service:
|
||||
# DO NOTHING, use tomcat@.service instead.
|
||||
|
||||
[Unit]
|
||||
Description=Apache Tomcat Web Application Container
|
||||
After=syslog.target network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
EnvironmentFile=/etc/tomcat/tomcat.conf
|
||||
Environment="NAME="
|
||||
EnvironmentFile=-/etc/sysconfig/tomcat
|
||||
ExecStart=/usr/libexec/tomcat/server start
|
||||
SuccessExitStatus=143
|
||||
User=tomcat
|
||||
UMask=027
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
11
tomcat-9.0.sysconfig
Normal file
11
tomcat-9.0.sysconfig
Normal file
@ -0,0 +1,11 @@
|
||||
# Service-specific configuration file for tomcat. This will be sourced by
|
||||
# systemd for the default service (tomcat.service)
|
||||
# If you want to customize named instance, make a similar file
|
||||
# and name it tomcat@instancename.
|
||||
|
||||
# You will not need to set this, usually. For default service it equals
|
||||
# CATALINA_HOME. For named service, it equals ${TOMCATS_BASE}${NAME}
|
||||
#CATALINA_BASE="@@@TCHOME@@@"
|
||||
|
||||
# Please take a look at /etc/tomcat/tomcat.conf to have an idea
|
||||
# what you can override.
|
24
tomcat-9.0.wrapper
Normal file
24
tomcat-9.0.wrapper
Normal file
@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ "$1" = "version" ]; then
|
||||
. /usr/libexec/tomcat/preamble
|
||||
exec ${JAVACMD} -classpath ${CATALINA_HOME}/lib/catalina.jar \
|
||||
org.apache.catalina.util.ServerInfo
|
||||
fi
|
||||
|
||||
SRV="tomcat"
|
||||
if [ -n "$2" ]; then
|
||||
SRV="tomcat@$2"
|
||||
fi
|
||||
|
||||
if [ "$1" = "start" ]; then
|
||||
systemctl start ${SRV}.service
|
||||
elif [ "$1" = "stop" ]; then
|
||||
systemctl stop ${SRV}.service
|
||||
elif [ "$1" = "version" ]; then
|
||||
${JAVACMD} -classpath ${CATALINA_HOME}/lib/catalina.jar \
|
||||
org.apache.catalina.util.ServerInfo
|
||||
else
|
||||
echo "Usage: $0 {start|stop|version} [server-id]"
|
||||
exit 1
|
||||
fi
|
26
tomcat-functions
Normal file
26
tomcat-functions
Normal file
@ -0,0 +1,26 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -r /usr/share/java-utils/java-functions ]; then
|
||||
. /usr/share/java-utils/java-functions
|
||||
else
|
||||
echo "Can't read Java functions library, aborting"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
_save_function() {
|
||||
local ORIG_FUNC=$(declare -f $1)
|
||||
local NEWNAME_FUNC="$2${ORIG_FUNC#$1}"
|
||||
eval "$NEWNAME_FUNC"
|
||||
}
|
||||
|
||||
_save_function run run_java
|
||||
|
||||
run() {
|
||||
if [ "${USE_JSVC}" = "true" ] ; then
|
||||
echo "JSVC support is not available with this Tomcat package."
|
||||
exit 1
|
||||
else
|
||||
run_java $@
|
||||
fi
|
||||
}
|
||||
|
26
tomcat-named.service
Normal file
26
tomcat-named.service
Normal file
@ -0,0 +1,26 @@
|
||||
# Systemd unit file for tomcat instances.
|
||||
#
|
||||
# To create clones of this service:
|
||||
# 0. systemctl enable tomcat@name.service
|
||||
# 1. create catalina.base directory structure in
|
||||
# /var/lib/tomcats/name
|
||||
# 2. profit.
|
||||
|
||||
[Unit]
|
||||
Description=Apache Tomcat Web Application Container
|
||||
After=syslog.target network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
EnvironmentFile=/etc/tomcat/tomcat.conf
|
||||
Environment="NAME=%I"
|
||||
EnvironmentFile=-/etc/sysconfig/tomcat@%I
|
||||
ExecStart=/usr/libexec/tomcat/server start
|
||||
ExecStop=/usr/libexec/tomcat/server stop
|
||||
SuccessExitStatus=143
|
||||
User=tomcat
|
||||
UMask=027
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
56
tomcat-preamble
Normal file
56
tomcat-preamble
Normal file
@ -0,0 +1,56 @@
|
||||
#!/bin/bash
|
||||
|
||||
. /usr/libexec/tomcat/functions
|
||||
|
||||
# Get the tomcat config (use this for environment specific settings)
|
||||
|
||||
if [ -z "${TOMCAT_CFG_LOADED}" ]; then
|
||||
if [ -z "${TOMCAT_CFG}" ]; then
|
||||
TOMCAT_CFG="/etc/tomcat/tomcat.conf"
|
||||
fi
|
||||
. $TOMCAT_CFG
|
||||
fi
|
||||
|
||||
if [ -d "${TOMCAT_CONFD=/etc/tomcat/conf.d}" ]; then
|
||||
for file in ${TOMCAT_CONFD}/*.conf ; do
|
||||
if [ -f "$file" ] ; then
|
||||
. "$file"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if [ -z "$CATALINA_BASE" ]; then
|
||||
if [ -n "$NAME" ]; then
|
||||
if [ -z "$TOMCATS_BASE" ]; then
|
||||
TOMCATS_BASE="/var/lib/tomcats/"
|
||||
fi
|
||||
CATALINA_BASE="${TOMCATS_BASE}${NAME}"
|
||||
else
|
||||
CATALINA_BASE="${CATALINA_HOME}"
|
||||
fi
|
||||
fi
|
||||
VERBOSE=1
|
||||
set_javacmd
|
||||
cd ${CATALINA_HOME}
|
||||
# CLASSPATH munging
|
||||
if [ ! -z "$CLASSPATH" ] ; then
|
||||
CLASSPATH="$CLASSPATH":
|
||||
fi
|
||||
|
||||
if [ -n "$JSSE_HOME" ]; then
|
||||
CLASSPATH="${CLASSPATH}$(build-classpath jcert jnet jsse 2>/dev/null):"
|
||||
fi
|
||||
CLASSPATH="${CLASSPATH}${CATALINA_HOME}/bin/bootstrap.jar"
|
||||
CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/bin/tomcat-juli.jar"
|
||||
|
||||
# Since ECJ is no longer available, add ant, ant-launcher, and tools jars to the
|
||||
# classpath so that runtime compilation of JSPs still works.
|
||||
CLASSPATH="${CLASSPATH}:/usr/share/java/ant.jar:/usr/share/java/ant-launcher.jar"
|
||||
CLASSPATH="${CLASSPATH}:/usr/lib/jvm/java/lib/tools.jar"
|
||||
|
||||
if [ -z "$LOGGING_PROPERTIES" ] ; then
|
||||
LOGGING_PROPERTIES="${CATALINA_BASE}/conf/logging.properties"
|
||||
if [ ! -f "${LOGGING_PROPERTIES}" ] ; then
|
||||
LOGGING_PROPERTIES="${CATALINA_HOME}/conf/logging.properties"
|
||||
fi
|
||||
fi
|
25
tomcat-server
Normal file
25
tomcat-server
Normal file
@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
|
||||
. /usr/libexec/tomcat/preamble
|
||||
|
||||
MAIN_CLASS=org.apache.catalina.startup.Bootstrap
|
||||
|
||||
FLAGS="$JAVA_OPTS"
|
||||
OPTIONS="-Dcatalina.base=$CATALINA_BASE \
|
||||
-Dcatalina.home=$CATALINA_HOME \
|
||||
-Djava.endorsed.dirs=$JAVA_ENDORSED_DIRS \
|
||||
-Djava.io.tmpdir=$CATALINA_TMPDIR \
|
||||
-Djava.util.logging.config.file=${LOGGING_PROPERTIES} \
|
||||
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"
|
||||
|
||||
if [ "$1" = "start" ] ; then
|
||||
FLAGS="${FLAGS} $CATALINA_OPTS"
|
||||
if [ "${SECURITY_MANAGER}" = "true" ] ; then
|
||||
OPTIONS="${OPTIONS} \
|
||||
-Djava.security.manager \
|
||||
-Djava.security.policy==${CATALINA_BASE}/conf/catalina.policy"
|
||||
fi
|
||||
run start
|
||||
elif [ "$1" = "stop" ] ; then
|
||||
run stop
|
||||
fi
|
Loading…
Reference in New Issue
Block a user