2020-02-28 20:54:21 -05:00
|
|
|
%global jspspec 2.3
|
|
|
|
|
%global major_version 9
|
|
|
|
|
%global minor_version 0
|
|
|
|
|
%global micro_version 10
|
|
|
|
|
%global packdname apache-tomcat-%{version}-src
|
|
|
|
|
%global servletspec 4.0
|
|
|
|
|
%global elspec 3.0
|
|
|
|
|
%global tcuid 91
|
|
|
|
|
|
|
|
|
|
%{!?_mavendepmapfragdir: %global _mavendepmapfragdir /usr/share/maven-metadata}
|
|
|
|
|
%{?fc24: %global _mavendepmapfragdir /usr/share/maven-metadata}
|
|
|
|
|
|
|
|
|
|
Name: tomcat
|
|
|
|
|
Epoch: 1
|
|
|
|
|
Version: %{major_version}.%{minor_version}.%{micro_version}
|
2021-10-09 15:26:15 +08:00
|
|
|
Release: 21
|
2020-02-28 20:54:21 -05:00
|
|
|
Summary: Implementation of the Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket technologies
|
|
|
|
|
License: ASL 2.0
|
|
|
|
|
URL: http://tomcat.apache.org/
|
|
|
|
|
|
|
|
|
|
Source0: https://github.com/apache/tomcat/archive/%{version}.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
|
|
|
|
|
Source8: servlet-api-OSGi-MANIFEST.MF
|
|
|
|
|
Source9: jsp-api-OSGi-MANIFEST.MF
|
|
|
|
|
Source11: %{name}-%{major_version}.%{minor_version}.service
|
|
|
|
|
Source12: el-api-OSGi-MANIFEST.MF
|
|
|
|
|
Source13: jasper-el-OSGi-MANIFEST.MF
|
|
|
|
|
Source14: jasper-OSGi-MANIFEST.MF
|
|
|
|
|
Source15: tomcat-api-OSGi-MANIFEST.MF
|
|
|
|
|
Source16: tomcat-juli-OSGi-MANIFEST.MF
|
|
|
|
|
Source20: %{name}-%{major_version}.%{minor_version}-jsvc.service
|
|
|
|
|
Source21: tomcat-functions
|
|
|
|
|
Source30: tomcat-preamble
|
|
|
|
|
Source31: tomcat-server
|
|
|
|
|
Source32: tomcat-named.service
|
|
|
|
|
|
|
|
|
|
Patch0: %{name}-%{major_version}.%{minor_version}-bootstrap-MANIFEST.MF.patch
|
|
|
|
|
Patch1: %{name}-%{major_version}.%{minor_version}-tomcat-users-webapp.patch
|
|
|
|
|
Patch2: %{name}-build.patch
|
2020-03-11 01:50:13 -04:00
|
|
|
Patch3: disableJavadocFailOnWarning.patch
|
2020-02-28 20:54:21 -05:00
|
|
|
Patch6001: CVE-2019-0199-1.patch
|
|
|
|
|
Patch6002: CVE-2019-0199-2.patch
|
|
|
|
|
Patch6003: CVE-2019-0199-3.patch
|
|
|
|
|
Patch6004: CVE-2019-0199-4.patch
|
|
|
|
|
Patch6005: CVE-2019-0199-5.patch
|
|
|
|
|
Patch6006: CVE-2019-0199-6.patch
|
|
|
|
|
Patch6007: CVE-2019-0199-7.patch
|
|
|
|
|
Patch6008: CVE-2019-0199-8.patch
|
|
|
|
|
Patch6009: CVE-2019-0199-9.patch
|
|
|
|
|
Patch6010: CVE-2019-0199-10.patch
|
|
|
|
|
Patch6011: CVE-2019-0199-11.patch
|
|
|
|
|
Patch6012: CVE-2018-11784.patch
|
|
|
|
|
Patch6013: CVE-2019-0221.patch
|
|
|
|
|
Patch6014: CVE-2019-10072-1.patch
|
|
|
|
|
Patch6015: CVE-2019-10072-2.patch
|
2020-05-19 15:36:49 +08:00
|
|
|
Patch6016: CVE-2019-17563.patch
|
|
|
|
|
Patch6017: CVE-2019-12418.patch
|
|
|
|
|
Patch6018: CVE-2020-1938-1.patch
|
|
|
|
|
Patch6019: CVE-2020-1938-2.patch
|
|
|
|
|
Patch6020: CVE-2020-1938-3.patch
|
|
|
|
|
Patch6021: CVE-2020-1938-4.patch
|
|
|
|
|
Patch6022: CVE-2020-1938-5.patch
|
|
|
|
|
Patch6023: CVE-2020-1935.patch
|
2020-09-16 10:29:45 +08:00
|
|
|
Patch6024: CVE-2020-9484.patch
|
|
|
|
|
Patch6025: CVE-2020-11996.patch
|
|
|
|
|
Patch6026: CVE-2020-13934.patch
|
|
|
|
|
Patch6027: CVE-2020-13935.patch
|
2020-12-02 18:19:52 +08:00
|
|
|
Patch6028: CVE-2020-13943-1.patch
|
|
|
|
|
Patch6029: CVE-2020-13943-2.patch
|
|
|
|
|
Patch6030: CVE-2020-13943-3.patch
|
|
|
|
|
Patch6031: CVE-2020-13943-4.patch
|
2020-12-15 09:36:47 +08:00
|
|
|
Patch6032: CVE-2020-17527.patch
|
2021-02-18 14:45:52 +08:00
|
|
|
Patch6033: CVE-2021-24122.patch
|
2021-03-12 10:25:17 +08:00
|
|
|
Patch6035: CVE-2021-25122-pre.patch
|
|
|
|
|
Patch6036: CVE-2021-25122.patch
|
|
|
|
|
Patch6037: CVE-2021-25329-pre1.patch
|
|
|
|
|
Patch6038: CVE-2021-25329-pre2.patch
|
|
|
|
|
Patch6039: CVE-2021-25329-pre3.patch
|
|
|
|
|
Patch6040: CVE-2021-25329.patch
|
2021-07-19 11:46:07 +08:00
|
|
|
Patch6041: CVE-2021-33037-1.patch
|
|
|
|
|
Patch6042: CVE-2021-33037-2.patch
|
|
|
|
|
Patch6043: CVE-2021-33037-3.patch
|
2021-07-29 16:54:15 +08:00
|
|
|
Patch6044: CVE-2021-30640-pre1.patch
|
|
|
|
|
Patch6045: CVE-2021-30640-pre2.patch
|
|
|
|
|
Patch6046: CVE-2021-30640-pre3.patch
|
|
|
|
|
Patch6047: CVE-2021-30640-pre4.patch
|
|
|
|
|
Patch6048: CVE-2021-30640-pre5.patch
|
|
|
|
|
Patch6049: CVE-2021-30640-1.patch
|
|
|
|
|
Patch6050: CVE-2021-30640-2.patch
|
|
|
|
|
Patch6051: CVE-2021-30640-3.patch
|
|
|
|
|
Patch6052: CVE-2021-30640-4.patch
|
|
|
|
|
Patch6053: CVE-2021-30640-5.patch
|
|
|
|
|
Patch6054: CVE-2021-30640-6.patch
|
|
|
|
|
Patch6055: CVE-2021-30640-7.patch
|
|
|
|
|
Patch6056: CVE-2021-30640-8.patch
|
2021-10-09 15:26:15 +08:00
|
|
|
Patch6057: CVE-2021-41079.patch
|
2020-02-28 20:54:21 -05:00
|
|
|
|
|
|
|
|
BuildRequires: ecj >= 1:4.6.1 findutils apache-commons-collections apache-commons-daemon
|
|
|
|
|
BuildRequires: apache-commons-dbcp apache-commons-pool tomcat-taglibs-standard ant
|
|
|
|
|
BuildRequires: jpackage-utils >= 0:1.7.0 java-devel >= 1:1.8.0 junit javapackages-local
|
|
|
|
|
BuildRequires: geronimo-saaj aqute-bndlib aqute-bnd systemd-units wsdl4j geronimo-jaxrpc
|
|
|
|
|
|
|
|
|
|
Requires: procps jpackage-utils java-headless >= 1:1.8.0 apache-commons-daemon
|
2020-05-11 09:15:01 +08:00
|
|
|
Requires: tomcat-taglibs-standard >= 0:1.1 ecj
|
2020-02-28 20:54:21 -05:00
|
|
|
|
|
|
|
|
Recommends: tomcat-native >= 1.2.14
|
|
|
|
|
|
|
|
|
|
Requires(pre): shadow-utils
|
|
|
|
|
Requires(post): chkconfig
|
|
|
|
|
Requires(preun): chkconfig
|
|
|
|
|
Requires(postun): chkconfig
|
|
|
|
|
|
|
|
|
|
Requires(post): systemd-units
|
|
|
|
|
Requires(preun): systemd-units
|
|
|
|
|
Requires(postun): systemd-units
|
|
|
|
|
|
|
|
|
|
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}
|
|
|
|
|
|
|
|
|
|
BuildArch: noarch
|
|
|
|
|
|
|
|
|
|
%description
|
|
|
|
|
The Apache Tomcat software is developed in an open and participatory environment
|
|
|
|
|
and released under the Apache License version 2. The Apache Tomcat project is
|
|
|
|
|
intended to be a collaboration of the best-of-breed developers from around the
|
|
|
|
|
world. We invite you to participate in this open development project
|
|
|
|
|
|
|
|
|
|
%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
|
|
|
|
|
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
|
|
|
|
|
|
2020-03-11 01:50:13 -04:00
|
|
|
%autosetup -p1 -n %{name}-%{version}
|
2020-02-28 20:54:21 -05:00
|
|
|
|
|
|
|
|
ln -s $(build-classpath tomcat-taglibs-standard/taglibs-standard-impl) webapps/examples/WEB-INF/lib/jstl.jar
|
|
|
|
|
ln -s $(build-classpath tomcat-taglibs-standard/taglibs-standard-compat) webapps/examples/WEB-INF/lib/standard.jar
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
|
export OPT_JAR_LIST="xalan-j2-serializer"
|
|
|
|
|
touch HACK
|
|
|
|
|
%{ant} -Dbase.path="." \
|
|
|
|
|
-Dbuild.compiler="modern" \
|
|
|
|
|
-Dcommons-collections.jar="$(build-classpath apache-commons-collections)" \
|
|
|
|
|
-Dcommons-daemon.jar="$(build-classpath apache-commons-daemon)" \
|
|
|
|
|
-Dcommons-daemon.native.src.tgz="HACK" \
|
|
|
|
|
-Djdt.jar="$(build-classpath ecj)" \
|
|
|
|
|
-Dtomcat-native.tar.gz="HACK" \
|
|
|
|
|
-Dtomcat-native.home="." \
|
|
|
|
|
-Dcommons-daemon.native.win.mgr.exe="HACK" \
|
|
|
|
|
-Dnsis.exe="HACK" \
|
|
|
|
|
-Djaxrpc-lib.jar="$(build-classpath jaxrpc)" \
|
|
|
|
|
-Dwsdl4j-lib.jar="$(build-classpath wsdl4j)" \
|
|
|
|
|
-Dsaaj-api.jar="$(build-classpath geronimo-saaj)" \
|
|
|
|
|
-Dbnd.jar="$(build-classpath aqute-bnd/biz.aQute.bnd)" \
|
|
|
|
|
-Dbndlib.jar="$(build-classpath aqute-bnd/biz.aQute.bndlib)" \
|
|
|
|
|
-Dbndlibg.jar="$(build-classpath aqute-bnd/aQute.libg)" \
|
|
|
|
|
-Dbndannotation.jar="$(build-classpath aqute-bnd/biz.aQute.bnd.annotation)" \
|
|
|
|
|
-Dslf4j-api.jar="$(build-classpath slf4j/slf4j-api)" \
|
|
|
|
|
-Dno.build.dbcp=true \
|
|
|
|
|
-Dversion="%{version}" \
|
|
|
|
|
-Dversion.build="%{micro_version}" \
|
|
|
|
|
-Djava.7.home=%{java_home} \
|
|
|
|
|
-Dexecute.validate=false \
|
|
|
|
|
deploy dist-prepare dist-source javadoc
|
|
|
|
|
rm output/build/bin/commons-daemon.jar output/build/lib/ecj.jar
|
|
|
|
|
pushd output/dist/src/webapps/docs/appdev/sample/src
|
|
|
|
|
mkdir -p ../web/WEB-INF/classes
|
|
|
|
|
%{javac} -cp ../../../../../../../../output/build/lib/servlet-api.jar -d ../web/WEB-INF/classes mypackage/Hello.java
|
|
|
|
|
pushd ../web
|
|
|
|
|
%{jar} cf ../../../../../../../../output/build/webapps/docs/appdev/sample/sample.war *
|
|
|
|
|
popd
|
|
|
|
|
popd
|
|
|
|
|
|
|
|
|
|
mkdir -p META-INF
|
|
|
|
|
cp -p %{SOURCE8} META-INF/MANIFEST.MF
|
|
|
|
|
touch META-INF/MANIFEST.MF
|
|
|
|
|
zip output/build/lib/servlet-api.jar META-INF/MANIFEST.MF
|
|
|
|
|
cp -p %{SOURCE9} META-INF/MANIFEST.MF
|
|
|
|
|
touch META-INF/MANIFEST.MF
|
|
|
|
|
zip output/build/lib/jsp-api.jar META-INF/MANIFEST.MF
|
|
|
|
|
cp -p %{SOURCE12} META-INF/MANIFEST.MF
|
|
|
|
|
touch META-INF/MANIFEST.MF
|
|
|
|
|
zip output/build/lib/el-api.jar META-INF/MANIFEST.MF
|
|
|
|
|
cp -p %{SOURCE13} META-INF/MANIFEST.MF
|
|
|
|
|
touch META-INF/MANIFEST.MF
|
|
|
|
|
zip output/build/lib/jasper-el.jar META-INF/MANIFEST.MF
|
|
|
|
|
cp -p %{SOURCE14} META-INF/MANIFEST.MF
|
|
|
|
|
touch META-INF/MANIFEST.MF
|
|
|
|
|
zip output/build/lib/jasper.jar META-INF/MANIFEST.MF
|
|
|
|
|
cp -p %{SOURCE15} META-INF/MANIFEST.MF
|
|
|
|
|
touch META-INF/MANIFEST.MF
|
|
|
|
|
zip output/build/lib/tomcat-api.jar META-INF/MANIFEST.MF
|
|
|
|
|
cp -p %{SOURCE16} META-INF/MANIFEST.MF
|
|
|
|
|
touch META-INF/MANIFEST.MF
|
|
|
|
|
zip output/build/bin/tomcat-juli.jar META-INF/MANIFEST.MF
|
|
|
|
|
|
|
|
|
|
%install
|
|
|
|
|
install -d -m 0755 %{buildroot}%{_bindir}
|
|
|
|
|
install -d -m 0755 %{buildroot}%{_sbindir}
|
|
|
|
|
install -d -m 0755 %{buildroot}%{_javadocdir}/%{name}
|
|
|
|
|
install -d -m 0755 %{buildroot}%{_sysconfdir}/init.d
|
|
|
|
|
install -d -m 0755 %{buildroot}/lib/systemd/system
|
|
|
|
|
install -d -m 0755 %{buildroot}%{_sysconfdir}/logrotate.d
|
|
|
|
|
install -d -m 0755 %{buildroot}%{_sysconfdir}/sysconfig
|
|
|
|
|
install -d -m 0755 %{buildroot}%{_var}/lib/%{name}/webapps
|
|
|
|
|
install -d -m 0755 %{buildroot}%{_datadir}/%{name}/bin
|
|
|
|
|
install -d -m 0775 %{buildroot}%{_sysconfdir}/%{name}
|
|
|
|
|
install -d -m 0775 %{buildroot}%{_sysconfdir}/%{name}/Catalina/localhost
|
|
|
|
|
install -d -m 0775 %{buildroot}%{_sysconfdir}/%{name}/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}%{_javadir}/%{name}
|
|
|
|
|
install -d -m 0775 %{buildroot}%{_var}/log/%{name}
|
|
|
|
|
/bin/touch %{buildroot}%{_var}/log/%{name}/catalina.out
|
|
|
|
|
install -d -m 0775 %{buildroot}%{_localstatedir}/lib/tomcats
|
|
|
|
|
install -d -m 0775 %{buildroot}%{_datadir}/%{name}
|
|
|
|
|
install -d -m 0775 %{buildroot}%{_var}/cache/%{name}/temp
|
|
|
|
|
install -d -m 0775 %{buildroot}%{_var}/cache/%{name}/work
|
|
|
|
|
install -d -m 0755 %{buildroot}%{_unitdir}
|
|
|
|
|
install -d -m 0755 %{buildroot}%{_libexecdir}/%{name}
|
|
|
|
|
|
|
|
|
|
pushd output/build
|
|
|
|
|
cp -a bin/*.{jar,xml} %{buildroot}%{_datadir}/%{name}/bin
|
|
|
|
|
cp -a conf/*.{policy,properties,xml,xsd} %{buildroot}%{_sysconfdir}/%{name}
|
|
|
|
|
cp -a lib/*.jar %{buildroot}%{_javadir}/%{name}
|
|
|
|
|
cp -a webapps/* %{buildroot}%{_var}/lib/%{name}/webapps
|
|
|
|
|
popd
|
|
|
|
|
|
|
|
|
|
cp -a output/dist/webapps/docs/api/* %{buildroot}%{_javadocdir}/%{name}
|
|
|
|
|
|
|
|
|
|
sed -e "s|\@\@\@TCHOME\@\@\@|%{_datadir}/%{name}|g" \
|
|
|
|
|
-e "s|\@\@\@TCTEMP\@\@\@|%{_var}/cache/%{name}/temp|g" \
|
|
|
|
|
-e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE1} \
|
|
|
|
|
> %{buildroot}%{_sysconfdir}/%{name}/%{name}.conf
|
|
|
|
|
sed -e "s|\@\@\@TCHOME\@\@\@|%{_datadir}/%{name}|g" \
|
|
|
|
|
-e "s|\@\@\@TCTEMP\@\@\@|%{_var}/cache/%{name}/temp|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\@\@\@|%{_var}/log/%{name}|g" %{SOURCE5} > %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
|
|
|
|
|
sed -e "s|\@\@\@TCHOME\@\@\@|%{_datadir}/%{name}|g" \
|
|
|
|
|
-e "s|\@\@\@TCTEMP\@\@\@|%{_var}/cache/%{name}/temp|g" \
|
|
|
|
|
-e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE6} \
|
|
|
|
|
> %{buildroot}%{_bindir}/%{name}-digest
|
|
|
|
|
sed -e "s|\@\@\@TCHOME\@\@\@|%{_datadir}/%{name}|g" \
|
|
|
|
|
-e "s|\@\@\@TCTEMP\@\@\@|%{_var}/cache/%{name}/temp|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
|
|
|
|
|
|
|
|
|
|
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 apache-commons-collections apache-commons-dbcp apache-commons-pool ecj 2>&1
|
|
|
|
|
%{_bindir}/build-jar-repository -p webapps/examples/WEB-INF/lib \
|
|
|
|
|
tomcat-taglibs-standard/taglibs-standard-impl.jar tomcat-taglibs-standard/taglibs-standard-compat.jar 2>&1
|
|
|
|
|
popd
|
|
|
|
|
|
|
|
|
|
pushd %{buildroot}%{_javadir}/%{name}
|
|
|
|
|
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 apache-commons-collections) commons-collections.jar
|
|
|
|
|
ln -s $(build-classpath apache-commons-dbcp) commons-dbcp.jar
|
|
|
|
|
ln -s $(build-classpath apache-commons-pool) commons-pool.jar
|
|
|
|
|
ln -s $(build-classpath ecj) jasper-jdt.jar
|
|
|
|
|
cp -a %{buildroot}%{_datadir}/%{name}/bin/tomcat-juli.jar ./
|
|
|
|
|
popd
|
|
|
|
|
|
|
|
|
|
pushd %{buildroot}%{_datadir}/%{name}
|
|
|
|
|
ln -s %{_var}/lib/%{name}/webapps webapps
|
|
|
|
|
ln -s %{_sysconfdir}/%{name} conf
|
|
|
|
|
ln -s %{_javadir}/%{name} lib
|
|
|
|
|
ln -s %{_var}/log/%{name} logs
|
|
|
|
|
ln -s %{_var}/cache/%{name}/temp temp
|
|
|
|
|
ln -s %{_var}/cache/%{name}/work work
|
|
|
|
|
popd
|
|
|
|
|
|
|
|
|
|
mkdir -p %{buildroot}%{_var}/lib/%{name}/webapps/sample
|
|
|
|
|
pushd %{buildroot}%{_var}/lib/%{name}/webapps/sample
|
|
|
|
|
%{jar} xf %{buildroot}%{_var}/lib/%{name}/webapps/docs/appdev/sample/sample.war
|
|
|
|
|
popd
|
|
|
|
|
rm %{buildroot}%{_var}/lib/%{name}/webapps/docs/appdev/sample/sample.war
|
|
|
|
|
|
|
|
|
|
mkdir -p %{buildroot}%{_var}/lib/%{name}/webapps/examples/META-INF
|
|
|
|
|
pushd %{buildroot}%{_var}/lib/%{name}/webapps/examples/META-INF
|
|
|
|
|
echo '<?xml version="1.0" encoding="UTF-8"?>' > context.xml
|
|
|
|
|
echo '<Context>' >> context.xml
|
|
|
|
|
echo ' <Resources allowLinking="true" />' >> context.xml
|
|
|
|
|
echo '</Context>' >> context.xml
|
|
|
|
|
popd
|
|
|
|
|
|
|
|
|
|
pushd %{buildroot}%{_var}/lib/%{name}/webapps/examples/WEB-INF/lib
|
|
|
|
|
ln -s -f $(build-classpath tomcat-taglibs-standard/taglibs-standard-impl) jstl.jar
|
|
|
|
|
ln -s -f $(build-classpath tomcat-taglibs-standard/taglibs-standard-compat) standard.jar
|
|
|
|
|
popd
|
|
|
|
|
|
|
|
|
|
install -d -m 0755 %{buildroot}%{_mavenpomdir}
|
|
|
|
|
pushd output/dist/src/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
|
|
|
|
|
%{_sbindir}/groupadd -g %{tcuid} -r tomcat 2>/dev/null || :
|
|
|
|
|
%{_sbindir}/useradd -c "Apache Tomcat" -u %{tcuid} -g tomcat -s /sbin/nologin -r -d %{_datadir}/%{name} tomcat 2>/dev/null || :
|
|
|
|
|
|
|
|
|
|
%post
|
|
|
|
|
%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
|
|
|
|
|
rm -rf %{_var}/cache/%{name}/work/* %{_var}/cache/%{name}/temp/*
|
|
|
|
|
%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
|
|
|
|
|
|
|
|
|
|
%triggerun -- tomcat < 0:7.0.22-2
|
|
|
|
|
/usr/bin/systemd-sysv-convert -- save tomcat > /dev/null 2>&1 || :
|
|
|
|
|
/sbin/chkconfig --del tomcat > /dev/null 2>&1 || :
|
|
|
|
|
/bin/systemctl try-restart tomcat.service > /dev/null 2>&1 || :
|
|
|
|
|
|
|
|
|
|
%files
|
|
|
|
|
%doc LICENSE
|
|
|
|
|
%{_javadir}/%{name}-servlet-%{servletspec}*.jar
|
|
|
|
|
%dir %{_javadir}/%{name}
|
|
|
|
|
%{_javadir}/%{name}/*.jar
|
|
|
|
|
%{_javadir}/*.jar
|
|
|
|
|
%{_datadir}/%{name}/bin/tomcat-juli.jar
|
|
|
|
|
%{_mavenpomdir}/JPP*%{name}-*.pom
|
|
|
|
|
%{_datadir}/maven-metadata/*.xml
|
|
|
|
|
%{_javadir}/%{name}-el-%{elspec}-api.jar
|
|
|
|
|
%{_javadir}/%{name}/%{name}-el-%{elspec}-api.jar
|
|
|
|
|
%{_javadir}/%{name}-jsp-%{jspspec}*.jar
|
|
|
|
|
%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 %{_var}/lib/%{name}
|
|
|
|
|
%attr(0755,root,tomcat) %dir %{_sysconfdir}/%{name}
|
|
|
|
|
%defattr(0664,tomcat,root,0770)
|
|
|
|
|
%attr(0770,tomcat,root) %dir %{_var}/log/%{name}
|
|
|
|
|
%defattr(0664,root,tomcat,0770)
|
|
|
|
|
%attr(0770,root,tomcat) %dir %{_var}/cache/%{name}
|
|
|
|
|
%attr(0770,root,tomcat) %dir %{_var}/cache/%{name}/temp
|
|
|
|
|
%attr(0770,root,tomcat) %dir %{_var}/cache/%{name}/work
|
|
|
|
|
%defattr(0644,root,tomcat,0775)
|
|
|
|
|
%attr(0775,root,tomcat) %dir %{_var}/lib/%{name}/webapps
|
|
|
|
|
%attr(0775,root,tomcat) %dir %{_sysconfdir}/%{name}/Catalina
|
|
|
|
|
%attr(0775,root,tomcat) %dir %{_sysconfdir}/%{name}/Catalina/localhost
|
|
|
|
|
%attr(0755,root,tomcat) %dir %{_sysconfdir}/%{name}/conf.d
|
|
|
|
|
%{_sysconfdir}/%{name}/conf.d/README
|
|
|
|
|
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.conf
|
|
|
|
|
%config(noreplace) %{_sysconfdir}/%{name}/*.policy
|
|
|
|
|
%config(noreplace) %{_sysconfdir}/%{name}/*.properties
|
|
|
|
|
%config(noreplace) %{_sysconfdir}/%{name}/context.xml
|
|
|
|
|
%config(noreplace) %{_sysconfdir}/%{name}/server.xml
|
|
|
|
|
%attr(0640,root,tomcat) %config(noreplace) %{_sysconfdir}/%{name}/tomcat-users.xml
|
|
|
|
|
%attr(0664,root,tomcat) %{_sysconfdir}/%{name}/tomcat-users.xsd
|
|
|
|
|
%attr(0664,root,tomcat) %config(noreplace) %{_sysconfdir}/%{name}/jaspic-providers.xml
|
|
|
|
|
%attr(0664,root,tomcat) %{_sysconfdir}/%{name}/jaspic-providers.xsd
|
|
|
|
|
%config(noreplace) %{_sysconfdir}/%{name}/web.xml
|
|
|
|
|
%dir %{_datadir}/%{name}
|
|
|
|
|
%{_datadir}/%{name}/bin/bootstrap.jar
|
|
|
|
|
%{_datadir}/%{name}/bin/catalina-tasks.xml
|
|
|
|
|
%{_datadir}/%{name}/lib
|
|
|
|
|
%{_datadir}/%{name}/temp
|
|
|
|
|
%{_datadir}/%{name}/webapps
|
|
|
|
|
%{_datadir}/%{name}/work
|
|
|
|
|
%{_datadir}/%{name}/logs
|
|
|
|
|
%{_datadir}/%{name}/conf
|
|
|
|
|
%defattr(0664,root,tomcat,0755)
|
|
|
|
|
%{_var}/lib/%{name}/webapps/host-manager
|
|
|
|
|
%{_var}/lib/%{name}/webapps/manager
|
|
|
|
|
%defattr(0644,tomcat,tomcat,0755)
|
|
|
|
|
%{_var}/lib/%{name}/webapps/ROOT
|
|
|
|
|
%{_var}/lib/%{name}/webapps/examples
|
|
|
|
|
%{_var}/lib/%{name}/webapps/sample
|
|
|
|
|
|
|
|
|
|
%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
|
|
|
|
|
%{_var}/lib/%{name}/webapps/docs
|
|
|
|
|
%{_javadocdir}/%{name}
|
|
|
|
|
|
|
|
|
|
%changelog
|
2021-10-09 15:26:15 +08:00
|
|
|
* Sat Oct 9 2021 houyingchao <houyingchao@huawei.com> - 1:9.0.10-21
|
|
|
|
|
- Fix CVE-2021-41079
|
|
|
|
|
|
2021-07-29 16:54:15 +08:00
|
|
|
* Thu Jul 29 2021 wangyue <wangyue92@huawei.com> - 1:9.0.10-20
|
|
|
|
|
- Fix CVE-2021-30640
|
|
|
|
|
|
2021-07-19 11:46:07 +08:00
|
|
|
* Mon Jul 19 2021 wangyue <wangyue92@huawei.com> - 1:9.0.10-19
|
|
|
|
|
- Fix CVE-2021-33037
|
|
|
|
|
|
2021-03-12 10:25:17 +08:00
|
|
|
* 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
|
|
|
|
|
|
2021-02-18 14:45:52 +08:00
|
|
|
* 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
|
|
|
|
|
|
2020-12-15 09:36:47 +08:00
|
|
|
* 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
|
|
|
|
|
|
2020-12-02 18:19:52 +08:00
|
|
|
* 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
|
|
|
|
|
|
2020-09-16 10:29:45 +08:00
|
|
|
* 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
|
|
|
|
|
|
2020-05-19 15:36:49 +08:00
|
|
|
* 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
|
|
|
|
|
|
2020-05-11 09:15:01 +08:00
|
|
|
* Mon May 11 2020 Guoshuai Sun<sunguoshuai@huawei.com> - 1:9.0.10-12
|
|
|
|
|
- Add install require ecj package
|
|
|
|
|
|
2020-02-28 20:54:21 -05:00
|
|
|
* Fri Feb 28 2020 Senlin Xia<xiasenlin1@huawei.com> - 1:9.0.10-11
|
|
|
|
|
- Package init
|
|
|
|
|
|