535 lines
21 KiB
RPMSpec
535 lines
21 KiB
RPMSpec
%global jspspec 2.3
|
|
%global major_version 9
|
|
%global minor_version 0
|
|
%global micro_version 100
|
|
%global packdname apache-tomcat-%{version}-src
|
|
%global servletspec 4.0
|
|
%global elspec 3.0
|
|
%global tcuid 53
|
|
|
|
# FHS 2.3 compliant tree structure - http://www.pathname.com/fhs/2.3/
|
|
%global basedir %{_var}/lib/%{name}
|
|
%global appdir %{basedir}/webapps
|
|
%global homedir %{_datadir}/%{name}
|
|
%global bindir %{homedir}/bin
|
|
%global confdir %{_sysconfdir}/%{name}
|
|
%global libdir %{_javadir}/%{name}
|
|
%global logdir %{_var}/log/%{name}
|
|
%global cachedir %{_var}/cache/%{name}
|
|
%global tempdir %{cachedir}/temp
|
|
%global workdir %{cachedir}/work
|
|
%global _systemddir /lib/systemd/system
|
|
|
|
Name: tomcat
|
|
Epoch: 1
|
|
Version: %{major_version}.%{minor_version}.%{micro_version}
|
|
Release: 2
|
|
Summary: Apache Servlet/JSP Engine, RI for Servlet %{servletspec}/JSP %{jspspec} API
|
|
|
|
License: Apache-2.0
|
|
URL: http://tomcat.apache.org/
|
|
Source0: https://archive.apache.org/dist/tomcat/tomcat-%{major_version}/v%{version}/src/%{packdname}.tar.gz
|
|
Source1: %{name}-%{major_version}.%{minor_version}.conf
|
|
Source3: %{name}-%{major_version}.%{minor_version}.sysconfig
|
|
Source4: %{name}-%{major_version}.%{minor_version}.wrapper
|
|
Source5: %{name}-%{major_version}.%{minor_version}.logrotate
|
|
Source6: %{name}-%{major_version}.%{minor_version}-digest.script
|
|
Source7: %{name}-%{major_version}.%{minor_version}-tool-wrapper.script
|
|
Source11: %{name}-%{major_version}.%{minor_version}.service
|
|
Source20: %{name}-%{major_version}.%{minor_version}-jsvc.service
|
|
Source21: tomcat-functions
|
|
Source30: tomcat-preamble
|
|
Source31: tomcat-server
|
|
Source32: tomcat-named.service
|
|
Source33: java-9-start-up-parameters.conf
|
|
|
|
Patch0: %{name}-%{major_version}.%{minor_version}-bootstrap-MANIFEST.MF.patch
|
|
Patch1: %{name}-%{major_version}.%{minor_version}-tomcat-users-webapp.patch
|
|
Patch2: %{name}-build.patch
|
|
Patch3: %{name}-%{major_version}.%{minor_version}-catalina-policy.patch
|
|
Patch4: rhbz-1857043.patch
|
|
# remove bnd dependency which version is too low on rhel8
|
|
Patch6: remove-bnd-annotation.patch
|
|
Patch7: build-with-jdk-1.8.patch
|
|
Patch8: CVE-2025-31650-1.patch
|
|
Patch9: CVE-2025-31650-2.patch
|
|
Patch10: CVE-2025-31650-3.patch
|
|
Patch11: CVE-2025-31651-1.patch
|
|
Patch12: CVE-2025-31651-2.patch
|
|
|
|
BuildArch: noarch
|
|
|
|
BuildRequires: ant
|
|
BuildRequires: ecj
|
|
BuildRequires: findutils
|
|
BuildRequires: javapackages-local
|
|
BuildRequires: aqute-bnd
|
|
BuildRequires: aqute-bndlib
|
|
BuildRequires: systemd
|
|
|
|
Requires: (java-headless >= 1:1.8 or java-1.8.0-headless or java-11-headless or java-17-headless or java >= 1:1.8)
|
|
Requires: javapackages-tools
|
|
Requires: ecj
|
|
Requires(pre): shadow-utils
|
|
Requires(post): systemd
|
|
Requires(preun): systemd
|
|
Requires(postun): systemd
|
|
|
|
Provides: %{name}-log4j = %{epoch}:%{version}-%{release}
|
|
Provides: servlet = %{servletspec} servlet6 servlet3 el_api = %{elspec} jsp = %{jspspec}
|
|
Obsoletes: %{name}-el-2.2-api %{name}-servlet-3.1-api %{name}-jsp-2.2-api
|
|
|
|
Provides: %{name}-lib = %{epoch}:%{version}-%{release}
|
|
Provides: %{name}-servlet-%{servletspec}-api = %{epoch}:%{version}-%{release}
|
|
Provides: %{name}-el-%{elspec}-api = %{epoch}:%{version}-%{release}
|
|
Provides: %{name}-jsp-%{jspspec}-api = %{epoch}:%{version}-%{release}
|
|
Provides: %{name}-webapps = %{epoch}:%{version}-%{release}
|
|
Provides: %{name}-admin-webapps = %{epoch}:%{version}-%{release}
|
|
|
|
Obsoletes: %{name}-lib < %{epoch}:%{version}-%{release}
|
|
Obsoletes: %{name}-servlet-%{servletspec}-api < %{epoch}:%{version}-%{release}
|
|
Obsoletes: %{name}-el-%{elspec}-api < %{epoch}:%{version}-%{release}
|
|
Obsoletes: %{name}-jsp-%{jspspec}-api < %{epoch}:%{version}-%{release}
|
|
Obsoletes: %{name}-webapps < %{epoch}:%{version}-%{release}
|
|
Obsoletes: %{name}-admin-webapps < %{epoch}:%{version}-%{release}
|
|
|
|
%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 jsvc
|
|
Summary: Apache jsvc wrapper for Apache Tomcat as separate service
|
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
|
Requires: apache-commons-daemon-jsvc
|
|
|
|
%description jsvc
|
|
Systemd service to start tomcat with jsvc,
|
|
which allows tomcat to perform some privileged operations
|
|
(e.g. bind to a port < 1024) and then switch identity to a non-privileged user.
|
|
|
|
%package help
|
|
Summary: Documents for %{name}
|
|
Buildarch: noarch
|
|
Requires: man info jpackage-utils
|
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
|
Provides: %{name}-docs-webapp = %{epoch}:%{version}-%{release}
|
|
Provides: %{name}-javadoc = %{epoch}:%{version}-%{release}
|
|
Obsoletes: %{name}-docs-webapp < %{epoch}:%{version}-%{release}
|
|
Obsoletes: %{name}-javadoc < %{epoch}:%{version}-%{release}
|
|
|
|
%description help
|
|
Man pages and other related documents for %{name}.
|
|
|
|
%prep
|
|
%autosetup -p1 -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
|
|
|
|
# Remove webservices naming resources as it's generally unused
|
|
%{__rm} -rf java/org/apache/naming/factory/webservices
|
|
|
|
# Configure maven files
|
|
%mvn_package ":tomcat-el-api" tomcat-el-api
|
|
%mvn_alias "org.apache.tomcat:tomcat-el-api" "org.eclipse.jetty.orbit:javax.el"
|
|
%mvn_file org.apache.tomcat:tomcat-jsp-api tomcat/jsp-api
|
|
%mvn_package ":tomcat-jsp-api" tomcat-jsp-api
|
|
%mvn_alias "org.apache.tomcat:tomcat-jsp-api" "org.eclipse.jetty.orbit:javax.servlet.jsp"
|
|
%mvn_package ":tomcat-servlet-api" tomcat-servlet-api
|
|
|
|
|
|
%build
|
|
export OPT_JAR_LIST="xalan-j2-serializer"
|
|
# we don't care about the tarballs and we're going to replace
|
|
# tomcat-dbcp.jar with apache-commons-{collections,dbcp,pool}-tomcat5.jar
|
|
# so just 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="$(build-classpath ecj/ecj)" \
|
|
-Dtomcat-native.tar.gz="HACK" \
|
|
-Dtomcat-native.home="." \
|
|
-Dcommons-daemon.native.win.mgr.exe="HACK" \
|
|
-Dnsis.exe="HACK" \
|
|
-Djaxrpc-lib.jar="HACK" \
|
|
-Dwsdl4j-lib.jar="HACK" \
|
|
-Dbnd.jar="HACK" \
|
|
-Dversion="%{version}" \
|
|
-Dversion.build="%{micro_version}" \
|
|
deploy
|
|
|
|
# remove some jars that we'll replace with symlinks later
|
|
%{__rm} output/build/lib/ecj.jar
|
|
# Remove the example webapps per Apache Tomcat Security Considerations
|
|
# see https://tomcat.apache.org/tomcat-9.0-doc/security-howto.html
|
|
%{__rm} -rf output/build/webapps/examples
|
|
|
|
%install
|
|
install -d -m 0755 %{buildroot}%{_bindir}
|
|
install -d -m 0755 %{buildroot}%{_sbindir}
|
|
install -d -m 0755 %{buildroot}%{_sysconfdir}/init.d
|
|
install -d -m 0755 %{buildroot}%{_systemddir}
|
|
install -d -m 0755 %{buildroot}%{_sysconfdir}/logrotate.d
|
|
install -d -m 0755 %{buildroot}%{_sysconfdir}/sysconfig
|
|
install -d -m 0755 %{buildroot}%{appdir}
|
|
install -d -m 0755 %{buildroot}%{bindir}
|
|
install -d -m 0775 %{buildroot}%{confdir}
|
|
install -d -m 0775 %{buildroot}%{confdir}/Catalina/localhost
|
|
install -d -m 0775 %{buildroot}%{confdir}/conf.d
|
|
/bin/echo "Place your custom *.conf files here. Shell expansion is supported." > %{buildroot}%{_sysconfdir}/%{name}/conf.d/README
|
|
install -d -m 0755 %{buildroot}%{libdir}
|
|
install -d -m 0775 %{buildroot}%{logdir}
|
|
/bin/touch %{buildroot}%{logdir}/catalina.out
|
|
install -d -m 0775 %{buildroot}%{_localstatedir}/lib/tomcats
|
|
install -d -m 0775 %{buildroot}%{homedir}
|
|
install -d -m 0775 %{buildroot}%{tempdir}
|
|
install -d -m 0775 %{buildroot}%{workdir}
|
|
install -d -m 0755 %{buildroot}%{_unitdir}
|
|
install -d -m 0755 %{buildroot}%{_libexecdir}/%{name}
|
|
|
|
pushd output/build
|
|
cp -a bin/*.{jar,xml} %{buildroot}%{bindir}
|
|
cp -a conf/*.{policy,properties,xml,xsd} %{buildroot}%{confdir}
|
|
cp -a lib/*.jar %{buildroot}%{libdir}
|
|
cp -a webapps/* %{buildroot}%{appdir}
|
|
popd
|
|
|
|
sed -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \
|
|
-e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \
|
|
-e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE1} \
|
|
> %{buildroot}%{confdir}/%{name}.conf
|
|
sed -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \
|
|
-e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \
|
|
-e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE3} \
|
|
> %{buildroot}%{_sysconfdir}/sysconfig/%{name}
|
|
install -m 0644 %{SOURCE4} \
|
|
%{buildroot}%{_sbindir}/%{name}
|
|
install -m 0644 %{SOURCE11} \
|
|
%{buildroot}%{_unitdir}/%{name}.service
|
|
install -m 0644 %{SOURCE20} \
|
|
%{buildroot}%{_unitdir}/%{name}-jsvc.service
|
|
sed -e "s|\@\@\@TCLOG\@\@\@|%{logdir}|g" %{SOURCE5} \
|
|
> %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
|
|
sed -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \
|
|
-e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \
|
|
-e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE6} \
|
|
> %{buildroot}%{_bindir}/%{name}-digest
|
|
sed -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \
|
|
-e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \
|
|
-e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE7} \
|
|
> %{buildroot}%{_bindir}/%{name}-tool-wrapper
|
|
|
|
install -m 0644 %{SOURCE21} %{buildroot}%{_libexecdir}/%{name}/functions
|
|
install -m 0755 %{SOURCE30} %{buildroot}%{_libexecdir}/%{name}/preamble
|
|
install -m 0755 %{SOURCE31} %{buildroot}%{_libexecdir}/%{name}/server
|
|
install -m 0644 %{SOURCE32} %{buildroot}%{_unitdir}/%{name}@.service
|
|
install -m 0644 %{SOURCE33} %{buildroot}%{confdir}/conf.d/
|
|
|
|
sed -i \
|
|
"s,el-api.jar,%{name}-el-%{elspec}-api.jar,;
|
|
s,servlet-api.jar,%{name}-servlet-%{servletspec}-api.jar,;
|
|
s,jsp-api.jar,%{name}-jsp-%{jspspec}-api.jar,;" \
|
|
%{buildroot}%{_datadir}/%{name}/bin/catalina-tasks.xml
|
|
|
|
pushd %{buildroot}%{_javadir}
|
|
mv %{name}/jsp-api.jar %{name}-jsp-%{jspspec}-api.jar
|
|
ln -s %{name}-jsp-%{jspspec}-api.jar %{name}-jsp-api.jar
|
|
mv %{name}/servlet-api.jar %{name}-servlet-%{servletspec}-api.jar
|
|
ln -s %{name}-servlet-%{servletspec}-api.jar %{name}-servlet-api.jar
|
|
mv %{name}/el-api.jar %{name}-el-%{elspec}-api.jar
|
|
ln -s %{name}-el-%{elspec}-api.jar %{name}-el-api.jar
|
|
popd
|
|
|
|
pushd output/build
|
|
%{_bindir}/build-jar-repository lib ecj 2>&1
|
|
popd
|
|
|
|
pushd %{buildroot}%{libdir}
|
|
ln -s ../../java/%{name}-jsp-%{jspspec}-api.jar .
|
|
ln -s ../../java/%{name}-servlet-%{servletspec}-api.jar .
|
|
ln -s ../../java/%{name}-el-%{elspec}-api.jar .
|
|
ln -s $(build-classpath ecj/ecj) jasper-jdt.jar
|
|
cp -a %{buildroot}%{_datadir}/%{name}/bin/tomcat-juli.jar ./
|
|
popd
|
|
|
|
# symlink to the FHS locations where we've installed things
|
|
pushd %{buildroot}%{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 -d -m 0755 %{buildroot}%{_mavenpomdir}
|
|
pushd res/maven
|
|
for pom in *.pom; do
|
|
sed -i 's/@MAVEN.DEPLOY.VERSION@/%{version}/g' $pom
|
|
done
|
|
|
|
for libname in annotations-api catalina jasper-el jasper catalina-ha; do
|
|
cp -a %{name}-$libname.pom %{buildroot}%{_mavenpomdir}/JPP.%{name}-$libname.pom
|
|
%add_maven_depmap JPP.%{name}-$libname.pom %{name}/$libname.jar -f "tomcat-lib"
|
|
done
|
|
|
|
cp -a %{name}-util-scan.pom %{buildroot}%{_mavenpomdir}/JPP.%{name}-util-scan.pom
|
|
%add_maven_depmap JPP.%{name}-util-scan.pom %{name}/%{name}-util-scan.jar -f "tomcat-lib"
|
|
cp -a %{name}-jni.pom %{buildroot}%{_mavenpomdir}/JPP.%{name}-jni.pom
|
|
%add_maven_depmap JPP.%{name}-jni.pom %{name}/%{name}-jni.jar -f "tomcat-lib"
|
|
cp -a tomcat-jsp-api.pom %{buildroot}%{_mavenpomdir}/JPP-tomcat-jsp-api.pom
|
|
%add_maven_depmap JPP-tomcat-jsp-api.pom tomcat-jsp-api.jar -f "tomcat-jsp-api" -a "org.eclipse.jetty.orbit:javax.servlet.jsp"
|
|
cp -a tomcat-el-api.pom %{buildroot}%{_mavenpomdir}/JPP-tomcat-el-api.pom
|
|
%add_maven_depmap JPP-tomcat-el-api.pom tomcat-el-api.jar -f "tomcat-el-api" -a "org.eclipse.jetty.orbit:javax.el"
|
|
cp -a tomcat-servlet-api.pom %{buildroot}%{_mavenpomdir}/JPP-tomcat-servlet-api.pom
|
|
%add_maven_depmap JPP-tomcat-servlet-api.pom tomcat-servlet-api.jar -f "tomcat-servlet-api"
|
|
ln -s -f $(abs2rel %{_datadir}/%{name}/bin/tomcat-juli.jar %{_javadir}/%{name}) %{buildroot}%{_javadir}/%{name}/
|
|
cp -a tomcat-tribes.pom %{buildroot}%{_mavenpomdir}/JPP.%{name}-catalina-tribes.pom
|
|
%add_maven_depmap JPP.%{name}-catalina-tribes.pom %{name}/catalina-tribes.jar
|
|
cp -a tomcat-coyote.pom %{buildroot}%{_mavenpomdir}/JPP.%{name}-tomcat-coyote.pom
|
|
%add_maven_depmap JPP.%{name}-tomcat-coyote.pom %{name}/tomcat-coyote.jar
|
|
cp -a tomcat-juli.pom %{buildroot}%{_mavenpomdir}/JPP.%{name}-tomcat-juli.pom
|
|
%add_maven_depmap JPP.%{name}-tomcat-juli.pom %{name}/tomcat-juli.jar
|
|
cp -a tomcat-api.pom %{buildroot}%{_mavenpomdir}/JPP.%{name}-tomcat-api.pom
|
|
%add_maven_depmap JPP.%{name}-tomcat-api.pom %{name}/tomcat-api.jar
|
|
cp -a tomcat-util.pom %{buildroot}%{_mavenpomdir}/JPP.%{name}-tomcat-util.pom
|
|
%add_maven_depmap JPP.%{name}-tomcat-util.pom %{name}/tomcat-util.jar
|
|
cp -a tomcat-jdbc.pom %{buildroot}%{_mavenpomdir}/JPP.%{name}-tomcat-jdbc.pom
|
|
%add_maven_depmap JPP.%{name}-tomcat-jdbc.pom %{name}/tomcat-jdbc.jar
|
|
cp -a tomcat-websocket-api.pom %{buildroot}%{_mavenpomdir}/JPP.%{name}-websocket-api.pom
|
|
%add_maven_depmap JPP.%{name}-websocket-api.pom %{name}/websocket-api.jar
|
|
cp -a tomcat-websocket.pom %{buildroot}%{_mavenpomdir}/JPP.%{name}-tomcat-websocket.pom
|
|
%add_maven_depmap JPP.%{name}-tomcat-websocket.pom %{name}/tomcat-websocket.jar
|
|
cp -a tomcat-jaspic-api.pom %{buildroot}%{_mavenpomdir}/JPP.%{name}-jaspic-api.pom
|
|
%add_maven_depmap JPP.%{name}-jaspic-api.pom %{name}/jaspic-api.jar
|
|
|
|
%pre
|
|
# add the tomcat user and group
|
|
getent group tomcat >/dev/null || %{_sbindir}/groupadd -f -g %{tcuid} -r tomcat
|
|
if ! getent passwd tomcat >/dev/null ; then
|
|
if ! getent passwd %{tcuid} >/dev/null ; then
|
|
%{_sbindir}/useradd -r -u %{tcuid} -g tomcat -d %{homedir} -s /sbin/nologin -c "Apache Tomcat" tomcat
|
|
# Tomcat uses a reserved ID, so there should never be an else
|
|
fi
|
|
fi
|
|
exit 0
|
|
|
|
%post
|
|
# install but don't activate
|
|
%systemd_post %{name}.service
|
|
%{_sbindir}/update-alternatives --install %{_javadir}/servlet.jar servlet %{_javadir}/%{name}-servlet-%{servletspec}-api.jar 30000
|
|
%{_sbindir}/update-alternatives --install %{_javadir}/elspec.jar elspec %{_javadir}/%{name}-el-%{elspec}-api.jar 20300
|
|
%{_sbindir}/update-alternatives --install %{_javadir}/jsp.jar jsp %{_javadir}/%{name}-jsp-%{jspspec}-api.jar 20200
|
|
|
|
%preun
|
|
# clean tempdir and workdir on removal or upgrade
|
|
%{__rm} -rf %{workdir}/* %{tempdir}/*
|
|
%systemd_preun %{name}.service
|
|
|
|
%postun
|
|
%systemd_postun_with_restart %{name}.service
|
|
if [ "$1" = "0" ]; then
|
|
%{_sbindir}/update-alternatives --remove servlet %{_javadir}/%{name}-servlet-%{servletspec}-api.jar
|
|
%{_sbindir}/update-alternatives --remove elspec %{_javadir}/%{name}-el-%{elspec}-api.jar
|
|
%{_sbindir}/update-alternatives --remove jsp %{_javadir}/%{name}-jsp-%{jspspec}-api.jar
|
|
fi
|
|
|
|
|
|
%files
|
|
%defattr(0664,root,tomcat,0755)
|
|
%doc {LICENSE,NOTICE,RELEASE*}
|
|
%attr(0755,root,root) %{_bindir}/%{name}-digest
|
|
%attr(0755,root,root) %{_bindir}/%{name}-tool-wrapper
|
|
%attr(0755,root,root) %{_sbindir}/%{name}
|
|
%attr(0644,root,root) %{_unitdir}/%{name}.service
|
|
%attr(0644,root,root) %{_unitdir}/%{name}@.service
|
|
%attr(0755,root,root) %dir %{_libexecdir}/%{name}
|
|
%attr(0755,root,root) %dir %{_localstatedir}/lib/tomcats
|
|
%attr(0644,root,root) %{_libexecdir}/%{name}/functions
|
|
%attr(0755,root,root) %{_libexecdir}/%{name}/preamble
|
|
%attr(0755,root,root) %{_libexecdir}/%{name}/server
|
|
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/sysconfig/%{name}
|
|
%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
|
|
%{confdir}/conf.d/java-9-start-up-parameters.conf
|
|
%config(noreplace) %{confdir}/%{name}.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}/catalina-tasks.xml
|
|
%{homedir}/lib
|
|
%{homedir}/temp
|
|
%{homedir}/webapps
|
|
%{homedir}/work
|
|
%{homedir}/logs
|
|
%{homedir}/conf
|
|
|
|
%defattr(0664,root,tomcat,0755)
|
|
%{appdir}/host-manager
|
|
%{appdir}/manager
|
|
%defattr(0644,tomcat,tomcat,0755)
|
|
%{appdir}/ROOT
|
|
|
|
%dir %{libdir}
|
|
%{libdir}/*.jar
|
|
%{_javadir}/*.jar
|
|
%{bindir}/tomcat-juli.jar
|
|
%{bindir}/bootstrap.jar
|
|
%{_mavenpomdir}/JPP*%{name}-*.pom
|
|
%{_datadir}/maven-metadata/*.xml
|
|
|
|
%files jsvc
|
|
%defattr(755,root,root,0755)
|
|
%attr(0644,root,root) %{_unitdir}/%{name}-jsvc.service
|
|
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
|
|
%attr(0660,tomcat,tomcat) %verify(not size md5 mtime) %{_var}/log/%{name}/catalina.out
|
|
|
|
%files help
|
|
%{appdir}/docs
|
|
|
|
%changelog
|
|
* Tue Apr 29 2025 wangkai <13474090681@163.com> - 1:9.0.100-2
|
|
- Fix CVE-2025-31650, CVE-2025-31651
|
|
|
|
* Fri Feb 21 2025 wangkai <13474090681@163.com> - 1:9.0.100-1
|
|
- Update to 9.0.100 for fix CVE-2024-56337
|
|
- Add a check to ensure that, if one or more web applications are potentially vulnerable to CVE-2024-56337,
|
|
the JVM has been configured to protect against the vulnerability and to configure the JVM correctly if not.
|
|
|
|
* Wed Dec 18 2024 wangkai <13474090681@163.com> - 1:9.0.96-4
|
|
- Fix CVE-2024-50379 CVE-2024-54677
|
|
|
|
* Tue Nov 26 2024 wangkai <13474090681@163.com> - 1:9.0.96-3
|
|
- Add requires ecj for fix server error
|
|
|
|
* Tue Nov 19 2024 wangkai <13474090681@163.com> - 1:9.0.96-2
|
|
- Fix CVE-2024-52318
|
|
|
|
* Thu Nov 07 2024 chenyaqiang <chengyaqiang@huawei.com> - 1:9.0.96-1
|
|
- Update to 9.0.96
|
|
- Fix CVE-2021-43980 CVE-2022-25762 CVE-2023-44487 CVE-2023-46589
|
|
CVE-2024-23672 CVE-2024-24549 CVE-2024-34750
|
|
|
|
* Tue Jan 23 2024 wangkai <13474090681@163.com> - 1:9.0.10-33
|
|
- Fix CVE-2024-21733,CVE-2023-24998,CVE-2023-28709,CVE-2023-42795
|
|
|
|
* Fri Oct 20 2023 wangkai <13474090681@163.com> - 1:9.0.10-32
|
|
- Fix CVE-2023-45648
|
|
|
|
* Thu Sep 07 2023 wangkai <13474090681@163.com> - 1:9.0.10-31
|
|
- Fix CVE-2023-41080
|
|
- Add requires apache-commons-dbcp,pool,collections for fix path error
|
|
|
|
* Mon Apr 17 2023 wangkai <13474090681@163.com> - 1:9.0.10-30
|
|
- Fix CVE-2023-28708
|
|
|
|
* Wed Dec 21 2022 xulei <xulei@xfusion.com> - 1:9.0.10-29
|
|
- Fix CVE-2022-42252
|
|
|
|
* Fri Aug 12 2022 liyanan <liyanan32@h-partners.com> - 1:9.0.10-28
|
|
- Update build-classpath calls to ECJ to specify the JAR we want to use
|
|
|
|
* Tue May 24 2022 chenchen <chen_aka_jan@163.com> - 1:9.0.10-27
|
|
- fix build error
|
|
|
|
* Mon Apr 25 2022 wangkai <wangkai@h-partners.com - 1:9.0.10-26
|
|
- Refix CVE-2021-41079
|
|
|
|
* Fri Feb 18 2022 wangkai <wangkai385@huawei.com> - 1:9.0.10-25
|
|
- Fix CVE-2022-23181
|
|
|
|
* Wed Nov 10 2021 caodongxia <caodongxia@huawei.com> - 1:9.0.10-24
|
|
- Replace recommends libtcnative-1-0 with requires libtcnative-1-0
|
|
|
|
* Wed Nov 3 2021 caodongxia <caodongxia@huawei.com> - 1:9.0.10-23
|
|
- Replace recommends tomcat-native with libtcnative-1-0
|
|
|
|
* Thu Oct 28 2021 liwu <liwu13@huawei.com> - 1:9.0.10-22
|
|
- Fix CVE-2021-42340
|
|
|
|
* Sat Oct 9 2021 houyingchao <houyingchao@huawei.com> - 1:9.0.10-21
|
|
- Fix CVE-2021-41079
|
|
|
|
* Thu Jul 29 2021 wangyue <wangyue92@huawei.com> - 1:9.0.10-20
|
|
- Fix CVE-2021-30640
|
|
|
|
* Mon Jul 19 2021 wangyue <wangyue92@huawei.com> - 1:9.0.10-19
|
|
- Fix CVE-2021-33037
|
|
|
|
* Fri Mar 12 2021 wangyue <wangyue92@huawei.com> - 1:9.0.10-18
|
|
- Type:cve
|
|
- ID: CVE-2021-25122 CVE-2021-25329
|
|
- SUG:restart
|
|
- DESC: fix CVE-2021-25122 CVE-2021-25329
|
|
|
|
* Thu Feb 18 2021 wangxiao <wangxiao65@huawei.com> - 1:9.0.10-17
|
|
- Type:cve
|
|
- ID: CVE-2021-24122
|
|
- SUG:restart
|
|
- DESC: fix CVE-2021-24122
|
|
|
|
* Sat Dec 12 2020 zhanghua <zhanghua40@huawei.com> - 1:9.0.10-16
|
|
- Type:cve
|
|
- ID: CVE-2020-17527
|
|
- SUG:restart
|
|
- DESC: fix CVE-2020-17527
|
|
|
|
* Wed Dec 2 2020 jialei <jialei17@huawei.com> - 1:9.0.10-15
|
|
- Type:cves
|
|
- ID: CVE-2020-13943
|
|
- SUG:restart
|
|
- DESC: fix CVE-2020-13943
|
|
|
|
* Wed Sep 9 2020 wangxiao <wangxiao65@huawei.com> - 1:9.0.10-14
|
|
- Type:cves
|
|
- ID: CVE-2020-9484 CVE-2020-11996 CVE-2020-13934 CVE-2020-13935
|
|
- SUG:restart
|
|
- DESC: fix CVE-2020-9484 CVE-2020-11996 CVE-2020-13934 CVE-2020-13935
|
|
|
|
* Tue May 19 2020 huanghaitao <huanghaitao8@huawei.com> - 1:9.0.10-13
|
|
- Type:cves
|
|
- ID: CVE-2019-17563 CVE-2019-12418 CVE-2020-1935 CVE-2020-1938
|
|
- SUG:restart
|
|
- DESC: fix CVE-2019-17563 CVE-2019-12418CVE-2020-1935 CVE-2020-1938
|
|
|
|
* Mon May 11 2020 Guoshuai Sun<sunguoshuai@huawei.com> - 1:9.0.10-12
|
|
- Add install require ecj package
|
|
|
|
* Fri Feb 28 2020 Senlin Xia<xiasenlin1@huawei.com> - 1:9.0.10-11
|
|
- Package init
|
|
|