From d3fe6302c199d1591a8894e34bfdf181dcb66fcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 23 Jan 2025 21:12:17 +0100 Subject: [PATCH 01/81] Add sysusers.d config file to allow rpm to create users/groups automatically --- tomcat.spec | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/tomcat.spec b/tomcat.spec index 2d36335..8689ef0 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -102,7 +102,6 @@ Requires: %{name}-lib = %{epoch}:%{version}-%{release} %if 0%{?fedora} || 0%{?rhel} > 7 Recommends: tomcat-native >= %{native_version} %endif -Requires(pre): shadow-utils Requires(post): systemd Requires(preun): systemd Requires(postun): systemd @@ -203,6 +202,11 @@ find . -type f \( -name "*.bat" -o -name "*.class" -o -name Thumbs.db -o -name " %mvn_alias "org.apache.tomcat:tomcat-jsp-api" "jakarta.servlet:jakarta.servlet.jsp" %mvn_package ":tomcat-servlet-api" tomcat-servlet-api +# Create a sysusers.d config file +cat >tomcat.sysusers.conf </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 +install -m0644 -D tomcat.sysusers.conf %{buildroot}%{_sysusersdir}/tomcat.conf %post # install but don't activate @@ -476,6 +471,7 @@ exit 0 %{homedir}/work %{homedir}/logs %{homedir}/conf +%{_sysusersdir}/tomcat.conf %files admin-webapps %defattr(0664,root,tomcat,0755) From 3e33aa95f425aa07caca4ac5845df2c4f598ed3d Mon Sep 17 00:00:00 2001 From: dsoumis Date: Tue, 11 Feb 2025 14:24:48 +0200 Subject: [PATCH 02/81] Revert "Fix bogus date in changelog" This reverts commit 351e1a546c21145a3c3ded3f0dddf7b837c2d02a. --- tomcat.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tomcat.spec b/tomcat.spec index 2d36335..dcd924e 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -523,7 +523,7 @@ exit 0 %{appdir}/ROOT %changelog -* Fri Jan 10 2025 Dimitris Soumis - 1:10.1.34-1 +* Tue Jan 10 2025 Dimitris Soumis - 1:10.1.34-1 - Update to version 10.1.34 * Mon Dec 09 2024 Packit - 1:9.0.98-1 From ef3af9decf32a54d59628403e57bc2ad3e6ae0a2 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Tue, 11 Feb 2025 14:24:48 +0200 Subject: [PATCH 03/81] Revert "Fix changelog version of Tomcat 10" This reverts commit 20bfa9f9729de17fd0333c26b8ae7c313a1c8042. --- tomcat.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tomcat.spec b/tomcat.spec index dcd924e..61f2ad7 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -523,8 +523,8 @@ exit 0 %{appdir}/ROOT %changelog -* Tue Jan 10 2025 Dimitris Soumis - 1:10.1.34-1 -- Update to version 10.1.34 +* Tue Jan 07 2025 Dimitris Soumis - 1:10.1.28-1 +- Update to version 10.1.28 * Mon Dec 09 2024 Packit - 1:9.0.98-1 - Update to version 9.0.98 From e8547de4fceb45497718e84f7f307d1435fddeec Mon Sep 17 00:00:00 2001 From: dsoumis Date: Tue, 11 Feb 2025 14:24:48 +0200 Subject: [PATCH 04/81] Revert "Update to 10.1.34" This reverts commit 723739222226745128b36c0b6c6b58c2db97839d. --- .packit.yaml | 2 +- java-9-start-up-parameters.conf | 7 + module-start-up-parameters.conf | 8 - rhbz-1857043.patch | 28 ++-- sources | 2 +- tomcat-10.1-JDTCompiler.patch | 30 ---- tomcat-10.1-catalina-policy.patch | 16 -- tomcat-9.0-JDTCompiler.patch | 24 +++ ...n.patch => tomcat-9.0-bnd-annotation.patch | 0 ... => tomcat-9.0-bootstrap-MANIFEST.MF.patch | 0 tomcat-9.0-catalina-policy.patch | 25 +++ ...-digest.script => tomcat-9.0-digest.script | 0 tomcat-9.0-log4j.properties | 11 ++ ...ch => tomcat-9.0-tomcat-users-webapp.patch | 0 ...r.script => tomcat-9.0-tool-wrapper.script | 0 tomcat-10.1.conf => tomcat-9.0.conf | 15 +- tomcat-10.1.logrotate => tomcat-9.0.logrotate | 0 tomcat-10.1.service => tomcat-9.0.service | 0 tomcat-10.1.sysconfig => tomcat-9.0.sysconfig | 0 tomcat-10.1.wrapper => tomcat-9.0.wrapper | 0 tomcat-functions | 21 +++ tomcat.spec | 143 ++++++++++-------- 22 files changed, 196 insertions(+), 136 deletions(-) create mode 100644 java-9-start-up-parameters.conf delete mode 100644 module-start-up-parameters.conf delete mode 100644 tomcat-10.1-JDTCompiler.patch delete mode 100644 tomcat-10.1-catalina-policy.patch create mode 100644 tomcat-9.0-JDTCompiler.patch rename tomcat-10.1-bnd-annotation.patch => tomcat-9.0-bnd-annotation.patch (100%) rename tomcat-10.1-bootstrap-MANIFEST.MF.patch => tomcat-9.0-bootstrap-MANIFEST.MF.patch (100%) create mode 100644 tomcat-9.0-catalina-policy.patch rename tomcat-10.1-digest.script => tomcat-9.0-digest.script (100%) create mode 100644 tomcat-9.0-log4j.properties rename tomcat-10.1-tomcat-users-webapp.patch => tomcat-9.0-tomcat-users-webapp.patch (100%) rename tomcat-10.1-tool-wrapper.script => tomcat-9.0-tool-wrapper.script (100%) rename tomcat-10.1.conf => tomcat-9.0.conf (73%) rename tomcat-10.1.logrotate => tomcat-9.0.logrotate (100%) rename tomcat-10.1.service => tomcat-9.0.service (100%) rename tomcat-10.1.sysconfig => tomcat-9.0.sysconfig (100%) rename tomcat-10.1.wrapper => tomcat-9.0.wrapper (100%) diff --git a/.packit.yaml b/.packit.yaml index 2986867..0bb10aa 100644 --- a/.packit.yaml +++ b/.packit.yaml @@ -14,7 +14,7 @@ jobs: - job: pull_from_upstream trigger: release dist_git_branches: - - fedora-branched + - fedora-all # https://packit.dev/docs/configuration/downstream/koji_build - job: koji_build diff --git a/java-9-start-up-parameters.conf b/java-9-start-up-parameters.conf new file mode 100644 index 0000000..341e077 --- /dev/null +++ b/java-9-start-up-parameters.conf @@ -0,0 +1,7 @@ +# Add the JAVA 9 specific start-up parameters required by Tomcat +JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-opens=java.base/java.lang=ALL-UNNAMED" +JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-opens=java.base/java.io=ALL-UNNAMED" +JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-opens=java.base/java.util=ALL-UNNAMED" +JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-opens=java.base/java.util.concurrent=ALL-UNNAMED" +JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED" +export JDK_JAVA_OPTIONS diff --git a/module-start-up-parameters.conf b/module-start-up-parameters.conf deleted file mode 100644 index 7f8652a..0000000 --- a/module-start-up-parameters.conf +++ /dev/null @@ -1,8 +0,0 @@ -# Add the module start-up parameters required by Tomcat -JAVA_OPTS="$JAVA_OPTS --add-opens=java.base/java.lang=ALL-UNNAMED" -JAVA_OPTS="$JAVA_OPTS --add-opens=java.base/java.io=ALL-UNNAMED" -JAVA_OPTS="$JAVA_OPTS --add-opens=java.base/java.util=ALL-UNNAMED" -JAVA_OPTS="$JAVA_OPTS --add-opens=java.base/java.util.concurrent=ALL-UNNAMED" -JAVA_OPTS="$JAVA_OPTS --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED" -export JAVA_OPTS - diff --git a/rhbz-1857043.patch b/rhbz-1857043.patch index 4028ee1..d6185aa 100644 --- a/rhbz-1857043.patch +++ b/rhbz-1857043.patch @@ -1,6 +1,6 @@ ---- build.xml.orig 2024-08-02 18:14:43.000000000 +0300 -+++ build.xml 2024-08-19 13:56:38.991730088 +0300 -@@ -1121,7 +1121,7 @@ +--- build.xml.orig 2024-08-03 00:24:59.000000000 +0300 ++++ build.xml 2024-08-06 13:42:04.710875124 +0300 +@@ -1110,7 +1110,7 @@ filesDir="${tomcat.classes}" filesId="files.annotations-api" manifest="${tomcat.manifests}/annotations-api.jar.manifest" @@ -9,7 +9,7 @@ -+ addOSGi="false" /> - - - + addOSGi="false" /> @@ -65,7 +57,7 @@ = 1.10.2 -BuildRequires: ecj >= 4.20 +BuildRequires: ant +BuildRequires: ecj >= 1:4.10 BuildRequires: findutils -BuildRequires: java-devel >= 17 +BuildRequires: java-devel >= 1:1.8.0 BuildRequires: javapackages-local BuildRequires: aqute-bnd BuildRequires: aqute-bndlib BuildRequires: systemd -BuildRequires: tomcat-jakartaee-migration -Requires: (java-headless >= 11 or java >= 11) +Requires: (java-headless >= 1:1.8 or java-1.8.0-headless or java-11-headless or java-17-headless or java-21-headless or java >= 1:1.8) Requires: javapackages-tools Requires: %{name}-lib = %{epoch}:%{version}-%{release} %if 0%{?fedora} || 0%{?rhel} > 7 @@ -137,7 +136,7 @@ The docs web application for Apache Tomcat. %package jsp-%{jspspec}-api Summary: Apache Tomcat JavaServer Pages v%{jspspec} API Implementation Classes Provides: jsp = %{jspspec} -Obsoletes: %{name}-jsp-api < %{jspspec} +Obsoletes: %{name}-jsp-2.2-api Requires: %{name}-servlet-%{servletspec}-api = %{epoch}:%{version}-%{release} Requires: %{name}-el-%{elspec}-api = %{epoch}:%{version}-%{release} @@ -149,8 +148,7 @@ Summary: Libraries needed to run the Tomcat Web container Requires: %{name}-jsp-%{jspspec}-api = %{epoch}:%{version}-%{release} Requires: %{name}-servlet-%{servletspec}-api = %{epoch}:%{version}-%{release} Requires: %{name}-el-%{elspec}-api = %{epoch}:%{version}-%{release} -Requires: ecj >= 4.20 -Recommends: tomcat-jakartaee-migration +Requires: ecj >= 1:4.10 Requires(preun): coreutils %description lib @@ -159,7 +157,9 @@ Libraries needed to run the Tomcat Web container. %package servlet-%{servletspec}-api Summary: Apache Tomcat Java Servlet v%{servletspec} API Implementation Classes Provides: servlet = %{servletspec} -Obsoletes: %{name}-servlet-api < %{servletspec} +Provides: servlet6 +Provides: servlet3 +Obsoletes: %{name}-servlet-3.1-api %description servlet-%{servletspec}-api Apache Tomcat Servlet API Implementation Classes. @@ -167,7 +167,7 @@ Apache Tomcat Servlet API Implementation Classes. %package el-%{elspec}-api Summary: Apache Tomcat Expression Language v%{elspec} API Implementation Classes Provides: el_api = %{elspec} -Obsoletes: %{name}-el-api < %{elspec} +Obsoletes: %{name}-el-2.2-api %description el-%{elspec}-api Apache Tomcat EL API Implementation Classes. @@ -190,7 +190,6 @@ find . -type f \( -name "*.bat" -o -name "*.class" -o -name Thumbs.db -o -name " %patch 2 -p0 %patch 3 -p0 %patch 4 -p0 -%patch 5 -p0 %patch 6 -p0 # Remove webservices naming resources as it's generally unused @@ -198,14 +197,16 @@ find . -type f \( -name "*.bat" -o -name "*.class" -o -name Thumbs.db -o -name " # Configure maven files %mvn_package ":tomcat-el-api" tomcat-el-api -%mvn_alias "org.apache.tomcat:tomcat-el-api" "jakarta.servlet:jakarta.servlet-api" +%mvn_alias "org.apache.tomcat:tomcat-el-api" "org.eclipse.jetty.orbit:javax.el" %mvn_package ":tomcat-jsp-api" tomcat-jsp-api -%mvn_alias "org.apache.tomcat:tomcat-jsp-api" "jakarta.servlet:jakarta.servlet.jsp" +%mvn_alias "org.apache.tomcat:tomcat-jsp-api" "org.eclipse.jetty.orbit:javax.servlet.jsp" %mvn_package ":tomcat-servlet-api" tomcat-servlet-api %build -# we don't care about the tarballs and we're going to replace jars +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 @@ -225,13 +226,12 @@ touch HACK -Dbnd-annotation.jar="$(build-classpath aqute-bnd/biz.aQute.bnd.annotation)" \ -Dversion="%{version}" \ -Dversion.build="%{micro_version}" \ - -Dmigration-lib.jar="$(build-classpath tomcat-jakartaee-migration/jakartaee-migration.jar)" \ deploy # remove some jars that we'll replace with symlinks later -%{__rm} output/build/bin/commons-daemon.jar output/build/lib/ecj.jar output/build/lib/jakartaee-migration.jar +%{__rm} output/build/bin/commons-daemon.jar output/build/lib/ecj.jar # Remove the example webapps per Apache Tomcat Security Considerations -# see https://tomcat.apache.org/tomcat-10.1-doc/security-howto.html +# see https://tomcat.apache.org/tomcat-9.0-doc/security-howto.html %{__rm} -rf output/build/webapps/examples @@ -239,6 +239,7 @@ touch HACK # 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}%{_systemddir} %{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d %{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig %{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{appdir} @@ -271,33 +272,33 @@ popd > ${RPM_BUILD_ROOT}%{confdir}/%{name}.conf %{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \ -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \ - -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE2} \ + -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE3} \ > ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/%{name} -%{__install} -m 0755 %{SOURCE3} \ +%{__install} -m 0644 %{SOURCE4} \ ${RPM_BUILD_ROOT}%{_sbindir}/%{name} -%{__install} -m 0644 %{SOURCE7} \ +%{__install} -m 0644 %{SOURCE11} \ ${RPM_BUILD_ROOT}%{_unitdir}/%{name}.service -%{__sed} -e "s|\@\@\@TCLOG\@\@\@|%{logdir}|g" %{SOURCE4} \ +%{__sed} -e "s|\@\@\@TCLOG\@\@\@|%{logdir}|g" %{SOURCE5} \ > ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}.disabled %{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \ -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \ - -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE5} \ + -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE6} \ > ${RPM_BUILD_ROOT}%{_bindir}/%{name}-digest %{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \ -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \ - -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE6} \ + -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE7} \ > ${RPM_BUILD_ROOT}%{_bindir}/%{name}-tool-wrapper -%{__install} -m 0644 %{SOURCE8} \ +%{__install} -m 0644 %{SOURCE21} \ ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/functions -%{__install} -m 0755 %{SOURCE9} \ +%{__install} -m 0755 %{SOURCE30} \ ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/preamble -%{__install} -m 0755 %{SOURCE10} \ +%{__install} -m 0755 %{SOURCE31} \ ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/server -%{__install} -m 0644 %{SOURCE11} \ +%{__install} -m 0644 %{SOURCE32} \ ${RPM_BUILD_ROOT}%{_unitdir}/%{name}@.service -%{__install} -m 0644 %{SOURCE12} ${RPM_BUILD_ROOT}%{confdir}/conf.d/ +%{__install} -m 0644 %{SOURCE33} ${RPM_BUILD_ROOT}%{confdir}/conf.d/ # Substitute libnames in catalina-tasks.xml sed -i \ @@ -318,7 +319,6 @@ popd pushd output/build %{_bindir}/build-jar-repository lib ecj 2>&1 - %{_bindir}/build-jar-repository lib tomcat-jakartaee-migration 2>&1 popd pushd ${RPM_BUILD_ROOT}%{libdir} @@ -327,7 +327,6 @@ pushd ${RPM_BUILD_ROOT}%{libdir} %{__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 - %{__ln_s} $(build-classpath tomcat-jakartaee-migration/jakartaee-migration) jakartaee-migration.jar cp ../../%{name}/bin/tomcat-juli.jar . popd @@ -396,7 +395,6 @@ popd %mvn_file org.apache.tomcat:tomcat-websocket-api tomcat/websocket-api %mvn_artifact res/maven/tomcat-websocket-api.pom ${RPM_BUILD_ROOT}%{libdir}/websocket-api.jar %mvn_artifact res/maven/tomcat-websocket.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-websocket.jar -%mvn_artifact res/maven/tomcat-websocket-client-api.pom ${RPM_BUILD_ROOT}%{libdir}/websocket-client-api.jar %mvn_artifact res/maven/tomcat.pom %mvn_install @@ -416,13 +414,43 @@ exit 0 # install but don't activate %systemd_post %{name}.service +%post jsp-%{jspspec}-api +%{_sbindir}/update-alternatives --install %{_javadir}/jsp.jar jsp \ + %{_javadir}/%{name}-jsp-%{jspspec}-api.jar 20200 + +%post servlet-%{servletspec}-api +%{_sbindir}/update-alternatives --install %{_javadir}/servlet.jar servlet \ + %{_javadir}/%{name}-servlet-%{servletspec}-api.jar 30000 + +%post el-%{elspec}-api +%{_sbindir}/update-alternatives --install %{_javadir}/elspec.jar elspec \ + %{_javadir}/%{name}-el-%{elspec}-api.jar 20300 + %preun # clean tempdir and workdir on removal or upgrade %{__rm} -rf %{workdir}/* %{tempdir}/* %systemd_preun %{name}.service %postun -%systemd_postun_with_restart %{name}.service +%systemd_postun_with_restart %{name}.service + +%postun jsp-%{jspspec}-api +if [ "$1" = "0" ]; then + %{_sbindir}/update-alternatives --remove jsp \ + %{_javadir}/%{name}-jsp-%{jspspec}-api.jar +fi + +%postun servlet-%{servletspec}-api +if [ "$1" = "0" ]; then + %{_sbindir}/update-alternatives --remove servlet \ + %{_javadir}/%{name}-servlet-%{servletspec}-api.jar +fi + +%postun el-%{elspec}-api +if [ "$1" = "0" ]; then + %{_sbindir}/update-alternatives --remove elspec \ + %{_javadir}/%{name}-el-%{elspec}-api.jar +fi %files %defattr(0664,root,tomcat,0755) @@ -456,7 +484,7 @@ exit 0 %attr(0775,root,tomcat) %dir %{confdir}/Catalina/localhost %attr(0755,root,tomcat) %dir %{confdir}/conf.d %{confdir}/conf.d/README -%{confdir}/conf.d/module-start-up-parameters.conf +%{confdir}/conf.d/java-9-start-up-parameters.conf %config(noreplace) %{confdir}/%{name}.conf %config(noreplace) %{confdir}/*.policy %config(noreplace) %{confdir}/*.properties @@ -523,16 +551,13 @@ exit 0 %{appdir}/ROOT %changelog -* Tue Jan 07 2025 Dimitris Soumis - 1:10.1.28-1 -- Update to version 10.1.28 - * Mon Dec 09 2024 Packit - 1:9.0.98-1 - Update to version 9.0.98 - Resolves: rhbz#2331168 * Mon Dec 02 2024 Dimitris Soumis - 1:9.0.97-1 - Update to version 9.0.97 -- Resolves: rhbz#2327090 +- Resolves: rhbz#2327090 * Tue Oct 08 2024 Packit - 1:9.0.96-1 - Update to version 9.0.96 From 1d589708d520ef6e4da64bc7b7bef814a92dd2b2 Mon Sep 17 00:00:00 2001 From: Packit Date: Mon, 10 Feb 2025 12:51:07 +0000 Subject: [PATCH 05/81] Update to 9.0.99 upstream release - Resolves: rhbz#2344641 Upstream tag: 9.0.99 Upstream commit: 71451078 Commit authored by Packit automation (https://packit.dev/) --- sources | 2 +- tomcat.spec | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/sources b/sources index 18f1e2f..f13e7ab 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (apache-tomcat-9.0.98-src.tar.gz) = eb380dae515a259d23d5311d0b96b8ef5068c0d8d72da215410e5475582d2ff82182b7331e0d197eb993d8014a99ea40290154a343e961a07ed02be6894759cc +SHA512 (apache-tomcat-9.0.99-src.tar.gz) = 87431afb3f7d4eaf2ede17a945f49e44f27d55af508fea901a5415f1b50e40254d344d848b34574a63ccd4dd927aa79e20dea60ab3a01f09a3a43b7d852faaf2 diff --git a/tomcat.spec b/tomcat.spec index 0ae6d33..d4f1046 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -31,7 +31,7 @@ %global jspspec 2.3 %global major_version 9 %global minor_version 0 -%global micro_version 98 +%global micro_version 99 %global packdname apache-tomcat-%{version}-src %global servletspec 4.0 %global elspec 3.0 @@ -551,6 +551,10 @@ fi %{appdir}/ROOT %changelog +* Mon Feb 10 2025 Packit - 1:9.0.99-1 +- Update to version 9.0.99 +- Resolves: rhbz#2344641 + * Mon Dec 09 2024 Packit - 1:9.0.98-1 - Update to version 9.0.98 - Resolves: rhbz#2331168 From a7d2bc1fe90786612fc38330fc1903c42f7e7f8b Mon Sep 17 00:00:00 2001 From: dsoumis Date: Tue, 11 Feb 2025 14:03:35 +0200 Subject: [PATCH 06/81] General tweaks, fixes and enhancements - Refactor maven relevant parts - Fix file permissions - Fix JAR must have Javapackages-GroupId manifest attribute errors --- changelog | 643 +++++++++++++++++++++++++++++++ tomcat.spec | 1052 +++++++-------------------------------------------- 2 files changed, 789 insertions(+), 906 deletions(-) create mode 100644 changelog diff --git a/changelog b/changelog new file mode 100644 index 0000000..7d2f562 --- /dev/null +++ b/changelog @@ -0,0 +1,643 @@ +* Fri Jan 10 2025 Dimitris Soumis - 1:10.1.34-1 +- Update to version 10.1.34 + +* Mon Dec 09 2024 Packit - 1:9.0.98-1 +- Update to version 9.0.98 +- Resolves: rhbz#2331168 + +* Mon Dec 02 2024 Dimitris Soumis - 1:9.0.97-1 +- Update to version 9.0.97 +- Resolves: rhbz#2327090 + +* Tue Oct 08 2024 Packit - 1:9.0.96-1 +- Update to version 9.0.96 +- Resolves: rhbz#2317237 + +* Tue Sep 17 2024 Packit - 1:9.0.95-1 +- Update to version 9.0.95 +- Resolves: rhbz#2312858 + +* Tue Sep 10 2024 Packit - 1:9.0.94-1 +- Update to version 9.0.94 +- Resolves: rhbz#2311320 + +* Tue Aug 06 2024 Packit - 1:9.0.93-1 +- Update to version 9.0.93 +- Resolves: rhbz#2303026 + +* Wed Jul 24 2024 Miroslav Suchý - 1:9.0.91-1 +- convert license to SPDX + +* Thu Jul 11 2024 Dimitris Soumis - 1:9.0.91-1 +- Update to 9.0.91 + +* Thu Jun 20 2024 Dimitris Soumis - 1:9.0.90-1 +- Update to 9.0.90 + +* Fri Jun 7 2024 Dimitris Soumis - 1:9.0.89-1 +- Update to 9.0.89 + +* Thu Feb 29 2024 Adam Williamson - 1:9.0.83-4 +- Accept java-21-headless as one of the alternatives for java + +* Tue Feb 27 2024 Jiri Vanek - 1:9.0.83-3 +- Rebuilt for java-21-openjdk as system jdk + +* Sat Jan 27 2024 Fedora Release Engineering - 1:9.0.83-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Dec 01 2023 Hui Wang - 1:9.0.83-1 +- Update to 9.0.83 + +* Mon Oct 16 2023 Hui Wang - 1:9.0.82-1 +- Update to 9.0.82 +- Resolves: rhbz#2244333 Wrong dbcp class in tomcat 9 + +* Wed Sep 13 2023 Hui Wang - 1:9.0.80-1 +- Update to 9.0.80 +- Fix java version + +* Fri Aug 04 2023 Hui Wang - 1:9.0.78-4 +- Fix files permission + +* Wed Jul 26 2023 Hui Wang - 1:9.0.78-3 +- Exclude jnidir in the lib subpackage + +* Tue Jul 25 2023 Hui Wang - 1:9.0.78-2 +- Resolves: rhbz#2224318 There are duplicated jars in the tomcat lib subpackage + +* Tue Jul 25 2023 Hui Wang - 1:9.0.78-1 +- Resolves: rhbz#2224318 There are duplicated jars in the tomcat lib-subpackage +- Update to 9.0.78 + +* Sat Jul 22 2023 Fedora Release Engineering - 1:9.0.76-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jun 20 2023 Hui Wang - 1:9.0.76-2 +- Resolves: rhbz#2189672 Missing Tomcat POM files in Fedora Rawhide +- Remove JDTCompiler patch because ecj has been update +- Update to 9.0.76 +- Resolves: rhbz#2188218 Link bin/tomcat-juli.jar to /usr/share/java +- Move tomcat-jsp-2.3-api.jar,tomcat-servlet-4.0-api.jar and tomcat-el-api.jar to the subpackages + +* Thu Jun 08 2023 Hui Wang - 1:9.0.75-1 +- Update to 9.0.75 + +* Fri Mar 17 2023 Hui Wang - 1:9.0.73-1 +- Update to 9.0.73 + +* Sun Jan 29 2023 Hui Wang - 1:9.0.71-1 +- Update to 9.0.71 +- Remove osgi-annotations patch +- Add bnd-annotation dependency which is in bndlib package + +* Sat Jan 21 2023 Fedora Release Engineering - 1:9.0.70-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Jan 13 2023 Hui Wang - 1:9.0.70-1 +- Update to 9.0.70 + +* Thu Nov 03 2022 Hui Wang - 1:9.0.68-1 +- Update to 9.0.68 + +* Thu Jul 21 2022 Hui Wang - 1:9.0.65-1 +- Update to 9.0.65 + +* Fri Jul 08 2022 Jiri Vanek - 1:9.0.64-2 +- Rebuilt for Drop i686 JDKs + +* Tue Jun 21 2022 Hui Wang - 1:9.0.64-1 +- Update to 9.0.64 +- Add osgi-annotations dependency back + +* Thu Mar 10 2022 Coty Sutherland - 1:9.0.59-3 +- Related: rhbz#2061424 Adjust fix so that it uses the proper env var + +* Tue Mar 08 2022 Coty Sutherland - 1:9.0.59-2 +- Resolves: rhbz#2061424 Add Java 9 start-up parameters to allow reflection + +* Wed Mar 02 2022 Sonia Xu - 1:9.0.59-1 +- Update to 9.0.59 +- Resolves: rhbz#2047419 - CVE-2022-23181 tomcat: local privilege escalation vulnerability + +* Sat Feb 05 2022 Jiri Vanek - 1:9.0.56-3 +- Rebuilt for java-17-openjdk as system jdk + +* Sat Jan 22 2022 Fedora Release Engineering - 1:9.0.56-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Dec 09 2021 Hui Wang - 1:9.0.56-1 +- Update to 9.0.56 + +* Tue Oct 12 2021 Hui Wang - 1:9.0.55-1 +- Update to 9.0.55 + +* Tue Oct 12 2021 Hui Wang - 1:9.0.54-1 +- Update to 9.0.54 + +* Thu Sep 16 2021 Hui Wang - 1:9.0.53-1 +- Update to 9.0.53 + +* Wed Aug 18 2021 Hui Wang - 1:9.0.52-1 +- Update to 9.0.52 + +* Fri Jul 23 2021 Fedora Release Engineering - 1:9.0.50-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jul 06 2021 Hui Wang - 1:9.0.50-1 +- Update to 9.0.50 + +* Sat Jun 05 2021 Coty Sutherland - 1:9.0.45-4 +- Add back logrotate config file per devel list request +- Add mvn virtual provides back for the servlet, el, and jsp spec impls + +* Fri Jun 04 2021 Coty Sutherland - 1:9.0.45-3 +- Drop geronimo-jaxrpc, which provided the webservices naming factory resources that are generally unused + +* Thu Jun 03 2021 Coty Sutherland - 1:9.0.45-2 +- Remove examples webapps from subpackage +- Updates to javapackages-local removed %%add_maven_depmap which broke the build, + so I removed the maven artifacts as they aren't very useful anyway +- Drop JSVC support as it's not very useful these days +- Drop geronimo-saaj as it's no longer required + +* Thu Apr 22 2021 Hui Wang - 1:9.0.45-1 +- Update to 9.0.45 + +* Thu Mar 18 2021 Hui Wang - 1:9.0.44-1 +- Update to 9.0.44 + +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 1:9.0.43-2 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + +* Wed Feb 03 2021 Hui Wang - 1:9.0.43-1 +- Update to 9.0.43 + +* Wed Jan 27 2021 Fedora Release Engineering - 1:9.0.41-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Dec 09 2020 Hui Wang - 1:9.0.41-1 +- Update to 9.0.41 + +* Wed Nov 18 2020 Hui Wang - 1:9.0.40-1 +- Update to 9.0.40 + +* Mon Oct 12 2020 Hui Wang - 1:9.0.39-1 +- Update to 9.0.39 + +* Wed Sep 16 2020 Hui Wang - 1:9.0.38-1 +- Update to 9.0.38 + +* Wed Jul 29 2020 Fedora Release Engineering - 1:9.0.37-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jul 24 2020 Coty Sutherland - 1:9.0.37-3 +- Related: rhbz#1857043 Temporarily remove OSGi metadata from tomcat jars + +* Mon Jul 20 2020 Coty Sutherland - 1:9.0.37-2 +- Resolves: rhbz#1857043 Add patch to reinclude o.a.t.util.net.jsse and o.a.t.util.moduler.modules in tomcat-coyote.jar + +* Mon Jul 13 2020 Coty Sutherland - 1:9.0.37-1 +- Update to 9.0.37 + +* Sat Jul 11 2020 Jiri Vanek - 1:9.0.36-2 +- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 + +* Wed Jun 10 2020 Hui Wang - 1:9.0.36-1 +- Upgrade to 9.0.36 + +* Sun May 31 2020 Hui Wang - 1:9.0.35-2 +- Upgrade to 9.0.35 + +* Wed Apr 22 2020 Coty Sutherland - 1:9.0.34-2 +- Add updated catalina.policy patch to allow ECJ usage under the Security Manager + +* Tue Apr 21 2020 Coty Sutherland - 1:9.0.34-1 +- Update to 9.0.34 + +* Thu Mar 05 2020 Coty Sutherland - 1:9.0.31-1 +- Update to 9.0.31 +- Resolves: rhbz#1806398 - CVE-2020-1938 tomcat: Apache Tomcat AJP File Read/Inclusion Vulnerability + +* Fri Jan 31 2020 Fedora Release Engineering - 1:9.0.30-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Dec 20 2019 Coty Sutherland - 1:9.0.30-1 +- Update to 9.0.30 + +* Thu Sep 26 2019 Coty Sutherland - 1:9.0.26-2 +- Resolves: rhbz#1510522 man page uid and gid mismatch for service accounts + +* Thu Sep 26 2019 Coty Sutherland - 1:9.0.26-1 +- Update to 9.0.26 +- Resolves: rhbz#1523112 tomcat systemd does not cope with - in service names +- Resolves: rhbz#1510896 Problem to start tomcat with a user whose group has a name different to the user + +* Sat Jul 27 2019 Fedora Release Engineering - 1:9.0.21-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed Jul 17 2019 Coty Sutherland - 1:9.0.21-2 +- Update build-classpath calls to ECJ to specify the JAR we want to use + +* Tue Jun 18 2019 Coty Sutherland - 1:9.0.21-1 +- Update to 9.0.21 + +* Tue Apr 02 2019 Coty Sutherland - 1:9.0.13-4 +- Remove javadoc subpackage to drop the jpackage-utils dependency + +* Wed Feb 20 2019 Coty Sutherland - 1:9.0.13-3 +- Remove OSGi MANIFEST files, these are now included in the upstream Tomcat distribution (as of 9.0.10) +- Remove unused dependencies, apache-commons-collections, apache-commons-daemon, apache-commons-pool, junit + +* Sun Feb 03 2019 Fedora Release Engineering - 1:9.0.13-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Dec 13 2018 Coty Sutherland - 1:9.0.13-1 +- Update to 9.0.13 +- Resolves: rhbz#1636513 - CVE-2018-11784 tomcat: Open redirect in default servlet + +* Sun Oct 14 2018 Peter Robinson 1:9.0.10-2 +- Drop legcy sys-v bits + +* Tue Jul 31 2018 Coty Sutherland - 1:9.0.10-1 +- Update to 9.0.10 +- Resolves: rhbz#1624929 - CVE-2018-1336 tomcat: A bug in the UTF-8 decoder can lead to DoS +- Resolves: rhbz#1579612 - CVE-2018-8014 tomcat: Insecure defaults in CORS filter enable 'supportsCredentials' for all origins +- Resolves: rhbz#1607586 - CVE-2018-8034 tomcat: host name verification missing in WebSocket client +- Resolves: rhbz#1607584 - CVE-2018-8037 tomcat: Due to a mishandling of close in NIO/NIO2 connectors user sessions can get mixed up + +* Sat Jul 14 2018 Fedora Release Engineering - 1:9.0.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue May 01 2018 Coty Sutherland - 1:9.0.7-1 +- Update to 9.0.7 + +* Thu Mar 15 2018 Coty Sutherland - 1:8.5.29-1 +- Update to 8.5.29 +- Resolves: rhbz#1548290 CVE-2018-1304 tomcat: Incorrect handling of empty string URL in security constraints can lead to unitended exposure of resources +- Resolves: rhbz#1548284 CVE-2018-1305 tomcat: Late application of security constraints can lead to resource exposure for unauthorised users + +* Fri Feb 09 2018 Igor Gnatenko - 1:8.0.49-2 +- Escape macros in %%changelog + +* Thu Feb 01 2018 Coty Sutherland - 1:8.0.49-1 +- Update to 8.0.49 + +* Tue Dec 12 2017 Merlin Mathesius - 1:8.0.47-3 +- Cleanup spec file conditionals + +* Tue Oct 24 2017 Troy Dawson - 1:8.0.47-2 +- Change "zip -u" to "zip" +- Resolves: rhbz#1495241 [tomcat] zip -u in spec file causes race condition + +* Wed Oct 04 2017 Coty Sutherland - 1:8.0.47-1 +- Update to 8.0.47 +- Resolves: rhbz#1497682 CVE-2017-12617 tomcat: Remote Code Execution bypass for CVE-2017-12615 + +* Mon Aug 21 2017 Coty Sutherland - 1:8.0.46-1 +- Update to 8.0.46 +- Resolves: rhbz#1480620 CVE-2017-7674 tomcat: Cache Poisoning + +* Thu Jul 27 2017 Fedora Release Engineering - 1:8.0.44-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Jun 09 2017 Coty Sutherland - 1:8.0.44-1 +- Resolves: rhbz#1459160 CVE-2017-5664 tomcat: Security constrained bypass in error page mechanism + +* Tue Apr 11 2017 Coty Sutherland - 1:8.0.43-1 +- Update to 8.0.43 + +* Fri Mar 31 2017 Coty Sutherland - 1:8.0.42-1 +- Update to 8.0.42 + +* Thu Feb 16 2017 Coty Sutherland - 1:8.0.41-1 +- Update to 8.0.41 +- Resolves: rhbz#1403825 CVE-2016-8745 tomcat: information disclosure due to incorrect Processor sharing + +* Sat Feb 11 2017 Fedora Release Engineering - 1:8.0.39-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Tue Nov 29 2016 Coty Sutherland - 1:8.0.39-1 +- Update to 8.0.39 +- Resolves: rhbz#1397493 CVE-2016-6816 CVE-2016-6817 CVE-2016-8735 tomcat: various flaws + +* Tue Oct 25 2016 Coty Sutherland - 1:8.0.38-1 +- Update to 8.0.38 + +* Sun Oct 23 2016 Coty Sutherland - 1:8.0.37-3 +- Resolves: rhbz#1383216 CVE-2016-6325 tomcat: tomcat writable config files allow privilege escalation +- Resolves: rhbz#1382310 CVE-2016-5425 tomcat: Local privilege escalation via systemd-tmpfiles service + +* Tue Sep 13 2016 Coty Sutherland - 1:8.0.37-1 +- Rebase to 8.0.37 +- Resolves: rhbz#1375581 CVE-2016-5388 CGI sets environmental variable based on user supplied Proxy request header +- Resolves: rhbz#1370262 catalina.out is no longer in use in the main package, but still gets rotated + +* Thu Aug 11 2016 Coty Sutherland - 1:8.0.36-2 +- Related: rhbz#1349469 Correct typo in changelog entry + +* Mon Aug 08 2016 Coty Sutherland - 1:8.0.36-1 +- Resolves: rhbz#1349469 CVE-2016-3092 tomcat: Usage of vulnerable FileUpload package can result in denial of service (updates to 8.0.36) +- Resolves: rhbz#1364056 The command tomcat-digest doesn't work +- Resolves: rhbz#1363884 The tomcat-tool-wrapper script is broken +- Resolves: rhbz#1347864 The systemd service unit does not allow tomcat to shut down gracefully +- Resolves: rhbz#1347835 The security manager doesn't work correctly (JSPs cannot be compiled) +- Resolves: rhbz#1341853 rpm -V tomcat fails on /var/log/tomcat/catalina.out +- Resolves: rhbz#1341850 tomcat-jsvc.service has TOMCAT_USER value hard-coded +- Resolves: rhbz#1359737 Missing maven depmap for the following artifacts: org.apache.tomcat:tomcat-websocket, org.apache.tomcat:tomcat-websocket-api +- Resolves: asfbz#59960 Building javadocs with java8 fails + +* Wed Mar 2 2016 Ivan Afonichev - 1:8.0.32-4 +- Revert sysconfig migration changes, resolves: rhbz#1311771, rhbz#1311905 +- Add /etc/tomcat/conf.d/ with shell expansion support, resolves rhbz#1293636 + +* Sat Feb 27 2016 Ivan Afonichev - 1:8.0.32-3 +- Load sysconfig from tomcat.conf, resolves: rhbz#1311771, rhbz#1311905 +- Set default javax.sql.DataSource factory to apache commons one, resolves rhbz#1214381 + +* Sun Feb 21 2016 Ivan Afonichev - 1:8.0.32-2 +- Fix symlinks from $CATALINA_HOME/lib perspective, resolves: rhbz#1308685 + +* Thu Feb 11 2016 Ivan Afonichev - 1:8.0.32-1 +- Updated to 8.0.32 +- Remove log4j support. It has never been working actually. See rhbz#1236297 +- Move shipped config to /etc/sysconfig/tomcat. /etc/tomcat/tomcat.conf can now be used to override it with shell expansion, resolves rhbz#1293636 +- Recommend tomcat-native, resolves: rhbz#1243132 + +* Wed Feb 10 2016 Coty Sutherland 1:8.0.26-4 +- Resolves: rhbz#1286800 Failed to start component due to wrong allowLinking="true" in context.xml +- Program /bin/nologin does not exist (#1302718) + +* Fri Feb 05 2016 Fedora Release Engineering - 1:8.0.26-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Nov 11 2015 Robert Scheck 1:8.0.26-2 +- CATALINA_OPTS are only read when SECURITY_MANAGER is true (#1147105) + +* Thu Aug 27 2015 Alexander Kurtakov 1:8.0.26-1 +- Update to 8.0.26. + +* Fri Jul 10 2015 Alexander Kurtakov 1:8.0.24-2 +- Update to 8.0.24. + +* Fri Jun 19 2015 Alexander Kurtakov 1:8.0.23-2 +- Drop javax.el:el-api alias. + +* Thu Jun 18 2015 Alexander Kurtakov 1:8.0.23-1 +- Update to 8.0.23. + +* Thu Jun 18 2015 Alexander Kurtakov 1:8.0.20-3 +- Drop jetty alias for servlet. + +* Tue Jun 09 2015 Michal Srb - 1:8.0.20-2 +- Fix metadata for org.apache.tomcat:{tomcat-jni,tomcat-util-scan} + +* Thu Mar 5 2015 Alexander Kurtakov 1:8.0.18-5 +- Rebuild against tomcat-taglibs-standard. + +* Wed Mar 4 2015 Alexander Kurtakov 1:8.0.18-4 +- Fix epoch bumped el_1_0_api that would override all other glassfish/jboss/etc. due to wrong epoch. +- Drop old provides. + +* Tue Mar 03 2015 Stephen Gallagher 1:8.0.18-3 +- Bump epoch to maintain upgrade path from Fedora 22 + +* Mon Feb 16 2015 Michal Srb - 0:8.0.18-2 +- Install POM files for org.apache.tomcat:{tomcat-jni,tomcat-util-scan} + +* Sun Feb 15 2015 Ivan Afonichev 0:8.0.18-1 +- Updated to 8.0.18 + +* Sat Sep 20 2014 Ivan Afonichev 0:8.0.12-1 +- Updated to 8.0.12 +- Substitute libnames in catalina-tasks.xml, resolves: rhbz#1126439 +- Use CATALINA_OPTS only on start, resolves: rhbz#1051194 + +* Mon Jun 16 2014 Michal Srb - 0:7.0.54-3 +- jsp-api requires el-api + +* Sun Jun 08 2014 Fedora Release Engineering - 0:7.0.54-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Thu Jun 5 2014 Alexander Kurtakov 0:7.0.54-1 +- Update to upstream 7.0.54 - fixes compile with Java 8. + +* Wed May 21 2014 Alexander Kurtakov 0:7.0.52-3 +- Drop servlet/el api provides to reduce user machines ending with both. + +* Sun Mar 30 2014 Ivan Afonichev 0:7.0.52-2 +- Don't provide maven javax.jsp:jsp-api and javax.servlet.jsp:javax.servlet.jsp-api resolves: rhbz#1076949 +- Move log4j support into subpackage, resolves: rhbz#1027716 + +* Wed Mar 26 2014 Ivan Afonichev 0:7.0.52-1 +- Updated to 7.0.52 +- Rewrite jsvc implementation, resolves: rhbz#1051743 +- Switch to java-headless R, resolves: rhbz#1068566 +- Create and own %%{_localstatedir}/lib/tomcats, resolves: rhbz#1026741 +- Add pom for tomcat-jdbc, resolves: rhbz#1011003 + +* Tue Jan 21 2014 Mikolaj Izdebski - 0:7.0.47-3 +- Fix installation of Maven metadata for tomcat-juli.jar +- Resolves: rhbz#1033664 + +* Wed Jan 15 2014 Stanislav Ochotnicky - 0:7.0.47-2 +- Rebuild for bug #1033664 + +* Sun Nov 03 2013 Ivan Afonichev 0:7.0.47-1 +- Updated to 7.0.47 +- Fix java.security.policy + +* Sun Aug 04 2013 Fedora Release Engineering - 0:7.0.42-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Fri Jul 12 2013 Ivan Afonichev 0:7.0.42-2 +- Remove jpackage-utils R + +* Thu Jul 11 2013 Dmitry Tikhonov 0:7.0.42-1 +- Updated to 7.0.42 + +* Tue Jun 11 2013 Paul Komkoff 0:7.0.40-3 +- Dropped systemv inits. Bye-bye. +- Updated the systemd wrappers to allow running multiple instances. + Added wrapper scripts to do that, ported the original non-named + service file to work with the same wrappers, updated + /usr/sbin/tomcat to call systemctl. + +* Sat May 11 2013 Ivan Afonichev 0:7.0.40-1 +- Updated to 7.0.40 +- Resolves: rhbz 956569 added missing commons-pool link +- Remove ant-nodeps BR + +* Mon Mar 4 2013 Mikolaj Izdebski - 0:7.0.37-2 +- Add depmaps for org.eclipse.jetty.orbit +- Resolves: rhbz#917626 + +* Wed Feb 20 2013 Ivan Afonichev 0:7.0.39-1 +- Updated to 7.0.39 + +* Wed Feb 20 2013 Ivan Afonichev 0:7.0.37-1 +- Updated to 7.0.37 + +* Mon Feb 4 2013 Ivan Afonichev 0:7.0.35-1 +- Updated to 7.0.35 +- systemd SuccessExitStatus=143 for proper stop exit code processing + +* Mon Dec 24 2012 Ivan Afonichev 0:7.0.34-1 +- Updated to 7.0.34 +- ecj >= 4.2.1 now required +- Resolves: rhbz 889395 concat classpath correctly; chdir to $CATALINA_HOME + +* Fri Dec 7 2012 Ivan Afonichev 0:7.0.33-2 +- Resolves: rhbz 883806 refix logdir ownership + +* Sun Dec 2 2012 Ivan Afonichev 0:7.0.33-1 +- Updated to 7.0.33 +- Resolves: rhbz 873620 need chkconfig for update-alternatives + +* Wed Oct 17 2012 Ivan Afonichev 0:7.0.32-1 +- Updated to 7.0.32 +- Resolves: rhbz 842620 symlinks to taglibs + +* Fri Aug 24 2012 Ivan Afonichev 0:7.0.29-1 +- Updated to 7.0.29 +- Add pidfile as tmpfile +- Use systemd for running as unprivileged user +- Resolves: rhbz 847751 upgrade path was broken +- Resolves: rhbz 850343 use new systemd-rpm macros + +* Sat Jul 21 2012 Fedora Release Engineering - 0:7.0.28-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Mon Jul 2 2012 Ivan Afonichev 0:7.0.28-1 +- Updated to 7.0.28 +- Resolves: rhbz 820119 Remove bundled apache-commons-dbcp +- Resolves: rhbz 814900 Added tomcat-coyote POM +- Resolves: rhbz 810775 Remove systemv stuff from %%post scriptlet +- Remove redhat-lsb R + +* Mon Apr 9 2012 Ivan Afonichev 0:7.0.27-2 +- Fixed native download hack + +* Sat Apr 7 2012 Ivan Afonichev 0:7.0.27-1 +- Updated to 7.0.27 +- Fixed jakarta-taglibs-standard BR and R + +* Wed Mar 21 2012 Stanislav Ochotnicky - 0:7.0.26-2 +- Add more depmaps to J2EE apis to help jetty/glassfish updates + +* Wed Mar 14 2012 Juan Hernandez 0:7.0.26-2 +- Added the POM files for tomcat-api and tomcat-util (#803495) + +* Wed Feb 22 2012 Ivan Afonichev 0:7.0.26-1 +- Updated to 7.0.26 +- Bug 790334: Change ownership of logdir for logrotate + +* Thu Feb 16 2012 Krzysztof Daniel 0:7.0.25-4 +- Bug 790694: Priorities of jsp, servlet and el packages updated. + +* Wed Feb 8 2012 Krzysztof Daniel 0:7.0.25-3 +- Dropped indirect dependecy to tomcat 5 + +* Sun Jan 22 2012 Ivan Afonichev 0:7.0.25-2 +- Added hack for maven depmap of tomcat-juli absolute link [ -f ] pass correctly + +* Sat Jan 21 2012 Ivan Afonichev 0:7.0.25-1 +- Updated to 7.0.25 +- Removed EntityResolver patch (changes already in upstream sources) +- Place poms and depmaps in the same package as jars +- Added javax.servlet.descriptor to export-package of servlet-api +- Move several chkconfig actions and reqs to systemv subpackage +- New maven depmaps generation method +- Add patch to support java7. (patch sent upstream). +- Require java >= 1:1.6.0 + +* Fri Jan 13 2012 Krzysztof Daniel 0:7.0.23-5 +- Exported javax.servlet.* packages in version 3.0 as 2.6 to make + servlet-api compatible with Eclipse. + +* Thu Jan 12 2012 Ivan Afonichev 0:7.0.23-4 +- Move jsvc support to subpackage + +* Wed Jan 11 2012 Alexander Kurtakov 0:7.0.23-2 +- Add EntityResolver setter patch to jasper for jetty's need. (patch sent upstream). + +* Mon Dec 12 2011 Joseph D. Wagner 0:7.0.23-3 +- Added support to /usr/sbin/tomcat-sysd and /usr/sbin/tomcat for + starting 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. Must add USE_JSVC="true" to + /etc/tomcat/tomcat.conf or /etc/sysconfig/tomcat. + +* Mon Nov 28 2011 Ivan Afonichev 0:7.0.23-1 +- Updated to 7.0.23 + +* Fri Nov 11 2011 Ivan Afonichev 0:7.0.22-2 +- Move tomcat-juli.jar to lib package +- Drop %%update_maven_depmap as in tomcat6 +- Provide native systemd unit file ported from tomcat6 + +* Thu Oct 6 2011 Ivan Afonichev 0:7.0.22-1 +- Updated to 7.0.22 + +* Mon Oct 03 2011 Rex Dieter - 0:7.0.21-3.1 +- rebuild (java), rel-eng#4932 + +* Mon Sep 26 2011 Ivan Afonichev 0:7.0.21-3 +- Fix basedir mode + +* Tue Sep 20 2011 Roland Grunberg 0:7.0.21-2 +- Add manifests for el-api, jasper-el, jasper, tomcat, and tomcat-juli. + +* Thu Sep 8 2011 Ivan Afonichev 0:7.0.21-1 +- Updated to 7.0.21 + +* Mon Aug 15 2011 Ivan Afonichev 0:7.0.20-3 +- Require java = 1:1.6.0 + +* Mon Aug 15 2011 Ivan Afonichev 0:7.0.20-2 +- Require java < 1.7.0 + +* Mon Aug 15 2011 Ivan Afonichev 0:7.0.20-1 +- Updated to 7.0.20 + +* Tue Jul 26 2011 Ivan Afonichev 0:7.0.19-1 +- Updated to 7.0.19 + +* Tue Jun 21 2011 Ivan Afonichev 0:7.0.16-1 +- Updated to 7.0.16 + +* Mon Jun 6 2011 Ivan Afonichev 0:7.0.14-3 +- Added initial systemd service +- Fix some paths + +* Sat May 21 2011 Ivan Afonichev 0:7.0.14-2 +- Fixed http source link +- Securify some permissions +- Added licenses for el-api and servlet-api +- Added dependency on jpackage-utils for the javadoc subpackage + +* Sat May 14 2011 Ivan Afonichev 0:7.0.14-1 +- Updated to 7.0.14 + +* Thu May 5 2011 Ivan Afonichev 0:7.0.12-4 +- Provided local paths for libs +- Fixed dependencies +- Fixed update temp/work cleanup + +* Mon May 2 2011 Ivan Afonichev 0:7.0.12-3 +- Fixed package groups +- Fixed some permissions +- Fixed some links +- Removed old tomcat6 crap + +* Thu Apr 28 2011 Ivan Afonichev 0:7.0.12-2 +- Package now named just tomcat instead of tomcat7 +- Removed Provides: %%{name}-log4j +- Switched to apache-commons-* names instead of jakarta-commons-* . +- Remove the old changelog +- BR/R java >= 1:1.6.0 , same for java-devel +- Removed old tomcat6 crap + +* Wed Apr 27 2011 Ivan Afonichev 0:7.0.12-1 +- Tomcat7 \ No newline at end of file diff --git a/tomcat.spec b/tomcat.spec index 8689ef0..b25b959 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -1,33 +1,3 @@ -# 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 jspspec 3.1 %global major_version 10 %global minor_version 1 @@ -39,9 +9,10 @@ # Recommended version is specified in java/org/apache/catalina/core/AprLifecycleListener.java %global native_version 2.0.8 - # FHS 3.0 compliant tree structure - http://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html %global basedir %{_var}/lib/%{name} +%global baseconfdir %{basedir}/conf +%global baselogdir %{basedir}/logs %global appdir %{basedir}/webapps %global homedir %{_datadir}/%{name} %global bindir %{homedir}/bin @@ -50,7 +21,7 @@ %global logdir %{_var}/log/%{name} %global cachedir %{_var}/cache/%{name} %global tempdir %{cachedir}/temp -%global workdir %{cachedir}/work +%global workdir %{basedir}/work Name: tomcat Epoch: 1 @@ -75,39 +46,35 @@ Source10: %{name}-server Source11: %{name}-named.service Source12: module-start-up-parameters.conf +# https://bugzilla.redhat.com/show_bug.cgi?id=435829 Patch0: %{name}-%{major_version}.%{minor_version}-bootstrap-MANIFEST.MF.patch Patch1: %{name}-%{major_version}.%{minor_version}-tomcat-users-webapp.patch Patch2: %{name}-build.patch +# catalina.policy patch to allow ECJ usage under the Security Manager Patch3: %{name}-%{major_version}.%{minor_version}-catalina-policy.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=1857043 Patch4: %{name}-%{major_version}.%{minor_version}-bnd-annotation.patch +# Fixes not available constants in ECJ Patch5: %{name}-%{major_version}.%{minor_version}-JDTCompiler.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=1857043 Patch6: rhbz-1857043.patch BuildArch: noarch ExclusiveArch: %{java_arches} noarch -BuildRequires: ant >= 1.10.2 -BuildRequires: ecj >= 4.20 +BuildRequires: ant +BuildRequires: ecj BuildRequires: findutils -BuildRequires: java-devel >= 17 +BuildRequires: java-devel BuildRequires: javapackages-local BuildRequires: aqute-bnd -BuildRequires: aqute-bndlib -BuildRequires: systemd BuildRequires: tomcat-jakartaee-migration -Requires: (java-headless >= 11 or java >= 11) -Requires: javapackages-tools -Requires: %{name}-lib = %{epoch}:%{version}-%{release} -%if 0%{?fedora} || 0%{?rhel} > 7 -Recommends: tomcat-native >= %{native_version} -%endif -Requires(post): systemd -Requires(preun): systemd -Requires(postun): systemd - -# added after log4j sub-package was removed -Provides: %{name}-log4j = %{epoch}:%{version}-%{release} +Requires: (java-headless >= 11 or java >= 11) +Requires: javapackages-tools +Requires: %{name}-lib = %{epoch}:%{version}-%{release} +Recommends: tomcat-native >= %{native_version} +Requires: systemd %description Tomcat is the servlet container that is used in the official Reference @@ -136,9 +103,10 @@ The docs web application for Apache Tomcat. %package jsp-%{jspspec}-api Summary: Apache Tomcat JavaServer Pages v%{jspspec} API Implementation Classes Provides: jsp = %{jspspec} -Obsoletes: %{name}-jsp-api < %{jspspec} +Obsoletes: jsp < %{jspspec} Requires: %{name}-servlet-%{servletspec}-api = %{epoch}:%{version}-%{release} Requires: %{name}-el-%{elspec}-api = %{epoch}:%{version}-%{release} +Conflicts: tomcat-jsp-2.3-api %description jsp-%{jspspec}-api Apache Tomcat JSP API Implementation Classes. @@ -158,7 +126,8 @@ Libraries needed to run the Tomcat Web container. %package servlet-%{servletspec}-api Summary: Apache Tomcat Java Servlet v%{servletspec} API Implementation Classes Provides: servlet = %{servletspec} -Obsoletes: %{name}-servlet-api < %{servletspec} +Obsoletes: servlet < %{servletspec} +Conflicts: tomcat-servlet-4.0-api %description servlet-%{servletspec}-api Apache Tomcat Servlet API Implementation Classes. @@ -166,7 +135,8 @@ Apache Tomcat Servlet API Implementation Classes. %package el-%{elspec}-api Summary: Apache Tomcat Expression Language v%{elspec} API Implementation Classes Provides: el_api = %{elspec} -Obsoletes: %{name}-el-api < %{elspec} +Obsoletes: el_api < %{elspec} +Conflicts: tomcat-el-3.0-api %description el-%{elspec}-api Apache Tomcat EL API Implementation Classes. @@ -195,19 +165,11 @@ find . -type f \( -name "*.bat" -o -name "*.class" -o -name Thumbs.db -o -name " # 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" "jakarta.servlet:jakarta.servlet-api" -%mvn_package ":tomcat-jsp-api" tomcat-jsp-api -%mvn_alias "org.apache.tomcat:tomcat-jsp-api" "jakarta.servlet:jakarta.servlet.jsp" -%mvn_package ":tomcat-servlet-api" tomcat-servlet-api - # Create a sysusers.d config file cat >tomcat.sysusers.conf < ${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}/%{name} +%{__install} -d ${RPM_BUILD_ROOT}%{libdir} +%{__install} -d ${RPM_BUILD_ROOT}%{logdir} +%{__install} -d ${RPM_BUILD_ROOT}%{_localstatedir}/lib/tomcats +%{__install} -d ${RPM_BUILD_ROOT}%{homedir} +%{__install} -d ${RPM_BUILD_ROOT}%{tempdir} +%{__install} -d ${RPM_BUILD_ROOT}%{_unitdir} +%{__install} -d ${RPM_BUILD_ROOT}%{_libexecdir}/%{name} + +for jar in output/build/lib/*.jar; do + # Skip Jar if empty, applies to tomcat-coyote-ffm.jar atm + jar tf ${jar} | grep -E -q '.*\.class' || continue + + jarname=$(basename $jar .jar) + + case "${jarname}" in + jasper) pom="res/maven/tomcat-jasper.pom" ;; + catalina-tribes) pom="res/maven/tomcat-tribes.pom" ;; + catalina-ssi) pom="res/maven/tomcat-ssi.pom" ;; + catalina-storeconfig) pom="res/maven/tomcat-storeconfig.pom" ;; + *) pom=$(ls res/maven/*"${jarname}".pom 2>/dev/null) ;; + esac + + sed -i "s/@MAVEN.DEPLOY.VERSION@/%{version}/g" ${pom} + + case "${jarname}" in + tomcat-jni) %mvn_file org.apache.tomcat:tomcat-jni tomcat/tomcat-jni ${RPM_BUILD_ROOT}%{libdir}/tomcat-jni ;; + jsp-api) %mvn_file org.apache.tomcat:tomcat-jsp-api tomcat/jsp-api tomcat/%{name}-jsp-%{jspspec}-api %{name}-jsp-%{jspspec}-api %{name}-jsp-api ;; + servlet-api) %mvn_file org.apache.tomcat:tomcat-servlet-api tomcat/servlet-api tomcat/%{name}-servlet-%{servletspec}-api %{name}-servlet-%{servletspec}-api %{name}-servlet-api ;; + el-api) %mvn_file org.apache.tomcat:tomcat-el-api tomcat/el-api tomcat/%{name}-el-%{servletspec}-api %{name}-el-%{servletspec}-api %{name}-el-api ;; + catalina-tribes) %mvn_file org.apache.tomcat:tomcat-tribes tomcat/catalina-tribes ;; + catalina-ssi) %mvn_file org.apache.tomcat:tomcat-ssi tomcat/catalina-ssi ;; + catalina-storeconfig) %mvn_file org.apache.tomcat:tomcat-storeconfig tomcat/catalina-storeconfig ;; + *) %mvn_file org.apache.tomcat:$(sed -n "/.*${jarname}.*<\/artifactId>/ { s/.*\(.*${jarname}.*\)<\/artifactId>.*/\1/; p; q; }" "${pom}" 2>/dev/null) tomcat/${jarname} ;; + esac + + %mvn_artifact ${pom} ${jar} +done + +sed -i "s/@MAVEN.DEPLOY.VERSION@/%{version}/g" res/maven/tomcat-juli.pom +%mvn_artifact res/maven/tomcat-juli.pom output/build/bin/tomcat-juli.jar +# bootstrap does not have a pom, generate one +%mvn_artifact 'org.apache.tomcat:tomcat-bootstrap:%{version}' output/build/bin/bootstrap.jar + +#Create symlinks to bindir +%mvn_file :tomcat-bootstrap tomcat/tomcat-bootstrap ${RPM_BUILD_ROOT}%{bindir}/bootstrap.jar +%mvn_file :tomcat-juli tomcat/tomcat-juli ${RPM_BUILD_ROOT}%{bindir}/tomcat-juli.jar + +# tomcat-parent pom +sed -i "s/@MAVEN.DEPLOY.VERSION@/%{version}/g" res/maven/tomcat.pom +%mvn_artifact res/maven/tomcat.pom + +%mvn_package ":tomcat-el-api" tomcat-el-api +%mvn_package ":tomcat-jsp-api" tomcat-jsp-api +%mvn_package ":tomcat-servlet-api" tomcat-servlet-api + +%mvn_install + +# Fixes JAR must have Javapackages-GroupId manifest attribute error +jar ufm ${RPM_BUILD_ROOT}%{libdir}/el-api.jar <(echo "JavaPackages-GroupId: org.apache.tomcat") +jar ufm ${RPM_BUILD_ROOT}%{libdir}/jsp-api.jar <(echo "JavaPackages-GroupId: org.apache.tomcat") +jar ufm ${RPM_BUILD_ROOT}%{libdir}/servlet-api.jar <(echo "JavaPackages-GroupId: org.apache.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} + %{__cp} -a bin/*.xml ${RPM_BUILD_ROOT}%{bindir} + %{__cp} -a conf/*.{policy,properties,xml} ${RPM_BUILD_ROOT}%{confdir} %{__cp} -a webapps/* ${RPM_BUILD_ROOT}%{appdir} popd @@ -277,9 +289,9 @@ popd -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \ -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE2} \ > ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/%{name} -%{__install} -m 0755 %{SOURCE3} \ +%{__install} %{SOURCE3} \ ${RPM_BUILD_ROOT}%{_sbindir}/%{name} -%{__install} -m 0644 %{SOURCE7} \ +%{__install} %{SOURCE7} \ ${RPM_BUILD_ROOT}%{_unitdir}/%{name}.service %{__sed} -e "s|\@\@\@TCLOG\@\@\@|%{logdir}|g" %{SOURCE4} \ > ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}.disabled @@ -292,33 +304,11 @@ popd -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE6} \ > ${RPM_BUILD_ROOT}%{_bindir}/%{name}-tool-wrapper -%{__install} -m 0644 %{SOURCE8} \ - ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/functions -%{__install} -m 0755 %{SOURCE9} \ - ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/preamble -%{__install} -m 0755 %{SOURCE10} \ - ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/server -%{__install} -m 0644 %{SOURCE11} \ - ${RPM_BUILD_ROOT}%{_unitdir}/%{name}@.service - -%{__install} -m 0644 %{SOURCE12} ${RPM_BUILD_ROOT}%{confdir}/conf.d/ - -# Substitute libnames in catalina-tasks.xml -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,;" \ - ${RPM_BUILD_ROOT}%{bindir}/catalina-tasks.xml - -# create jsp and servlet API symlinks -pushd ${RPM_BUILD_ROOT}%{_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 +%{__install} %{SOURCE8} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/functions +%{__install} %{SOURCE9} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/preamble +%{__install} %{SOURCE10} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/server +%{__install} %{SOURCE11} ${RPM_BUILD_ROOT}%{_unitdir}/%{name}@.service +%{__install} %{SOURCE12} ${RPM_BUILD_ROOT}%{confdir}/conf.d/ pushd output/build %{_bindir}/build-jar-repository lib ecj 2>&1 @@ -326,84 +316,13 @@ pushd output/build popd pushd ${RPM_BUILD_ROOT}%{libdir} - # symlink JSP and servlet API jars - %{__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 - %{__ln_s} $(build-classpath tomcat-jakartaee-migration/jakartaee-migration) jakartaee-migration.jar - - cp ../../%{name}/bin/tomcat-juli.jar . + %{__cp} $(build-classpath ecj/ecj) ecj-x.jar + %{__cp} $(build-classpath tomcat-jakartaee-migration/jakartaee-migration) jakartaee-migration-x.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 for the spec impl artifacts as other projects use them -#%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_mavenpomdir} -pushd res/maven - for pom in *.pom; do - # fix-up version in all pom files - sed -i 's/@MAVEN.DEPLOY.VERSION@/%{version}/g' $pom - done -popd - -# Configure and install maven artifacts -%mvn_artifact res/maven/tomcat-el-api.pom output/build/lib/el-api.jar -%mvn_artifact res/maven/tomcat-jsp-api.pom output/build/lib/jsp-api.jar -%mvn_artifact res/maven/tomcat-servlet-api.pom output/build/lib/servlet-api.jar - -%mvn_file org.apache.tomcat:tomcat-annotations-api tomcat/annotations-api -%mvn_artifact res/maven/tomcat-annotations-api.pom ${RPM_BUILD_ROOT}%{libdir}/annotations-api.jar -%mvn_artifact res/maven/tomcat-api.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-api.jar -%mvn_file org.apache.tomcat:tomcat-catalina-ant tomcat/catalina-ant -%mvn_artifact res/maven/tomcat-catalina-ant.pom ${RPM_BUILD_ROOT}%{libdir}/catalina-ant.jar -%mvn_file org.apache.tomcat:tomcat-catalina-ha tomcat/catalina-ha -%mvn_artifact res/maven/tomcat-catalina-ha.pom ${RPM_BUILD_ROOT}%{libdir}/catalina-ha.jar -%mvn_file org.apache.tomcat:tomcat-catalina tomcat/catalina -%mvn_artifact res/maven/tomcat-catalina.pom ${RPM_BUILD_ROOT}%{libdir}/catalina.jar -%mvn_artifact res/maven/tomcat-coyote.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-coyote.jar -%mvn_artifact res/maven/tomcat-dbcp.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-dbcp.jar -%mvn_artifact res/maven/tomcat-i18n-cs.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-i18n-cs.jar -%mvn_artifact res/maven/tomcat-i18n-de.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-i18n-de.jar -%mvn_artifact res/maven/tomcat-i18n-es.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-i18n-es.jar -%mvn_artifact res/maven/tomcat-i18n-fr.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-i18n-fr.jar -%mvn_artifact res/maven/tomcat-i18n-ja.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-i18n-ja.jar -%mvn_artifact res/maven/tomcat-i18n-ko.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-i18n-ko.jar -%mvn_artifact res/maven/tomcat-i18n-pt-BR.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-i18n-pt-BR.jar -%mvn_artifact res/maven/tomcat-i18n-ru.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-i18n-ru.jar -%mvn_artifact res/maven/tomcat-i18n-zh-CN.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-i18n-zh-CN.jar -%mvn_file org.apache.tomcat:tomcat-jasper-el tomcat/jasper-el -%mvn_artifact res/maven/tomcat-jasper-el.pom ${RPM_BUILD_ROOT}%{libdir}/jasper-el.jar -%mvn_file org.apache.tomcat:tomcat-jasper tomcat/jasper -%mvn_artifact res/maven/tomcat-jasper.pom ${RPM_BUILD_ROOT}%{libdir}/jasper.jar -%mvn_file org.apache.tomcat:tomcat-jaspic-api tomcat/jaspic-api -%mvn_artifact res/maven/tomcat-jaspic-api.pom ${RPM_BUILD_ROOT}%{libdir}/jaspic-api.jar -%mvn_artifact res/maven/tomcat-jdbc.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-jdbc.jar -%mvn_artifact res/maven/tomcat-jni.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-jni.jar -%mvn_artifact res/maven/tomcat-juli.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-juli.jar -%mvn_file org.apache.tomcat:tomcat-ssi tomcat/catalina-ssi -%mvn_artifact res/maven/tomcat-ssi.pom ${RPM_BUILD_ROOT}%{libdir}/catalina-ssi.jar -%mvn_file org.apache.tomcat:tomcat-storeconfig tomcat/catalina-storeconfig -%mvn_artifact res/maven/tomcat-storeconfig.pom ${RPM_BUILD_ROOT}%{libdir}/catalina-storeconfig.jar -%mvn_file org.apache.tomcat:tomcat-tribes tomcat/catalina-tribes -%mvn_artifact res/maven/tomcat-tribes.pom ${RPM_BUILD_ROOT}%{libdir}/catalina-tribes.jar -%mvn_artifact res/maven/tomcat-util-scan.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-util-scan.jar -%mvn_artifact res/maven/tomcat-util.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-util.jar -%mvn_file org.apache.tomcat:tomcat-websocket-api tomcat/websocket-api -%mvn_artifact res/maven/tomcat-websocket-api.pom ${RPM_BUILD_ROOT}%{libdir}/websocket-api.jar -%mvn_artifact res/maven/tomcat-websocket.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-websocket.jar -%mvn_artifact res/maven/tomcat-websocket-client-api.pom ${RPM_BUILD_ROOT}%{libdir}/websocket-client-api.jar -%mvn_artifact res/maven/tomcat.pom - -%mvn_install +ln -sr %{confdir} ${RPM_BUILD_ROOT}%{baseconfdir} +ln -sr %{cachedir} ${RPM_BUILD_ROOT}%{workdir} +ln -sr %{logdir} ${RPM_BUILD_ROOT}%{baselogdir} install -m0644 -D tomcat.sysusers.conf %{buildroot}%{_sysusersdir}/tomcat.conf @@ -419,62 +338,44 @@ install -m0644 -D tomcat.sysusers.conf %{buildroot}%{_sysusersdir}/tomcat.conf %postun %systemd_postun_with_restart %{name}.service -%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(0644,root,root) %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}.disabled -%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/module-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}/bootstrap.jar -%{bindir}/catalina-tasks.xml -%{homedir}/lib -%{homedir}/temp -%{homedir}/webapps -%{homedir}/work -%{homedir}/logs -%{homedir}/conf +%files +%doc {LICENSE,NOTICE,RELEASE-NOTES,RUNNING.txt} +%{_bindir}/%{name}-digest +%{_bindir}/%{name}-tool-wrapper +%{_sbindir}/%{name} +%{_unitdir}/%{name}.service +%{_unitdir}/%{name}@.service +%{_libexecdir}/%{name} +%{_localstatedir}/lib/tomcats +%config(noreplace) %{_sysconfdir}/sysconfig/%{name} +%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}.disabled %{_sysusersdir}/tomcat.conf +%{homedir} +%{baseconfdir} +%{baselogdir} +%{workdir} +%attr(2770,tomcat,adm) %dir %{logdir} +%attr(750,tomcat,tomcat) %dir %{cachedir} +%attr(0770,root,tomcat) %{tempdir} +%attr(2775,tomcat,tomcat) %dir %{appdir} + +%{confdir}/conf.d +%config(noreplace) %{confdir}/%{name}.conf +# Configuration files should not be modifiable by the tomcat user, as this can be +# a security issue (an attacker may insert code in a webapp and rewrite the tomcat +# configuration) but those files should be readable by tomcat, so we set the group to tomcat. +%attr(640,root,tomcat) %config(noreplace) %{confdir}/tomcat-users.xml +%attr(640,root,tomcat) %config(noreplace) %{confdir}/web.xml +%attr(640,root,tomcat) %config(noreplace) %{confdir}/server.xml +%attr(640,root,tomcat) %config(noreplace) %{confdir}/logging.properties +%attr(640,root,tomcat) %config(noreplace) %{confdir}/catalina.properties +%attr(640,root,tomcat) %config(noreplace) %{confdir}/context.xml +%attr(640,root,tomcat) %config(noreplace) %{confdir}/jaspic-providers.xml +%attr(640,root,tomcat) %config(noreplace) %{confdir}/catalina.policy +%attr(2775,root,tomcat) %dir %{confdir}/Catalina +%attr(2775,root,tomcat) %dir %{confdir}/Catalina/localhost %files admin-webapps -%defattr(0664,root,tomcat,0755) %{appdir}/host-manager %{appdir}/manager @@ -482,683 +383,22 @@ install -m0644 -D tomcat.sysusers.conf %{buildroot}%{_sysusersdir}/tomcat.conf %{appdir}/docs %files lib -f .mfiles -%dir %{libdir} -%{libdir}/*.jar -%{_javadir}/*.jar -%{bindir}/tomcat-juli.jar -%exclude %{libdir}/%{name}-el-%{elspec}-api.jar -%exclude %{libdir}/%{name}-servlet-%{servletspec}*.jar -%exclude %{libdir}/%{name}-jsp-%{jspspec}*.jar -%exclude %{_javadir}/%{name}-servlet-%{servletspec}*.jar -%exclude %{_javadir}/%{name}-el-%{elspec}-api.jar -%exclude %{_javadir}/%{name}-jsp-%{jspspec}*.jar -%exclude %{_javadir}/%{name}-servlet-api.jar -%exclude %{_javadir}/%{name}-el-api.jar -%exclude %{_javadir}/%{name}-jsp-api.jar -%exclude %{_jnidir}/* +%defattr(644, root, tomcat, 2775) +%{libdir}/jakartaee-migration-x.jar +%{libdir}/ecj-x.jar %files jsp-%{jspspec}-api -f .mfiles-tomcat-jsp-api -%{_javadir}/%{name}-jsp-%{jspspec}*.jar -%{libdir}/%{name}-jsp-%{jspspec}*.jar -%{_javadir}/%{name}-jsp-api.jar +%doc LICENSE %files servlet-%{servletspec}-api -f .mfiles-tomcat-servlet-api %doc LICENSE -%{_javadir}/%{name}-servlet-%{servletspec}*.jar -%{libdir}/%{name}-servlet-%{servletspec}*.jar -%{_javadir}/%{name}-servlet-api.jar %files el-%{elspec}-api -f .mfiles-tomcat-el-api %doc LICENSE -%{_javadir}/%{name}-el-%{elspec}-api.jar -%{libdir}/%{name}-el-%{elspec}-api.jar -%{_javadir}/%{name}-el-api.jar %files webapps %defattr(0644,tomcat,tomcat,0755) %{appdir}/ROOT %changelog -* Fri Jan 10 2025 Dimitris Soumis - 1:10.1.34-1 -- Update to version 10.1.34 - -* Mon Dec 09 2024 Packit - 1:9.0.98-1 -- Update to version 9.0.98 -- Resolves: rhbz#2331168 - -* Mon Dec 02 2024 Dimitris Soumis - 1:9.0.97-1 -- Update to version 9.0.97 -- Resolves: rhbz#2327090 - -* Tue Oct 08 2024 Packit - 1:9.0.96-1 -- Update to version 9.0.96 -- Resolves: rhbz#2317237 - -* Tue Sep 17 2024 Packit - 1:9.0.95-1 -- Update to version 9.0.95 -- Resolves: rhbz#2312858 - -* Tue Sep 10 2024 Packit - 1:9.0.94-1 -- Update to version 9.0.94 -- Resolves: rhbz#2311320 - -* Tue Aug 06 2024 Packit - 1:9.0.93-1 -- Update to version 9.0.93 -- Resolves: rhbz#2303026 - -* Wed Jul 24 2024 Miroslav Suchý - 1:9.0.91-1 -- convert license to SPDX - -* Thu Jul 11 2024 Dimitris Soumis - 1:9.0.91-1 -- Update to 9.0.91 - -* Thu Jun 20 2024 Dimitris Soumis - 1:9.0.90-1 -- Update to 9.0.90 - -* Fri Jun 7 2024 Dimitris Soumis - 1:9.0.89-1 -- Update to 9.0.89 - -* Thu Feb 29 2024 Adam Williamson - 1:9.0.83-4 -- Accept java-21-headless as one of the alternatives for java - -* Tue Feb 27 2024 Jiri Vanek - 1:9.0.83-3 -- Rebuilt for java-21-openjdk as system jdk - -* Sat Jan 27 2024 Fedora Release Engineering - 1:9.0.83-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Dec 01 2023 Hui Wang - 1:9.0.83-1 -- Update to 9.0.83 - -* Mon Oct 16 2023 Hui Wang - 1:9.0.82-1 -- Update to 9.0.82 -- Resolves: rhbz#2244333 Wrong dbcp class in tomcat 9 - -* Wed Sep 13 2023 Hui Wang - 1:9.0.80-1 -- Update to 9.0.80 -- Fix java version - -* Fri Aug 04 2023 Hui Wang - 1:9.0.78-4 -- Fix files permission - -* Wed Jul 26 2023 Hui Wang - 1:9.0.78-3 -- Exclude jnidir in the lib subpackage - -* Tue Jul 25 2023 Hui Wang - 1:9.0.78-2 -- Resolves: rhbz#2224318 There are duplicated jars in the tomcat lib subpackage - -* Tue Jul 25 2023 Hui Wang - 1:9.0.78-1 -- Resolves: rhbz#2224318 There are duplicated jars in the tomcat lib-subpackage -- Update to 9.0.78 - -* Sat Jul 22 2023 Fedora Release Engineering - 1:9.0.76-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Tue Jun 20 2023 Hui Wang - 1:9.0.76-2 -- Resolves: rhbz#2189672 Missing Tomcat POM files in Fedora Rawhide -- Remove JDTCompiler patch because ecj has been update -- Update to 9.0.76 -- Resolves: rhbz#2188218 Link bin/tomcat-juli.jar to /usr/share/java -- Move tomcat-jsp-2.3-api.jar,tomcat-servlet-4.0-api.jar and tomcat-el-api.jar to the subpackages - -* Thu Jun 08 2023 Hui Wang - 1:9.0.75-1 -- Update to 9.0.75 - -* Fri Mar 17 2023 Hui Wang - 1:9.0.73-1 -- Update to 9.0.73 - -* Sun Jan 29 2023 Hui Wang - 1:9.0.71-1 -- Update to 9.0.71 -- Remove osgi-annotations patch -- Add bnd-annotation dependency which is in bndlib package - -* Sat Jan 21 2023 Fedora Release Engineering - 1:9.0.70-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Fri Jan 13 2023 Hui Wang - 1:9.0.70-1 -- Update to 9.0.70 - -* Thu Nov 03 2022 Hui Wang - 1:9.0.68-1 -- Update to 9.0.68 - -* Thu Jul 21 2022 Hui Wang - 1:9.0.65-1 -- Update to 9.0.65 - -* Fri Jul 08 2022 Jiri Vanek - 1:9.0.64-2 -- Rebuilt for Drop i686 JDKs - -* Tue Jun 21 2022 Hui Wang - 1:9.0.64-1 -- Update to 9.0.64 -- Add osgi-annotations dependency back - -* Thu Mar 10 2022 Coty Sutherland - 1:9.0.59-3 -- Related: rhbz#2061424 Adjust fix so that it uses the proper env var - -* Tue Mar 08 2022 Coty Sutherland - 1:9.0.59-2 -- Resolves: rhbz#2061424 Add Java 9 start-up parameters to allow reflection - -* Wed Mar 02 2022 Sonia Xu - 1:9.0.59-1 -- Update to 9.0.59 -- Resolves: rhbz#2047419 - CVE-2022-23181 tomcat: local privilege escalation vulnerability - -* Sat Feb 05 2022 Jiri Vanek - 1:9.0.56-3 -- Rebuilt for java-17-openjdk as system jdk - -* Sat Jan 22 2022 Fedora Release Engineering - 1:9.0.56-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Thu Dec 09 2021 Hui Wang - 1:9.0.56-1 -- Update to 9.0.56 - -* Tue Oct 12 2021 Hui Wang - 1:9.0.55-1 -- Update to 9.0.55 - -* Tue Oct 12 2021 Hui Wang - 1:9.0.54-1 -- Update to 9.0.54 - -* Thu Sep 16 2021 Hui Wang - 1:9.0.53-1 -- Update to 9.0.53 - -* Wed Aug 18 2021 Hui Wang - 1:9.0.52-1 -- Update to 9.0.52 - -* Fri Jul 23 2021 Fedora Release Engineering - 1:9.0.50-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Tue Jul 06 2021 Hui Wang - 1:9.0.50-1 -- Update to 9.0.50 - -* Sat Jun 05 2021 Coty Sutherland - 1:9.0.45-4 -- Add back logrotate config file per devel list request -- Add mvn virtual provides back for the servlet, el, and jsp spec impls - -* Fri Jun 04 2021 Coty Sutherland - 1:9.0.45-3 -- Drop geronimo-jaxrpc, which provided the webservices naming factory resources that are generally unused - -* Thu Jun 03 2021 Coty Sutherland - 1:9.0.45-2 -- Remove examples webapps from subpackage -- Updates to javapackages-local removed %%add_maven_depmap which broke the build, - so I removed the maven artifacts as they aren't very useful anyway -- Drop JSVC support as it's not very useful these days -- Drop geronimo-saaj as it's no longer required - -* Thu Apr 22 2021 Hui Wang - 1:9.0.45-1 -- Update to 9.0.45 - -* Thu Mar 18 2021 Hui Wang - 1:9.0.44-1 -- Update to 9.0.44 - -* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 1:9.0.43-2 -- Rebuilt for updated systemd-rpm-macros - See https://pagure.io/fesco/issue/2583. - -* Wed Feb 03 2021 Hui Wang - 1:9.0.43-1 -- Update to 9.0.43 - -* Wed Jan 27 2021 Fedora Release Engineering - 1:9.0.41-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Wed Dec 09 2020 Hui Wang - 1:9.0.41-1 -- Update to 9.0.41 - -* Wed Nov 18 2020 Hui Wang - 1:9.0.40-1 -- Update to 9.0.40 - -* Mon Oct 12 2020 Hui Wang - 1:9.0.39-1 -- Update to 9.0.39 - -* Wed Sep 16 2020 Hui Wang - 1:9.0.38-1 -- Update to 9.0.38 - -* Wed Jul 29 2020 Fedora Release Engineering - 1:9.0.37-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Fri Jul 24 2020 Coty Sutherland - 1:9.0.37-3 -- Related: rhbz#1857043 Temporarily remove OSGi metadata from tomcat jars - -* Mon Jul 20 2020 Coty Sutherland - 1:9.0.37-2 -- Resolves: rhbz#1857043 Add patch to reinclude o.a.t.util.net.jsse and o.a.t.util.moduler.modules in tomcat-coyote.jar - -* Mon Jul 13 2020 Coty Sutherland - 1:9.0.37-1 -- Update to 9.0.37 - -* Sat Jul 11 2020 Jiri Vanek - 1:9.0.36-2 -- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 - -* Wed Jun 10 2020 Hui Wang - 1:9.0.36-1 -- Upgrade to 9.0.36 - -* Sun May 31 2020 Hui Wang - 1:9.0.35-2 -- Upgrade to 9.0.35 - -* Wed Apr 22 2020 Coty Sutherland - 1:9.0.34-2 -- Add updated catalina.policy patch to allow ECJ usage under the Security Manager - -* Tue Apr 21 2020 Coty Sutherland - 1:9.0.34-1 -- Update to 9.0.34 - -* Thu Mar 05 2020 Coty Sutherland - 1:9.0.31-1 -- Update to 9.0.31 -- Resolves: rhbz#1806398 - CVE-2020-1938 tomcat: Apache Tomcat AJP File Read/Inclusion Vulnerability - -* Fri Jan 31 2020 Fedora Release Engineering - 1:9.0.30-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Fri Dec 20 2019 Coty Sutherland - 1:9.0.30-1 -- Update to 9.0.30 - -* Thu Sep 26 2019 Coty Sutherland - 1:9.0.26-2 -- Resolves: rhbz#1510522 man page uid and gid mismatch for service accounts - -* Thu Sep 26 2019 Coty Sutherland - 1:9.0.26-1 -- Update to 9.0.26 -- Resolves: rhbz#1523112 tomcat systemd does not cope with - in service names -- Resolves: rhbz#1510896 Problem to start tomcat with a user whose group has a name different to the user - -* Sat Jul 27 2019 Fedora Release Engineering - 1:9.0.21-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Wed Jul 17 2019 Coty Sutherland - 1:9.0.21-2 -- Update build-classpath calls to ECJ to specify the JAR we want to use - -* Tue Jun 18 2019 Coty Sutherland - 1:9.0.21-1 -- Update to 9.0.21 - -* Tue Apr 02 2019 Coty Sutherland - 1:9.0.13-4 -- Remove javadoc subpackage to drop the jpackage-utils dependency - -* Wed Feb 20 2019 Coty Sutherland - 1:9.0.13-3 -- Remove OSGi MANIFEST files, these are now included in the upstream Tomcat distribution (as of 9.0.10) -- Remove unused dependencies, apache-commons-collections, apache-commons-daemon, apache-commons-pool, junit - -* Sun Feb 03 2019 Fedora Release Engineering - 1:9.0.13-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Thu Dec 13 2018 Coty Sutherland - 1:9.0.13-1 -- Update to 9.0.13 -- Resolves: rhbz#1636513 - CVE-2018-11784 tomcat: Open redirect in default servlet - -* Sun Oct 14 2018 Peter Robinson 1:9.0.10-2 -- Drop legcy sys-v bits - -* Tue Jul 31 2018 Coty Sutherland - 1:9.0.10-1 -- Update to 9.0.10 -- Resolves: rhbz#1624929 - CVE-2018-1336 tomcat: A bug in the UTF-8 decoder can lead to DoS -- Resolves: rhbz#1579612 - CVE-2018-8014 tomcat: Insecure defaults in CORS filter enable 'supportsCredentials' for all origins -- Resolves: rhbz#1607586 - CVE-2018-8034 tomcat: host name verification missing in WebSocket client -- Resolves: rhbz#1607584 - CVE-2018-8037 tomcat: Due to a mishandling of close in NIO/NIO2 connectors user sessions can get mixed up - -* Sat Jul 14 2018 Fedora Release Engineering - 1:9.0.7-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Tue May 01 2018 Coty Sutherland - 1:9.0.7-1 -- Update to 9.0.7 - -* Thu Mar 15 2018 Coty Sutherland - 1:8.5.29-1 -- Update to 8.5.29 -- Resolves: rhbz#1548290 CVE-2018-1304 tomcat: Incorrect handling of empty string URL in security constraints can lead to unitended exposure of resources -- Resolves: rhbz#1548284 CVE-2018-1305 tomcat: Late application of security constraints can lead to resource exposure for unauthorised users - -* Fri Feb 09 2018 Igor Gnatenko - 1:8.0.49-2 -- Escape macros in %%changelog - -* Thu Feb 01 2018 Coty Sutherland - 1:8.0.49-1 -- Update to 8.0.49 - -* Tue Dec 12 2017 Merlin Mathesius - 1:8.0.47-3 -- Cleanup spec file conditionals - -* Tue Oct 24 2017 Troy Dawson - 1:8.0.47-2 -- Change "zip -u" to "zip" -- Resolves: rhbz#1495241 [tomcat] zip -u in spec file causes race condition - -* Wed Oct 04 2017 Coty Sutherland - 1:8.0.47-1 -- Update to 8.0.47 -- Resolves: rhbz#1497682 CVE-2017-12617 tomcat: Remote Code Execution bypass for CVE-2017-12615 - -* Mon Aug 21 2017 Coty Sutherland - 1:8.0.46-1 -- Update to 8.0.46 -- Resolves: rhbz#1480620 CVE-2017-7674 tomcat: Cache Poisoning - -* Thu Jul 27 2017 Fedora Release Engineering - 1:8.0.44-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Fri Jun 09 2017 Coty Sutherland - 1:8.0.44-1 -- Resolves: rhbz#1459160 CVE-2017-5664 tomcat: Security constrained bypass in error page mechanism - -* Tue Apr 11 2017 Coty Sutherland - 1:8.0.43-1 -- Update to 8.0.43 - -* Fri Mar 31 2017 Coty Sutherland - 1:8.0.42-1 -- Update to 8.0.42 - -* Thu Feb 16 2017 Coty Sutherland - 1:8.0.41-1 -- Update to 8.0.41 -- Resolves: rhbz#1403825 CVE-2016-8745 tomcat: information disclosure due to incorrect Processor sharing - -* Sat Feb 11 2017 Fedora Release Engineering - 1:8.0.39-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Tue Nov 29 2016 Coty Sutherland - 1:8.0.39-1 -- Update to 8.0.39 -- Resolves: rhbz#1397493 CVE-2016-6816 CVE-2016-6817 CVE-2016-8735 tomcat: various flaws - -* Tue Oct 25 2016 Coty Sutherland - 1:8.0.38-1 -- Update to 8.0.38 - -* Sun Oct 23 2016 Coty Sutherland - 1:8.0.37-3 -- Resolves: rhbz#1383216 CVE-2016-6325 tomcat: tomcat writable config files allow privilege escalation -- Resolves: rhbz#1382310 CVE-2016-5425 tomcat: Local privilege escalation via systemd-tmpfiles service - -* Tue Sep 13 2016 Coty Sutherland - 1:8.0.37-1 -- Rebase to 8.0.37 -- Resolves: rhbz#1375581 CVE-2016-5388 CGI sets environmental variable based on user supplied Proxy request header -- Resolves: rhbz#1370262 catalina.out is no longer in use in the main package, but still gets rotated - -* Thu Aug 11 2016 Coty Sutherland - 1:8.0.36-2 -- Related: rhbz#1349469 Correct typo in changelog entry - -* Mon Aug 08 2016 Coty Sutherland - 1:8.0.36-1 -- Resolves: rhbz#1349469 CVE-2016-3092 tomcat: Usage of vulnerable FileUpload package can result in denial of service (updates to 8.0.36) -- Resolves: rhbz#1364056 The command tomcat-digest doesn't work -- Resolves: rhbz#1363884 The tomcat-tool-wrapper script is broken -- Resolves: rhbz#1347864 The systemd service unit does not allow tomcat to shut down gracefully -- Resolves: rhbz#1347835 The security manager doesn't work correctly (JSPs cannot be compiled) -- Resolves: rhbz#1341853 rpm -V tomcat fails on /var/log/tomcat/catalina.out -- Resolves: rhbz#1341850 tomcat-jsvc.service has TOMCAT_USER value hard-coded -- Resolves: rhbz#1359737 Missing maven depmap for the following artifacts: org.apache.tomcat:tomcat-websocket, org.apache.tomcat:tomcat-websocket-api -- Resolves: asfbz#59960 Building javadocs with java8 fails - -* Wed Mar 2 2016 Ivan Afonichev - 1:8.0.32-4 -- Revert sysconfig migration changes, resolves: rhbz#1311771, rhbz#1311905 -- Add /etc/tomcat/conf.d/ with shell expansion support, resolves rhbz#1293636 - -* Sat Feb 27 2016 Ivan Afonichev - 1:8.0.32-3 -- Load sysconfig from tomcat.conf, resolves: rhbz#1311771, rhbz#1311905 -- Set default javax.sql.DataSource factory to apache commons one, resolves rhbz#1214381 - -* Sun Feb 21 2016 Ivan Afonichev - 1:8.0.32-2 -- Fix symlinks from $CATALINA_HOME/lib perspective, resolves: rhbz#1308685 - -* Thu Feb 11 2016 Ivan Afonichev - 1:8.0.32-1 -- Updated to 8.0.32 -- Remove log4j support. It has never been working actually. See rhbz#1236297 -- Move shipped config to /etc/sysconfig/tomcat. /etc/tomcat/tomcat.conf can now be used to override it with shell expansion, resolves rhbz#1293636 -- Recommend tomcat-native, resolves: rhbz#1243132 - -* Wed Feb 10 2016 Coty Sutherland 1:8.0.26-4 -- Resolves: rhbz#1286800 Failed to start component due to wrong allowLinking="true" in context.xml -- Program /bin/nologin does not exist (#1302718) - -* Fri Feb 05 2016 Fedora Release Engineering - 1:8.0.26-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Wed Nov 11 2015 Robert Scheck 1:8.0.26-2 -- CATALINA_OPTS are only read when SECURITY_MANAGER is true (#1147105) - -* Thu Aug 27 2015 Alexander Kurtakov 1:8.0.26-1 -- Update to 8.0.26. - -* Fri Jul 10 2015 Alexander Kurtakov 1:8.0.24-2 -- Update to 8.0.24. - -* Fri Jun 19 2015 Alexander Kurtakov 1:8.0.23-2 -- Drop javax.el:el-api alias. - -* Thu Jun 18 2015 Alexander Kurtakov 1:8.0.23-1 -- Update to 8.0.23. - -* Thu Jun 18 2015 Alexander Kurtakov 1:8.0.20-3 -- Drop jetty alias for servlet. - -* Tue Jun 09 2015 Michal Srb - 1:8.0.20-2 -- Fix metadata for org.apache.tomcat:{tomcat-jni,tomcat-util-scan} - -* Thu Mar 5 2015 Alexander Kurtakov 1:8.0.18-5 -- Rebuild against tomcat-taglibs-standard. - -* Wed Mar 4 2015 Alexander Kurtakov 1:8.0.18-4 -- Fix epoch bumped el_1_0_api that would override all other glassfish/jboss/etc. due to wrong epoch. -- Drop old provides. - -* Tue Mar 03 2015 Stephen Gallagher 1:8.0.18-3 -- Bump epoch to maintain upgrade path from Fedora 22 - -* Mon Feb 16 2015 Michal Srb - 0:8.0.18-2 -- Install POM files for org.apache.tomcat:{tomcat-jni,tomcat-util-scan} - -* Sun Feb 15 2015 Ivan Afonichev 0:8.0.18-1 -- Updated to 8.0.18 - -* Sat Sep 20 2014 Ivan Afonichev 0:8.0.12-1 -- Updated to 8.0.12 -- Substitute libnames in catalina-tasks.xml, resolves: rhbz#1126439 -- Use CATALINA_OPTS only on start, resolves: rhbz#1051194 - -* Mon Jun 16 2014 Michal Srb - 0:7.0.54-3 -- jsp-api requires el-api - -* Sun Jun 08 2014 Fedora Release Engineering - 0:7.0.54-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Thu Jun 5 2014 Alexander Kurtakov 0:7.0.54-1 -- Update to upstream 7.0.54 - fixes compile with Java 8. - -* Wed May 21 2014 Alexander Kurtakov 0:7.0.52-3 -- Drop servlet/el api provides to reduce user machines ending with both. - -* Sun Mar 30 2014 Ivan Afonichev 0:7.0.52-2 -- Don't provide maven javax.jsp:jsp-api and javax.servlet.jsp:javax.servlet.jsp-api resolves: rhbz#1076949 -- Move log4j support into subpackage, resolves: rhbz#1027716 - -* Wed Mar 26 2014 Ivan Afonichev 0:7.0.52-1 -- Updated to 7.0.52 -- Rewrite jsvc implementation, resolves: rhbz#1051743 -- Switch to java-headless R, resolves: rhbz#1068566 -- Create and own %%{_localstatedir}/lib/tomcats, resolves: rhbz#1026741 -- Add pom for tomcat-jdbc, resolves: rhbz#1011003 - -* Tue Jan 21 2014 Mikolaj Izdebski - 0:7.0.47-3 -- Fix installation of Maven metadata for tomcat-juli.jar -- Resolves: rhbz#1033664 - -* Wed Jan 15 2014 Stanislav Ochotnicky - 0:7.0.47-2 -- Rebuild for bug #1033664 - -* Sun Nov 03 2013 Ivan Afonichev 0:7.0.47-1 -- Updated to 7.0.47 -- Fix java.security.policy - -* Sun Aug 04 2013 Fedora Release Engineering - 0:7.0.42-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Fri Jul 12 2013 Ivan Afonichev 0:7.0.42-2 -- Remove jpackage-utils R - -* Thu Jul 11 2013 Dmitry Tikhonov 0:7.0.42-1 -- Updated to 7.0.42 - -* Tue Jun 11 2013 Paul Komkoff 0:7.0.40-3 -- Dropped systemv inits. Bye-bye. -- Updated the systemd wrappers to allow running multiple instances. - Added wrapper scripts to do that, ported the original non-named - service file to work with the same wrappers, updated - /usr/sbin/tomcat to call systemctl. - -* Sat May 11 2013 Ivan Afonichev 0:7.0.40-1 -- Updated to 7.0.40 -- Resolves: rhbz 956569 added missing commons-pool link -- Remove ant-nodeps BR - -* Mon Mar 4 2013 Mikolaj Izdebski - 0:7.0.37-2 -- Add depmaps for org.eclipse.jetty.orbit -- Resolves: rhbz#917626 - -* Wed Feb 20 2013 Ivan Afonichev 0:7.0.39-1 -- Updated to 7.0.39 - -* Wed Feb 20 2013 Ivan Afonichev 0:7.0.37-1 -- Updated to 7.0.37 - -* Mon Feb 4 2013 Ivan Afonichev 0:7.0.35-1 -- Updated to 7.0.35 -- systemd SuccessExitStatus=143 for proper stop exit code processing - -* Mon Dec 24 2012 Ivan Afonichev 0:7.0.34-1 -- Updated to 7.0.34 -- ecj >= 4.2.1 now required -- Resolves: rhbz 889395 concat classpath correctly; chdir to $CATALINA_HOME - -* Fri Dec 7 2012 Ivan Afonichev 0:7.0.33-2 -- Resolves: rhbz 883806 refix logdir ownership - -* Sun Dec 2 2012 Ivan Afonichev 0:7.0.33-1 -- Updated to 7.0.33 -- Resolves: rhbz 873620 need chkconfig for update-alternatives - -* Wed Oct 17 2012 Ivan Afonichev 0:7.0.32-1 -- Updated to 7.0.32 -- Resolves: rhbz 842620 symlinks to taglibs - -* Fri Aug 24 2012 Ivan Afonichev 0:7.0.29-1 -- Updated to 7.0.29 -- Add pidfile as tmpfile -- Use systemd for running as unprivileged user -- Resolves: rhbz 847751 upgrade path was broken -- Resolves: rhbz 850343 use new systemd-rpm macros - -* Sat Jul 21 2012 Fedora Release Engineering - 0:7.0.28-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Mon Jul 2 2012 Ivan Afonichev 0:7.0.28-1 -- Updated to 7.0.28 -- Resolves: rhbz 820119 Remove bundled apache-commons-dbcp -- Resolves: rhbz 814900 Added tomcat-coyote POM -- Resolves: rhbz 810775 Remove systemv stuff from %%post scriptlet -- Remove redhat-lsb R - -* Mon Apr 9 2012 Ivan Afonichev 0:7.0.27-2 -- Fixed native download hack - -* Sat Apr 7 2012 Ivan Afonichev 0:7.0.27-1 -- Updated to 7.0.27 -- Fixed jakarta-taglibs-standard BR and R - -* Wed Mar 21 2012 Stanislav Ochotnicky - 0:7.0.26-2 -- Add more depmaps to J2EE apis to help jetty/glassfish updates - -* Wed Mar 14 2012 Juan Hernandez 0:7.0.26-2 -- Added the POM files for tomcat-api and tomcat-util (#803495) - -* Wed Feb 22 2012 Ivan Afonichev 0:7.0.26-1 -- Updated to 7.0.26 -- Bug 790334: Change ownership of logdir for logrotate - -* Thu Feb 16 2012 Krzysztof Daniel 0:7.0.25-4 -- Bug 790694: Priorities of jsp, servlet and el packages updated. - -* Wed Feb 8 2012 Krzysztof Daniel 0:7.0.25-3 -- Dropped indirect dependecy to tomcat 5 - -* Sun Jan 22 2012 Ivan Afonichev 0:7.0.25-2 -- Added hack for maven depmap of tomcat-juli absolute link [ -f ] pass correctly - -* Sat Jan 21 2012 Ivan Afonichev 0:7.0.25-1 -- Updated to 7.0.25 -- Removed EntityResolver patch (changes already in upstream sources) -- Place poms and depmaps in the same package as jars -- Added javax.servlet.descriptor to export-package of servlet-api -- Move several chkconfig actions and reqs to systemv subpackage -- New maven depmaps generation method -- Add patch to support java7. (patch sent upstream). -- Require java >= 1:1.6.0 - -* Fri Jan 13 2012 Krzysztof Daniel 0:7.0.23-5 -- Exported javax.servlet.* packages in version 3.0 as 2.6 to make - servlet-api compatible with Eclipse. - -* Thu Jan 12 2012 Ivan Afonichev 0:7.0.23-4 -- Move jsvc support to subpackage - -* Wed Jan 11 2012 Alexander Kurtakov 0:7.0.23-2 -- Add EntityResolver setter patch to jasper for jetty's need. (patch sent upstream). - -* Mon Dec 12 2011 Joseph D. Wagner 0:7.0.23-3 -- Added support to /usr/sbin/tomcat-sysd and /usr/sbin/tomcat for - starting 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. Must add USE_JSVC="true" to - /etc/tomcat/tomcat.conf or /etc/sysconfig/tomcat. - -* Mon Nov 28 2011 Ivan Afonichev 0:7.0.23-1 -- Updated to 7.0.23 - -* Fri Nov 11 2011 Ivan Afonichev 0:7.0.22-2 -- Move tomcat-juli.jar to lib package -- Drop %%update_maven_depmap as in tomcat6 -- Provide native systemd unit file ported from tomcat6 - -* Thu Oct 6 2011 Ivan Afonichev 0:7.0.22-1 -- Updated to 7.0.22 - -* Mon Oct 03 2011 Rex Dieter - 0:7.0.21-3.1 -- rebuild (java), rel-eng#4932 - -* Mon Sep 26 2011 Ivan Afonichev 0:7.0.21-3 -- Fix basedir mode - -* Tue Sep 20 2011 Roland Grunberg 0:7.0.21-2 -- Add manifests for el-api, jasper-el, jasper, tomcat, and tomcat-juli. - -* Thu Sep 8 2011 Ivan Afonichev 0:7.0.21-1 -- Updated to 7.0.21 - -* Mon Aug 15 2011 Ivan Afonichev 0:7.0.20-3 -- Require java = 1:1.6.0 - -* Mon Aug 15 2011 Ivan Afonichev 0:7.0.20-2 -- Require java < 1.7.0 - -* Mon Aug 15 2011 Ivan Afonichev 0:7.0.20-1 -- Updated to 7.0.20 - -* Tue Jul 26 2011 Ivan Afonichev 0:7.0.19-1 -- Updated to 7.0.19 - -* Tue Jun 21 2011 Ivan Afonichev 0:7.0.16-1 -- Updated to 7.0.16 - -* Mon Jun 6 2011 Ivan Afonichev 0:7.0.14-3 -- Added initial systemd service -- Fix some paths - -* Sat May 21 2011 Ivan Afonichev 0:7.0.14-2 -- Fixed http source link -- Securify some permissions -- Added licenses for el-api and servlet-api -- Added dependency on jpackage-utils for the javadoc subpackage - -* Sat May 14 2011 Ivan Afonichev 0:7.0.14-1 -- Updated to 7.0.14 - -* Thu May 5 2011 Ivan Afonichev 0:7.0.12-4 -- Provided local paths for libs -- Fixed dependencies -- Fixed update temp/work cleanup - -* Mon May 2 2011 Ivan Afonichev 0:7.0.12-3 -- Fixed package groups -- Fixed some permissions -- Fixed some links -- Removed old tomcat6 crap - -* Thu Apr 28 2011 Ivan Afonichev 0:7.0.12-2 -- Package now named just tomcat instead of tomcat7 -- Removed Provides: %%{name}-log4j -- Switched to apache-commons-* names instead of jakarta-commons-* . -- Remove the old changelog -- BR/R java >= 1:1.6.0 , same for java-devel -- Removed old tomcat6 crap - -* Wed Apr 27 2011 Ivan Afonichev 0:7.0.12-1 -- Tomcat7 +%autochangelog From 727c3d6f657ad7d523dbf99c662d7e1bbcacc36f Mon Sep 17 00:00:00 2001 From: dsoumis Date: Wed, 12 Feb 2025 14:08:33 +0200 Subject: [PATCH 07/81] Use ecj and jakartaee-migration jars from the installed system rather than distributing the jars in tomcat-lib package. --- tomcat.spec | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/tomcat.spec b/tomcat.spec index b25b959..6b5787b 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -191,7 +191,7 @@ touch HACK -Dbnd-annotation.jar="$(build-classpath aqute-bnd/biz.aQute.bnd.annotation)" \ -Dversion="%{version}" \ -Dversion.build="%{micro_version}" \ - -Dmigration-lib.jar="$(build-classpath tomcat-jakartaee-migration/jakartaee-migration.jar)" \ + -Dmigration-lib.jar="$(build-classpath tomcat-jakartaee-migration/jakartaee-migration)" \ deploy # remove some jars that we'll replace with symlinks later @@ -310,15 +310,8 @@ popd %{__install} %{SOURCE11} ${RPM_BUILD_ROOT}%{_unitdir}/%{name}@.service %{__install} %{SOURCE12} ${RPM_BUILD_ROOT}%{confdir}/conf.d/ -pushd output/build - %{_bindir}/build-jar-repository lib ecj 2>&1 - %{_bindir}/build-jar-repository lib tomcat-jakartaee-migration 2>&1 -popd - -pushd ${RPM_BUILD_ROOT}%{libdir} - %{__cp} $(build-classpath ecj/ecj) ecj-x.jar - %{__cp} $(build-classpath tomcat-jakartaee-migration/jakartaee-migration) jakartaee-migration-x.jar -popd +ln -sr $(build-classpath ecj/ecj) ${RPM_BUILD_ROOT}%{libdir}/ecj-x.jar +ln -sr $(build-classpath tomcat-jakartaee-migration/jakartaee-migration) ${RPM_BUILD_ROOT}%{libdir}/jakartaee-migration-x.jar ln -sr %{confdir} ${RPM_BUILD_ROOT}%{baseconfdir} ln -sr %{cachedir} ${RPM_BUILD_ROOT}%{workdir} From 2c9c3acaccc5eb73509a13d07e1115c005448592 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Thu, 13 Feb 2025 15:41:04 +0200 Subject: [PATCH 08/81] Remove javapackages test case rule from gating --- gating.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/gating.yaml b/gating.yaml index b81b8c4..e49f5a7 100644 --- a/gating.yaml +++ b/gating.yaml @@ -9,5 +9,4 @@ rules: - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpmdeplint.functional} - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpminspect.static-analysis} - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.installability.functional} - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/javapackages.functional} - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/smoke.functional} From 6674f439580f7a89e0a6be49407950a3b163aea9 Mon Sep 17 00:00:00 2001 From: Packit Date: Mon, 17 Feb 2025 10:57:12 +0000 Subject: [PATCH 09/81] Update to 9.0.100 upstream release - Resolves: rhbz#2346089 Upstream tag: 9.0.100 Upstream commit: ef8388bc Commit authored by Packit automation (https://packit.dev/) --- sources | 2 +- tomcat.spec | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/sources b/sources index f13e7ab..001035f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (apache-tomcat-9.0.99-src.tar.gz) = 87431afb3f7d4eaf2ede17a945f49e44f27d55af508fea901a5415f1b50e40254d344d848b34574a63ccd4dd927aa79e20dea60ab3a01f09a3a43b7d852faaf2 +SHA512 (apache-tomcat-9.0.100-src.tar.gz) = 0fb016596d1c71da54c7bae8b2b1d5976247127b120234292e96d72d7d244abd9eb0d8f44a1c93eaff853ecf091be34087c113058ae12e9d4dbadc77673b1522 diff --git a/tomcat.spec b/tomcat.spec index d4f1046..202264e 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -31,7 +31,7 @@ %global jspspec 2.3 %global major_version 9 %global minor_version 0 -%global micro_version 99 +%global micro_version 100 %global packdname apache-tomcat-%{version}-src %global servletspec 4.0 %global elspec 3.0 @@ -551,6 +551,10 @@ fi %{appdir}/ROOT %changelog +* Mon Feb 17 2025 Packit - 1:9.0.100-1 +- Update to version 9.0.100 +- Resolves: rhbz#2346089 + * Mon Feb 10 2025 Packit - 1:9.0.99-1 - Update to version 9.0.99 - Resolves: rhbz#2344641 From 0ca450977f6e29b85c371b7cc706b3d61decedd5 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Mon, 17 Feb 2025 15:28:21 +0200 Subject: [PATCH 10/81] - This commit introduces the major change of dropping the custom scripts and using the upstream scripts for tomcat deployment. - Fix links created by %mvn_file - Remove packaging of tempdir as /tmp is being used currently -Update the service and conf files --- module-start-up-parameters.conf | 8 -- tomcat-build.patch => tomcat-10.1-build.patch | 0 tomcat-10.1-digest.script | 45 --------- tomcat-10.1-locate-java.sh | 21 +++++ tomcat-10.1-start.sh | 18 ++++ tomcat-10.1-tool-wrapper.script | 45 --------- ...pp.patch => tomcat-10.1-users-webapp.patch | 0 tomcat-10.1.conf | 54 ++++------- tomcat-10.1.service | 35 +++++-- tomcat-10.1.sysconfig | 11 --- tomcat-10.1.wrapper | 24 ----- tomcat-functions | 21 ----- tomcat-named.service | 24 ----- tomcat-preamble | 52 ---------- tomcat-server | 25 ----- tomcat.spec | 94 +++++-------------- 16 files changed, 110 insertions(+), 367 deletions(-) delete mode 100644 module-start-up-parameters.conf rename tomcat-build.patch => tomcat-10.1-build.patch (100%) delete mode 100644 tomcat-10.1-digest.script create mode 100644 tomcat-10.1-locate-java.sh create mode 100644 tomcat-10.1-start.sh delete mode 100644 tomcat-10.1-tool-wrapper.script rename tomcat-10.1-tomcat-users-webapp.patch => tomcat-10.1-users-webapp.patch (100%) delete mode 100644 tomcat-10.1.sysconfig delete mode 100644 tomcat-10.1.wrapper delete mode 100644 tomcat-functions delete mode 100644 tomcat-named.service delete mode 100644 tomcat-preamble delete mode 100644 tomcat-server diff --git a/module-start-up-parameters.conf b/module-start-up-parameters.conf deleted file mode 100644 index 7f8652a..0000000 --- a/module-start-up-parameters.conf +++ /dev/null @@ -1,8 +0,0 @@ -# Add the module start-up parameters required by Tomcat -JAVA_OPTS="$JAVA_OPTS --add-opens=java.base/java.lang=ALL-UNNAMED" -JAVA_OPTS="$JAVA_OPTS --add-opens=java.base/java.io=ALL-UNNAMED" -JAVA_OPTS="$JAVA_OPTS --add-opens=java.base/java.util=ALL-UNNAMED" -JAVA_OPTS="$JAVA_OPTS --add-opens=java.base/java.util.concurrent=ALL-UNNAMED" -JAVA_OPTS="$JAVA_OPTS --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED" -export JAVA_OPTS - diff --git a/tomcat-build.patch b/tomcat-10.1-build.patch similarity index 100% rename from tomcat-build.patch rename to tomcat-10.1-build.patch diff --git a/tomcat-10.1-digest.script b/tomcat-10.1-digest.script deleted file mode 100644 index ce4aa0f..0000000 --- a/tomcat-10.1-digest.script +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh -# -# tomcat-digest script -# JPackage Project - -# 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 munging -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" -export CLASSPATH - -# Configuration -MAIN_CLASS="org.apache.catalina.startup.Tool" -BASE_FLAGS="-Dcatalina.home=\"$CATALINA_HOME\"" -BASE_OPTIONS="" -BASE_JARS="commons-daemon tomcat/catalina servlet tomcat/tomcat-util tomcat/tomcat-coyote tomcat/tomcat-api tomcat/tomcat-util-scan" - -# Set parameters -set_classpath $BASE_JARS -set_flags $BASE_FLAGS -set_options $BASE_OPTIONS - -# Let's start -run -server org.apache.catalina.realm.RealmBase "$@" diff --git a/tomcat-10.1-locate-java.sh b/tomcat-10.1-locate-java.sh new file mode 100644 index 0000000..cb272e7 --- /dev/null +++ b/tomcat-10.1-locate-java.sh @@ -0,0 +1,21 @@ +#!/bin/sh +# Script looking for a Java runtime suitable for running Tomcat. +#The Java runtime found is exported in the JAVA_HOME environment variable. +set -e +if [ -z "$JAVA_HOME" ]; then + INSTALLATION_PATH="/usr/lib/jvm/" + for jvmdir in "${INSTALLATION_PATH}"java* "${INSTALLATION_PATH}"jre*; do + if [ -d "${jvmdir}" ] && [ -r "${jvmdir}/bin/java" ]; then + MAJOR_JAVA_VERSION=$("${jvmdir}/bin/java" --version | head -n 1 | sed -E 's/^[^0-9]*1\.([0-9]+).*/\1/; t; s/^[^0-9]*([0-9]+)\..*/\1/') + # Tomcat 10 requires Java >= 11 + if [ "${MAJOR_JAVA_VERSION}" -ge 11 ]; then + export JAVA_HOME="${jvmdir}" + exit 0 + fi + fi + done +fi +if [ -z "$JAVA_HOME" ]; then + echo "No JDK or JRE found - Please set the JAVA_HOME variable." + exit 1 +fi diff --git a/tomcat-10.1-start.sh b/tomcat-10.1-start.sh new file mode 100644 index 0000000..d682610 --- /dev/null +++ b/tomcat-10.1-start.sh @@ -0,0 +1,18 @@ +#!/bin/sh +# Startup script for Apache Tomcat with systemd + +set -e + +# Load the service settings +. /etc/tomcat/tomcat.conf + +# Try to find Java installation and set JAVA_HOME +/bin/sh /usr/libexec/tomcat/tomcat-locate-java.sh + +# Enable the Java security manager? +SECURITY="" +[ "$SECURITY_MANAGER" = "true" ] && SECURITY="-security" + + +# Start Tomcat +cd "$CATALINA_BASE" && "$CATALINA_HOME"/bin/catalina.sh run $SECURITY \ No newline at end of file diff --git a/tomcat-10.1-tool-wrapper.script b/tomcat-10.1-tool-wrapper.script deleted file mode 100644 index 949d46d..0000000 --- a/tomcat-10.1-tool-wrapper.script +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh -# -# tomcat-digest script -# JPackage Project - -# 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 munging -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" -export CLASSPATH - -# Configuration -MAIN_CLASS="org.apache.catalina.startup.Tool" -BASE_OPTIONS="" -BASE_FLAGS="-Dcatalina.home=\"$CATALINA_HOME\"" -BASE_JARS="commons-daemon tomcat/catalina servlet tomcat/tomcat-util tomcat/tomcat-coyote tomcat/tomcat-api tomcat/tomcat-util-scan" - -# Set parameters -set_classpath $BASE_JARS -set_flags $BASE_FLAGS -set_options $BASE_OPTIONS - -# Let's start -run "$@" diff --git a/tomcat-10.1-tomcat-users-webapp.patch b/tomcat-10.1-users-webapp.patch similarity index 100% rename from tomcat-10.1-tomcat-users-webapp.patch rename to tomcat-10.1-users-webapp.patch diff --git a/tomcat-10.1.conf b/tomcat-10.1.conf index c83305a..a698426 100644 --- a/tomcat-10.1.conf +++ b/tomcat-10.1.conf @@ -1,42 +1,24 @@ -# System-wide configuration file for tomcat services -# 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. +# Minimum required Java version is 11. +#export JAVA_HOME=/usr/lib/jvm/java-11 -# This variable is used to figure out if config is loaded or not. -TOMCAT_CFG_LOADED="1" +# Include here and not in JAVA_OPTS all options, that should only be used by Tomcat itself. +# Examples are heap size, GC logging, JMX ports etc. +#export CATALINA_OPTS="-Dcatalina.http.port=8082" -# In new-style instances, if CATALINA_BASE isn't specified, it will -# be constructed by joining TOMCATS_BASE and NAME. -TOMCATS_BASE="/var/lib/tomcats/" +# Java runtime options used when any command is executed. +#export JAVA_OPTS="-Xmx512m -Xms256m" -# Where your java installation lives -JAVA_HOME="/usr/lib/jvm/jre" +# To enable remote debugging uncomment the following line. +# You will then be able to use a Java debugger on port 8000. +#export JAVA_OPTS="${JAVA_OPTS} -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n" -# Where your tomcat installation lives -CATALINA_HOME="@@@TCHOME@@@" +# Java compiler to use for translating JavaServer Pages (JSPs). You can use all +# compilers that are accepted by Ant's build.compiler property. +#export JSP_COMPILER=javac +#export JAVA_OPTS="$JAVA_OPTS -Dbuild.compiler=$JSP_COMPILER" -# System-wide tmp -CATALINA_TMPDIR="/var/cache/tomcat/temp" +# Enable the Java security manager? (true/false, default: false) +#export SECURITY_MANAGER=true -# You can change your tomcat locale here -#LANG="en_US" - -# Run tomcat under the Java Security Manager -SECURITY_MANAGER="false" - -# If you wish to further customize your tomcat environment, -# put your own definitions here -# (i.e. LD_LIBRARY_PATH for some jdbc drivers) - -# You can also pass parameters to Java here by defining JAVA_OPTS variable -# (e.g. JAVA_OPTS="-Xminf0.1 -Xmaxf0.3") +# Whether to compress logfiles older than today's +#export LOGFILE_COMPRESS=1 \ No newline at end of file diff --git a/tomcat-10.1.service b/tomcat-10.1.service index 832e7c6..55639b2 100644 --- a/tomcat-10.1.service +++ b/tomcat-10.1.service @@ -1,20 +1,39 @@ -# Systemd unit file for default tomcat -# -# To create clones of this service: -# DO NOTHING, use tomcat@.service instead. +# Systemd unit file for for Apache Tomcat [Unit] Description=Apache Tomcat Web Application Container +Documentation=https://tomcat.apache.org/tomcat-10.1-doc/index.html After=syslog.target network.target +RequiresMountsFor=/var/log/tomcat /var/lib/tomcat [Service] +# Configuration +Environment="CATALINA_HOME=/usr/share/tomcat" +Environment="CATALINA_BASE=/var/lib/tomcat" +Environment="CATALINA_TMPDIR=/tmp" +Environment="JAVA_OPTS=-Djava.awt.headless=true" + +# Lifecycle Type=simple -EnvironmentFile=/etc/tomcat/tomcat.conf -Environment="NAME=" -EnvironmentFile=-/etc/sysconfig/tomcat -ExecStart=/usr/libexec/tomcat/server start +ExecStart=/bin/sh /usr/libexec/tomcat/tomcat-start.sh SuccessExitStatus=143 +Restart=on-abort + +# Logging +SyslogIdentifier=tomcat + +# Security User=tomcat +Group=tomcat +PrivateTmp=yes +AmbientCapabilities=CAP_NET_BIND_SERVICE +NoNewPrivileges=true +CacheDirectory=tomcat +CacheDirectoryMode=750 +ProtectSystem=strict +ReadWritePaths=/etc/tomcat/Catalina/ +ReadWritePaths=/var/lib/tomcat/webapps/ +ReadWritePaths=/var/log/tomcat/ [Install] WantedBy=multi-user.target diff --git a/tomcat-10.1.sysconfig b/tomcat-10.1.sysconfig deleted file mode 100644 index 3117bf7..0000000 --- a/tomcat-10.1.sysconfig +++ /dev/null @@ -1,11 +0,0 @@ -# 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. diff --git a/tomcat-10.1.wrapper b/tomcat-10.1.wrapper deleted file mode 100644 index c97cb85..0000000 --- a/tomcat-10.1.wrapper +++ /dev/null @@ -1,24 +0,0 @@ -#!/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 diff --git a/tomcat-functions b/tomcat-functions deleted file mode 100644 index 1187653..0000000 --- a/tomcat-functions +++ /dev/null @@ -1,21 +0,0 @@ -#!/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() { - run_java $@ -} - diff --git a/tomcat-named.service b/tomcat-named.service deleted file mode 100644 index b6cd8bd..0000000 --- a/tomcat-named.service +++ /dev/null @@ -1,24 +0,0 @@ -# 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 - -[Install] -WantedBy=multi-user.target diff --git a/tomcat-preamble b/tomcat-preamble deleted file mode 100644 index 1271dca..0000000 --- a/tomcat-preamble +++ /dev/null @@ -1,52 +0,0 @@ -#!/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" -CLASSPATH="${CLASSPATH}:$(build-classpath commons-daemon 2>/dev/null)" - -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 diff --git a/tomcat-server b/tomcat-server deleted file mode 100644 index 17ae385..0000000 --- a/tomcat-server +++ /dev/null @@ -1,25 +0,0 @@ -#!/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 diff --git a/tomcat.spec b/tomcat.spec index 6b5787b..e39e9e4 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -20,7 +20,6 @@ %global libdir %{_javadir}/%{name} %global logdir %{_var}/log/%{name} %global cachedir %{_var}/cache/%{name} -%global tempdir %{cachedir}/temp %global workdir %{basedir}/work Name: tomcat @@ -34,22 +33,15 @@ License: Apache-2.0 URL: http://tomcat.apache.org/ Source0: http://www.apache.org/dist/tomcat/tomcat-%{major_version}/v%{version}/src/%{packdname}.tar.gz Source1: %{name}-%{major_version}.%{minor_version}.conf -Source2: %{name}-%{major_version}.%{minor_version}.sysconfig -Source3: %{name}-%{major_version}.%{minor_version}.wrapper -Source4: %{name}-%{major_version}.%{minor_version}.logrotate -Source5: %{name}-%{major_version}.%{minor_version}-digest.script -Source6: %{name}-%{major_version}.%{minor_version}-tool-wrapper.script -Source7: %{name}-%{major_version}.%{minor_version}.service -Source8: %{name}-functions -Source9: %{name}-preamble -Source10: %{name}-server -Source11: %{name}-named.service -Source12: module-start-up-parameters.conf +Source2: %{name}-%{major_version}.%{minor_version}.logrotate +Source3: %{name}-%{major_version}.%{minor_version}.service +Source4: %{name}-%{major_version}.%{minor_version}-locate-java.sh +Source5: %{name}-%{major_version}.%{minor_version}-start.sh # https://bugzilla.redhat.com/show_bug.cgi?id=435829 Patch0: %{name}-%{major_version}.%{minor_version}-bootstrap-MANIFEST.MF.patch -Patch1: %{name}-%{major_version}.%{minor_version}-tomcat-users-webapp.patch -Patch2: %{name}-build.patch +Patch1: %{name}-%{major_version}.%{minor_version}-users-webapp.patch +Patch2: %{name}-%{major_version}.%{minor_version}-build.patch # catalina.policy patch to allow ECJ usage under the Security Manager Patch3: %{name}-%{major_version}.%{minor_version}-catalina-policy.patch # https://bugzilla.redhat.com/show_bug.cgi?id=1857043 @@ -60,7 +52,9 @@ Patch5: %{name}-%{major_version}.%{minor_version}-JDTCompiler.patch Patch6: rhbz-1857043.patch BuildArch: noarch -ExclusiveArch: %{java_arches} noarch +# Can't use noarch since we are packaging tomcat-jni.jar. +# See: https://docs.fedoraproject.org/en-US/packaging-guidelines/Java/#_architecture_support +ExclusiveArch: %{java_arches} BuildRequires: ant BuildRequires: ecj @@ -69,9 +63,9 @@ BuildRequires: java-devel BuildRequires: javapackages-local BuildRequires: aqute-bnd BuildRequires: tomcat-jakartaee-migration +BuildRequires: systemd Requires: (java-headless >= 11 or java >= 11) -Requires: javapackages-tools Requires: %{name}-lib = %{epoch}:%{version}-%{release} Recommends: tomcat-native >= %{native_version} Requires: systemd @@ -118,7 +112,6 @@ Requires: %{name}-servlet-%{servletspec}-api = %{epoch}:%{version}-%{release} Requires: %{name}-el-%{elspec}-api = %{epoch}:%{version}-%{release} Requires: ecj >= 4.20 Recommends: tomcat-jakartaee-migration -Requires(preun): coreutils %description lib Libraries needed to run the Tomcat Web container. @@ -202,10 +195,8 @@ touch HACK %install # build initial path structure -%{__install} -d ${RPM_BUILD_ROOT}%{_bindir} -%{__install} -d ${RPM_BUILD_ROOT}%{_sbindir} +# %{__install} -d ${RPM_BUILD_ROOT}%{_bindir} %{__install} -d ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d -%{__install} -d ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig %{__install} -d ${RPM_BUILD_ROOT}%{appdir} %{__install} -d ${RPM_BUILD_ROOT}%{bindir} %{__install} -d ${RPM_BUILD_ROOT}%{confdir} @@ -214,12 +205,19 @@ touch HACK /bin/echo "Place your custom *.conf files here. Shell expansion is supported." > ${RPM_BUILD_ROOT}%{confdir}/conf.d/README %{__install} -d ${RPM_BUILD_ROOT}%{libdir} %{__install} -d ${RPM_BUILD_ROOT}%{logdir} -%{__install} -d ${RPM_BUILD_ROOT}%{_localstatedir}/lib/tomcats %{__install} -d ${RPM_BUILD_ROOT}%{homedir} -%{__install} -d ${RPM_BUILD_ROOT}%{tempdir} +%{__install} -d ${RPM_BUILD_ROOT}%{cachedir} %{__install} -d ${RPM_BUILD_ROOT}%{_unitdir} %{__install} -d ${RPM_BUILD_ROOT}%{_libexecdir}/%{name} +%{__install} %{SOURCE1} ${RPM_BUILD_ROOT}%{confdir}/%{name}.conf +%{__sed} -e "s|\@\@\@TCLOG\@\@\@|%{logdir}|g" %{SOURCE2} > ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}.disabled +%{__install} %{SOURCE3} ${RPM_BUILD_ROOT}%{_unitdir}/%{name}.service +%{__install} %{SOURCE4} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/%{name}-locate-java.sh +%{__install} %{SOURCE5} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/%{name}-start.sh + +%{__install} -D tomcat.sysusers.conf ${RPM_BUILD_ROOT}%{_sysusersdir}/tomcat.conf + for jar in output/build/lib/*.jar; do # Skip Jar if empty, applies to tomcat-coyote-ffm.jar atm jar tf ${jar} | grep -E -q '.*\.class' || continue @@ -237,7 +235,7 @@ for jar in output/build/lib/*.jar; do sed -i "s/@MAVEN.DEPLOY.VERSION@/%{version}/g" ${pom} case "${jarname}" in - tomcat-jni) %mvn_file org.apache.tomcat:tomcat-jni tomcat/tomcat-jni ${RPM_BUILD_ROOT}%{libdir}/tomcat-jni ;; + tomcat-jni) %mvn_file org.apache.tomcat:tomcat-jni tomcat/tomcat-jni %{libdir}/tomcat-jni ;; jsp-api) %mvn_file org.apache.tomcat:tomcat-jsp-api tomcat/jsp-api tomcat/%{name}-jsp-%{jspspec}-api %{name}-jsp-%{jspspec}-api %{name}-jsp-api ;; servlet-api) %mvn_file org.apache.tomcat:tomcat-servlet-api tomcat/servlet-api tomcat/%{name}-servlet-%{servletspec}-api %{name}-servlet-%{servletspec}-api %{name}-servlet-api ;; el-api) %mvn_file org.apache.tomcat:tomcat-el-api tomcat/el-api tomcat/%{name}-el-%{servletspec}-api %{name}-el-%{servletspec}-api %{name}-el-api ;; @@ -255,9 +253,8 @@ sed -i "s/@MAVEN.DEPLOY.VERSION@/%{version}/g" res/maven/tomcat-juli.pom # bootstrap does not have a pom, generate one %mvn_artifact 'org.apache.tomcat:tomcat-bootstrap:%{version}' output/build/bin/bootstrap.jar -#Create symlinks to bindir -%mvn_file :tomcat-bootstrap tomcat/tomcat-bootstrap ${RPM_BUILD_ROOT}%{bindir}/bootstrap.jar -%mvn_file :tomcat-juli tomcat/tomcat-juli ${RPM_BUILD_ROOT}%{bindir}/tomcat-juli.jar +%mvn_file org.apache.tomcat:tomcat-bootstrap tomcat/tomcat-bootstrap +%mvn_file org.apache.tomcat:tomcat-juli tomcat/tomcat-juli # tomcat-parent pom sed -i "s/@MAVEN.DEPLOY.VERSION@/%{version}/g" res/maven/tomcat.pom @@ -276,56 +273,24 @@ jar ufm ${RPM_BUILD_ROOT}%{libdir}/servlet-api.jar <(echo "JavaPackages-GroupId: # move things into place pushd output/build - %{__cp} -a bin/*.xml ${RPM_BUILD_ROOT}%{bindir} + %{__cp} -a bin/* ${RPM_BUILD_ROOT}%{bindir} %{__cp} -a conf/*.{policy,properties,xml} ${RPM_BUILD_ROOT}%{confdir} %{__cp} -a webapps/* ${RPM_BUILD_ROOT}%{appdir} popd -%{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \ - -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \ - -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE1} \ - > ${RPM_BUILD_ROOT}%{confdir}/%{name}.conf -%{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \ - -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \ - -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE2} \ - > ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/%{name} -%{__install} %{SOURCE3} \ - ${RPM_BUILD_ROOT}%{_sbindir}/%{name} -%{__install} %{SOURCE7} \ - ${RPM_BUILD_ROOT}%{_unitdir}/%{name}.service -%{__sed} -e "s|\@\@\@TCLOG\@\@\@|%{logdir}|g" %{SOURCE4} \ - > ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}.disabled -%{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \ - -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \ - -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE5} \ - > ${RPM_BUILD_ROOT}%{_bindir}/%{name}-digest -%{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \ - -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \ - -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE6} \ - > ${RPM_BUILD_ROOT}%{_bindir}/%{name}-tool-wrapper - -%{__install} %{SOURCE8} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/functions -%{__install} %{SOURCE9} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/preamble -%{__install} %{SOURCE10} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/server -%{__install} %{SOURCE11} ${RPM_BUILD_ROOT}%{_unitdir}/%{name}@.service -%{__install} %{SOURCE12} ${RPM_BUILD_ROOT}%{confdir}/conf.d/ - ln -sr $(build-classpath ecj/ecj) ${RPM_BUILD_ROOT}%{libdir}/ecj-x.jar ln -sr $(build-classpath tomcat-jakartaee-migration/jakartaee-migration) ${RPM_BUILD_ROOT}%{libdir}/jakartaee-migration-x.jar ln -sr %{confdir} ${RPM_BUILD_ROOT}%{baseconfdir} ln -sr %{cachedir} ${RPM_BUILD_ROOT}%{workdir} ln -sr %{logdir} ${RPM_BUILD_ROOT}%{baselogdir} - -install -m0644 -D tomcat.sysusers.conf %{buildroot}%{_sysusersdir}/tomcat.conf +ln -sr %{libdir} ${RPM_BUILD_ROOT}%{homedir}/lib %post # install but don't activate %systemd_post %{name}.service %preun -# clean tempdir and workdir on removal or upgrade -%{__rm} -rf %{workdir}/* %{tempdir}/* %systemd_preun %{name}.service %postun @@ -333,14 +298,8 @@ install -m0644 -D tomcat.sysusers.conf %{buildroot}%{_sysusersdir}/tomcat.conf %files %doc {LICENSE,NOTICE,RELEASE-NOTES,RUNNING.txt} -%{_bindir}/%{name}-digest -%{_bindir}/%{name}-tool-wrapper -%{_sbindir}/%{name} %{_unitdir}/%{name}.service -%{_unitdir}/%{name}@.service %{_libexecdir}/%{name} -%{_localstatedir}/lib/tomcats -%config(noreplace) %{_sysconfdir}/sysconfig/%{name} %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}.disabled %{_sysusersdir}/tomcat.conf %{homedir} @@ -349,7 +308,6 @@ install -m0644 -D tomcat.sysusers.conf %{buildroot}%{_sysusersdir}/tomcat.conf %{workdir} %attr(2770,tomcat,adm) %dir %{logdir} %attr(750,tomcat,tomcat) %dir %{cachedir} -%attr(0770,root,tomcat) %{tempdir} %attr(2775,tomcat,tomcat) %dir %{appdir} %{confdir}/conf.d @@ -376,9 +334,9 @@ install -m0644 -D tomcat.sysusers.conf %{buildroot}%{_sysusersdir}/tomcat.conf %{appdir}/docs %files lib -f .mfiles -%defattr(644, root, tomcat, 2775) %{libdir}/jakartaee-migration-x.jar %{libdir}/ecj-x.jar +%exclude %{libdir}/tomcat-jni.pom %files jsp-%{jspspec}-api -f .mfiles-tomcat-jsp-api %doc LICENSE From da88992d305c75f9c407eeedbd28be0ef038237d Mon Sep 17 00:00:00 2001 From: dsoumis Date: Wed, 19 Feb 2025 13:47:07 +0200 Subject: [PATCH 11/81] Introduce tomcat-common subpackage --- tomcat.spec | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/tomcat.spec b/tomcat.spec index e39e9e4..7ad4bc5 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -65,8 +65,7 @@ BuildRequires: aqute-bnd BuildRequires: tomcat-jakartaee-migration BuildRequires: systemd -Requires: (java-headless >= 11 or java >= 11) -Requires: %{name}-lib = %{epoch}:%{version}-%{release} +Requires: %{name}-common = %{epoch}:%{version}-%{release} Recommends: tomcat-native >= %{native_version} Requires: systemd @@ -105,6 +104,14 @@ Conflicts: tomcat-jsp-2.3-api %description jsp-%{jspspec}-api Apache Tomcat JSP API Implementation Classes. +%package common +Summary: Apache Tomcat - Servlet and JSP engine -- common files +Requires: (java-headless >= 11 or java >= 11) +Requires: %{name}-lib = %{epoch}:%{version}-%{release} + +%description common +Apache Tomcat - Servlet and JSP engine -- common files + %package lib Summary: Libraries needed to run the Tomcat Web container Requires: %{name}-jsp-%{jspspec}-api = %{epoch}:%{version}-%{release} @@ -263,6 +270,7 @@ sed -i "s/@MAVEN.DEPLOY.VERSION@/%{version}/g" res/maven/tomcat.pom %mvn_package ":tomcat-el-api" tomcat-el-api %mvn_package ":tomcat-jsp-api" tomcat-jsp-api %mvn_package ":tomcat-servlet-api" tomcat-servlet-api +%mvn_package ":tomcat-bootstrap" tomcat-common %mvn_install @@ -299,10 +307,9 @@ ln -sr %{libdir} ${RPM_BUILD_ROOT}%{homedir}/lib %files %doc {LICENSE,NOTICE,RELEASE-NOTES,RUNNING.txt} %{_unitdir}/%{name}.service -%{_libexecdir}/%{name} +%{_libexecdir}/%{name}/tomcat-start.sh %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}.disabled %{_sysusersdir}/tomcat.conf -%{homedir} %{baseconfdir} %{baselogdir} %{workdir} @@ -333,7 +340,12 @@ ln -sr %{libdir} ${RPM_BUILD_ROOT}%{homedir}/lib %files docs-webapp %{appdir}/docs +%files common -f .mfiles-tomcat-common +%{_libexecdir}/%{name}/tomcat-locate-java.sh +%{homedir}/bin + %files lib -f .mfiles +%{homedir}/lib %{libdir}/jakartaee-migration-x.jar %{libdir}/ecj-x.jar %exclude %{libdir}/tomcat-jni.pom From 6313caf0fda55b4b222de9fbe5a31d7d46c7cf69 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Wed, 19 Feb 2025 14:10:51 +0200 Subject: [PATCH 12/81] Add min_java_version variable --- tomcat.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tomcat.spec b/tomcat.spec index 7ad4bc5..f603e54 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -6,6 +6,7 @@ %global servletspec 6.0 %global elspec 5.0 %global tcuid 53 +%global min_java_version 11 # Recommended version is specified in java/org/apache/catalina/core/AprLifecycleListener.java %global native_version 2.0.8 @@ -106,7 +107,7 @@ Apache Tomcat JSP API Implementation Classes. %package common Summary: Apache Tomcat - Servlet and JSP engine -- common files -Requires: (java-headless >= 11 or java >= 11) +Requires: (java-headless >= %{min_java_version} or java >= %{min_java_version}) Requires: %{name}-lib = %{epoch}:%{version}-%{release} %description common From e4b70e261a6f8ce13784f4ec086867792000c8d1 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Thu, 20 Feb 2025 18:33:17 +0200 Subject: [PATCH 13/81] Reorganize docs and add RUNNING.txt file in tomcat-common package --- tomcat-10.1-RUNNING.txt | 133 ++++++++++++++++++++++++++++++++++++++++ tomcat-10.1.conf | 4 +- tomcat.spec | 23 +++++-- 3 files changed, 154 insertions(+), 6 deletions(-) create mode 100644 tomcat-10.1-RUNNING.txt diff --git a/tomcat-10.1-RUNNING.txt b/tomcat-10.1-RUNNING.txt new file mode 100644 index 0000000..e114b14 --- /dev/null +++ b/tomcat-10.1-RUNNING.txt @@ -0,0 +1,133 @@ +================================================================================ + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +================================================================================ + + =================================================== + Running The Apache Tomcat 10.1 Servlet/JSP Container + =================================================== + +Apache Tomcat 10.1 requires a Java Standard Edition Runtime +Environment (JRE) version 11 or later. + +============================= +Running With JRE 11 Or Later +============================= + +(1) Download and Install a Java SE Runtime Environment (JRE) or a full Java Development Kit (JDK), release version 11 or later. + +(2) Configure Environment Variables + +Tomcat is a Java application and does not use environment variables directly. +Environment variables are used by the Tomcat startup scripts. The scripts use +the environment variables to prepare the command that starts Tomcat. + +The CATALINA_HOME (required) environment variable should be set to the location of the +root directory of the "binary" distribution of Tomcat. It defaults to /usr/share/tomcat/ + +The CATALINA_BASE (optional) environment variable specifies location of the root +directory of the "active configuration" of Tomcat. It defaults to /var/lib/tomcat/ + +(3) Set JAVA_HOME (required) + +Variable is used to specify location of a Java Runtime +Environment or of a Java Development Kit that is used to start Tomcat. + +/usr/libexec/tomcat/tomcat-locate-java.sh script is ran by default when starting the tomcat service +and tries to set JAVA_HOME, if empty, without any user interaction. + +(4) Other variables (optional) + +See the comments at the top of /usr/share/tomcat/bin/catalina.sh script for +the list and a description of each of them. + +One frequently used variable is CATALINA_OPTS. It allows specification of +additional options for the java command that starts Tomcat. + +See the Java documentation for the options that affect the Java Runtime +Environment. + +See the "System Properties" page in the Tomcat Configuration Reference for +the system properties that are specific to Tomcat. + +A similar variable is JAVA_OPTS. It is used less frequently. It allows +specification of options that are used both to start and to stop Tomcat as well +as for other commands. + +Note: Do not use JAVA_OPTS to specify memory limits. You do not need much +memory for a small process that is used to stop Tomcat. Those settings +belong to CATALINA_OPTS. + +Another frequently used variable is CATALINA_PID. It +specifies the location of the file where process id of the forked Tomcat +java process will be written. This setting is optional. It will activate +the following features: + + * better protection against duplicate start attempts and + * allows forceful termination of Tomcat process when it does not react to + the standard shutdown command. + +You can assign those variables in /etc/tomcat/tomcat.conf when running Tomcat as a service. + +(4) Start Up Tomcat As A Service + +(4.1) Tomcat can be started by executing: + + $systemctl start tomcat.service + +(4.2) After startup, the default web applications included with tomcat-webapps package will be + available by visiting: + + http://localhost:8080/ + +(4.3) Further information about configuring and running Tomcat can be found in + the documentation included in tomcat-docs-webapp package, as well as on the Tomcat website: + + https://tomcat.apache.org/ + +(5) Check Tomcat Service Status + +$systemctl status tomcat.service + +(6) Shut Down Tomcat Service + +$systemctl stop tomcat.service + +================ +Troubleshooting +================ + +There are only really 2 things likely to go wrong during the stand-alone +Tomcat install: + +(1) The most common hiccup is when another web server (or any process for that + matter) has laid claim to port 8080. This is the default HTTP port that + Tomcat attempts to bind to at startup. To change this, open the file: + + $CATALINA_HOME/conf/server.xml + + and search for '8080'. Change it to a port that isn't in use, and is + greater than 1024, as ports less than or equal to 1024 require superuser + access to bind under UNIX. + + Restart Tomcat and you're in business. Be sure that you replace the "8080" + in the URL you're using to access Tomcat. For example, if you change the + port to 1977, you would request the URL http://localhost:1977/ in your + browser. + +(2) The 'localhost' machine isn't found. This could happen if you're behind a + proxy. If that's the case, make sure the proxy configuration for your + browser knows that you shouldn't be going through the proxy to access the + "localhost". diff --git a/tomcat-10.1.conf b/tomcat-10.1.conf index a698426..fbb3951 100644 --- a/tomcat-10.1.conf +++ b/tomcat-10.1.conf @@ -3,10 +3,10 @@ # Include here and not in JAVA_OPTS all options, that should only be used by Tomcat itself. # Examples are heap size, GC logging, JMX ports etc. -#export CATALINA_OPTS="-Dcatalina.http.port=8082" +#export CATALINA_OPTS="-Xmx512m -Xms256m" # Java runtime options used when any command is executed. -#export JAVA_OPTS="-Xmx512m -Xms256m" +#export JAVA_OPTS="" # To enable remote debugging uncomment the following line. # You will then be able to use a Java debugger on port 8000. diff --git a/tomcat.spec b/tomcat.spec index f603e54..a50a7d6 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -38,6 +38,7 @@ Source2: %{name}-%{major_version}.%{minor_version}.logrotate Source3: %{name}-%{major_version}.%{minor_version}.service Source4: %{name}-%{major_version}.%{minor_version}-locate-java.sh Source5: %{name}-%{major_version}.%{minor_version}-start.sh +Source6: %{name}-%{major_version}.%{minor_version}-RUNNING.txt # https://bugzilla.redhat.com/show_bug.cgi?id=435829 Patch0: %{name}-%{major_version}.%{minor_version}-bootstrap-MANIFEST.MF.patch @@ -166,6 +167,12 @@ find . -type f \( -name "*.bat" -o -name "*.class" -o -name Thumbs.db -o -name " # Remove webservices naming resources as it's generally unused %{__rm} -rf java/org/apache/naming/factory/webservices +sed -i -e "s/@VERSION@/%{version}/g" \ + -e "s/@VERSION_MAJOR_MINOR@/%{major_version}.%{minor_version}/g" \ + -e "s/@VERSION_MAJOR@/%{major_version}/g" \ + -e "s/@MIN_JAVA_VERSION@/%{min_java_version}/g" \ + -e "s/@JDT_VERSION@/x/g" RELEASE-NOTES + # Create a sysusers.d config file cat >tomcat.sysusers.conf < Date: Thu, 20 Feb 2025 18:54:37 +0200 Subject: [PATCH 14/81] Add Suggests: sections in tomcat package --- tomcat.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tomcat.spec b/tomcat.spec index a50a7d6..1bdc3c9 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -68,9 +68,14 @@ BuildRequires: tomcat-jakartaee-migration BuildRequires: systemd Requires: %{name}-common = %{epoch}:%{version}-%{release} -Recommends: tomcat-native >= %{native_version} Requires: systemd +Recommends: tomcat-native >= %{native_version} + +Suggests: %{name}-admin-webapps = %{epoch}:%{version}-%{release} +Suggests: %{name}-docs-webapp = %{epoch}:%{version}-%{release} +Suggests: %{name}-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. From 4cb746528937b2740d45c3484c3a18ad04c147e2 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Tue, 25 Feb 2025 16:49:55 +0200 Subject: [PATCH 15/81] Introduce tomcat-user-instance package --- tomcat-10.1-setenv.sh | 12 ++ tomcat-10.1-user-instance-create.asciidoc | 85 ++++++++++++ tomcat-10.1-user-instance-create.sh | 149 ++++++++++++++++++++++ tomcat.spec | 31 ++++- 4 files changed, 276 insertions(+), 1 deletion(-) create mode 100755 tomcat-10.1-setenv.sh create mode 100644 tomcat-10.1-user-instance-create.asciidoc create mode 100644 tomcat-10.1-user-instance-create.sh diff --git a/tomcat-10.1-setenv.sh b/tomcat-10.1-setenv.sh new file mode 100755 index 0000000..76bea76 --- /dev/null +++ b/tomcat-10.1-setenv.sh @@ -0,0 +1,12 @@ +#!/bin/sh +# + +export CATALINA_HOME=/usr/share/tomcat + +# Try to find Java installation and set JAVA_HOME +/bin/sh /usr/libexec/tomcat/tomcat-locate-java.sh + +# Default Java options +if [ -z "$JAVA_OPTS" ]; then + JAVA_OPTS="-Djava.awt.headless=true" +fi diff --git a/tomcat-10.1-user-instance-create.asciidoc b/tomcat-10.1-user-instance-create.asciidoc new file mode 100644 index 0000000..6c02e94 --- /dev/null +++ b/tomcat-10.1-user-instance-create.asciidoc @@ -0,0 +1,85 @@ +tomcat-user-instance-create(1) +================================ +:doctype: manpage +:man source: TOMCAT +:man manual: Apache Tomcat + +NAME +---- +tomcat-user-instance-create - Creates a standalone Tomcat instance with a separate configuration + +SYNOPSIS +-------- +*tomcat-user-instance-create* [OPTIONS] DIRECTORYNAME + +DESCRIPTION +----------- +The `tomcat-user-instance-create` script creates a self-contained Tomcat instance in a specified directory. +This instance has its own configuration, libraries, and web applications, allowing multiple independent Tomcat instances to run on the same system. + +The script automatically sets up the required `CATALINA_BASE` structure, including: +- `bin/startup.sh` – Starts the Tomcat instance. +- `bin/shutdown.sh` – Stops the Tomcat instance. + +By using this script, users can configure and manage multiple Tomcat instances independently of the system-wide Tomcat installation. + +USAGE +----- +To create a new Tomcat instance, specify the target directory where the instance should be created. +This directory **must not already exist**, as the script will create it. + +If no additional options are provided, the instance will be created with **default** ports and settings. + +OPTIONS +------- + +*-p *:: +Set the TCP port for the default HTTP connector. The default is `8080`. + +*-c *:: +Set the TCP port for the Tomcat shutdown control mechanism. The default is `8005`. + +*-w *:: +Set the shutdown keyword. When sent to the control port, this triggers a graceful shutdown of the instance. The default keyword is `SHUTDOWN`. + +*-h, --help*:: +Display usage information and exit. + +EXAMPLES +-------- +Create a Tomcat instance in `~/mytomcat` using default ports: +---- +$ tomcat-user-instance-create ~/mytomcat +---- + +Create an instance with a custom HTTP and control port: +---- +$ tomcat-user-instance-create -p 9090 -c 9005 ~/mytomcat +---- + +Create an instance with a custom shutdown keyword: +---- +$ tomcat-user-instance-create -w "STOPNOW" ~/mytomcat +---- + +NOTES +----- +- Ensure that the selected HTTP and control ports are not already in use. +- Ports **below 1024** require root privileges. +- The created instance is independent of the system-wide Tomcat installation. + +FILES +----- +The script generates a directory structure similar to: +---- +DIRECTORYNAME/ +│── bin/ +│ ├── startup.sh +│ ├── shutdown.sh +│── conf/ +│── logs/ +│── webapps/ +│── work/ +│── temp/ +│── lib/ +---- diff --git a/tomcat-10.1-user-instance-create.sh b/tomcat-10.1-user-instance-create.sh new file mode 100644 index 0000000..4854928 --- /dev/null +++ b/tomcat-10.1-user-instance-create.sh @@ -0,0 +1,149 @@ +#!/bin/sh +# Script to create a CATALINA_BASE directory for your own tomcat + +PROG=$(basename "$0") +CATALINA_HOME="/usr/share/tomcat" +TARGET="" +HPORT=8080 +CPORT=8005 +CWORD="SHUTDOWN" +warned=0 +warnlowport=0 + +usage() { + echo "Usage: $PROG [options] " + echo " directoryname: name of the tomcat instance directory to create" + echo "Options:" + echo " -h, --help Display this help message" + echo " -p HTTP port to be used by Tomcat (default is $HPORT)" + echo " -c Server shutdown control port (default is $CPORT)" + echo " -w Word to send to trigger shutdown (default is $CWORD)" +} + +checkport() { + type=$1 + port=$2 + # Fail if port is non-numeric + case "$port" in + ''|*[!0-9]*) + echo "Error: ${type} port '${port}' is not a valid TCP port number." + exit 1 + ;; + esac + + num=$((port + 1)) 2>/dev/null || { + echo "Error: ${type} port '${port}' is not a valid TCP port number." + exit 1 + } + + if [ "$num" -lt 2 ] || [ "$num" -gt 65536 ]; then + echo "Error: ${type} port '${port}' is not a valid TCP port number or is above TCP port numbers (> 65535)." + exit 1 + fi + + # Warn if port is below 1024 (once) + if [ ${warnlowport} -eq 0 ]; then + if [ "${port}" -lt 1024 ]; then + echo "Warning: ports below 1024 are reserved to the super-user." + warnlowport=1 + warned=1 + fi + fi + + # Warn if port appears to be in use + if ss -tln | grep -q ":${port} "; then + echo "Warning: ${type} port ${port} appears to be in use." + warned=1 + fi +} + +if [ "$#" -lt 1 ]; then + usage + exit 1 +fi +if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then + usage + exit 0 +fi + +while getopts ":p:c:w:h" options; do + case $options in + p ) HPORT=$OPTARG ;; + c ) CPORT=$OPTARG ;; + w ) CWORD=$OPTARG ;; + h ) usage;; + \? ) echo "Error: Unknown parameter '-$OPTARG'." + exit 1;; + esac +done + +shift $((OPTIND - 1)) +TARGET=$1 +shift +echo "You are about to create a Tomcat instance in directory '$TARGET'" + +# Fail if no target specified +if [ -z "${TARGET}" ]; then + echo "Error: No target directory specified (use -d)." + exit 1 +fi + +# Fail if ports are the same +if [ "${HPORT}" = "${CPORT}" ]; then + echo "Error: HTTP port and control port must be different." + exit 1 +fi + +# Fail if target directory already exists +if [ -d "${TARGET}" ]; then + echo "Error: Target directory already exists." + exit 1 +fi + +# Check ports +checkport HTTP "${HPORT}" +checkport Control "${CPORT}" + +# Ask for confirmation if warnings were printed out +if [ ${warned} -eq 1 ]; then + echo "Press to continue, or type 'no' to abort." + read -r answer + case "$answer" in + [nN][oO]|[nN]) + echo "Aborting." + exit 1 + ;; + esac +fi + +mkdir -p "${TARGET}" + +FULLTARGET=$(cd "${TARGET}" > /dev/null && pwd) + +mkdir "${TARGET}/conf" +mkdir "${TARGET}/logs" +mkdir "${TARGET}/webapps" +mkdir "${TARGET}/work" +mkdir "${TARGET}/temp" +cp -r "${CATALINA_HOME}/user-instance/*" "${TARGET}" + +sed -i -e "s/Connector port=\"8080\"/Connector port=\"${HPORT}\"/;s/Server port=\"-1\" shutdown=\"SHUTDOWN\"/Server port=\"${CPORT}\" shutdown=\"${CWORD}\"/" "${TARGET}/conf/server.xml" + +cat > "${TARGET}/bin/startup.sh" << EOF +#!/bin/sh +export CATALINA_BASE="${FULLTARGET}" +"${CATALINA_HOME}"/bin/startup.sh +echo "Tomcat started" +EOF + +cat > "${TARGET}/bin/shutdown.sh" << EOF +#!/bin/sh +export CATALINA_BASE="${FULLTARGET}" +"${CATALINA_HOME}"/bin/shutdown.sh +echo "Tomcat stopped" +EOF + +chmod a+x "${TARGET}/bin/startup.sh" "${TARGET}/bin/shutdown.sh" +echo "* New Tomcat instance created in ${TARGET}" +echo "* You might want to edit default configuration in ${TARGET}/conf" +echo "* Run ${TARGET}/bin/startup.sh to start your Tomcat instance" diff --git a/tomcat.spec b/tomcat.spec index 1bdc3c9..560c452 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -22,6 +22,7 @@ %global logdir %{_var}/log/%{name} %global cachedir %{_var}/cache/%{name} %global workdir %{basedir}/work +%global userinstancedir %{homedir}/user-instance Name: tomcat Epoch: 1 @@ -39,6 +40,9 @@ Source3: %{name}-%{major_version}.%{minor_version}.service Source4: %{name}-%{major_version}.%{minor_version}-locate-java.sh Source5: %{name}-%{major_version}.%{minor_version}-start.sh Source6: %{name}-%{major_version}.%{minor_version}-RUNNING.txt +Source7: %{name}-%{major_version}.%{minor_version}-user-instance-create.sh +Source8: %{name}-%{major_version}.%{minor_version}-setenv.sh +Source9: %{name}-%{major_version}.%{minor_version}-user-instance-create.asciidoc # https://bugzilla.redhat.com/show_bug.cgi?id=435829 Patch0: %{name}-%{major_version}.%{minor_version}-bootstrap-MANIFEST.MF.patch @@ -66,6 +70,7 @@ BuildRequires: javapackages-local BuildRequires: aqute-bnd BuildRequires: tomcat-jakartaee-migration BuildRequires: systemd +BuildRequires: rubygem-asciidoctor Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: systemd @@ -75,6 +80,7 @@ Recommends: tomcat-native >= %{native_version} Suggests: %{name}-admin-webapps = %{epoch}:%{version}-%{release} Suggests: %{name}-docs-webapp = %{epoch}:%{version}-%{release} Suggests: %{name}-webapps = %{epoch}:%{version}-%{release} +Suggests: %{name}-user-instance = %{epoch}:%{version}-%{release} %description Tomcat is the servlet container that is used in the official Reference @@ -155,6 +161,17 @@ Requires: %{name} = %{epoch}:%{version}-%{release} %description webapps The ROOT web application for Apache Tomcat. +%package user-instance +Summary: Apache Tomcat - Servlet and JSP engine -- tools to create user instances +Requires: %{name}-common = %{epoch}:%{version}-%{release} +Suggests: %{name} = %{epoch}:%{version}-%{release} +Suggests: %{name}-admin-webapps = %{epoch}:%{version}-%{release} +Suggests: %{name}-docs-webapp = %{epoch}:%{version}-%{release} +Suggests: %{name}-webapps = %{epoch}:%{version}-%{release} + +%description user-instance +Apache Tomcat - Servlet and JSP engine -- tools to create user instances + %prep %setup -q -n %{packdname} # remove pre-built binaries and windows files @@ -215,7 +232,6 @@ touch HACK %install # build initial path structure -# %{__install} -d ${RPM_BUILD_ROOT}%{_bindir} %{__install} -d ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d %{__install} -d ${RPM_BUILD_ROOT}%{appdir} %{__install} -d ${RPM_BUILD_ROOT}%{bindir} @@ -239,6 +255,12 @@ touch HACK %{__install} -D tomcat.sysusers.conf ${RPM_BUILD_ROOT}%{_sysusersdir}/tomcat.conf +%{__install} -d ${RPM_BUILD_ROOT}%{userinstancedir}/conf +%{__install} -D %{SOURCE7} ${RPM_BUILD_ROOT}%{_bindir}/tomcat-user-instance-create.sh +%{__install} -D %{SOURCE8} ${RPM_BUILD_ROOT}%{userinstancedir}/bin/setenv.sh + +asciidoctor -b manpage -D ${RPM_BUILD_ROOT}%{_mandir}/man1 -o tomcat-user-instance-create.1 %{SOURCE9} + for jar in output/build/lib/*.jar; do # Skip Jar if empty, applies to tomcat-coyote-ffm.jar atm jar tf ${jar} | grep -E -q '.*\.class' || continue @@ -297,6 +319,7 @@ jar ufm ${RPM_BUILD_ROOT}%{libdir}/servlet-api.jar <(echo "JavaPackages-GroupId: pushd output/build %{__cp} -a bin/* ${RPM_BUILD_ROOT}%{bindir} %{__cp} -a conf/*.{policy,properties,xml} ${RPM_BUILD_ROOT}%{confdir} + %{__cp} -a conf/*.{policy,properties,xml} ${RPM_BUILD_ROOT}%{userinstancedir}/conf %{__cp} -a webapps/* ${RPM_BUILD_ROOT}%{appdir} popd @@ -384,5 +407,11 @@ ln -sr %{libdir} ${RPM_BUILD_ROOT}%{homedir}/lib %defattr(0644,tomcat,tomcat,0755) %{appdir}/ROOT +%files user-instance +%license LICENSE +%{userinstancedir} +%{_bindir}/tomcat-user-instance-create.sh +%{_mandir}/man1/tomcat-user-instance-create.1* + %changelog %autochangelog From fd0d6ea01f1162ad19304dd7296f2ad8c19bf8fa Mon Sep 17 00:00:00 2001 From: dsoumis Date: Wed, 26 Feb 2025 12:48:42 +0200 Subject: [PATCH 16/81] Remove redundant defattr from webapps files section --- tomcat.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/tomcat.spec b/tomcat.spec index 560c452..a1f7da4 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -404,7 +404,6 @@ ln -sr %{libdir} ${RPM_BUILD_ROOT}%{homedir}/lib %files webapps %license LICENSE -%defattr(0644,tomcat,tomcat,0755) %{appdir}/ROOT %files user-instance From c1868d66549c281c36dc3006ec37190871ceb8e5 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Wed, 26 Feb 2025 14:26:18 +0200 Subject: [PATCH 17/81] Improve package descriptions and summaries --- tomcat.spec | 142 ++++++++++++++++++++++++++++------------------------ 1 file changed, 76 insertions(+), 66 deletions(-) diff --git a/tomcat.spec b/tomcat.spec index a1f7da4..a1b5416 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -28,7 +28,7 @@ Name: tomcat Epoch: 1 Version: %{major_version}.%{minor_version}.%{micro_version} Release: %autorelease -Summary: Apache Servlet/JSP Engine, RI for Servlet %{servletspec}/JSP %{jspspec} API +Summary: Apache Tomcat - Servlet and JSP engine for system-wide deployment # Automatically converted from old format: ASL 2.0 - review is highly recommended. License: Apache-2.0 @@ -83,28 +83,75 @@ Suggests: %{name}-webapps = %{epoch}:%{version}-%{release} Suggests: %{name}-user-instance = %{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. +Apache Tomcat is an open-source implementation of the Java Servlet, JavaServer Pages (JSP), and WebSocket technologies. +It provides a pure Java HTTP web server environment for running Java applications. +This package includes only the startup scripts for managing a system-wide Tomcat daemon. +It does not include documentation or web applications. + * To install the default web applications, use the tomcat-webapps package. + * To access online documentation, install tomcat-docs-webapps package. + * To create user instances without running Tomcat as a system service, use tomcat-user-instance package instead. -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 user-instance +Summary: Apache Tomcat - Tools for creating user-managed instances +Requires: %{name}-common = %{epoch}:%{version}-%{release} +Suggests: %{name} = %{epoch}:%{version}-%{release} +Suggests: %{name}-admin-webapps = %{epoch}:%{version}-%{release} +Suggests: %{name}-docs-webapp = %{epoch}:%{version}-%{release} +Suggests: %{name}-webapps = %{epoch}:%{version}-%{release} + +%description user-instance +This package provides the tools necessary to create user-managed Tomcat instances, +allowing users to run Tomcat independently of the system-wide service. +A user instance includes its own configuration, libraries, and web applications, +which can be started and stopped using scripts inside the instance directory. + +%package common +Summary: Apache Tomcat - Common files for Tomcat packages +Requires: (java-headless >= %{min_java_version} or java >= %{min_java_version}) +Requires: %{name}-lib = %{epoch}:%{version}-%{release} + +%description common +This package contains common files required by both tomcat and tomcat-user-instance packages, including essential Tomcat +scripts and libraries. Installing this package alone does not provide a functional Tomcat installation, +but is required as a dependency for other Tomcat-related packages. + +%package lib +Summary: Apache Tomcat - Core libraries for embedding Tomcat +Requires: %{name}-jsp-%{jspspec}-api = %{epoch}:%{version}-%{release} +Requires: %{name}-servlet-%{servletspec}-api = %{epoch}:%{version}-%{release} +Requires: %{name}-el-%{elspec}-api = %{epoch}:%{version}-%{release} +Requires: ecj >= 4.20 +Recommends: tomcat-jakartaee-migration + +%description lib +This package contains the core libraries of Apache Tomcat, which allow other Java applications to embed Tomcat +as a lightweight servlet container. It is primarily intended for use by developers and applications that need Tomcat +as an embedded runtime. %package admin-webapps -Summary: The host-manager and manager web applications for Apache Tomcat +Summary: Apache Tomcat - Administrative web applications Requires: %{name} = %{epoch}:%{version}-%{release} %description admin-webapps -The host-manager and manager web applications for Apache Tomcat. +This package provides the Tomcat Web Application Manager and Virtual Host Manager, which allow administrators to deploy, +manage, and configure web applications through a web interface. +These tools simplify application lifecycle management without requiring direct filesystem access. %package docs-webapp -Summary: The docs web application for Apache Tomcat +Summary: Apache Tomcat - Online documentation web application Requires: %{name} = %{epoch}:%{version}-%{release} %description docs-webapp -The docs web application for Apache Tomcat. +This package provides the Tomcat documentation web application, accessible via the Tomcat server. +It includes API references, configuration guidelines, and development documentation. + +%package webapps +Summary: Apache Tomcat - Default ROOT web application +Requires: %{name} = %{epoch}:%{version}-%{release} + +%description webapps +This package includes the default ROOT web applications bundled with Apache Tomcat, +which serves as the default homepage when accessing Tomcat in a browser. %package jsp-%{jspspec}-api Summary: Apache Tomcat JavaServer Pages v%{jspspec} API Implementation Classes @@ -117,25 +164,6 @@ Conflicts: tomcat-jsp-2.3-api %description jsp-%{jspspec}-api Apache Tomcat JSP API Implementation Classes. -%package common -Summary: Apache Tomcat - Servlet and JSP engine -- common files -Requires: (java-headless >= %{min_java_version} or java >= %{min_java_version}) -Requires: %{name}-lib = %{epoch}:%{version}-%{release} - -%description common -Apache Tomcat - Servlet and JSP engine -- common files - -%package lib -Summary: Libraries needed to run the Tomcat Web container -Requires: %{name}-jsp-%{jspspec}-api = %{epoch}:%{version}-%{release} -Requires: %{name}-servlet-%{servletspec}-api = %{epoch}:%{version}-%{release} -Requires: %{name}-el-%{elspec}-api = %{epoch}:%{version}-%{release} -Requires: ecj >= 4.20 -Recommends: tomcat-jakartaee-migration - -%description lib -Libraries needed to run the Tomcat Web container. - %package servlet-%{servletspec}-api Summary: Apache Tomcat Java Servlet v%{servletspec} API Implementation Classes Provides: servlet = %{servletspec} @@ -154,24 +182,6 @@ Conflicts: tomcat-el-3.0-api %description el-%{elspec}-api Apache Tomcat EL API Implementation Classes. -%package webapps -Summary: The ROOT web application for Apache Tomcat -Requires: %{name} = %{epoch}:%{version}-%{release} - -%description webapps -The ROOT web application for Apache Tomcat. - -%package user-instance -Summary: Apache Tomcat - Servlet and JSP engine -- tools to create user instances -Requires: %{name}-common = %{epoch}:%{version}-%{release} -Suggests: %{name} = %{epoch}:%{version}-%{release} -Suggests: %{name}-admin-webapps = %{epoch}:%{version}-%{release} -Suggests: %{name}-docs-webapp = %{epoch}:%{version}-%{release} -Suggests: %{name}-webapps = %{epoch}:%{version}-%{release} - -%description user-instance -Apache Tomcat - Servlet and JSP engine -- tools to create user instances - %prep %setup -q -n %{packdname} # remove pre-built binaries and windows files @@ -371,14 +381,11 @@ ln -sr %{libdir} ${RPM_BUILD_ROOT}%{homedir}/lib %attr(2775,root,tomcat) %dir %{confdir}/Catalina %attr(2775,root,tomcat) %dir %{confdir}/Catalina/localhost -%files admin-webapps +%files user-instance %license LICENSE -%{appdir}/host-manager -%{appdir}/manager - -%files docs-webapp -%license LICENSE -%{appdir}/docs +%{userinstancedir} +%{_bindir}/tomcat-user-instance-create.sh +%{_mandir}/man1/tomcat-user-instance-create.1* %files common -f .mfiles-tomcat-common %license LICENSE @@ -393,6 +400,19 @@ ln -sr %{libdir} ${RPM_BUILD_ROOT}%{homedir}/lib %{libdir}/ecj-x.jar %exclude %{libdir}/tomcat-jni.pom +%files admin-webapps +%license LICENSE +%{appdir}/host-manager +%{appdir}/manager + +%files docs-webapp +%license LICENSE +%{appdir}/docs + +%files webapps +%license LICENSE +%{appdir}/ROOT + %files jsp-%{jspspec}-api -f .mfiles-tomcat-jsp-api %license LICENSE @@ -402,15 +422,5 @@ ln -sr %{libdir} ${RPM_BUILD_ROOT}%{homedir}/lib %files el-%{elspec}-api -f .mfiles-tomcat-el-api %license LICENSE -%files webapps -%license LICENSE -%{appdir}/ROOT - -%files user-instance -%license LICENSE -%{userinstancedir} -%{_bindir}/tomcat-user-instance-create.sh -%{_mandir}/man1/tomcat-user-instance-create.1* - %changelog %autochangelog From 48b049b11647bccf850d5d7d6f5355fe75222faf Mon Sep 17 00:00:00 2001 From: dsoumis Date: Wed, 26 Feb 2025 17:41:06 +0200 Subject: [PATCH 18/81] Remove logrotate file since Tomcat rotates its own logs --- tomcat-10.1.logrotate | 11 ----------- tomcat.spec | 4 ---- 2 files changed, 15 deletions(-) delete mode 100644 tomcat-10.1.logrotate diff --git a/tomcat-10.1.logrotate b/tomcat-10.1.logrotate deleted file mode 100644 index 082092a..0000000 --- a/tomcat-10.1.logrotate +++ /dev/null @@ -1,11 +0,0 @@ -# This is an example config only and is disabled by default -# If you wish to use it, you'll need to update /etc/tomcat/logging.properties -# to prevent catalina*.log from being rotated by Tomcat -@@@TCLOG@@@/catalina*.log { - copytruncate - weekly - rotate 52 - compress - missingok - create 0644 tomcat tomcat -} diff --git a/tomcat.spec b/tomcat.spec index a1b5416..fe6de25 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -35,7 +35,6 @@ License: Apache-2.0 URL: http://tomcat.apache.org/ Source0: http://www.apache.org/dist/tomcat/tomcat-%{major_version}/v%{version}/src/%{packdname}.tar.gz Source1: %{name}-%{major_version}.%{minor_version}.conf -Source2: %{name}-%{major_version}.%{minor_version}.logrotate Source3: %{name}-%{major_version}.%{minor_version}.service Source4: %{name}-%{major_version}.%{minor_version}-locate-java.sh Source5: %{name}-%{major_version}.%{minor_version}-start.sh @@ -242,7 +241,6 @@ touch HACK %install # build initial path structure -%{__install} -d ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d %{__install} -d ${RPM_BUILD_ROOT}%{appdir} %{__install} -d ${RPM_BUILD_ROOT}%{bindir} %{__install} -d ${RPM_BUILD_ROOT}%{confdir} @@ -257,7 +255,6 @@ touch HACK %{__install} -d ${RPM_BUILD_ROOT}%{_libexecdir}/%{name} %{__install} %{SOURCE1} ${RPM_BUILD_ROOT}%{confdir}/%{name}.conf -%{__sed} -e "s|\@\@\@TCLOG\@\@\@|%{logdir}|g" %{SOURCE2} > ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}.disabled %{__install} %{SOURCE3} ${RPM_BUILD_ROOT}%{_unitdir}/%{name}.service %{__install} %{SOURCE4} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/%{name}-locate-java.sh %{__install} %{SOURCE5} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/%{name}-start.sh @@ -356,7 +353,6 @@ ln -sr %{libdir} ${RPM_BUILD_ROOT}%{homedir}/lib %{homedir}/doc/RUNNING.txt %{_unitdir}/%{name}.service %{_libexecdir}/%{name}/tomcat-start.sh -%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}.disabled %{_sysusersdir}/tomcat.conf %{baseconfdir} %{baselogdir} From 74d5d938592bfab95c3a362fae14f0185e8b2435 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Wed, 26 Feb 2025 17:42:32 +0200 Subject: [PATCH 19/81] Rename service start script more properly --- tomcat-10.1-start.sh => tomcat-10.1-run.sh | 0 tomcat.spec | 6 +++--- 2 files changed, 3 insertions(+), 3 deletions(-) rename tomcat-10.1-start.sh => tomcat-10.1-run.sh (100%) diff --git a/tomcat-10.1-start.sh b/tomcat-10.1-run.sh similarity index 100% rename from tomcat-10.1-start.sh rename to tomcat-10.1-run.sh diff --git a/tomcat.spec b/tomcat.spec index fe6de25..56613ff 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -37,7 +37,7 @@ Source0: http://www.apache.org/dist/tomcat/tomcat-%{major_version}/v%{vers Source1: %{name}-%{major_version}.%{minor_version}.conf Source3: %{name}-%{major_version}.%{minor_version}.service Source4: %{name}-%{major_version}.%{minor_version}-locate-java.sh -Source5: %{name}-%{major_version}.%{minor_version}-start.sh +Source5: %{name}-%{major_version}.%{minor_version}-run.sh Source6: %{name}-%{major_version}.%{minor_version}-RUNNING.txt Source7: %{name}-%{major_version}.%{minor_version}-user-instance-create.sh Source8: %{name}-%{major_version}.%{minor_version}-setenv.sh @@ -257,7 +257,7 @@ touch HACK %{__install} %{SOURCE1} ${RPM_BUILD_ROOT}%{confdir}/%{name}.conf %{__install} %{SOURCE3} ${RPM_BUILD_ROOT}%{_unitdir}/%{name}.service %{__install} %{SOURCE4} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/%{name}-locate-java.sh -%{__install} %{SOURCE5} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/%{name}-start.sh +%{__install} %{SOURCE5} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/%{name}-run.sh %{__install} -D %{SOURCE6} ${RPM_BUILD_ROOT}%{homedir}/doc/RUNNING.txt %{__install} -D tomcat.sysusers.conf ${RPM_BUILD_ROOT}%{_sysusersdir}/tomcat.conf @@ -352,7 +352,7 @@ ln -sr %{libdir} ${RPM_BUILD_ROOT}%{homedir}/lib %license LICENSE %{homedir}/doc/RUNNING.txt %{_unitdir}/%{name}.service -%{_libexecdir}/%{name}/tomcat-start.sh +%{_libexecdir}/%{name}/tomcat-run.sh %{_sysusersdir}/tomcat.conf %{baseconfdir} %{baselogdir} From c86e1e94da32c7cbe05e5e03ebe0c939a0bae741 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Wed, 26 Feb 2025 17:44:14 +0200 Subject: [PATCH 20/81] Remove unused parameter --- tomcat-10.1.conf | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tomcat-10.1.conf b/tomcat-10.1.conf index fbb3951..dc9fec5 100644 --- a/tomcat-10.1.conf +++ b/tomcat-10.1.conf @@ -18,7 +18,4 @@ #export JAVA_OPTS="$JAVA_OPTS -Dbuild.compiler=$JSP_COMPILER" # Enable the Java security manager? (true/false, default: false) -#export SECURITY_MANAGER=true - -# Whether to compress logfiles older than today's -#export LOGFILE_COMPRESS=1 \ No newline at end of file +#export SECURITY_MANAGER=true \ No newline at end of file From 4c675c785fc5b871b842bf76ded75a82da30efe3 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Wed, 26 Feb 2025 18:13:31 +0200 Subject: [PATCH 21/81] Fix tomcat-juli.jar not placed in tomcat-common package --- tomcat.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/tomcat.spec b/tomcat.spec index 56613ff..c62b7c4 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -314,6 +314,7 @@ sed -i "s/@MAVEN.DEPLOY.VERSION@/%{version}/g" res/maven/tomcat.pom %mvn_package ":tomcat-jsp-api" tomcat-jsp-api %mvn_package ":tomcat-servlet-api" tomcat-servlet-api %mvn_package ":tomcat-bootstrap" tomcat-common +%mvn_package ":tomcat-juli" tomcat-common %mvn_install From 5bf8ad835712f9bf7bd7c3e49d108b336ce45a29 Mon Sep 17 00:00:00 2001 From: Packit Date: Thu, 6 Mar 2025 11:35:17 +0000 Subject: [PATCH 22/81] Update to 9.0.102 upstream release - Resolves: rhbz#2350305 Upstream tag: 9.0.102 Upstream commit: 2a833768 Commit authored by Packit automation (https://packit.dev/) --- sources | 2 +- tomcat.spec | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/sources b/sources index 001035f..08f22de 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (apache-tomcat-9.0.100-src.tar.gz) = 0fb016596d1c71da54c7bae8b2b1d5976247127b120234292e96d72d7d244abd9eb0d8f44a1c93eaff853ecf091be34087c113058ae12e9d4dbadc77673b1522 +SHA512 (apache-tomcat-9.0.102-src.tar.gz) = 2f06b1432a217470097704040cd7aed70e169981140f78c6fd6d46d55b2fd36fa174d85f34f288138f9373469d8c98cddeb3cd030c76dc69c724ab3e3b978095 diff --git a/tomcat.spec b/tomcat.spec index 202264e..8571f54 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -31,7 +31,7 @@ %global jspspec 2.3 %global major_version 9 %global minor_version 0 -%global micro_version 100 +%global micro_version 102 %global packdname apache-tomcat-%{version}-src %global servletspec 4.0 %global elspec 3.0 @@ -551,6 +551,10 @@ fi %{appdir}/ROOT %changelog +* Thu Mar 06 2025 Packit - 1:9.0.102-1 +- Update to version 9.0.102 +- Resolves: rhbz#2350305 + * Mon Feb 17 2025 Packit - 1:9.0.100-1 - Update to version 9.0.100 - Resolves: rhbz#2346089 From d584406620b7ae49f0457ee6a06758b6bb7c0691 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Fri, 7 Mar 2025 14:41:10 +0200 Subject: [PATCH 23/81] Update catalina-policy.patch --- tomcat-10.1-catalina-policy.patch | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/tomcat-10.1-catalina-policy.patch b/tomcat-10.1-catalina-policy.patch index 3254968..5c01b4a 100644 --- a/tomcat-10.1-catalina-policy.patch +++ b/tomcat-10.1-catalina-policy.patch @@ -1,16 +1,23 @@ ---- conf/catalina.policy.orig 2024-05-22 16:12:23.809886452 +0300 -+++ conf/catalina.policy 2024-05-22 16:14:38.913939654 +0300 -@@ -55,6 +55,14 @@ +--- conf/catalina.policy.orig 2025-03-04 21:02:32.000000000 +0200 ++++ conf/catalina.policy 2025-03-07 14:23:42.341169484 +0200 +@@ -55,6 +55,20 @@ grant codeBase "jrt:/jdk.compiler" { permission java.security.AllPermission; }; - -+// ========== RHEL SPECIFIC CODE PERMISSIONS ======================================= + ++// ========== FEDORA 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/ecj/ecj.jar" { + permission java.security.AllPermission; +}; - ++ ++grant codeBase "file:/usr/share/tomcat-jakartaee-migration/jakartaee-migration.jar" { ++ permission java.security.AllPermission; ++}; ++ ++grant codeBase "file:/usr/lib/java/tomcat/tomcat-jni.jar" { ++ permission java.security.AllPermission; ++}; ++ + // ========== CATALINA CODE PERMISSIONS ======================================= + From 740d603f373bdd64cc4d117eb731d2e432019434 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Fri, 7 Mar 2025 14:42:06 +0200 Subject: [PATCH 24/81] Reorganize installs and preserve timestamps as suggested by Fedora Packaging guidelines --- tomcat.spec | 48 +++++++++++++++++++++++------------------------- 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/tomcat.spec b/tomcat.spec index c62b7c4..b43b30a 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -34,14 +34,16 @@ Summary: Apache Tomcat - Servlet and JSP engine for system-wide deployment License: Apache-2.0 URL: http://tomcat.apache.org/ Source0: http://www.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}.service -Source4: %{name}-%{major_version}.%{minor_version}-locate-java.sh -Source5: %{name}-%{major_version}.%{minor_version}-run.sh -Source6: %{name}-%{major_version}.%{minor_version}-RUNNING.txt -Source7: %{name}-%{major_version}.%{minor_version}-user-instance-create.sh -Source8: %{name}-%{major_version}.%{minor_version}-setenv.sh -Source9: %{name}-%{major_version}.%{minor_version}-user-instance-create.asciidoc +# Source1: http://www.apache.org/dist/tomcat/tomcat-%{major_version}/v%{version}/src/%{packdname}.tar.gz +# Source2: http://www.apache.org/dist/tomcat/tomcat-%{major_version}/v%{version}/src/%{packdname}.tar.gz +Source3: %{name}-%{major_version}.%{minor_version}.conf +Source4: %{name}-%{major_version}.%{minor_version}.service +Source5: %{name}-%{major_version}.%{minor_version}-locate-java.sh +Source6: %{name}-%{major_version}.%{minor_version}-run.sh +Source7: %{name}-%{major_version}.%{minor_version}-RUNNING.txt +Source8: %{name}-%{major_version}.%{minor_version}-user-instance-create.sh +Source9: %{name}-%{major_version}.%{minor_version}-setenv.sh +Source10: %{name}-%{major_version}.%{minor_version}-user-instance-create.asciidoc # https://bugzilla.redhat.com/show_bug.cgi?id=435829 Patch0: %{name}-%{major_version}.%{minor_version}-bootstrap-MANIFEST.MF.patch @@ -243,30 +245,26 @@ touch HACK # build initial path structure %{__install} -d ${RPM_BUILD_ROOT}%{appdir} %{__install} -d ${RPM_BUILD_ROOT}%{bindir} -%{__install} -d ${RPM_BUILD_ROOT}%{confdir} %{__install} -d ${RPM_BUILD_ROOT}%{confdir}/Catalina/localhost %{__install} -d ${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 ${RPM_BUILD_ROOT}%{libdir} +# %{__install} -d ${RPM_BUILD_ROOT}%{libdir} %{__install} -d ${RPM_BUILD_ROOT}%{logdir} -%{__install} -d ${RPM_BUILD_ROOT}%{homedir} %{__install} -d ${RPM_BUILD_ROOT}%{cachedir} -%{__install} -d ${RPM_BUILD_ROOT}%{_unitdir} -%{__install} -d ${RPM_BUILD_ROOT}%{_libexecdir}/%{name} -%{__install} %{SOURCE1} ${RPM_BUILD_ROOT}%{confdir}/%{name}.conf -%{__install} %{SOURCE3} ${RPM_BUILD_ROOT}%{_unitdir}/%{name}.service -%{__install} %{SOURCE4} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/%{name}-locate-java.sh -%{__install} %{SOURCE5} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/%{name}-run.sh -%{__install} -D %{SOURCE6} ${RPM_BUILD_ROOT}%{homedir}/doc/RUNNING.txt +%{__install} -D -p %{SOURCE3} ${RPM_BUILD_ROOT}%{confdir}/%{name}.conf +%{__install} -D -p %{SOURCE4} ${RPM_BUILD_ROOT}%{_unitdir}/%{name}.service +%{__install} -D -p %{SOURCE5} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/%{name}-locate-java.sh +%{__install} -D -p %{SOURCE6} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/%{name}-run.sh +%{__install} -D -p %{SOURCE7} ${RPM_BUILD_ROOT}%{homedir}/doc/RUNNING.txt %{__install} -D tomcat.sysusers.conf ${RPM_BUILD_ROOT}%{_sysusersdir}/tomcat.conf %{__install} -d ${RPM_BUILD_ROOT}%{userinstancedir}/conf -%{__install} -D %{SOURCE7} ${RPM_BUILD_ROOT}%{_bindir}/tomcat-user-instance-create.sh -%{__install} -D %{SOURCE8} ${RPM_BUILD_ROOT}%{userinstancedir}/bin/setenv.sh +%{__install} -D -p %{SOURCE8} ${RPM_BUILD_ROOT}%{_bindir}/tomcat-user-instance-create.sh +%{__install} -D -p %{SOURCE9} ${RPM_BUILD_ROOT}%{userinstancedir}/bin/setenv.sh -asciidoctor -b manpage -D ${RPM_BUILD_ROOT}%{_mandir}/man1 -o tomcat-user-instance-create.1 %{SOURCE9} +asciidoctor -b manpage -D ${RPM_BUILD_ROOT}%{_mandir}/man1 -o tomcat-user-instance-create.1 %{SOURCE10} for jar in output/build/lib/*.jar; do # Skip Jar if empty, applies to tomcat-coyote-ffm.jar atm @@ -325,10 +323,10 @@ jar ufm ${RPM_BUILD_ROOT}%{libdir}/servlet-api.jar <(echo "JavaPackages-GroupId: # move things into place pushd output/build - %{__cp} -a bin/* ${RPM_BUILD_ROOT}%{bindir} - %{__cp} -a conf/*.{policy,properties,xml} ${RPM_BUILD_ROOT}%{confdir} - %{__cp} -a conf/*.{policy,properties,xml} ${RPM_BUILD_ROOT}%{userinstancedir}/conf - %{__cp} -a webapps/* ${RPM_BUILD_ROOT}%{appdir} + %{__cp} -ap bin/* ${RPM_BUILD_ROOT}%{bindir} + %{__cp} -ap conf/*.{policy,properties,xml} ${RPM_BUILD_ROOT}%{confdir} + %{__cp} -ap conf/*.{policy,properties,xml} ${RPM_BUILD_ROOT}%{userinstancedir}/conf + %{__cp} -ap webapps/* ${RPM_BUILD_ROOT}%{appdir} popd ln -sr $(build-classpath ecj/ecj) ${RPM_BUILD_ROOT}%{libdir}/ecj-x.jar From 03b7b8f8e69991d5b6bc8b728a56722bbe7d5f30 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Fri, 7 Mar 2025 16:25:35 +0200 Subject: [PATCH 25/81] Fix man page rendering --- tomcat-10.1-user-instance-create.asciidoc | 57 +++++++++-------------- 1 file changed, 23 insertions(+), 34 deletions(-) diff --git a/tomcat-10.1-user-instance-create.asciidoc b/tomcat-10.1-user-instance-create.asciidoc index 6c02e94..c474e16 100644 --- a/tomcat-10.1-user-instance-create.asciidoc +++ b/tomcat-10.1-user-instance-create.asciidoc @@ -1,19 +1,16 @@ -tomcat-user-instance-create(1) -================================ += tomcat-user-instance-create(1) +DIMITRIS SOUMIS :doctype: manpage :man source: TOMCAT :man manual: Apache Tomcat -NAME ----- +== NAME tomcat-user-instance-create - Creates a standalone Tomcat instance with a separate configuration SYNOPSIS --------- *tomcat-user-instance-create* [OPTIONS] DIRECTORYNAME -DESCRIPTION ------------ +== DESCRIPTION The `tomcat-user-instance-create` script creates a self-contained Tomcat instance in a specified directory. This instance has its own configuration, libraries, and web applications, allowing multiple independent Tomcat instances to run on the same system. @@ -23,16 +20,13 @@ The script automatically sets up the required `CATALINA_BASE` structure, includi By using this script, users can configure and manage multiple Tomcat instances independently of the system-wide Tomcat installation. -USAGE ------ +== USAGE To create a new Tomcat instance, specify the target directory where the instance should be created. This directory **must not already exist**, as the script will create it. If no additional options are provided, the instance will be created with **default** ports and settings. -OPTIONS -------- - +== OPTIONS *-p *:: Set the TCP port for the default HTTP connector. The default is `8080`. @@ -45,41 +39,36 @@ Set the shutdown keyword. When sent to the control port, this triggers a gracefu *-h, --help*:: Display usage information and exit. -EXAMPLES --------- +== EXAMPLES Create a Tomcat instance in `~/mytomcat` using default ports: ----- + $ tomcat-user-instance-create ~/mytomcat ----- Create an instance with a custom HTTP and control port: ----- + $ tomcat-user-instance-create -p 9090 -c 9005 ~/mytomcat ----- Create an instance with a custom shutdown keyword: ----- -$ tomcat-user-instance-create -w "STOPNOW" ~/mytomcat ----- -NOTES ------ +$ tomcat-user-instance-create -w "STOPNOW" ~/mytomcat + +== NOTES - Ensure that the selected HTTP and control ports are not already in use. - Ports **below 1024** require root privileges. - The created instance is independent of the system-wide Tomcat installation. -FILES ------ +== FILES The script generates a directory structure similar to: + ---- DIRECTORYNAME/ -│── bin/ -│ ├── startup.sh -│ ├── shutdown.sh -│── conf/ -│── logs/ -│── webapps/ -│── work/ -│── temp/ -│── lib/ +|-- bin/ +| |-- startup.sh +| |-- shutdown.sh +|-- conf/ +|-- logs/ +|-- webapps/ +|-- work/ +|-- temp/ +|-- lib/ ---- From 07f14cc8f87a7cca1ccbf054cda88a4dc1f5a7c6 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Fri, 7 Mar 2025 16:31:23 +0200 Subject: [PATCH 26/81] Update to 10.1.36 and verify signatures as suggested in the Fedora Packaging Guidelines https://docs.fedoraproject.org/en-US/packaging-guidelines/#_verifying_signatures --- .gitignore | 2 +- KEYS | 562 ++++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 3 +- tomcat.spec | 10 +- 4 files changed, 572 insertions(+), 5 deletions(-) create mode 100644 KEYS diff --git a/.gitignore b/.gitignore index 471c3e4..312c881 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -apache-tomcat-*-src.tar.gz +apache-tomcat-*-src.tar.gz* results_tomcat tomcat*.src.rpm apache-tomcat-*-src/ diff --git a/KEYS b/KEYS new file mode 100644 index 0000000..6b7231f --- /dev/null +++ b/KEYS @@ -0,0 +1,562 @@ +This file contains the PGP&GPG keys of various Apache developers. +Please don't use them for email unless you have to. Their main +purpose is code signing. + +Apache users: pgp < KEYS +Apache developers: + (pgpk -ll && pgpk -xa ) >> this file. + or + (gpg --fingerprint --list-sigs + && gpg --armor --export ) >> this file. + +Apache developers: please ensure that your key is also available via the +PGP keyservers (such as pgpkeys.mit.edu). + + +pub 4096R/2F6059E7 2009-09-18 + Key fingerprint = A9C5 DF4D 22E9 9998 D987 5A51 10C0 1C5A 2F60 59E7 +uid Mark E D Thomas +sub 4096R/5E763BEC 2009-09-18 + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Comment: GPGTools - http://gpgtools.org + +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 +c3EtcnwlXI07qk8nmCl1XudlS5KHeJ5axWLEDNJCvEuJGy4moaFllwmTUtxDzRK/ +zG6QSJEPfH8VZiEl6HBpgzlBB5aToxc+Wy7UpGzwaNrA6KvwSaB+jSxrZYtHbwBq +2U3ttmamynBF1izPuOeJAn4EEAECAGgFAksM3mcgHFNhbmRlciBUZW1tZSA8c2Fu +ZGVyQHRlbW1lLm5ldD4iHFNhbmRlciBUZW1tZSA8c2N0ZW1tZUBhcGFjaGUub3Jn +Ph0cU2FuZGVyIFRlbW1lIDxzYW5kZXJAbWUuY29tPgAKCRCbuGOw9Ru4igbUD/9+ ++F4uqkO+F6g1QNiyFM47K1NaFLga/lNp72mOOIlZMORXpBJGeL9DhbDvN5KIQqR4 +I5wCONGtzeU8P7M+uLapFZmofROABlACUeVhOPx8fOCeNz9xU4f33dKJJnAsIfis +SMMyJR9Xz/IbNWvM6Kb7hU+L86G2cZPD8uvZ7oHyY4wZWtjTHM0ne/usodJffxIj +oQFhn0vAC8hBNWStI8UUih+n+iqvvXA2cB9v3Ni3VjQOGLKSZ5Ke2jpKdYTl5zST +frHfjgjGvIdkWz0hbVMzL+urU9oIChBK6Nr3DxY/XvO8PmFGh7V+M9C/gahLCrNz +fD3vKGi7OYkp6dODPnREpOSZ7elGO5mGQnSosqzrLb7kw/vEobBbxsYDwxxl+ONZ +8yxUaBpvRIrwqNEwb1YxlMCLnpRs7TJxxitq+zF7F0MxB5sqdLHSNqxcfbxpTflz +Tn/H9h34aF7f4Qkn276XKIomhge4su7jxHNH/G9gTk6oicdalBFRMFwBRpaOivno +FmSGa1Yt7C1mBBQkRXjw52ZRx8MHKnccNNgpk5Xc7+VT9nqmoulq1JfzLsrtu4D1 +TaleWOVN4X4FYk3S2VWxLV5dhmuCy7hP0ZsXOTBjLXC5wMxJcp7I3IlIx39a6U7O +vhWbguPxyXR3AjBUsMRfO0pGZKXxDI3N+yHOWAtDcokCkwQQAQIAfQUCTNK0KDUc +SmltIEphZ2llbHNraSAoUmVsZWFzZSBTaWduaW5nIEtleSkgPGppbUBhcGFjaGUu +b3JnPiAcSmltIEphZ2llbHNraSA8amltQGphZ3VORVQuY29tPh8cSmltIEphZ2ll +bHNraSA8amltQGppbWphZy5jb20+AAoJEDTqduZ5FIWo/wEP/immECQXMIMQ9zj7 +4RU2R6YV7Slzc3YATfjwOgOwzQ3qF+UTSHui7eiYoHOwRK0OTKW6fe7bh9/XeWLB +sglUl+RNuvCNHAQNg9/p7x9mJL05e3OnGpVLVnq/yQezCWo1GWIPxodwmoyI2C3S +iUapfKN1q0Ml6nwZOyHsgNCFYDVhmtEnIcK7/PXLpeYTpTBuXETZZQY++XyZDiVI +le2W3uxrY0k8zVPvGSXGIh2iHtAuCrJoNKY+webEe5QVNoAYnNyu5de+50gpQOr+ +wYsvuf7S1MAPAX2L48U/JvpBfDikZR8qujvCDAAe0bnom/Ov/eWtnONi4hpsD4T3 +kcElxWOph3mEm1YUksGmoWE0FvE6o7r04XF+VrIA/YwcgC5wGgGmYFU4DR384hMZ +1EMAsd8cKdYBja/PA4BTcA6Vc0uJVFaB8o117m7r7sHKRsD7CHbbKcK8ZtRNDQa3 +SzTMqLhsRDRl5wp9Bwq6l++BKPpvEnpbs8SdW+TxrxpM/0aIhQ6ZS5RKJvhZK3Ap +3cgYBVW23CwPtVc+40/t8XqBRRlzbLdfWhEC+FU4f9RHS+DQRFSxl/xXeLtDBH75 +1WbhkRIRTktQxapEDuRFfd02Oeo356/r0TYUQHL4bwYEbTBm+HO1KJn64BCaUMOU +pW881K8SHQaHMr1iiQUpvMkTcofRiQKpBBABAgCTBQJM0uOxIBxTYW5kZXIgVGVt +bWUgPHNhbmRlckB0ZW1tZS5uZXQ+IhxTYW5kZXIgVGVtbWUgPHNjdGVtbWVAYXBh +Y2hlLm9yZz4dHFNhbmRlciBUZW1tZSA8c2FuZGVyQG1lLmNvbT4qHFNhbmRlciBU +ZW1tZSA8c2N0ZW1tZUBrZXlzaW50aGVjbG91ZC5jb20+AAoJEJu4Y7D1G7iKG0YP +/3AweZFnchITlhDdEkozl8M89VZGTBqfU6Rg7mNxL/HDnJRtBBGXmSQ5NLygX+kS +PKci3KRbjbeVEmEcWs/ZfzxN4gR+6y8ohUOaA0UDrZYctYkzG1d7HbkcM1lmvtde +Gelj1j/+eu4LRu5h9oczkqRnWV5xnqz7xsEH9Rrcgm39RpNzFf43Joo25iqdVGk4 +yBVjoHQsnD1qZwdZQ0EHxYozNkGfa6j7VXAzCYVstfRMPGKrYH/xRg2jNy750z/p +apgT3GXbpvcB9Z3gj2LRn+FKLxoH2WLf2DabdzyZz9KXfnG4ZeOd2BrFXexKT2MQ +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 +yZUcTCEB33B2jQ9z0XUEp+6B2F5iZQ== +=4AB7 +-----END PGP PUBLIC KEY BLOCK----- +pub rsa4096 2012-05-08 [SCEA] + 5C3C 5F3E 314C 8662 92F3 59A8 F3AD 5C94 A67F 707E +uid [ultimate] Christopher Schultz +uid [ultimate] Christopher Schultz +uid [ultimate] Christopher Schultz +uid [ultimate] Christopher Schultz +sub rsa4096 2012-05-08 [SEA] + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBE+pgz4BEADd7qAWgqXcNltlB3aow0UneRmNSVjHKgekgs0ZXxG9l50Athks +r/3bL/ygbxFB00JcM9W+UxLhKHiMSyzfeBHn9l9wAlLFKs0S91KXTUnRwGFtvgst +vGROoqPgTVREklnmyW/KpzOwqSrQ5xHcogaT+XWlXmRbtFypi52Z5HGWlFWWgwx0 +vKBWHmQayPtCif0v1RDxfdV9zziodn0TnpfBQsEgf9TDAjkNT8f0ecwTnhSihTDm +1W5HCK7Pm5DfUtree1Oh6Ncz2ljlUO0b3Lai9pX48eZOj7WQXPefkcv2AoUvdELk +QKw3klM5YNXbXPf1KAjky+q4DQ1ydD6LkK+9cI3STeMesTlk/tytOsaN2NH2k87s +EpcumbH0AcmPFEnIYUfm4KzWdKlYA6mbV3Pk3tHSuayyJovjh/7Y7BG9p2l7D60r +49hzrTPG8VxNkSliNLcSjI3QjYpfhSlqmqXyVKzdzirK1HPr1xfJStigRpLP9nWa +rZjoXng9N0etGwtH/8roeDPYA8x9ba1KXy/1g/i+RLx2ms+rueCpnFZxU3GZNUSp +RfpdUbwCN3Zm1w5Z6SI8X2aSnWWeYzU6HMsV+P4PROnFsgxDeOpyWhyEaaVLXQtO +YwcHneHbn56vSG50TkAuHs5kk/3/YDPSsqjsUPOuhKgFMh3iqMTh5DMdSwARAQAB +tDJDaHJpc3RvcGhlciBTY2h1bHR6IDxjaHJpc0BjaHJpc3RvcGhlcnNjaHVsdHou +bmV0PokCOgQTAQgAJAIbLwULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAUCT6mETgIZ +AQAKCRDzrVyUpn9wflkxD/9IsahRqHTV/hH5nuPqVO692cQqHvPtMPO6lDb4909V +N5T1i+1hFr80P0KVDL6EI78lDBJ2TThWI0o5vFdmsRlei59wsgTvkKTph5QwwOWl +7OyzUDX3WbKhkNQdGf4I+/g/1s2bHaRoG30ELdL7cwUPCPrW0KQwBy7Rtr0Wbduj +KOw9b/UcgyXEOE1wNcorq/E1o5/6BRYIcFQOO4sjHjGcChOpSg5ms4zbs+Xv3gOt +LrbmOPRTXdvBxwJA6kkfQFHvI42kXYghTdqhBVPnHYPqUeavRsb+Yz3ghkZhj35i +GfaGyXNwFBikCYjzIaj44NOkT1pU50MgIbjSJ+xoHnC20T942kekqp6wzqUM19Pa +9ohsEdA1Sf6/A7RmpZRrxSIY02ZVnGccnVjglnylVcnxrNAZC3ebxCeZPQ09FBR0 +Uqlsrdt7A3hlEP2FaoMTSa+hYqfWBGB7uZhcJZIsZspxm8J0txeOzYNSFDl7mF13 +4ShRsq6dpSugCdcdeSWKliBzq0U8sIabOFLMxM0hbwkn2RG4OaurJLWXQf+7IhA/ +J8TizjkbdxLmR2PiTiVtrx484mpWpbF8po/em0q/reFnL+JtOM6qlJE/Q4B6Pfkc +hhU5vKPfmGw98t9guyw5G8YSR1rR+SOowHg4T/i2Rezz1idKmoFpPdNFRPlOAC+d +67QpQ2hyaXN0b3BoZXIgU2NodWx0eiA8Y3NjaHVsdHpAY2hhZGlzLmNvbT6JAjcE +EwEIACECGy8CHgECF4AFAk+piA0FCwkIBwMFFQoJCAsFFgIDAQAACgkQ861clKZ/ +cH7G3w/9E5VNELFHPVnfyel41FINbXBR0XzP2A2OfFyDIM3HHPm3AT/AMfxMpUc1 +5NJZTYBX8y8/m56fBNp9+Me5HswU6SJ3bQQ16aHtwW4/cXkwShEkzLbFstABXPIv +eQXexyx+4F7EJa1zPqSt4ZMT4QYrybKvrIsnJ8dnyxy1BU5UoZe43vnkK8jxG0j8 +ZiJh9rYKcz+Xg3FeTwBK5laERQ60CldYELSjOD65unrJHmUmgDhrrnzT/8kkP7D0 +ETD40MMvAq4xfTk4QrXbELiMl6I9yfYgssnWBMRk7Gi7zwgG+Vdh7/ysdfqkVQHB +55SdC7akSelReq04becUe2L6TGVkqDKgrgfaoFwvie5hBSBdiB8QyX51wWeVDp8X +a25zRGdLiNvkkezNxEln/eRFZZc6QVuXqflNu+GqCF4EGGtRMsabzUbi+kGI/moG +3+ikyzIXUvmfrlzryv7ViTQ3/qLfMyBGwMrNdqyB66l3TOWJtK8r8C6GCinhaHU2 +OiYeCesG2Sc/Od8qWQbJu3o3vBohjF3cUpz2NUi7wrcT6jQmG8LGFwfpiT2xgpiW +OJkK9eMOym/GJhzFf5ruE5vBtoy46xZFaMknaBDOvqEmMCjbiVslg7cLQUROiW+4 +rRBgIdkOnwLytNqb88dyHPAnfM0fvdG9imhujADohG5RWxqa5MS0KENocmlzdG9w +aGVyIFNjaHVsdHogPHNjaHVsdHpAYXBhY2hlLm9yZz6JAjcEEwEIACEFAk+phHAC +Gy8FCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQ861clKZ/cH4C+g//bLtwxjk7 +oEqfYnLWzPGMzrOayaQzL2mSwrLkTiWbaK/C/Hcv8BPNic9eXYNEZRIinmSjdF0y +qNZDinjAEGAcj1ktIk3bnCZbinYkDf62G5JqCEFlolOZ0QUl8mINfU0g82LwcIq1 +mafRaRDaemyfxxSIdU31Kc7lRUEAIM7Lm+5q2ItsouVmk1x2qkkUYcF1YqndkDpe +lAxVwOI3qYrQuPiSgMlOWIx7u1ds1Izyo28PJ+/9Xm2vy5O1z0QmZCEjFRo0kDyU +tyKOAB9NSIDOWcFOIo6Q3J5L92WrtKxgQQtrvB9b7rgUHr7o7LIzwZUf66wfalB+ +8ieLnJl6HWWEIEDIxDN7Zac21JnXjpUKQR1Pap6pLKXn2tGTaZMtXwudHOQ+1Es/ +dr4KjKZJyszYcp5w27sLy69Hoxe0JDunbiYFOPVkV3YCJ4p9MNoXd1gxhgpSAwmU +WSAH4AdDeV5SYPCNlfnBQS5TJw+lfDuMMPxjDt4caDAOR8yFMOI7s6jbWfSHFq4X +qVRPjoRw6iwSOzudLGu83WLfhLT7bHA3wnYKznHU/zIYwIGi9kFeg2r7HLhdRcXo +oWD2KINPzRJNV4iLLHE26aW9lJiH/N138LBjTEwst/3I+61BpVEm8efED+a3ZoLE +8xWQtwrC1WYev6URqo/W/dXzjkVa8V0jM+i0QENocmlzdG9waGVyIFNjaHVsdHog +PGNocmlzdG9waGVyLnNjaHVsdHpAYWx1bW5pLnJvc2UtaHVsbWFuLmVkdT6JAjcE +EwEIACECGy8CHgECF4AFAk+piBUFCwkIBwMFFQoJCAsFFgIDAQAACgkQ861clKZ/ +cH6ZOBAAuhvgseU3EZjXdCRnJDOJhgpsUbjnTnKHAKc/xxdFlRyJuKIg7zn/ZjND +rycwi5DXXZeeor6FpxaBFu2QbHuAnRkHSGwhU7DS/BpXHcOGtYVptyaPVZ1ARoDD +Wo1n20e5f5lDuBRmszYp4CX6ISgPN0EWVSrsGMP03FXH7DNEd0nqF4O7L82J9ay9 +rIlvDOWBI9hN7MSAT+JXPdbE20ouWaQWkAFxiXgnhLbfXEqLE/T85SKD+QrNKcU8 +msy+liEheAZPBtHJs3LoEn6MAYVbUYD7U4BELBus9VlmkCkR7bn1mSJXdQAWkVMF +AmG6HfbY8p6oZPbKYXkMWJOnOXSG7jWlslvJ4oX8v5omKE8IANRMOaKtxqRQkezn +0i/f892ug5hAGHGUSQ4e+C8fWnyf6ryUzij3sVlI42KcIHRO39kGrzOo3Hv2Y75c +c6xtkkaPiF7+RJd1uegVABUbs7xVdYRCInWwQqQyybwkhUhL6H9hlTTq2E3bf7YW +8Q7fd8j7Yqw7geG7aLgpsqieX5rmNmieFnKln5r7DeRAVu0PnlHAkEsqNmluh3th +KJv1RbOK28SW91425OrRI6G/5DVXRhbsXOFfi6tEAn3kVe2lg/gMu/QsBCfvVx3j +SiyipbhUGZ6GAsyGanTT4Bk0HQ7zjYaevMjFE8M7cTR79O7P25G5Ag0ET6mDPgEQ +AMxCLVac73IGQfn2lFoueJSaAPBp1cVxHjkGPu8JPz+YvRrS9FFVwud49hfOwQ1V +xmpSoFYxFXTWNwssfnSdqLOuYI8XemStfM3Oje2GQWdNFzVPZ08+VyJmcx5+FZnl +2DEKyjv/fNZwjT5VeglXYBoPcJdSI+UofEkk2/JFkqNZ4Mfl1+MiTVG30od9sjD1 +RiO2XKGS5vYHYEzjp7hJHnhrP5T72DftQr/2Lb5D8m0jklknR8SFVOCJKOleyJDN +Wpo3cCn6HoPgi4WbG2O1SwM1bRr2hec+K7SbQn034W2A9MEvGnxAXL7HsNR3bWA0 ++QCaqI3mQRg7mOyQoAC3Nxwst+Gc5PpotasL65uYvwgTLiL48QdjJM4R0DVA9tH8 +3UXKCIMOCSM26mS5TqVRXoQ18yk/4eb4flL+7Okc+YD+YtEZHIIcNNJkQb7jfJqU +Jy7eIWC9tnDYf7ZNCxcXWu2Wj3obu7oOBORRAdCH5tSldfD+yqX7vLYki8+65fvs +e96OLr+G5NWZ4zv4xbMdCixsKlcUdu+mSMLFeFqS2LyeX0dJKqnf0zilxkhANHhs +Vk3m/3zbZGHpkVaGrAdfq6o4f0c9KdtKPHpZKg4ac84azDcxDGJC8kru56Vgnllu +DXetPe/jhvQQizvp3RpgHLqXbuljBI9lJVrEMbgmAj4LABEBAAGJBD4EGAEIAAkF +Ak+pgz4CGy4CKQkQ861clKZ/cH7BXSAEGQEIAAYFAk+pgz4ACgkQHPApP6U8pFju +lg/9F5QBuA+BsM87jn4ewxunJvyNL5gEhCZGOYIUrVuBlG2KLIEv27co/2D1s1Ye +B1jL7gOmGCgrs/wjN4d+HUduV5h6lHTsiTgpzCd6bHb+WLMrYJxHbyDWQC5Q3QV9 +xrH8rYEtCp1YwHPdi3yTsRwLGX+MxN0lNvBTF+4woHqjt2K75B7GfHc84MN0GE9C +dzXGH5H5WwzwVwQxq73VLnmv8Ohde6XLXUXbe4xNyYixathfXoVzkrCMHnFJalWI +gkbsW5Q+HCeoCjJ9MvM5ZVuBsiG3//pjS5KSqDD2J6bQ73BKI5bh7cG5EnxeQMIC +W5uqX7PWtr6RgVZKPnQVxoeP096jWMXhhALCNKbBCbtxGTfXWL/2Tm+vQ1CeksBC +qfy+5VOwvB6C8fzKSrbiTvTkubrgIXQUohqn2jfcz9jcT10sJ3sVStnscv4ebFHr +w7JwRB5ssXuRkUqyIpcooy7ZWIatluxveaaMSBWbiw2/fEfu1UfWJfbjmepEQSZs +6fV9qAfDAx6CnuEBLokcf+fwzcQfItkKE1jfwX5bk0n1aTua340l5WlLhTp6Lga1 +nZm2gXYPuO5uCBhM9dvWXX/sviEnsUOj9emWNaGMWJW0EmhMJNPkyeAdArrzB8Dx +d0gx9i3kcfpitjr8J1bpb49vlnVv6yFYMIcGypgS4+NEflKuMw/+IkcSeTxdcp48 +UaaNyM6f2a2Fqz4LQYNI1GfA3ZQIkRwhRj6XHCvEbwVl5rcxeF0LFd/WjwanBN1u +iHE5yDKw4upp6nmpaX4lKvuERjX0RTfcLYFYmS8vxUVou+pPr6PyZqe/yvSW5Rl+ +PA9iS/RV9MOT15KROGm5mNTgEkFIsKCeJ9WrMcBKJ0mlnmGyO1+SKnb3rxsn2HUp ++FRMsHa2BrVo7FpWfwz6Hz8LCG0FxmOqPsIPZQwJNi9p1U2tOV7sjqKFD8Ciw9Fq +yziMS5nG1b/7YCRtN/7iOIg4rUqH0yp6cxPsXaXxSMsNTG/DzuFiYtIKR5pi1Gxv +ADC0vvMEgxcCAOE10BcvbLl18y7rszC/huYfTKOQ+quR7CHufZYXcJO6BD2SdTVi +3y2r0xDUIOTm0tmE9SmhbJBccYLXFNGgcrQMU45IBkQfFLp15TSXgrkyAFMV8ONT +/d1eCoYoHOXRDhtZBA6KtHQJQBOwGy+lc3PxqPlMIr7VIpd7FwAzsjPT0yYyzZ8n +vtldMsEJ3CdQBurMSAqTys7/KGD+scLqxLipxfAwFhBxME/hW9u+yHb9b/LjBr5b +aXKHu6JRNDvk0VLTBMLRKeIOJvMptaySP8n8F7R5EvEHFQQPS0anFhJ2tVT5U9aZ +NwUqv9cUGhf+Di0nAX1diWxfd7DdEi8= +=6zfV +-----END PGP PUBLIC KEY BLOCK----- diff --git a/sources b/sources index 1bac248..df42da2 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -SHA512 (apache-tomcat-10.1.34-src.tar.gz) = 0124d92eb1d184bdce1a50d5934958a0c796460a7157a8622aeee2b21060f5377198939a0260285bcdaa25cea42b880cb97575469a63f7b33ec22d532927e6ca +SHA512 (apache-tomcat-10.1.36-src.tar.gz) = 18123ea1639733f14cf0b1ca0df8255b8d69abc7dd19cad10ad51f4f1f1c16f8f08fba668101169df68d23400f75f3aacab9040edba9330b78939b7c6399ae10 +SHA512 (apache-tomcat-10.1.36-src.tar.gz.asc) = 22153e1d7797cfb519f7df0968a60f2b1a39de156cd53011fba32c4e51a61e7f8fe4a4b75b673bd5611485f4ef1ca50e43f08d7d09925731253dc114ba0221e1 diff --git a/tomcat.spec b/tomcat.spec index b43b30a..792eb92 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -1,7 +1,7 @@ %global jspspec 3.1 %global major_version 10 %global minor_version 1 -%global micro_version 34 +%global micro_version 36 %global packdname apache-tomcat-%{version}-src %global servletspec 6.0 %global elspec 5.0 @@ -34,8 +34,9 @@ Summary: Apache Tomcat - Servlet and JSP engine for system-wide deployment License: Apache-2.0 URL: http://tomcat.apache.org/ Source0: http://www.apache.org/dist/tomcat/tomcat-%{major_version}/v%{version}/src/%{packdname}.tar.gz -# Source1: http://www.apache.org/dist/tomcat/tomcat-%{major_version}/v%{version}/src/%{packdname}.tar.gz -# Source2: http://www.apache.org/dist/tomcat/tomcat-%{major_version}/v%{version}/src/%{packdname}.tar.gz +Source1: http://www.apache.org/dist/tomcat/tomcat-%{major_version}/v%{version}/src/%{packdname}.tar.gz.asc +# https://www.apache.org/dist/tomcat/tomcat-%{major_version}/KEYS +Source2: KEYS Source3: %{name}-%{major_version}.%{minor_version}.conf Source4: %{name}-%{major_version}.%{minor_version}.service Source5: %{name}-%{major_version}.%{minor_version}-locate-java.sh @@ -63,6 +64,7 @@ BuildArch: noarch # See: https://docs.fedoraproject.org/en-US/packaging-guidelines/Java/#_architecture_support ExclusiveArch: %{java_arches} +BuildRequires: gnupg2 BuildRequires: ant BuildRequires: ecj BuildRequires: findutils @@ -184,6 +186,8 @@ Conflicts: tomcat-el-3.0-api Apache Tomcat EL API Implementation Classes. %prep +%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' + %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 \ From 1a5e851e22de0c608cf33d49391f76a21297df84 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Fri, 7 Mar 2025 17:11:40 +0200 Subject: [PATCH 27/81] Add symlinks of tomcat-bootstrap.jar and tomcat-juli.jar in libdir --- tomcat.spec | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tomcat.spec b/tomcat.spec index 792eb92..fc1a128 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -252,7 +252,6 @@ touch HACK %{__install} -d ${RPM_BUILD_ROOT}%{confdir}/Catalina/localhost %{__install} -d ${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 ${RPM_BUILD_ROOT}%{libdir} %{__install} -d ${RPM_BUILD_ROOT}%{logdir} %{__install} -d ${RPM_BUILD_ROOT}%{cachedir} @@ -305,8 +304,8 @@ sed -i "s/@MAVEN.DEPLOY.VERSION@/%{version}/g" res/maven/tomcat-juli.pom # bootstrap does not have a pom, generate one %mvn_artifact 'org.apache.tomcat:tomcat-bootstrap:%{version}' output/build/bin/bootstrap.jar -%mvn_file org.apache.tomcat:tomcat-bootstrap tomcat/tomcat-bootstrap -%mvn_file org.apache.tomcat:tomcat-juli tomcat/tomcat-juli +%mvn_file org.apache.tomcat:tomcat-bootstrap tomcat/tomcat-bootstrap %{libdir}/tomcat-bootstrap +%mvn_file org.apache.tomcat:tomcat-juli tomcat/tomcat-juli %{libdir}/tomcat-juli # tomcat-parent pom sed -i "s/@MAVEN.DEPLOY.VERSION@/%{version}/g" res/maven/tomcat.pom From 524080c49f7f59c25ee80580deafa3dadc9b6858 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Wed, 26 Mar 2025 15:53:05 +0200 Subject: [PATCH 28/81] Fix script calling from service file --- tomcat-10.1.service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tomcat-10.1.service b/tomcat-10.1.service index 55639b2..d510faf 100644 --- a/tomcat-10.1.service +++ b/tomcat-10.1.service @@ -15,7 +15,7 @@ Environment="JAVA_OPTS=-Djava.awt.headless=true" # Lifecycle Type=simple -ExecStart=/bin/sh /usr/libexec/tomcat/tomcat-start.sh +ExecStart=/bin/sh /usr/libexec/tomcat/tomcat-run.sh SuccessExitStatus=143 Restart=on-abort From 9e1550b6088a9f5ae25174fc4158ab937f1812db Mon Sep 17 00:00:00 2001 From: dsoumis Date: Wed, 26 Mar 2025 15:54:17 +0200 Subject: [PATCH 29/81] - Enhancing comments - Some mvn_file fixes - Remove daemon.sh as commons-daemon is not packaged --- tomcat.spec | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tomcat.spec b/tomcat.spec index fc1a128..d747252 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -35,7 +35,7 @@ License: Apache-2.0 URL: http://tomcat.apache.org/ Source0: http://www.apache.org/dist/tomcat/tomcat-%{major_version}/v%{version}/src/%{packdname}.tar.gz Source1: http://www.apache.org/dist/tomcat/tomcat-%{major_version}/v%{version}/src/%{packdname}.tar.gz.asc -# https://www.apache.org/dist/tomcat/tomcat-%{major_version}/KEYS +# https://www.apache.org/dist/tomcat/tomcat-10/KEYS Source2: KEYS Source3: %{name}-%{major_version}.%{minor_version}.conf Source4: %{name}-%{major_version}.%{minor_version}.service @@ -270,7 +270,7 @@ touch HACK asciidoctor -b manpage -D ${RPM_BUILD_ROOT}%{_mandir}/man1 -o tomcat-user-instance-create.1 %{SOURCE10} for jar in output/build/lib/*.jar; do - # Skip Jar if empty, applies to tomcat-coyote-ffm.jar atm + # Skip Jar if empty, applies to tomcat-coyote-ffm.jar atm since it requires to be built with Java>=23 jar tf ${jar} | grep -E -q '.*\.class' || continue jarname=$(basename $jar .jar) @@ -304,8 +304,8 @@ sed -i "s/@MAVEN.DEPLOY.VERSION@/%{version}/g" res/maven/tomcat-juli.pom # bootstrap does not have a pom, generate one %mvn_artifact 'org.apache.tomcat:tomcat-bootstrap:%{version}' output/build/bin/bootstrap.jar -%mvn_file org.apache.tomcat:tomcat-bootstrap tomcat/tomcat-bootstrap %{libdir}/tomcat-bootstrap -%mvn_file org.apache.tomcat:tomcat-juli tomcat/tomcat-juli %{libdir}/tomcat-juli +%mvn_file org.apache.tomcat:tomcat-bootstrap tomcat/tomcat-bootstrap +%mvn_file org.apache.tomcat:tomcat-juli tomcat/tomcat-juli # tomcat-parent pom sed -i "s/@MAVEN.DEPLOY.VERSION@/%{version}/g" res/maven/tomcat.pom @@ -326,6 +326,7 @@ jar ufm ${RPM_BUILD_ROOT}%{libdir}/servlet-api.jar <(echo "JavaPackages-GroupId: # move things into place pushd output/build + rm -f bin/daemon.sh %{__cp} -ap bin/* ${RPM_BUILD_ROOT}%{bindir} %{__cp} -ap conf/*.{policy,properties,xml} ${RPM_BUILD_ROOT}%{confdir} %{__cp} -ap conf/*.{policy,properties,xml} ${RPM_BUILD_ROOT}%{userinstancedir}/conf From 5c8a69decae8a9f5af65d3bfaf68e9d38c5afe20 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Mon, 7 Apr 2025 16:50:23 +0300 Subject: [PATCH 30/81] - Fixes in tomcat-10.1-user-instance-create.sh - Add required ReadWritePaths in service file. - Disable shutdown port when tomcat runs as a service. - Add webapps-javaee directory - Remove .sh suffix from binary executable - Link require libraries for migration tool to work as expected. --- tomcat-10.1-user-instance-create.sh | 3 +-- tomcat-10.1.service | 2 ++ tomcat.spec | 18 +++++++++++++++--- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/tomcat-10.1-user-instance-create.sh b/tomcat-10.1-user-instance-create.sh index 4854928..12aa1d8 100644 --- a/tomcat-10.1-user-instance-create.sh +++ b/tomcat-10.1-user-instance-create.sh @@ -120,12 +120,11 @@ mkdir -p "${TARGET}" FULLTARGET=$(cd "${TARGET}" > /dev/null && pwd) -mkdir "${TARGET}/conf" mkdir "${TARGET}/logs" mkdir "${TARGET}/webapps" mkdir "${TARGET}/work" mkdir "${TARGET}/temp" -cp -r "${CATALINA_HOME}/user-instance/*" "${TARGET}" +cp -r ${CATALINA_HOME}/user-instance/* "${TARGET}" sed -i -e "s/Connector port=\"8080\"/Connector port=\"${HPORT}\"/;s/Server port=\"-1\" shutdown=\"SHUTDOWN\"/Server port=\"${CPORT}\" shutdown=\"${CWORD}\"/" "${TARGET}/conf/server.xml" diff --git a/tomcat-10.1.service b/tomcat-10.1.service index d510faf..16727db 100644 --- a/tomcat-10.1.service +++ b/tomcat-10.1.service @@ -33,7 +33,9 @@ CacheDirectoryMode=750 ProtectSystem=strict ReadWritePaths=/etc/tomcat/Catalina/ ReadWritePaths=/var/lib/tomcat/webapps/ +ReadWritePaths=/var/lib/tomcat/webapps-javaee/ ReadWritePaths=/var/log/tomcat/ +ReadWritePaths=/tmp [Install] WantedBy=multi-user.target diff --git a/tomcat.spec b/tomcat.spec index d747252..c4e6f7d 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -73,7 +73,7 @@ BuildRequires: javapackages-local BuildRequires: aqute-bnd BuildRequires: tomcat-jakartaee-migration BuildRequires: systemd -BuildRequires: rubygem-asciidoctor +BuildRequires: rubygem-asciidoctor Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: systemd @@ -215,6 +215,8 @@ cat >tomcat.sysusers.conf < Date: Tue, 8 Apr 2025 13:32:29 +0300 Subject: [PATCH 31/81] Define the provision method for tests --- plans/smoke.fmf | 3 +++ 1 file changed, 3 insertions(+) diff --git a/plans/smoke.fmf b/plans/smoke.fmf index 039f41a..db364b6 100644 --- a/plans/smoke.fmf +++ b/plans/smoke.fmf @@ -3,3 +3,6 @@ discover: url: https://src.fedoraproject.org/tests/tomcat execute: how: tmt +provision: + how: virtual + image: fedora:rawhide From afc96310f4e02deb7663335e772e64aea563ef5e Mon Sep 17 00:00:00 2001 From: dsoumis Date: Fri, 25 Apr 2025 14:37:55 +0300 Subject: [PATCH 32/81] Fix gating rules --- gating.yaml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/gating.yaml b/gating.yaml index e49f5a7..19d2681 100644 --- a/gating.yaml +++ b/gating.yaml @@ -1,12 +1,16 @@ --- !Policy product_versions: - - fedora-* -decision_contexts: - - bodhi_update_push_testing - - bodhi_update_push_stable + - fedora-rawhide +decision_context: bodhi_update_push_stable subject_type: koji_build rules: - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpmdeplint.functional} - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpminspect.static-analysis} +--- !Policy +product_versions: + - fedora-* +decision_context: bodhi_update_push_stable +subject_type: koji_build +rules: - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.installability.functional} - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/smoke.functional} + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpminspect.static-analysis} + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/smoke.functional} \ No newline at end of file From d5bbd39fc83b375c447dd2ef185519794c288538 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Fri, 25 Apr 2025 14:37:55 +0300 Subject: [PATCH 33/81] Fix gating rules --- gating.yaml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/gating.yaml b/gating.yaml index b81b8c4..19d2681 100644 --- a/gating.yaml +++ b/gating.yaml @@ -1,13 +1,16 @@ --- !Policy product_versions: - - fedora-* -decision_contexts: - - bodhi_update_push_testing - - bodhi_update_push_stable + - fedora-rawhide +decision_context: bodhi_update_push_stable subject_type: koji_build rules: - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpmdeplint.functional} - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpminspect.static-analysis} +--- !Policy +product_versions: + - fedora-* +decision_context: bodhi_update_push_stable +subject_type: koji_build +rules: - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.installability.functional} - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/javapackages.functional} - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/smoke.functional} + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpminspect.static-analysis} + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/smoke.functional} \ No newline at end of file From 261531a6af149e1185cb32e72a1f0d30a57e1b81 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Fri, 25 Apr 2025 14:46:54 +0300 Subject: [PATCH 34/81] Fix gating rules --- gating.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gating.yaml b/gating.yaml index 19d2681..da1c0b0 100644 --- a/gating.yaml +++ b/gating.yaml @@ -5,6 +5,7 @@ decision_context: bodhi_update_push_stable subject_type: koji_build rules: - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpmdeplint.functional} + - !PassingTestCaseRule { test_case_name: fedora-ci.koji-build./plans/smoke.functional } --- !Policy product_versions: - fedora-* @@ -12,5 +13,4 @@ decision_context: bodhi_update_push_stable subject_type: koji_build rules: - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.installability.functional} - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpminspect.static-analysis} - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/smoke.functional} \ No newline at end of file + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpminspect.static-analysis} \ No newline at end of file From 153431058bcb850f6b15790aa2bdf675cc4372d9 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Fri, 25 Apr 2025 14:46:54 +0300 Subject: [PATCH 35/81] Fix gating rules --- gating.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gating.yaml b/gating.yaml index 19d2681..da1c0b0 100644 --- a/gating.yaml +++ b/gating.yaml @@ -5,6 +5,7 @@ decision_context: bodhi_update_push_stable subject_type: koji_build rules: - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpmdeplint.functional} + - !PassingTestCaseRule { test_case_name: fedora-ci.koji-build./plans/smoke.functional } --- !Policy product_versions: - fedora-* @@ -12,5 +13,4 @@ decision_context: bodhi_update_push_stable subject_type: koji_build rules: - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.installability.functional} - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpminspect.static-analysis} - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/smoke.functional} \ No newline at end of file + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpminspect.static-analysis} \ No newline at end of file From afc97855176082cbf19ec16b53df45ce21894003 Mon Sep 17 00:00:00 2001 From: Packit Date: Wed, 9 Apr 2025 21:08:08 +0000 Subject: [PATCH 36/81] Update to 9.0.104 upstream release - Resolves: rhbz#2358742 Upstream tag: 9.0.104 Upstream commit: f8cfae0a Commit authored by Packit automation (https://packit.dev/) --- sources | 2 +- tomcat.spec | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/sources b/sources index 08f22de..eb94083 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (apache-tomcat-9.0.102-src.tar.gz) = 2f06b1432a217470097704040cd7aed70e169981140f78c6fd6d46d55b2fd36fa174d85f34f288138f9373469d8c98cddeb3cd030c76dc69c724ab3e3b978095 +SHA512 (apache-tomcat-9.0.104-src.tar.gz) = d2d66a1e0bf55cd6379154a023aaccec5e4007a95412e7207ecf729d315c6afdc3125a985cdf1289ad66162a180f24798161436e99d792e24deee71aaf521a4c diff --git a/tomcat.spec b/tomcat.spec index 8571f54..7368dac 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -31,7 +31,7 @@ %global jspspec 2.3 %global major_version 9 %global minor_version 0 -%global micro_version 102 +%global micro_version 104 %global packdname apache-tomcat-%{version}-src %global servletspec 4.0 %global elspec 3.0 @@ -551,6 +551,10 @@ fi %{appdir}/ROOT %changelog +* Wed Apr 09 2025 Packit - 1:9.0.104-1 +- Update to version 9.0.104 +- Resolves: rhbz#2358742 + * Thu Mar 06 2025 Packit - 1:9.0.102-1 - Update to version 9.0.102 - Resolves: rhbz#2350305 From 1453f5be0d5bf35599d46ded6329993c19a9aa3e Mon Sep 17 00:00:00 2001 From: dsoumis Date: Wed, 21 May 2025 15:26:09 +0300 Subject: [PATCH 37/81] Update to 9.0.105 upstream release --- sources | 2 +- tomcat.spec | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/sources b/sources index eb94083..77b067a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (apache-tomcat-9.0.104-src.tar.gz) = d2d66a1e0bf55cd6379154a023aaccec5e4007a95412e7207ecf729d315c6afdc3125a985cdf1289ad66162a180f24798161436e99d792e24deee71aaf521a4c +SHA512 (apache-tomcat-9.0.105.tar.gz) = 904f10378ee2c7c68529edfefcba50c77eb677aa4586cfac0603e44703b0278f71f683b0295774f3cdcb027229d146490ef2c8868d8c2b5a631cf3db61ff9956 diff --git a/tomcat.spec b/tomcat.spec index 7368dac..4c81f4c 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -31,7 +31,7 @@ %global jspspec 2.3 %global major_version 9 %global minor_version 0 -%global micro_version 104 +%global micro_version 105 %global packdname apache-tomcat-%{version}-src %global servletspec 4.0 %global elspec 3.0 @@ -551,6 +551,9 @@ fi %{appdir}/ROOT %changelog +* Wed May 21 2025 Dimitris Soumis - 1:9.0.105-1 +- Update to version 9.0.105 + * Wed Apr 09 2025 Packit - 1:9.0.104-1 - Update to version 9.0.104 - Resolves: rhbz#2358742 From 45ce5f3bf2253765a90bf7103f04df57dbff18dc Mon Sep 17 00:00:00 2001 From: dsoumis Date: Wed, 21 May 2025 15:53:59 +0300 Subject: [PATCH 38/81] Fix sources --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index 77b067a..c0053bc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (apache-tomcat-9.0.105.tar.gz) = 904f10378ee2c7c68529edfefcba50c77eb677aa4586cfac0603e44703b0278f71f683b0295774f3cdcb027229d146490ef2c8868d8c2b5a631cf3db61ff9956 +SHA512 (apache-tomcat-9.0.105-src.tar.gz) = e5836ca6ea8b02349f5e422b7b7db9ff36880e764bc9515d8818fd39954b1893941ee1e86e3588d6ae8e44782c46fcfd9ea3f3e57d7d9e83781bdad90241e84e From 13192d880ae44eed1527074327deee3c54be7728 Mon Sep 17 00:00:00 2001 From: Packit Date: Tue, 10 Jun 2025 08:30:43 +0000 Subject: [PATCH 39/81] Update to 9.0.106 upstream release - Resolves: rhbz#2371376 Upstream tag: 9.0.106 Upstream commit: 05ccf0c3 Commit authored by Packit automation (https://packit.dev/) --- sources | 2 +- tomcat.spec | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/sources b/sources index c0053bc..6f59ec4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (apache-tomcat-9.0.105-src.tar.gz) = e5836ca6ea8b02349f5e422b7b7db9ff36880e764bc9515d8818fd39954b1893941ee1e86e3588d6ae8e44782c46fcfd9ea3f3e57d7d9e83781bdad90241e84e +SHA512 (apache-tomcat-9.0.106-src.tar.gz) = 1b95f7899a488bd3435ab45999e371a9d8cdd42e4e575ae14b4fcb0387034d150d96c8d62d036b95fad187c810015eda43db50a46919296812653c0a153e8cee diff --git a/tomcat.spec b/tomcat.spec index 4c81f4c..374ee12 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -31,7 +31,7 @@ %global jspspec 2.3 %global major_version 9 %global minor_version 0 -%global micro_version 105 +%global micro_version 106 %global packdname apache-tomcat-%{version}-src %global servletspec 4.0 %global elspec 3.0 @@ -551,6 +551,10 @@ fi %{appdir}/ROOT %changelog +* Tue Jun 10 2025 Packit - 1:9.0.106-1 +- Update to version 9.0.106 +- Resolves: rhbz#2371376 + * Wed May 21 2025 Dimitris Soumis - 1:9.0.105-1 - Update to version 9.0.105 From e23740e14f6d8974d57f162b7f4b181a392d9cd7 Mon Sep 17 00:00:00 2001 From: Packit Date: Fri, 4 Jul 2025 22:02:57 +0000 Subject: [PATCH 40/81] Update to 9.0.107 upstream release - Resolves: rhbz#2376445 Upstream tag: 9.0.107 Upstream commit: 43d5ad02 Commit authored by Packit automation (https://packit.dev/) --- sources | 2 +- tomcat.spec | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/sources b/sources index 6f59ec4..d0c98dd 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (apache-tomcat-9.0.106-src.tar.gz) = 1b95f7899a488bd3435ab45999e371a9d8cdd42e4e575ae14b4fcb0387034d150d96c8d62d036b95fad187c810015eda43db50a46919296812653c0a153e8cee +SHA512 (apache-tomcat-9.0.107-src.tar.gz) = 4db3eb936aaea9e0679504bb73c07e982d646a7e7a574f9be1f465f79dd1f229dff22055a049a7dc2ad59619752dae79505ab92f44a317df966fa3b039e459c3 diff --git a/tomcat.spec b/tomcat.spec index 374ee12..5f15b37 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -31,7 +31,7 @@ %global jspspec 2.3 %global major_version 9 %global minor_version 0 -%global micro_version 106 +%global micro_version 107 %global packdname apache-tomcat-%{version}-src %global servletspec 4.0 %global elspec 3.0 @@ -551,6 +551,10 @@ fi %{appdir}/ROOT %changelog +* Fri Jul 04 2025 Packit - 1:9.0.107-1 +- Update to version 9.0.107 +- Resolves: rhbz#2376445 + * Tue Jun 10 2025 Packit - 1:9.0.106-1 - Update to version 9.0.106 - Resolves: rhbz#2371376 From 5a663f3961cedb2db7e53dd78a716072909b072b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 19:25:36 +0000 Subject: [PATCH 41/81] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From 5b42bbd1ae24e9a6de149d12e7428c913f6550dd Mon Sep 17 00:00:00 2001 From: dsoumis Date: Mon, 28 Jul 2025 16:09:03 +0300 Subject: [PATCH 42/81] Revert "Fix gating rules" This reverts commit 153431058bcb850f6b15790aa2bdf675cc4372d9. --- gating.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gating.yaml b/gating.yaml index da1c0b0..19d2681 100644 --- a/gating.yaml +++ b/gating.yaml @@ -5,7 +5,6 @@ decision_context: bodhi_update_push_stable subject_type: koji_build rules: - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpmdeplint.functional} - - !PassingTestCaseRule { test_case_name: fedora-ci.koji-build./plans/smoke.functional } --- !Policy product_versions: - fedora-* @@ -13,4 +12,5 @@ decision_context: bodhi_update_push_stable subject_type: koji_build rules: - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.installability.functional} - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpminspect.static-analysis} \ No newline at end of file + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpminspect.static-analysis} + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/smoke.functional} \ No newline at end of file From 0d75b57e96da7e74fd6097aecde7436907d3d8c4 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Mon, 28 Jul 2025 16:09:03 +0300 Subject: [PATCH 43/81] Revert "Fix gating rules" This reverts commit afc96310f4e02deb7663335e772e64aea563ef5e. --- gating.yaml | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/gating.yaml b/gating.yaml index 19d2681..e49f5a7 100644 --- a/gating.yaml +++ b/gating.yaml @@ -1,16 +1,12 @@ --- !Policy -product_versions: - - fedora-rawhide -decision_context: bodhi_update_push_stable -subject_type: koji_build -rules: - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpmdeplint.functional} ---- !Policy product_versions: - fedora-* -decision_context: bodhi_update_push_stable +decision_contexts: + - bodhi_update_push_testing + - bodhi_update_push_stable subject_type: koji_build rules: - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.installability.functional} + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpmdeplint.functional} - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpminspect.static-analysis} - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/smoke.functional} \ No newline at end of file + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.installability.functional} + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/smoke.functional} From f771c96d92fb9911bff4f6b33c2288b55b6536a9 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Mon, 28 Jul 2025 16:09:03 +0300 Subject: [PATCH 44/81] Revert "Define the provision method for tests" This reverts commit eca613a2ab4f3a2ad23ab89e4bb61cc0f11b0998. --- plans/smoke.fmf | 3 --- 1 file changed, 3 deletions(-) diff --git a/plans/smoke.fmf b/plans/smoke.fmf index db364b6..039f41a 100644 --- a/plans/smoke.fmf +++ b/plans/smoke.fmf @@ -3,6 +3,3 @@ discover: url: https://src.fedoraproject.org/tests/tomcat execute: how: tmt -provision: - how: virtual - image: fedora:rawhide From 527e2158f3822e8f06485d65db3dad397a34d2bc Mon Sep 17 00:00:00 2001 From: dsoumis Date: Mon, 28 Jul 2025 16:09:03 +0300 Subject: [PATCH 45/81] Revert "- Fixes in tomcat-10.1-user-instance-create.sh" This reverts commit 5c8a69decae8a9f5af65d3bfaf68e9d38c5afe20. --- tomcat-10.1-user-instance-create.sh | 3 ++- tomcat-10.1.service | 2 -- tomcat.spec | 18 +++--------------- 3 files changed, 5 insertions(+), 18 deletions(-) diff --git a/tomcat-10.1-user-instance-create.sh b/tomcat-10.1-user-instance-create.sh index 12aa1d8..4854928 100644 --- a/tomcat-10.1-user-instance-create.sh +++ b/tomcat-10.1-user-instance-create.sh @@ -120,11 +120,12 @@ mkdir -p "${TARGET}" FULLTARGET=$(cd "${TARGET}" > /dev/null && pwd) +mkdir "${TARGET}/conf" mkdir "${TARGET}/logs" mkdir "${TARGET}/webapps" mkdir "${TARGET}/work" mkdir "${TARGET}/temp" -cp -r ${CATALINA_HOME}/user-instance/* "${TARGET}" +cp -r "${CATALINA_HOME}/user-instance/*" "${TARGET}" sed -i -e "s/Connector port=\"8080\"/Connector port=\"${HPORT}\"/;s/Server port=\"-1\" shutdown=\"SHUTDOWN\"/Server port=\"${CPORT}\" shutdown=\"${CWORD}\"/" "${TARGET}/conf/server.xml" diff --git a/tomcat-10.1.service b/tomcat-10.1.service index 16727db..d510faf 100644 --- a/tomcat-10.1.service +++ b/tomcat-10.1.service @@ -33,9 +33,7 @@ CacheDirectoryMode=750 ProtectSystem=strict ReadWritePaths=/etc/tomcat/Catalina/ ReadWritePaths=/var/lib/tomcat/webapps/ -ReadWritePaths=/var/lib/tomcat/webapps-javaee/ ReadWritePaths=/var/log/tomcat/ -ReadWritePaths=/tmp [Install] WantedBy=multi-user.target diff --git a/tomcat.spec b/tomcat.spec index c4e6f7d..d747252 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -73,7 +73,7 @@ BuildRequires: javapackages-local BuildRequires: aqute-bnd BuildRequires: tomcat-jakartaee-migration BuildRequires: systemd -BuildRequires: rubygem-asciidoctor +BuildRequires: rubygem-asciidoctor Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: systemd @@ -215,8 +215,6 @@ cat >tomcat.sysusers.conf < Date: Mon, 28 Jul 2025 16:09:03 +0300 Subject: [PATCH 46/81] Revert "- Enhancing comments" This reverts commit 9e1550b6088a9f5ae25174fc4158ab937f1812db. --- tomcat.spec | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/tomcat.spec b/tomcat.spec index d747252..fc1a128 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -35,7 +35,7 @@ License: Apache-2.0 URL: http://tomcat.apache.org/ Source0: http://www.apache.org/dist/tomcat/tomcat-%{major_version}/v%{version}/src/%{packdname}.tar.gz Source1: http://www.apache.org/dist/tomcat/tomcat-%{major_version}/v%{version}/src/%{packdname}.tar.gz.asc -# https://www.apache.org/dist/tomcat/tomcat-10/KEYS +# https://www.apache.org/dist/tomcat/tomcat-%{major_version}/KEYS Source2: KEYS Source3: %{name}-%{major_version}.%{minor_version}.conf Source4: %{name}-%{major_version}.%{minor_version}.service @@ -270,7 +270,7 @@ touch HACK asciidoctor -b manpage -D ${RPM_BUILD_ROOT}%{_mandir}/man1 -o tomcat-user-instance-create.1 %{SOURCE10} for jar in output/build/lib/*.jar; do - # Skip Jar if empty, applies to tomcat-coyote-ffm.jar atm since it requires to be built with Java>=23 + # Skip Jar if empty, applies to tomcat-coyote-ffm.jar atm jar tf ${jar} | grep -E -q '.*\.class' || continue jarname=$(basename $jar .jar) @@ -304,8 +304,8 @@ sed -i "s/@MAVEN.DEPLOY.VERSION@/%{version}/g" res/maven/tomcat-juli.pom # bootstrap does not have a pom, generate one %mvn_artifact 'org.apache.tomcat:tomcat-bootstrap:%{version}' output/build/bin/bootstrap.jar -%mvn_file org.apache.tomcat:tomcat-bootstrap tomcat/tomcat-bootstrap -%mvn_file org.apache.tomcat:tomcat-juli tomcat/tomcat-juli +%mvn_file org.apache.tomcat:tomcat-bootstrap tomcat/tomcat-bootstrap %{libdir}/tomcat-bootstrap +%mvn_file org.apache.tomcat:tomcat-juli tomcat/tomcat-juli %{libdir}/tomcat-juli # tomcat-parent pom sed -i "s/@MAVEN.DEPLOY.VERSION@/%{version}/g" res/maven/tomcat.pom @@ -326,7 +326,6 @@ jar ufm ${RPM_BUILD_ROOT}%{libdir}/servlet-api.jar <(echo "JavaPackages-GroupId: # move things into place pushd output/build - rm -f bin/daemon.sh %{__cp} -ap bin/* ${RPM_BUILD_ROOT}%{bindir} %{__cp} -ap conf/*.{policy,properties,xml} ${RPM_BUILD_ROOT}%{confdir} %{__cp} -ap conf/*.{policy,properties,xml} ${RPM_BUILD_ROOT}%{userinstancedir}/conf From 177c1aa024f5870b1124abe200353c26940522ce Mon Sep 17 00:00:00 2001 From: dsoumis Date: Mon, 28 Jul 2025 16:09:03 +0300 Subject: [PATCH 47/81] Revert "Fix script calling from service file" This reverts commit 524080c49f7f59c25ee80580deafa3dadc9b6858. --- tomcat-10.1.service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tomcat-10.1.service b/tomcat-10.1.service index d510faf..55639b2 100644 --- a/tomcat-10.1.service +++ b/tomcat-10.1.service @@ -15,7 +15,7 @@ Environment="JAVA_OPTS=-Djava.awt.headless=true" # Lifecycle Type=simple -ExecStart=/bin/sh /usr/libexec/tomcat/tomcat-run.sh +ExecStart=/bin/sh /usr/libexec/tomcat/tomcat-start.sh SuccessExitStatus=143 Restart=on-abort From 8d8a869c2eee707ace0db3f149d839798fd4ef6f Mon Sep 17 00:00:00 2001 From: dsoumis Date: Mon, 28 Jul 2025 16:09:03 +0300 Subject: [PATCH 48/81] Revert "Add symlinks of tomcat-bootstrap.jar and tomcat-juli.jar in libdir" This reverts commit 1a5e851e22de0c608cf33d49391f76a21297df84. --- tomcat.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tomcat.spec b/tomcat.spec index fc1a128..792eb92 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -252,6 +252,7 @@ touch HACK %{__install} -d ${RPM_BUILD_ROOT}%{confdir}/Catalina/localhost %{__install} -d ${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 ${RPM_BUILD_ROOT}%{libdir} %{__install} -d ${RPM_BUILD_ROOT}%{logdir} %{__install} -d ${RPM_BUILD_ROOT}%{cachedir} @@ -304,8 +305,8 @@ sed -i "s/@MAVEN.DEPLOY.VERSION@/%{version}/g" res/maven/tomcat-juli.pom # bootstrap does not have a pom, generate one %mvn_artifact 'org.apache.tomcat:tomcat-bootstrap:%{version}' output/build/bin/bootstrap.jar -%mvn_file org.apache.tomcat:tomcat-bootstrap tomcat/tomcat-bootstrap %{libdir}/tomcat-bootstrap -%mvn_file org.apache.tomcat:tomcat-juli tomcat/tomcat-juli %{libdir}/tomcat-juli +%mvn_file org.apache.tomcat:tomcat-bootstrap tomcat/tomcat-bootstrap +%mvn_file org.apache.tomcat:tomcat-juli tomcat/tomcat-juli # tomcat-parent pom sed -i "s/@MAVEN.DEPLOY.VERSION@/%{version}/g" res/maven/tomcat.pom From 0559a64142d685421e763139a2ab66a75118a52d Mon Sep 17 00:00:00 2001 From: dsoumis Date: Mon, 28 Jul 2025 16:09:03 +0300 Subject: [PATCH 49/81] Revert "Update to 10.1.36 and verify signatures as suggested in the Fedora Packaging Guidelines" This reverts commit 07f14cc8f87a7cca1ccbf054cda88a4dc1f5a7c6. --- .gitignore | 2 +- KEYS | 562 ---------------------------------------------------- sources | 3 +- tomcat.spec | 10 +- 4 files changed, 5 insertions(+), 572 deletions(-) delete mode 100644 KEYS diff --git a/.gitignore b/.gitignore index 312c881..471c3e4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -apache-tomcat-*-src.tar.gz* +apache-tomcat-*-src.tar.gz results_tomcat tomcat*.src.rpm apache-tomcat-*-src/ diff --git a/KEYS b/KEYS deleted file mode 100644 index 6b7231f..0000000 --- a/KEYS +++ /dev/null @@ -1,562 +0,0 @@ -This file contains the PGP&GPG keys of various Apache developers. -Please don't use them for email unless you have to. Their main -purpose is code signing. - -Apache users: pgp < KEYS -Apache developers: - (pgpk -ll && pgpk -xa ) >> this file. - or - (gpg --fingerprint --list-sigs - && gpg --armor --export ) >> this file. - -Apache developers: please ensure that your key is also available via the -PGP keyservers (such as pgpkeys.mit.edu). - - -pub 4096R/2F6059E7 2009-09-18 - Key fingerprint = A9C5 DF4D 22E9 9998 D987 5A51 10C0 1C5A 2F60 59E7 -uid Mark E D Thomas -sub 4096R/5E763BEC 2009-09-18 - ------BEGIN PGP PUBLIC KEY BLOCK----- -Comment: GPGTools - http://gpgtools.org - -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 -c3EtcnwlXI07qk8nmCl1XudlS5KHeJ5axWLEDNJCvEuJGy4moaFllwmTUtxDzRK/ -zG6QSJEPfH8VZiEl6HBpgzlBB5aToxc+Wy7UpGzwaNrA6KvwSaB+jSxrZYtHbwBq -2U3ttmamynBF1izPuOeJAn4EEAECAGgFAksM3mcgHFNhbmRlciBUZW1tZSA8c2Fu -ZGVyQHRlbW1lLm5ldD4iHFNhbmRlciBUZW1tZSA8c2N0ZW1tZUBhcGFjaGUub3Jn -Ph0cU2FuZGVyIFRlbW1lIDxzYW5kZXJAbWUuY29tPgAKCRCbuGOw9Ru4igbUD/9+ -+F4uqkO+F6g1QNiyFM47K1NaFLga/lNp72mOOIlZMORXpBJGeL9DhbDvN5KIQqR4 -I5wCONGtzeU8P7M+uLapFZmofROABlACUeVhOPx8fOCeNz9xU4f33dKJJnAsIfis -SMMyJR9Xz/IbNWvM6Kb7hU+L86G2cZPD8uvZ7oHyY4wZWtjTHM0ne/usodJffxIj -oQFhn0vAC8hBNWStI8UUih+n+iqvvXA2cB9v3Ni3VjQOGLKSZ5Ke2jpKdYTl5zST -frHfjgjGvIdkWz0hbVMzL+urU9oIChBK6Nr3DxY/XvO8PmFGh7V+M9C/gahLCrNz -fD3vKGi7OYkp6dODPnREpOSZ7elGO5mGQnSosqzrLb7kw/vEobBbxsYDwxxl+ONZ -8yxUaBpvRIrwqNEwb1YxlMCLnpRs7TJxxitq+zF7F0MxB5sqdLHSNqxcfbxpTflz -Tn/H9h34aF7f4Qkn276XKIomhge4su7jxHNH/G9gTk6oicdalBFRMFwBRpaOivno -FmSGa1Yt7C1mBBQkRXjw52ZRx8MHKnccNNgpk5Xc7+VT9nqmoulq1JfzLsrtu4D1 -TaleWOVN4X4FYk3S2VWxLV5dhmuCy7hP0ZsXOTBjLXC5wMxJcp7I3IlIx39a6U7O -vhWbguPxyXR3AjBUsMRfO0pGZKXxDI3N+yHOWAtDcokCkwQQAQIAfQUCTNK0KDUc -SmltIEphZ2llbHNraSAoUmVsZWFzZSBTaWduaW5nIEtleSkgPGppbUBhcGFjaGUu -b3JnPiAcSmltIEphZ2llbHNraSA8amltQGphZ3VORVQuY29tPh8cSmltIEphZ2ll -bHNraSA8amltQGppbWphZy5jb20+AAoJEDTqduZ5FIWo/wEP/immECQXMIMQ9zj7 -4RU2R6YV7Slzc3YATfjwOgOwzQ3qF+UTSHui7eiYoHOwRK0OTKW6fe7bh9/XeWLB -sglUl+RNuvCNHAQNg9/p7x9mJL05e3OnGpVLVnq/yQezCWo1GWIPxodwmoyI2C3S -iUapfKN1q0Ml6nwZOyHsgNCFYDVhmtEnIcK7/PXLpeYTpTBuXETZZQY++XyZDiVI -le2W3uxrY0k8zVPvGSXGIh2iHtAuCrJoNKY+webEe5QVNoAYnNyu5de+50gpQOr+ -wYsvuf7S1MAPAX2L48U/JvpBfDikZR8qujvCDAAe0bnom/Ov/eWtnONi4hpsD4T3 -kcElxWOph3mEm1YUksGmoWE0FvE6o7r04XF+VrIA/YwcgC5wGgGmYFU4DR384hMZ -1EMAsd8cKdYBja/PA4BTcA6Vc0uJVFaB8o117m7r7sHKRsD7CHbbKcK8ZtRNDQa3 -SzTMqLhsRDRl5wp9Bwq6l++BKPpvEnpbs8SdW+TxrxpM/0aIhQ6ZS5RKJvhZK3Ap -3cgYBVW23CwPtVc+40/t8XqBRRlzbLdfWhEC+FU4f9RHS+DQRFSxl/xXeLtDBH75 -1WbhkRIRTktQxapEDuRFfd02Oeo356/r0TYUQHL4bwYEbTBm+HO1KJn64BCaUMOU -pW881K8SHQaHMr1iiQUpvMkTcofRiQKpBBABAgCTBQJM0uOxIBxTYW5kZXIgVGVt -bWUgPHNhbmRlckB0ZW1tZS5uZXQ+IhxTYW5kZXIgVGVtbWUgPHNjdGVtbWVAYXBh -Y2hlLm9yZz4dHFNhbmRlciBUZW1tZSA8c2FuZGVyQG1lLmNvbT4qHFNhbmRlciBU -ZW1tZSA8c2N0ZW1tZUBrZXlzaW50aGVjbG91ZC5jb20+AAoJEJu4Y7D1G7iKG0YP -/3AweZFnchITlhDdEkozl8M89VZGTBqfU6Rg7mNxL/HDnJRtBBGXmSQ5NLygX+kS -PKci3KRbjbeVEmEcWs/ZfzxN4gR+6y8ohUOaA0UDrZYctYkzG1d7HbkcM1lmvtde -Gelj1j/+eu4LRu5h9oczkqRnWV5xnqz7xsEH9Rrcgm39RpNzFf43Joo25iqdVGk4 -yBVjoHQsnD1qZwdZQ0EHxYozNkGfa6j7VXAzCYVstfRMPGKrYH/xRg2jNy750z/p -apgT3GXbpvcB9Z3gj2LRn+FKLxoH2WLf2DabdzyZz9KXfnG4ZeOd2BrFXexKT2MQ -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 -yZUcTCEB33B2jQ9z0XUEp+6B2F5iZQ== -=4AB7 ------END PGP PUBLIC KEY BLOCK----- -pub rsa4096 2012-05-08 [SCEA] - 5C3C 5F3E 314C 8662 92F3 59A8 F3AD 5C94 A67F 707E -uid [ultimate] Christopher Schultz -uid [ultimate] Christopher Schultz -uid [ultimate] Christopher Schultz -uid [ultimate] Christopher Schultz -sub rsa4096 2012-05-08 [SEA] - ------BEGIN PGP PUBLIC KEY BLOCK----- - -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 -NwUqv9cUGhf+Di0nAX1diWxfd7DdEi8= -=6zfV ------END PGP PUBLIC KEY BLOCK----- diff --git a/sources b/sources index df42da2..1bac248 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (apache-tomcat-10.1.36-src.tar.gz) = 18123ea1639733f14cf0b1ca0df8255b8d69abc7dd19cad10ad51f4f1f1c16f8f08fba668101169df68d23400f75f3aacab9040edba9330b78939b7c6399ae10 -SHA512 (apache-tomcat-10.1.36-src.tar.gz.asc) = 22153e1d7797cfb519f7df0968a60f2b1a39de156cd53011fba32c4e51a61e7f8fe4a4b75b673bd5611485f4ef1ca50e43f08d7d09925731253dc114ba0221e1 +SHA512 (apache-tomcat-10.1.34-src.tar.gz) = 0124d92eb1d184bdce1a50d5934958a0c796460a7157a8622aeee2b21060f5377198939a0260285bcdaa25cea42b880cb97575469a63f7b33ec22d532927e6ca diff --git a/tomcat.spec b/tomcat.spec index 792eb92..b43b30a 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -1,7 +1,7 @@ %global jspspec 3.1 %global major_version 10 %global minor_version 1 -%global micro_version 36 +%global micro_version 34 %global packdname apache-tomcat-%{version}-src %global servletspec 6.0 %global elspec 5.0 @@ -34,9 +34,8 @@ Summary: Apache Tomcat - Servlet and JSP engine for system-wide deployment License: Apache-2.0 URL: http://tomcat.apache.org/ Source0: http://www.apache.org/dist/tomcat/tomcat-%{major_version}/v%{version}/src/%{packdname}.tar.gz -Source1: http://www.apache.org/dist/tomcat/tomcat-%{major_version}/v%{version}/src/%{packdname}.tar.gz.asc -# https://www.apache.org/dist/tomcat/tomcat-%{major_version}/KEYS -Source2: KEYS +# Source1: http://www.apache.org/dist/tomcat/tomcat-%{major_version}/v%{version}/src/%{packdname}.tar.gz +# Source2: http://www.apache.org/dist/tomcat/tomcat-%{major_version}/v%{version}/src/%{packdname}.tar.gz Source3: %{name}-%{major_version}.%{minor_version}.conf Source4: %{name}-%{major_version}.%{minor_version}.service Source5: %{name}-%{major_version}.%{minor_version}-locate-java.sh @@ -64,7 +63,6 @@ BuildArch: noarch # See: https://docs.fedoraproject.org/en-US/packaging-guidelines/Java/#_architecture_support ExclusiveArch: %{java_arches} -BuildRequires: gnupg2 BuildRequires: ant BuildRequires: ecj BuildRequires: findutils @@ -186,8 +184,6 @@ Conflicts: tomcat-el-3.0-api Apache Tomcat EL API Implementation Classes. %prep -%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' - %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 \ From fb80fe23e4a264e9cc4a6cd930e625169d921818 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Mon, 28 Jul 2025 16:09:03 +0300 Subject: [PATCH 50/81] Revert "Fix man page rendering" This reverts commit 03b7b8f8e69991d5b6bc8b728a56722bbe7d5f30. --- tomcat-10.1-user-instance-create.asciidoc | 55 ++++++++++++++--------- 1 file changed, 33 insertions(+), 22 deletions(-) diff --git a/tomcat-10.1-user-instance-create.asciidoc b/tomcat-10.1-user-instance-create.asciidoc index c474e16..6c02e94 100644 --- a/tomcat-10.1-user-instance-create.asciidoc +++ b/tomcat-10.1-user-instance-create.asciidoc @@ -1,16 +1,19 @@ -= tomcat-user-instance-create(1) -DIMITRIS SOUMIS +tomcat-user-instance-create(1) +================================ :doctype: manpage :man source: TOMCAT :man manual: Apache Tomcat -== NAME +NAME +---- tomcat-user-instance-create - Creates a standalone Tomcat instance with a separate configuration SYNOPSIS +-------- *tomcat-user-instance-create* [OPTIONS] DIRECTORYNAME -== DESCRIPTION +DESCRIPTION +----------- The `tomcat-user-instance-create` script creates a self-contained Tomcat instance in a specified directory. This instance has its own configuration, libraries, and web applications, allowing multiple independent Tomcat instances to run on the same system. @@ -20,13 +23,16 @@ The script automatically sets up the required `CATALINA_BASE` structure, includi By using this script, users can configure and manage multiple Tomcat instances independently of the system-wide Tomcat installation. -== USAGE +USAGE +----- To create a new Tomcat instance, specify the target directory where the instance should be created. This directory **must not already exist**, as the script will create it. If no additional options are provided, the instance will be created with **default** ports and settings. -== OPTIONS +OPTIONS +------- + *-p *:: Set the TCP port for the default HTTP connector. The default is `8080`. @@ -39,36 +45,41 @@ Set the shutdown keyword. When sent to the control port, this triggers a gracefu *-h, --help*:: Display usage information and exit. -== EXAMPLES +EXAMPLES +-------- Create a Tomcat instance in `~/mytomcat` using default ports: - +---- $ tomcat-user-instance-create ~/mytomcat +---- Create an instance with a custom HTTP and control port: - +---- $ tomcat-user-instance-create -p 9090 -c 9005 ~/mytomcat +---- Create an instance with a custom shutdown keyword: - +---- $ tomcat-user-instance-create -w "STOPNOW" ~/mytomcat +---- -== NOTES +NOTES +----- - Ensure that the selected HTTP and control ports are not already in use. - Ports **below 1024** require root privileges. - The created instance is independent of the system-wide Tomcat installation. -== FILES +FILES +----- The script generates a directory structure similar to: - ---- DIRECTORYNAME/ -|-- bin/ -| |-- startup.sh -| |-- shutdown.sh -|-- conf/ -|-- logs/ -|-- webapps/ -|-- work/ -|-- temp/ -|-- lib/ +│── bin/ +│ ├── startup.sh +│ ├── shutdown.sh +│── conf/ +│── logs/ +│── webapps/ +│── work/ +│── temp/ +│── lib/ ---- From 36b27510aa7c10d69f2b9fb8fe77f445c416a58a Mon Sep 17 00:00:00 2001 From: dsoumis Date: Mon, 28 Jul 2025 16:09:04 +0300 Subject: [PATCH 51/81] Revert "Reorganize installs and preserve timestamps as suggested by Fedora Packaging guidelines" This reverts commit 740d603f373bdd64cc4d117eb731d2e432019434. --- tomcat.spec | 48 +++++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/tomcat.spec b/tomcat.spec index b43b30a..c62b7c4 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -34,16 +34,14 @@ Summary: Apache Tomcat - Servlet and JSP engine for system-wide deployment License: Apache-2.0 URL: http://tomcat.apache.org/ Source0: http://www.apache.org/dist/tomcat/tomcat-%{major_version}/v%{version}/src/%{packdname}.tar.gz -# Source1: http://www.apache.org/dist/tomcat/tomcat-%{major_version}/v%{version}/src/%{packdname}.tar.gz -# Source2: http://www.apache.org/dist/tomcat/tomcat-%{major_version}/v%{version}/src/%{packdname}.tar.gz -Source3: %{name}-%{major_version}.%{minor_version}.conf -Source4: %{name}-%{major_version}.%{minor_version}.service -Source5: %{name}-%{major_version}.%{minor_version}-locate-java.sh -Source6: %{name}-%{major_version}.%{minor_version}-run.sh -Source7: %{name}-%{major_version}.%{minor_version}-RUNNING.txt -Source8: %{name}-%{major_version}.%{minor_version}-user-instance-create.sh -Source9: %{name}-%{major_version}.%{minor_version}-setenv.sh -Source10: %{name}-%{major_version}.%{minor_version}-user-instance-create.asciidoc +Source1: %{name}-%{major_version}.%{minor_version}.conf +Source3: %{name}-%{major_version}.%{minor_version}.service +Source4: %{name}-%{major_version}.%{minor_version}-locate-java.sh +Source5: %{name}-%{major_version}.%{minor_version}-run.sh +Source6: %{name}-%{major_version}.%{minor_version}-RUNNING.txt +Source7: %{name}-%{major_version}.%{minor_version}-user-instance-create.sh +Source8: %{name}-%{major_version}.%{minor_version}-setenv.sh +Source9: %{name}-%{major_version}.%{minor_version}-user-instance-create.asciidoc # https://bugzilla.redhat.com/show_bug.cgi?id=435829 Patch0: %{name}-%{major_version}.%{minor_version}-bootstrap-MANIFEST.MF.patch @@ -245,26 +243,30 @@ touch HACK # build initial path structure %{__install} -d ${RPM_BUILD_ROOT}%{appdir} %{__install} -d ${RPM_BUILD_ROOT}%{bindir} +%{__install} -d ${RPM_BUILD_ROOT}%{confdir} %{__install} -d ${RPM_BUILD_ROOT}%{confdir}/Catalina/localhost %{__install} -d ${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 ${RPM_BUILD_ROOT}%{libdir} +%{__install} -d ${RPM_BUILD_ROOT}%{libdir} %{__install} -d ${RPM_BUILD_ROOT}%{logdir} +%{__install} -d ${RPM_BUILD_ROOT}%{homedir} %{__install} -d ${RPM_BUILD_ROOT}%{cachedir} +%{__install} -d ${RPM_BUILD_ROOT}%{_unitdir} +%{__install} -d ${RPM_BUILD_ROOT}%{_libexecdir}/%{name} -%{__install} -D -p %{SOURCE3} ${RPM_BUILD_ROOT}%{confdir}/%{name}.conf -%{__install} -D -p %{SOURCE4} ${RPM_BUILD_ROOT}%{_unitdir}/%{name}.service -%{__install} -D -p %{SOURCE5} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/%{name}-locate-java.sh -%{__install} -D -p %{SOURCE6} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/%{name}-run.sh -%{__install} -D -p %{SOURCE7} ${RPM_BUILD_ROOT}%{homedir}/doc/RUNNING.txt +%{__install} %{SOURCE1} ${RPM_BUILD_ROOT}%{confdir}/%{name}.conf +%{__install} %{SOURCE3} ${RPM_BUILD_ROOT}%{_unitdir}/%{name}.service +%{__install} %{SOURCE4} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/%{name}-locate-java.sh +%{__install} %{SOURCE5} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/%{name}-run.sh +%{__install} -D %{SOURCE6} ${RPM_BUILD_ROOT}%{homedir}/doc/RUNNING.txt %{__install} -D tomcat.sysusers.conf ${RPM_BUILD_ROOT}%{_sysusersdir}/tomcat.conf %{__install} -d ${RPM_BUILD_ROOT}%{userinstancedir}/conf -%{__install} -D -p %{SOURCE8} ${RPM_BUILD_ROOT}%{_bindir}/tomcat-user-instance-create.sh -%{__install} -D -p %{SOURCE9} ${RPM_BUILD_ROOT}%{userinstancedir}/bin/setenv.sh +%{__install} -D %{SOURCE7} ${RPM_BUILD_ROOT}%{_bindir}/tomcat-user-instance-create.sh +%{__install} -D %{SOURCE8} ${RPM_BUILD_ROOT}%{userinstancedir}/bin/setenv.sh -asciidoctor -b manpage -D ${RPM_BUILD_ROOT}%{_mandir}/man1 -o tomcat-user-instance-create.1 %{SOURCE10} +asciidoctor -b manpage -D ${RPM_BUILD_ROOT}%{_mandir}/man1 -o tomcat-user-instance-create.1 %{SOURCE9} for jar in output/build/lib/*.jar; do # Skip Jar if empty, applies to tomcat-coyote-ffm.jar atm @@ -323,10 +325,10 @@ jar ufm ${RPM_BUILD_ROOT}%{libdir}/servlet-api.jar <(echo "JavaPackages-GroupId: # move things into place pushd output/build - %{__cp} -ap bin/* ${RPM_BUILD_ROOT}%{bindir} - %{__cp} -ap conf/*.{policy,properties,xml} ${RPM_BUILD_ROOT}%{confdir} - %{__cp} -ap conf/*.{policy,properties,xml} ${RPM_BUILD_ROOT}%{userinstancedir}/conf - %{__cp} -ap webapps/* ${RPM_BUILD_ROOT}%{appdir} + %{__cp} -a bin/* ${RPM_BUILD_ROOT}%{bindir} + %{__cp} -a conf/*.{policy,properties,xml} ${RPM_BUILD_ROOT}%{confdir} + %{__cp} -a conf/*.{policy,properties,xml} ${RPM_BUILD_ROOT}%{userinstancedir}/conf + %{__cp} -a webapps/* ${RPM_BUILD_ROOT}%{appdir} popd ln -sr $(build-classpath ecj/ecj) ${RPM_BUILD_ROOT}%{libdir}/ecj-x.jar From cd185fa508ea29d1d70b9f63568859b66ce256cb Mon Sep 17 00:00:00 2001 From: dsoumis Date: Mon, 28 Jul 2025 16:09:04 +0300 Subject: [PATCH 52/81] Revert "Update catalina-policy.patch" This reverts commit d584406620b7ae49f0457ee6a06758b6bb7c0691. --- tomcat-10.1-catalina-policy.patch | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/tomcat-10.1-catalina-policy.patch b/tomcat-10.1-catalina-policy.patch index 5c01b4a..3254968 100644 --- a/tomcat-10.1-catalina-policy.patch +++ b/tomcat-10.1-catalina-policy.patch @@ -1,23 +1,16 @@ ---- conf/catalina.policy.orig 2025-03-04 21:02:32.000000000 +0200 -+++ conf/catalina.policy 2025-03-07 14:23:42.341169484 +0200 -@@ -55,6 +55,20 @@ grant codeBase "jrt:/jdk.compiler" { +--- conf/catalina.policy.orig 2024-05-22 16:12:23.809886452 +0300 ++++ conf/catalina.policy 2024-05-22 16:14:38.913939654 +0300 +@@ -55,6 +55,14 @@ permission java.security.AllPermission; }; - -+// ========== FEDORA SPECIFIC CODE PERMISSIONS ======================================= + ++// ========== 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/ecj/ecj.jar" { + permission java.security.AllPermission; +}; -+ -+grant codeBase "file:/usr/share/tomcat-jakartaee-migration/jakartaee-migration.jar" { -+ permission java.security.AllPermission; -+}; -+ -+grant codeBase "file:/usr/lib/java/tomcat/tomcat-jni.jar" { -+ permission java.security.AllPermission; -+}; -+ - + // ========== CATALINA CODE PERMISSIONS ======================================= - From bd10c72eff8cdaca5abd01bb8da81fea9781ea75 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Mon, 28 Jul 2025 16:09:04 +0300 Subject: [PATCH 53/81] Revert "Fix tomcat-juli.jar not placed in tomcat-common package" This reverts commit 4c675c785fc5b871b842bf76ded75a82da30efe3. --- tomcat.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/tomcat.spec b/tomcat.spec index c62b7c4..56613ff 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -314,7 +314,6 @@ sed -i "s/@MAVEN.DEPLOY.VERSION@/%{version}/g" res/maven/tomcat.pom %mvn_package ":tomcat-jsp-api" tomcat-jsp-api %mvn_package ":tomcat-servlet-api" tomcat-servlet-api %mvn_package ":tomcat-bootstrap" tomcat-common -%mvn_package ":tomcat-juli" tomcat-common %mvn_install From d56e3c9a0ed6e8a6bb1980c7d49f409d8e0fe185 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Mon, 28 Jul 2025 16:09:05 +0300 Subject: [PATCH 54/81] Revert "Remove unused parameter" This reverts commit c86e1e94da32c7cbe05e5e03ebe0c939a0bae741. --- tomcat-10.1.conf | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tomcat-10.1.conf b/tomcat-10.1.conf index dc9fec5..fbb3951 100644 --- a/tomcat-10.1.conf +++ b/tomcat-10.1.conf @@ -18,4 +18,7 @@ #export JAVA_OPTS="$JAVA_OPTS -Dbuild.compiler=$JSP_COMPILER" # Enable the Java security manager? (true/false, default: false) -#export SECURITY_MANAGER=true \ No newline at end of file +#export SECURITY_MANAGER=true + +# Whether to compress logfiles older than today's +#export LOGFILE_COMPRESS=1 \ No newline at end of file From 866385e700f5b7665830f13f28570335d486a26a Mon Sep 17 00:00:00 2001 From: dsoumis Date: Mon, 28 Jul 2025 16:09:05 +0300 Subject: [PATCH 55/81] Revert "Rename service start script more properly" This reverts commit 74d5d938592bfab95c3a362fae14f0185e8b2435. --- tomcat-10.1-run.sh => tomcat-10.1-start.sh | 0 tomcat.spec | 6 +++--- 2 files changed, 3 insertions(+), 3 deletions(-) rename tomcat-10.1-run.sh => tomcat-10.1-start.sh (100%) diff --git a/tomcat-10.1-run.sh b/tomcat-10.1-start.sh similarity index 100% rename from tomcat-10.1-run.sh rename to tomcat-10.1-start.sh diff --git a/tomcat.spec b/tomcat.spec index 56613ff..fe6de25 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -37,7 +37,7 @@ Source0: http://www.apache.org/dist/tomcat/tomcat-%{major_version}/v%{vers Source1: %{name}-%{major_version}.%{minor_version}.conf Source3: %{name}-%{major_version}.%{minor_version}.service Source4: %{name}-%{major_version}.%{minor_version}-locate-java.sh -Source5: %{name}-%{major_version}.%{minor_version}-run.sh +Source5: %{name}-%{major_version}.%{minor_version}-start.sh Source6: %{name}-%{major_version}.%{minor_version}-RUNNING.txt Source7: %{name}-%{major_version}.%{minor_version}-user-instance-create.sh Source8: %{name}-%{major_version}.%{minor_version}-setenv.sh @@ -257,7 +257,7 @@ touch HACK %{__install} %{SOURCE1} ${RPM_BUILD_ROOT}%{confdir}/%{name}.conf %{__install} %{SOURCE3} ${RPM_BUILD_ROOT}%{_unitdir}/%{name}.service %{__install} %{SOURCE4} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/%{name}-locate-java.sh -%{__install} %{SOURCE5} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/%{name}-run.sh +%{__install} %{SOURCE5} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/%{name}-start.sh %{__install} -D %{SOURCE6} ${RPM_BUILD_ROOT}%{homedir}/doc/RUNNING.txt %{__install} -D tomcat.sysusers.conf ${RPM_BUILD_ROOT}%{_sysusersdir}/tomcat.conf @@ -352,7 +352,7 @@ ln -sr %{libdir} ${RPM_BUILD_ROOT}%{homedir}/lib %license LICENSE %{homedir}/doc/RUNNING.txt %{_unitdir}/%{name}.service -%{_libexecdir}/%{name}/tomcat-run.sh +%{_libexecdir}/%{name}/tomcat-start.sh %{_sysusersdir}/tomcat.conf %{baseconfdir} %{baselogdir} From 78f701590927589179814ff3cbb132ef90d95b8c Mon Sep 17 00:00:00 2001 From: dsoumis Date: Mon, 28 Jul 2025 16:09:05 +0300 Subject: [PATCH 56/81] Revert "Remove logrotate file since Tomcat rotates its own logs" This reverts commit 48b049b11647bccf850d5d7d6f5355fe75222faf. --- tomcat-10.1.logrotate | 11 +++++++++++ tomcat.spec | 4 ++++ 2 files changed, 15 insertions(+) create mode 100644 tomcat-10.1.logrotate diff --git a/tomcat-10.1.logrotate b/tomcat-10.1.logrotate new file mode 100644 index 0000000..082092a --- /dev/null +++ b/tomcat-10.1.logrotate @@ -0,0 +1,11 @@ +# This is an example config only and is disabled by default +# If you wish to use it, you'll need to update /etc/tomcat/logging.properties +# to prevent catalina*.log from being rotated by Tomcat +@@@TCLOG@@@/catalina*.log { + copytruncate + weekly + rotate 52 + compress + missingok + create 0644 tomcat tomcat +} diff --git a/tomcat.spec b/tomcat.spec index fe6de25..a1b5416 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -35,6 +35,7 @@ License: Apache-2.0 URL: http://tomcat.apache.org/ Source0: http://www.apache.org/dist/tomcat/tomcat-%{major_version}/v%{version}/src/%{packdname}.tar.gz Source1: %{name}-%{major_version}.%{minor_version}.conf +Source2: %{name}-%{major_version}.%{minor_version}.logrotate Source3: %{name}-%{major_version}.%{minor_version}.service Source4: %{name}-%{major_version}.%{minor_version}-locate-java.sh Source5: %{name}-%{major_version}.%{minor_version}-start.sh @@ -241,6 +242,7 @@ touch HACK %install # build initial path structure +%{__install} -d ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d %{__install} -d ${RPM_BUILD_ROOT}%{appdir} %{__install} -d ${RPM_BUILD_ROOT}%{bindir} %{__install} -d ${RPM_BUILD_ROOT}%{confdir} @@ -255,6 +257,7 @@ touch HACK %{__install} -d ${RPM_BUILD_ROOT}%{_libexecdir}/%{name} %{__install} %{SOURCE1} ${RPM_BUILD_ROOT}%{confdir}/%{name}.conf +%{__sed} -e "s|\@\@\@TCLOG\@\@\@|%{logdir}|g" %{SOURCE2} > ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}.disabled %{__install} %{SOURCE3} ${RPM_BUILD_ROOT}%{_unitdir}/%{name}.service %{__install} %{SOURCE4} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/%{name}-locate-java.sh %{__install} %{SOURCE5} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/%{name}-start.sh @@ -353,6 +356,7 @@ ln -sr %{libdir} ${RPM_BUILD_ROOT}%{homedir}/lib %{homedir}/doc/RUNNING.txt %{_unitdir}/%{name}.service %{_libexecdir}/%{name}/tomcat-start.sh +%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}.disabled %{_sysusersdir}/tomcat.conf %{baseconfdir} %{baselogdir} From b4f52963388d6e1c1da31227707fb8c85184963d Mon Sep 17 00:00:00 2001 From: dsoumis Date: Mon, 28 Jul 2025 16:09:06 +0300 Subject: [PATCH 57/81] Revert "Improve package descriptions and summaries" This reverts commit c1868d66549c281c36dc3006ec37190871ceb8e5. --- tomcat.spec | 142 ++++++++++++++++++++++++---------------------------- 1 file changed, 66 insertions(+), 76 deletions(-) diff --git a/tomcat.spec b/tomcat.spec index a1b5416..a1f7da4 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -28,7 +28,7 @@ Name: tomcat Epoch: 1 Version: %{major_version}.%{minor_version}.%{micro_version} Release: %autorelease -Summary: Apache Tomcat - Servlet and JSP engine for system-wide deployment +Summary: Apache Servlet/JSP Engine, RI for Servlet %{servletspec}/JSP %{jspspec} API # Automatically converted from old format: ASL 2.0 - review is highly recommended. License: Apache-2.0 @@ -83,75 +83,28 @@ Suggests: %{name}-webapps = %{epoch}:%{version}-%{release} Suggests: %{name}-user-instance = %{epoch}:%{version}-%{release} %description -Apache Tomcat is an open-source implementation of the Java Servlet, JavaServer Pages (JSP), and WebSocket technologies. -It provides a pure Java HTTP web server environment for running Java applications. -This package includes only the startup scripts for managing a system-wide Tomcat daemon. -It does not include documentation or web applications. - * To install the default web applications, use the tomcat-webapps package. - * To access online documentation, install tomcat-docs-webapps package. - * To create user instances without running Tomcat as a system service, use tomcat-user-instance package instead. +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. -%package user-instance -Summary: Apache Tomcat - Tools for creating user-managed instances -Requires: %{name}-common = %{epoch}:%{version}-%{release} -Suggests: %{name} = %{epoch}:%{version}-%{release} -Suggests: %{name}-admin-webapps = %{epoch}:%{version}-%{release} -Suggests: %{name}-docs-webapp = %{epoch}:%{version}-%{release} -Suggests: %{name}-webapps = %{epoch}:%{version}-%{release} - -%description user-instance -This package provides the tools necessary to create user-managed Tomcat instances, -allowing users to run Tomcat independently of the system-wide service. -A user instance includes its own configuration, libraries, and web applications, -which can be started and stopped using scripts inside the instance directory. - -%package common -Summary: Apache Tomcat - Common files for Tomcat packages -Requires: (java-headless >= %{min_java_version} or java >= %{min_java_version}) -Requires: %{name}-lib = %{epoch}:%{version}-%{release} - -%description common -This package contains common files required by both tomcat and tomcat-user-instance packages, including essential Tomcat -scripts and libraries. Installing this package alone does not provide a functional Tomcat installation, -but is required as a dependency for other Tomcat-related packages. - -%package lib -Summary: Apache Tomcat - Core libraries for embedding Tomcat -Requires: %{name}-jsp-%{jspspec}-api = %{epoch}:%{version}-%{release} -Requires: %{name}-servlet-%{servletspec}-api = %{epoch}:%{version}-%{release} -Requires: %{name}-el-%{elspec}-api = %{epoch}:%{version}-%{release} -Requires: ecj >= 4.20 -Recommends: tomcat-jakartaee-migration - -%description lib -This package contains the core libraries of Apache Tomcat, which allow other Java applications to embed Tomcat -as a lightweight servlet container. It is primarily intended for use by developers and applications that need Tomcat -as an embedded runtime. +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 admin-webapps -Summary: Apache Tomcat - Administrative web applications +Summary: The host-manager and manager web applications for Apache Tomcat Requires: %{name} = %{epoch}:%{version}-%{release} %description admin-webapps -This package provides the Tomcat Web Application Manager and Virtual Host Manager, which allow administrators to deploy, -manage, and configure web applications through a web interface. -These tools simplify application lifecycle management without requiring direct filesystem access. +The host-manager and manager web applications for Apache Tomcat. %package docs-webapp -Summary: Apache Tomcat - Online documentation web application +Summary: The docs web application for Apache Tomcat Requires: %{name} = %{epoch}:%{version}-%{release} %description docs-webapp -This package provides the Tomcat documentation web application, accessible via the Tomcat server. -It includes API references, configuration guidelines, and development documentation. - -%package webapps -Summary: Apache Tomcat - Default ROOT web application -Requires: %{name} = %{epoch}:%{version}-%{release} - -%description webapps -This package includes the default ROOT web applications bundled with Apache Tomcat, -which serves as the default homepage when accessing Tomcat in a browser. +The docs web application for Apache Tomcat. %package jsp-%{jspspec}-api Summary: Apache Tomcat JavaServer Pages v%{jspspec} API Implementation Classes @@ -164,6 +117,25 @@ Conflicts: tomcat-jsp-2.3-api %description jsp-%{jspspec}-api Apache Tomcat JSP API Implementation Classes. +%package common +Summary: Apache Tomcat - Servlet and JSP engine -- common files +Requires: (java-headless >= %{min_java_version} or java >= %{min_java_version}) +Requires: %{name}-lib = %{epoch}:%{version}-%{release} + +%description common +Apache Tomcat - Servlet and JSP engine -- common files + +%package lib +Summary: Libraries needed to run the Tomcat Web container +Requires: %{name}-jsp-%{jspspec}-api = %{epoch}:%{version}-%{release} +Requires: %{name}-servlet-%{servletspec}-api = %{epoch}:%{version}-%{release} +Requires: %{name}-el-%{elspec}-api = %{epoch}:%{version}-%{release} +Requires: ecj >= 4.20 +Recommends: tomcat-jakartaee-migration + +%description lib +Libraries needed to run the Tomcat Web container. + %package servlet-%{servletspec}-api Summary: Apache Tomcat Java Servlet v%{servletspec} API Implementation Classes Provides: servlet = %{servletspec} @@ -182,6 +154,24 @@ Conflicts: tomcat-el-3.0-api %description el-%{elspec}-api Apache Tomcat EL API Implementation Classes. +%package webapps +Summary: The ROOT web application for Apache Tomcat +Requires: %{name} = %{epoch}:%{version}-%{release} + +%description webapps +The ROOT web application for Apache Tomcat. + +%package user-instance +Summary: Apache Tomcat - Servlet and JSP engine -- tools to create user instances +Requires: %{name}-common = %{epoch}:%{version}-%{release} +Suggests: %{name} = %{epoch}:%{version}-%{release} +Suggests: %{name}-admin-webapps = %{epoch}:%{version}-%{release} +Suggests: %{name}-docs-webapp = %{epoch}:%{version}-%{release} +Suggests: %{name}-webapps = %{epoch}:%{version}-%{release} + +%description user-instance +Apache Tomcat - Servlet and JSP engine -- tools to create user instances + %prep %setup -q -n %{packdname} # remove pre-built binaries and windows files @@ -381,11 +371,14 @@ ln -sr %{libdir} ${RPM_BUILD_ROOT}%{homedir}/lib %attr(2775,root,tomcat) %dir %{confdir}/Catalina %attr(2775,root,tomcat) %dir %{confdir}/Catalina/localhost -%files user-instance +%files admin-webapps %license LICENSE -%{userinstancedir} -%{_bindir}/tomcat-user-instance-create.sh -%{_mandir}/man1/tomcat-user-instance-create.1* +%{appdir}/host-manager +%{appdir}/manager + +%files docs-webapp +%license LICENSE +%{appdir}/docs %files common -f .mfiles-tomcat-common %license LICENSE @@ -400,19 +393,6 @@ ln -sr %{libdir} ${RPM_BUILD_ROOT}%{homedir}/lib %{libdir}/ecj-x.jar %exclude %{libdir}/tomcat-jni.pom -%files admin-webapps -%license LICENSE -%{appdir}/host-manager -%{appdir}/manager - -%files docs-webapp -%license LICENSE -%{appdir}/docs - -%files webapps -%license LICENSE -%{appdir}/ROOT - %files jsp-%{jspspec}-api -f .mfiles-tomcat-jsp-api %license LICENSE @@ -422,5 +402,15 @@ ln -sr %{libdir} ${RPM_BUILD_ROOT}%{homedir}/lib %files el-%{elspec}-api -f .mfiles-tomcat-el-api %license LICENSE +%files webapps +%license LICENSE +%{appdir}/ROOT + +%files user-instance +%license LICENSE +%{userinstancedir} +%{_bindir}/tomcat-user-instance-create.sh +%{_mandir}/man1/tomcat-user-instance-create.1* + %changelog %autochangelog From 3bc9669c92b1ed9099704985a1d6c1ffcd392d2e Mon Sep 17 00:00:00 2001 From: dsoumis Date: Mon, 28 Jul 2025 16:09:06 +0300 Subject: [PATCH 58/81] Revert "Remove redundant defattr from webapps files section" This reverts commit fd0d6ea01f1162ad19304dd7296f2ad8c19bf8fa. --- tomcat.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/tomcat.spec b/tomcat.spec index a1f7da4..560c452 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -404,6 +404,7 @@ ln -sr %{libdir} ${RPM_BUILD_ROOT}%{homedir}/lib %files webapps %license LICENSE +%defattr(0644,tomcat,tomcat,0755) %{appdir}/ROOT %files user-instance From 4a35676781734e27eb64e2ac0ad2cd855c54c986 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Mon, 28 Jul 2025 16:09:06 +0300 Subject: [PATCH 59/81] Revert "Introduce tomcat-user-instance package" This reverts commit 4cb746528937b2740d45c3484c3a18ad04c147e2. --- tomcat-10.1-setenv.sh | 12 -- tomcat-10.1-user-instance-create.asciidoc | 85 ------------ tomcat-10.1-user-instance-create.sh | 149 ---------------------- tomcat.spec | 31 +---- 4 files changed, 1 insertion(+), 276 deletions(-) delete mode 100755 tomcat-10.1-setenv.sh delete mode 100644 tomcat-10.1-user-instance-create.asciidoc delete mode 100644 tomcat-10.1-user-instance-create.sh diff --git a/tomcat-10.1-setenv.sh b/tomcat-10.1-setenv.sh deleted file mode 100755 index 76bea76..0000000 --- a/tomcat-10.1-setenv.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# - -export CATALINA_HOME=/usr/share/tomcat - -# Try to find Java installation and set JAVA_HOME -/bin/sh /usr/libexec/tomcat/tomcat-locate-java.sh - -# Default Java options -if [ -z "$JAVA_OPTS" ]; then - JAVA_OPTS="-Djava.awt.headless=true" -fi diff --git a/tomcat-10.1-user-instance-create.asciidoc b/tomcat-10.1-user-instance-create.asciidoc deleted file mode 100644 index 6c02e94..0000000 --- a/tomcat-10.1-user-instance-create.asciidoc +++ /dev/null @@ -1,85 +0,0 @@ -tomcat-user-instance-create(1) -================================ -:doctype: manpage -:man source: TOMCAT -:man manual: Apache Tomcat - -NAME ----- -tomcat-user-instance-create - Creates a standalone Tomcat instance with a separate configuration - -SYNOPSIS --------- -*tomcat-user-instance-create* [OPTIONS] DIRECTORYNAME - -DESCRIPTION ------------ -The `tomcat-user-instance-create` script creates a self-contained Tomcat instance in a specified directory. -This instance has its own configuration, libraries, and web applications, allowing multiple independent Tomcat instances to run on the same system. - -The script automatically sets up the required `CATALINA_BASE` structure, including: -- `bin/startup.sh` – Starts the Tomcat instance. -- `bin/shutdown.sh` – Stops the Tomcat instance. - -By using this script, users can configure and manage multiple Tomcat instances independently of the system-wide Tomcat installation. - -USAGE ------ -To create a new Tomcat instance, specify the target directory where the instance should be created. -This directory **must not already exist**, as the script will create it. - -If no additional options are provided, the instance will be created with **default** ports and settings. - -OPTIONS -------- - -*-p *:: -Set the TCP port for the default HTTP connector. The default is `8080`. - -*-c *:: -Set the TCP port for the Tomcat shutdown control mechanism. The default is `8005`. - -*-w *:: -Set the shutdown keyword. When sent to the control port, this triggers a graceful shutdown of the instance. The default keyword is `SHUTDOWN`. - -*-h, --help*:: -Display usage information and exit. - -EXAMPLES --------- -Create a Tomcat instance in `~/mytomcat` using default ports: ----- -$ tomcat-user-instance-create ~/mytomcat ----- - -Create an instance with a custom HTTP and control port: ----- -$ tomcat-user-instance-create -p 9090 -c 9005 ~/mytomcat ----- - -Create an instance with a custom shutdown keyword: ----- -$ tomcat-user-instance-create -w "STOPNOW" ~/mytomcat ----- - -NOTES ------ -- Ensure that the selected HTTP and control ports are not already in use. -- Ports **below 1024** require root privileges. -- The created instance is independent of the system-wide Tomcat installation. - -FILES ------ -The script generates a directory structure similar to: ----- -DIRECTORYNAME/ -│── bin/ -│ ├── startup.sh -│ ├── shutdown.sh -│── conf/ -│── logs/ -│── webapps/ -│── work/ -│── temp/ -│── lib/ ----- diff --git a/tomcat-10.1-user-instance-create.sh b/tomcat-10.1-user-instance-create.sh deleted file mode 100644 index 4854928..0000000 --- a/tomcat-10.1-user-instance-create.sh +++ /dev/null @@ -1,149 +0,0 @@ -#!/bin/sh -# Script to create a CATALINA_BASE directory for your own tomcat - -PROG=$(basename "$0") -CATALINA_HOME="/usr/share/tomcat" -TARGET="" -HPORT=8080 -CPORT=8005 -CWORD="SHUTDOWN" -warned=0 -warnlowport=0 - -usage() { - echo "Usage: $PROG [options] " - echo " directoryname: name of the tomcat instance directory to create" - echo "Options:" - echo " -h, --help Display this help message" - echo " -p HTTP port to be used by Tomcat (default is $HPORT)" - echo " -c Server shutdown control port (default is $CPORT)" - echo " -w Word to send to trigger shutdown (default is $CWORD)" -} - -checkport() { - type=$1 - port=$2 - # Fail if port is non-numeric - case "$port" in - ''|*[!0-9]*) - echo "Error: ${type} port '${port}' is not a valid TCP port number." - exit 1 - ;; - esac - - num=$((port + 1)) 2>/dev/null || { - echo "Error: ${type} port '${port}' is not a valid TCP port number." - exit 1 - } - - if [ "$num" -lt 2 ] || [ "$num" -gt 65536 ]; then - echo "Error: ${type} port '${port}' is not a valid TCP port number or is above TCP port numbers (> 65535)." - exit 1 - fi - - # Warn if port is below 1024 (once) - if [ ${warnlowport} -eq 0 ]; then - if [ "${port}" -lt 1024 ]; then - echo "Warning: ports below 1024 are reserved to the super-user." - warnlowport=1 - warned=1 - fi - fi - - # Warn if port appears to be in use - if ss -tln | grep -q ":${port} "; then - echo "Warning: ${type} port ${port} appears to be in use." - warned=1 - fi -} - -if [ "$#" -lt 1 ]; then - usage - exit 1 -fi -if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then - usage - exit 0 -fi - -while getopts ":p:c:w:h" options; do - case $options in - p ) HPORT=$OPTARG ;; - c ) CPORT=$OPTARG ;; - w ) CWORD=$OPTARG ;; - h ) usage;; - \? ) echo "Error: Unknown parameter '-$OPTARG'." - exit 1;; - esac -done - -shift $((OPTIND - 1)) -TARGET=$1 -shift -echo "You are about to create a Tomcat instance in directory '$TARGET'" - -# Fail if no target specified -if [ -z "${TARGET}" ]; then - echo "Error: No target directory specified (use -d)." - exit 1 -fi - -# Fail if ports are the same -if [ "${HPORT}" = "${CPORT}" ]; then - echo "Error: HTTP port and control port must be different." - exit 1 -fi - -# Fail if target directory already exists -if [ -d "${TARGET}" ]; then - echo "Error: Target directory already exists." - exit 1 -fi - -# Check ports -checkport HTTP "${HPORT}" -checkport Control "${CPORT}" - -# Ask for confirmation if warnings were printed out -if [ ${warned} -eq 1 ]; then - echo "Press to continue, or type 'no' to abort." - read -r answer - case "$answer" in - [nN][oO]|[nN]) - echo "Aborting." - exit 1 - ;; - esac -fi - -mkdir -p "${TARGET}" - -FULLTARGET=$(cd "${TARGET}" > /dev/null && pwd) - -mkdir "${TARGET}/conf" -mkdir "${TARGET}/logs" -mkdir "${TARGET}/webapps" -mkdir "${TARGET}/work" -mkdir "${TARGET}/temp" -cp -r "${CATALINA_HOME}/user-instance/*" "${TARGET}" - -sed -i -e "s/Connector port=\"8080\"/Connector port=\"${HPORT}\"/;s/Server port=\"-1\" shutdown=\"SHUTDOWN\"/Server port=\"${CPORT}\" shutdown=\"${CWORD}\"/" "${TARGET}/conf/server.xml" - -cat > "${TARGET}/bin/startup.sh" << EOF -#!/bin/sh -export CATALINA_BASE="${FULLTARGET}" -"${CATALINA_HOME}"/bin/startup.sh -echo "Tomcat started" -EOF - -cat > "${TARGET}/bin/shutdown.sh" << EOF -#!/bin/sh -export CATALINA_BASE="${FULLTARGET}" -"${CATALINA_HOME}"/bin/shutdown.sh -echo "Tomcat stopped" -EOF - -chmod a+x "${TARGET}/bin/startup.sh" "${TARGET}/bin/shutdown.sh" -echo "* New Tomcat instance created in ${TARGET}" -echo "* You might want to edit default configuration in ${TARGET}/conf" -echo "* Run ${TARGET}/bin/startup.sh to start your Tomcat instance" diff --git a/tomcat.spec b/tomcat.spec index 560c452..1bdc3c9 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -22,7 +22,6 @@ %global logdir %{_var}/log/%{name} %global cachedir %{_var}/cache/%{name} %global workdir %{basedir}/work -%global userinstancedir %{homedir}/user-instance Name: tomcat Epoch: 1 @@ -40,9 +39,6 @@ Source3: %{name}-%{major_version}.%{minor_version}.service Source4: %{name}-%{major_version}.%{minor_version}-locate-java.sh Source5: %{name}-%{major_version}.%{minor_version}-start.sh Source6: %{name}-%{major_version}.%{minor_version}-RUNNING.txt -Source7: %{name}-%{major_version}.%{minor_version}-user-instance-create.sh -Source8: %{name}-%{major_version}.%{minor_version}-setenv.sh -Source9: %{name}-%{major_version}.%{minor_version}-user-instance-create.asciidoc # https://bugzilla.redhat.com/show_bug.cgi?id=435829 Patch0: %{name}-%{major_version}.%{minor_version}-bootstrap-MANIFEST.MF.patch @@ -70,7 +66,6 @@ BuildRequires: javapackages-local BuildRequires: aqute-bnd BuildRequires: tomcat-jakartaee-migration BuildRequires: systemd -BuildRequires: rubygem-asciidoctor Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: systemd @@ -80,7 +75,6 @@ Recommends: tomcat-native >= %{native_version} Suggests: %{name}-admin-webapps = %{epoch}:%{version}-%{release} Suggests: %{name}-docs-webapp = %{epoch}:%{version}-%{release} Suggests: %{name}-webapps = %{epoch}:%{version}-%{release} -Suggests: %{name}-user-instance = %{epoch}:%{version}-%{release} %description Tomcat is the servlet container that is used in the official Reference @@ -161,17 +155,6 @@ Requires: %{name} = %{epoch}:%{version}-%{release} %description webapps The ROOT web application for Apache Tomcat. -%package user-instance -Summary: Apache Tomcat - Servlet and JSP engine -- tools to create user instances -Requires: %{name}-common = %{epoch}:%{version}-%{release} -Suggests: %{name} = %{epoch}:%{version}-%{release} -Suggests: %{name}-admin-webapps = %{epoch}:%{version}-%{release} -Suggests: %{name}-docs-webapp = %{epoch}:%{version}-%{release} -Suggests: %{name}-webapps = %{epoch}:%{version}-%{release} - -%description user-instance -Apache Tomcat - Servlet and JSP engine -- tools to create user instances - %prep %setup -q -n %{packdname} # remove pre-built binaries and windows files @@ -232,6 +215,7 @@ touch HACK %install # build initial path structure +# %{__install} -d ${RPM_BUILD_ROOT}%{_bindir} %{__install} -d ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d %{__install} -d ${RPM_BUILD_ROOT}%{appdir} %{__install} -d ${RPM_BUILD_ROOT}%{bindir} @@ -255,12 +239,6 @@ touch HACK %{__install} -D tomcat.sysusers.conf ${RPM_BUILD_ROOT}%{_sysusersdir}/tomcat.conf -%{__install} -d ${RPM_BUILD_ROOT}%{userinstancedir}/conf -%{__install} -D %{SOURCE7} ${RPM_BUILD_ROOT}%{_bindir}/tomcat-user-instance-create.sh -%{__install} -D %{SOURCE8} ${RPM_BUILD_ROOT}%{userinstancedir}/bin/setenv.sh - -asciidoctor -b manpage -D ${RPM_BUILD_ROOT}%{_mandir}/man1 -o tomcat-user-instance-create.1 %{SOURCE9} - for jar in output/build/lib/*.jar; do # Skip Jar if empty, applies to tomcat-coyote-ffm.jar atm jar tf ${jar} | grep -E -q '.*\.class' || continue @@ -319,7 +297,6 @@ jar ufm ${RPM_BUILD_ROOT}%{libdir}/servlet-api.jar <(echo "JavaPackages-GroupId: pushd output/build %{__cp} -a bin/* ${RPM_BUILD_ROOT}%{bindir} %{__cp} -a conf/*.{policy,properties,xml} ${RPM_BUILD_ROOT}%{confdir} - %{__cp} -a conf/*.{policy,properties,xml} ${RPM_BUILD_ROOT}%{userinstancedir}/conf %{__cp} -a webapps/* ${RPM_BUILD_ROOT}%{appdir} popd @@ -407,11 +384,5 @@ ln -sr %{libdir} ${RPM_BUILD_ROOT}%{homedir}/lib %defattr(0644,tomcat,tomcat,0755) %{appdir}/ROOT -%files user-instance -%license LICENSE -%{userinstancedir} -%{_bindir}/tomcat-user-instance-create.sh -%{_mandir}/man1/tomcat-user-instance-create.1* - %changelog %autochangelog From 33955ca6394eb5a62b83c5941007eca8c6c98243 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Mon, 28 Jul 2025 16:09:06 +0300 Subject: [PATCH 60/81] Revert "Add Suggests: sections in tomcat package" This reverts commit c76067efd85d5106aa517461e25d286d63898ece. --- tomcat.spec | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/tomcat.spec b/tomcat.spec index 1bdc3c9..a50a7d6 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -68,13 +68,8 @@ BuildRequires: tomcat-jakartaee-migration BuildRequires: systemd Requires: %{name}-common = %{epoch}:%{version}-%{release} -Requires: systemd - Recommends: tomcat-native >= %{native_version} - -Suggests: %{name}-admin-webapps = %{epoch}:%{version}-%{release} -Suggests: %{name}-docs-webapp = %{epoch}:%{version}-%{release} -Suggests: %{name}-webapps = %{epoch}:%{version}-%{release} +Requires: systemd %description Tomcat is the servlet container that is used in the official Reference From 987625859ec450c28b8e4fd19e90ecb1f36da405 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Mon, 28 Jul 2025 16:09:07 +0300 Subject: [PATCH 61/81] Revert "Reorganize docs and add RUNNING.txt file in tomcat-common package" This reverts commit e4b70e261a6f8ce13784f4ec086867792000c8d1. --- tomcat-10.1-RUNNING.txt | 133 ---------------------------------------- tomcat-10.1.conf | 4 +- tomcat.spec | 23 ++----- 3 files changed, 6 insertions(+), 154 deletions(-) delete mode 100644 tomcat-10.1-RUNNING.txt diff --git a/tomcat-10.1-RUNNING.txt b/tomcat-10.1-RUNNING.txt deleted file mode 100644 index e114b14..0000000 --- a/tomcat-10.1-RUNNING.txt +++ /dev/null @@ -1,133 +0,0 @@ -================================================================================ - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -================================================================================ - - =================================================== - Running The Apache Tomcat 10.1 Servlet/JSP Container - =================================================== - -Apache Tomcat 10.1 requires a Java Standard Edition Runtime -Environment (JRE) version 11 or later. - -============================= -Running With JRE 11 Or Later -============================= - -(1) Download and Install a Java SE Runtime Environment (JRE) or a full Java Development Kit (JDK), release version 11 or later. - -(2) Configure Environment Variables - -Tomcat is a Java application and does not use environment variables directly. -Environment variables are used by the Tomcat startup scripts. The scripts use -the environment variables to prepare the command that starts Tomcat. - -The CATALINA_HOME (required) environment variable should be set to the location of the -root directory of the "binary" distribution of Tomcat. It defaults to /usr/share/tomcat/ - -The CATALINA_BASE (optional) environment variable specifies location of the root -directory of the "active configuration" of Tomcat. It defaults to /var/lib/tomcat/ - -(3) Set JAVA_HOME (required) - -Variable is used to specify location of a Java Runtime -Environment or of a Java Development Kit that is used to start Tomcat. - -/usr/libexec/tomcat/tomcat-locate-java.sh script is ran by default when starting the tomcat service -and tries to set JAVA_HOME, if empty, without any user interaction. - -(4) Other variables (optional) - -See the comments at the top of /usr/share/tomcat/bin/catalina.sh script for -the list and a description of each of them. - -One frequently used variable is CATALINA_OPTS. It allows specification of -additional options for the java command that starts Tomcat. - -See the Java documentation for the options that affect the Java Runtime -Environment. - -See the "System Properties" page in the Tomcat Configuration Reference for -the system properties that are specific to Tomcat. - -A similar variable is JAVA_OPTS. It is used less frequently. It allows -specification of options that are used both to start and to stop Tomcat as well -as for other commands. - -Note: Do not use JAVA_OPTS to specify memory limits. You do not need much -memory for a small process that is used to stop Tomcat. Those settings -belong to CATALINA_OPTS. - -Another frequently used variable is CATALINA_PID. It -specifies the location of the file where process id of the forked Tomcat -java process will be written. This setting is optional. It will activate -the following features: - - * better protection against duplicate start attempts and - * allows forceful termination of Tomcat process when it does not react to - the standard shutdown command. - -You can assign those variables in /etc/tomcat/tomcat.conf when running Tomcat as a service. - -(4) Start Up Tomcat As A Service - -(4.1) Tomcat can be started by executing: - - $systemctl start tomcat.service - -(4.2) After startup, the default web applications included with tomcat-webapps package will be - available by visiting: - - http://localhost:8080/ - -(4.3) Further information about configuring and running Tomcat can be found in - the documentation included in tomcat-docs-webapp package, as well as on the Tomcat website: - - https://tomcat.apache.org/ - -(5) Check Tomcat Service Status - -$systemctl status tomcat.service - -(6) Shut Down Tomcat Service - -$systemctl stop tomcat.service - -================ -Troubleshooting -================ - -There are only really 2 things likely to go wrong during the stand-alone -Tomcat install: - -(1) The most common hiccup is when another web server (or any process for that - matter) has laid claim to port 8080. This is the default HTTP port that - Tomcat attempts to bind to at startup. To change this, open the file: - - $CATALINA_HOME/conf/server.xml - - and search for '8080'. Change it to a port that isn't in use, and is - greater than 1024, as ports less than or equal to 1024 require superuser - access to bind under UNIX. - - Restart Tomcat and you're in business. Be sure that you replace the "8080" - in the URL you're using to access Tomcat. For example, if you change the - port to 1977, you would request the URL http://localhost:1977/ in your - browser. - -(2) The 'localhost' machine isn't found. This could happen if you're behind a - proxy. If that's the case, make sure the proxy configuration for your - browser knows that you shouldn't be going through the proxy to access the - "localhost". diff --git a/tomcat-10.1.conf b/tomcat-10.1.conf index fbb3951..a698426 100644 --- a/tomcat-10.1.conf +++ b/tomcat-10.1.conf @@ -3,10 +3,10 @@ # Include here and not in JAVA_OPTS all options, that should only be used by Tomcat itself. # Examples are heap size, GC logging, JMX ports etc. -#export CATALINA_OPTS="-Xmx512m -Xms256m" +#export CATALINA_OPTS="-Dcatalina.http.port=8082" # Java runtime options used when any command is executed. -#export JAVA_OPTS="" +#export JAVA_OPTS="-Xmx512m -Xms256m" # To enable remote debugging uncomment the following line. # You will then be able to use a Java debugger on port 8000. diff --git a/tomcat.spec b/tomcat.spec index a50a7d6..f603e54 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -38,7 +38,6 @@ Source2: %{name}-%{major_version}.%{minor_version}.logrotate Source3: %{name}-%{major_version}.%{minor_version}.service Source4: %{name}-%{major_version}.%{minor_version}-locate-java.sh Source5: %{name}-%{major_version}.%{minor_version}-start.sh -Source6: %{name}-%{major_version}.%{minor_version}-RUNNING.txt # https://bugzilla.redhat.com/show_bug.cgi?id=435829 Patch0: %{name}-%{major_version}.%{minor_version}-bootstrap-MANIFEST.MF.patch @@ -167,12 +166,6 @@ find . -type f \( -name "*.bat" -o -name "*.class" -o -name Thumbs.db -o -name " # Remove webservices naming resources as it's generally unused %{__rm} -rf java/org/apache/naming/factory/webservices -sed -i -e "s/@VERSION@/%{version}/g" \ - -e "s/@VERSION_MAJOR_MINOR@/%{major_version}.%{minor_version}/g" \ - -e "s/@VERSION_MAJOR@/%{major_version}/g" \ - -e "s/@MIN_JAVA_VERSION@/%{min_java_version}/g" \ - -e "s/@JDT_VERSION@/x/g" RELEASE-NOTES - # Create a sysusers.d config file cat >tomcat.sysusers.conf < Date: Mon, 28 Jul 2025 16:09:07 +0300 Subject: [PATCH 62/81] Revert "Add min_java_version variable" This reverts commit 6313caf0fda55b4b222de9fbe5a31d7d46c7cf69. --- tomcat.spec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tomcat.spec b/tomcat.spec index f603e54..7ad4bc5 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -6,7 +6,6 @@ %global servletspec 6.0 %global elspec 5.0 %global tcuid 53 -%global min_java_version 11 # Recommended version is specified in java/org/apache/catalina/core/AprLifecycleListener.java %global native_version 2.0.8 @@ -107,7 +106,7 @@ Apache Tomcat JSP API Implementation Classes. %package common Summary: Apache Tomcat - Servlet and JSP engine -- common files -Requires: (java-headless >= %{min_java_version} or java >= %{min_java_version}) +Requires: (java-headless >= 11 or java >= 11) Requires: %{name}-lib = %{epoch}:%{version}-%{release} %description common From 25b0e35ce6b33437ae72311d5e50bd4fa1813a9e Mon Sep 17 00:00:00 2001 From: dsoumis Date: Mon, 28 Jul 2025 16:09:07 +0300 Subject: [PATCH 63/81] Revert "Introduce tomcat-common subpackage" This reverts commit da88992d305c75f9c407eeedbd28be0ef038237d. --- tomcat.spec | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/tomcat.spec b/tomcat.spec index 7ad4bc5..e39e9e4 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -65,7 +65,8 @@ BuildRequires: aqute-bnd BuildRequires: tomcat-jakartaee-migration BuildRequires: systemd -Requires: %{name}-common = %{epoch}:%{version}-%{release} +Requires: (java-headless >= 11 or java >= 11) +Requires: %{name}-lib = %{epoch}:%{version}-%{release} Recommends: tomcat-native >= %{native_version} Requires: systemd @@ -104,14 +105,6 @@ Conflicts: tomcat-jsp-2.3-api %description jsp-%{jspspec}-api Apache Tomcat JSP API Implementation Classes. -%package common -Summary: Apache Tomcat - Servlet and JSP engine -- common files -Requires: (java-headless >= 11 or java >= 11) -Requires: %{name}-lib = %{epoch}:%{version}-%{release} - -%description common -Apache Tomcat - Servlet and JSP engine -- common files - %package lib Summary: Libraries needed to run the Tomcat Web container Requires: %{name}-jsp-%{jspspec}-api = %{epoch}:%{version}-%{release} @@ -270,7 +263,6 @@ sed -i "s/@MAVEN.DEPLOY.VERSION@/%{version}/g" res/maven/tomcat.pom %mvn_package ":tomcat-el-api" tomcat-el-api %mvn_package ":tomcat-jsp-api" tomcat-jsp-api %mvn_package ":tomcat-servlet-api" tomcat-servlet-api -%mvn_package ":tomcat-bootstrap" tomcat-common %mvn_install @@ -307,9 +299,10 @@ ln -sr %{libdir} ${RPM_BUILD_ROOT}%{homedir}/lib %files %doc {LICENSE,NOTICE,RELEASE-NOTES,RUNNING.txt} %{_unitdir}/%{name}.service -%{_libexecdir}/%{name}/tomcat-start.sh +%{_libexecdir}/%{name} %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}.disabled %{_sysusersdir}/tomcat.conf +%{homedir} %{baseconfdir} %{baselogdir} %{workdir} @@ -340,12 +333,7 @@ ln -sr %{libdir} ${RPM_BUILD_ROOT}%{homedir}/lib %files docs-webapp %{appdir}/docs -%files common -f .mfiles-tomcat-common -%{_libexecdir}/%{name}/tomcat-locate-java.sh -%{homedir}/bin - %files lib -f .mfiles -%{homedir}/lib %{libdir}/jakartaee-migration-x.jar %{libdir}/ecj-x.jar %exclude %{libdir}/tomcat-jni.pom From 79945597b972036788be4f873ee038546963e61c Mon Sep 17 00:00:00 2001 From: dsoumis Date: Mon, 28 Jul 2025 16:09:08 +0300 Subject: [PATCH 64/81] Revert "- This commit introduces the major change of dropping the custom scripts and using the upstream scripts for tomcat deployment." This reverts commit 0ca450977f6e29b85c371b7cc706b3d61decedd5. --- module-start-up-parameters.conf | 8 ++ tomcat-10.1-digest.script | 45 +++++++++ tomcat-10.1-locate-java.sh | 21 ----- tomcat-10.1-start.sh | 18 ---- ...h => tomcat-10.1-tomcat-users-webapp.patch | 0 tomcat-10.1-tool-wrapper.script | 45 +++++++++ tomcat-10.1.conf | 54 +++++++---- tomcat-10.1.service | 35 ++----- tomcat-10.1.sysconfig | 11 +++ tomcat-10.1.wrapper | 24 +++++ tomcat-10.1-build.patch => tomcat-build.patch | 0 tomcat-functions | 21 +++++ tomcat-named.service | 24 +++++ tomcat-preamble | 52 ++++++++++ tomcat-server | 25 +++++ tomcat.spec | 94 ++++++++++++++----- 16 files changed, 367 insertions(+), 110 deletions(-) create mode 100644 module-start-up-parameters.conf create mode 100644 tomcat-10.1-digest.script delete mode 100644 tomcat-10.1-locate-java.sh delete mode 100644 tomcat-10.1-start.sh rename tomcat-10.1-users-webapp.patch => tomcat-10.1-tomcat-users-webapp.patch (100%) create mode 100644 tomcat-10.1-tool-wrapper.script create mode 100644 tomcat-10.1.sysconfig create mode 100644 tomcat-10.1.wrapper rename tomcat-10.1-build.patch => tomcat-build.patch (100%) create mode 100644 tomcat-functions create mode 100644 tomcat-named.service create mode 100644 tomcat-preamble create mode 100644 tomcat-server diff --git a/module-start-up-parameters.conf b/module-start-up-parameters.conf new file mode 100644 index 0000000..7f8652a --- /dev/null +++ b/module-start-up-parameters.conf @@ -0,0 +1,8 @@ +# Add the module start-up parameters required by Tomcat +JAVA_OPTS="$JAVA_OPTS --add-opens=java.base/java.lang=ALL-UNNAMED" +JAVA_OPTS="$JAVA_OPTS --add-opens=java.base/java.io=ALL-UNNAMED" +JAVA_OPTS="$JAVA_OPTS --add-opens=java.base/java.util=ALL-UNNAMED" +JAVA_OPTS="$JAVA_OPTS --add-opens=java.base/java.util.concurrent=ALL-UNNAMED" +JAVA_OPTS="$JAVA_OPTS --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED" +export JAVA_OPTS + diff --git a/tomcat-10.1-digest.script b/tomcat-10.1-digest.script new file mode 100644 index 0000000..ce4aa0f --- /dev/null +++ b/tomcat-10.1-digest.script @@ -0,0 +1,45 @@ +#!/bin/sh +# +# tomcat-digest script +# JPackage Project + +# 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 munging +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" +export CLASSPATH + +# Configuration +MAIN_CLASS="org.apache.catalina.startup.Tool" +BASE_FLAGS="-Dcatalina.home=\"$CATALINA_HOME\"" +BASE_OPTIONS="" +BASE_JARS="commons-daemon tomcat/catalina servlet tomcat/tomcat-util tomcat/tomcat-coyote tomcat/tomcat-api tomcat/tomcat-util-scan" + +# Set parameters +set_classpath $BASE_JARS +set_flags $BASE_FLAGS +set_options $BASE_OPTIONS + +# Let's start +run -server org.apache.catalina.realm.RealmBase "$@" diff --git a/tomcat-10.1-locate-java.sh b/tomcat-10.1-locate-java.sh deleted file mode 100644 index cb272e7..0000000 --- a/tomcat-10.1-locate-java.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -# Script looking for a Java runtime suitable for running Tomcat. -#The Java runtime found is exported in the JAVA_HOME environment variable. -set -e -if [ -z "$JAVA_HOME" ]; then - INSTALLATION_PATH="/usr/lib/jvm/" - for jvmdir in "${INSTALLATION_PATH}"java* "${INSTALLATION_PATH}"jre*; do - if [ -d "${jvmdir}" ] && [ -r "${jvmdir}/bin/java" ]; then - MAJOR_JAVA_VERSION=$("${jvmdir}/bin/java" --version | head -n 1 | sed -E 's/^[^0-9]*1\.([0-9]+).*/\1/; t; s/^[^0-9]*([0-9]+)\..*/\1/') - # Tomcat 10 requires Java >= 11 - if [ "${MAJOR_JAVA_VERSION}" -ge 11 ]; then - export JAVA_HOME="${jvmdir}" - exit 0 - fi - fi - done -fi -if [ -z "$JAVA_HOME" ]; then - echo "No JDK or JRE found - Please set the JAVA_HOME variable." - exit 1 -fi diff --git a/tomcat-10.1-start.sh b/tomcat-10.1-start.sh deleted file mode 100644 index d682610..0000000 --- a/tomcat-10.1-start.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# Startup script for Apache Tomcat with systemd - -set -e - -# Load the service settings -. /etc/tomcat/tomcat.conf - -# Try to find Java installation and set JAVA_HOME -/bin/sh /usr/libexec/tomcat/tomcat-locate-java.sh - -# Enable the Java security manager? -SECURITY="" -[ "$SECURITY_MANAGER" = "true" ] && SECURITY="-security" - - -# Start Tomcat -cd "$CATALINA_BASE" && "$CATALINA_HOME"/bin/catalina.sh run $SECURITY \ No newline at end of file diff --git a/tomcat-10.1-users-webapp.patch b/tomcat-10.1-tomcat-users-webapp.patch similarity index 100% rename from tomcat-10.1-users-webapp.patch rename to tomcat-10.1-tomcat-users-webapp.patch diff --git a/tomcat-10.1-tool-wrapper.script b/tomcat-10.1-tool-wrapper.script new file mode 100644 index 0000000..949d46d --- /dev/null +++ b/tomcat-10.1-tool-wrapper.script @@ -0,0 +1,45 @@ +#!/bin/sh +# +# tomcat-digest script +# JPackage Project + +# 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 munging +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" +export CLASSPATH + +# Configuration +MAIN_CLASS="org.apache.catalina.startup.Tool" +BASE_OPTIONS="" +BASE_FLAGS="-Dcatalina.home=\"$CATALINA_HOME\"" +BASE_JARS="commons-daemon tomcat/catalina servlet tomcat/tomcat-util tomcat/tomcat-coyote tomcat/tomcat-api tomcat/tomcat-util-scan" + +# Set parameters +set_classpath $BASE_JARS +set_flags $BASE_FLAGS +set_options $BASE_OPTIONS + +# Let's start +run "$@" diff --git a/tomcat-10.1.conf b/tomcat-10.1.conf index a698426..c83305a 100644 --- a/tomcat-10.1.conf +++ b/tomcat-10.1.conf @@ -1,24 +1,42 @@ -# Minimum required Java version is 11. -#export JAVA_HOME=/usr/lib/jvm/java-11 +# System-wide configuration file for tomcat services +# 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. -# Include here and not in JAVA_OPTS all options, that should only be used by Tomcat itself. -# Examples are heap size, GC logging, JMX ports etc. -#export CATALINA_OPTS="-Dcatalina.http.port=8082" +# This variable is used to figure out if config is loaded or not. +TOMCAT_CFG_LOADED="1" -# Java runtime options used when any command is executed. -#export JAVA_OPTS="-Xmx512m -Xms256m" +# In new-style instances, if CATALINA_BASE isn't specified, it will +# be constructed by joining TOMCATS_BASE and NAME. +TOMCATS_BASE="/var/lib/tomcats/" -# To enable remote debugging uncomment the following line. -# You will then be able to use a Java debugger on port 8000. -#export JAVA_OPTS="${JAVA_OPTS} -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n" +# Where your java installation lives +JAVA_HOME="/usr/lib/jvm/jre" -# Java compiler to use for translating JavaServer Pages (JSPs). You can use all -# compilers that are accepted by Ant's build.compiler property. -#export JSP_COMPILER=javac -#export JAVA_OPTS="$JAVA_OPTS -Dbuild.compiler=$JSP_COMPILER" +# Where your tomcat installation lives +CATALINA_HOME="@@@TCHOME@@@" -# Enable the Java security manager? (true/false, default: false) -#export SECURITY_MANAGER=true +# System-wide tmp +CATALINA_TMPDIR="/var/cache/tomcat/temp" -# Whether to compress logfiles older than today's -#export LOGFILE_COMPRESS=1 \ No newline at end of file +# You can change your tomcat locale here +#LANG="en_US" + +# Run tomcat under the Java Security Manager +SECURITY_MANAGER="false" + +# If you wish to further customize your tomcat environment, +# put your own definitions here +# (i.e. LD_LIBRARY_PATH for some jdbc drivers) + +# You can also pass parameters to Java here by defining JAVA_OPTS variable +# (e.g. JAVA_OPTS="-Xminf0.1 -Xmaxf0.3") diff --git a/tomcat-10.1.service b/tomcat-10.1.service index 55639b2..832e7c6 100644 --- a/tomcat-10.1.service +++ b/tomcat-10.1.service @@ -1,39 +1,20 @@ -# Systemd unit file for for Apache Tomcat +# 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 -Documentation=https://tomcat.apache.org/tomcat-10.1-doc/index.html After=syslog.target network.target -RequiresMountsFor=/var/log/tomcat /var/lib/tomcat [Service] -# Configuration -Environment="CATALINA_HOME=/usr/share/tomcat" -Environment="CATALINA_BASE=/var/lib/tomcat" -Environment="CATALINA_TMPDIR=/tmp" -Environment="JAVA_OPTS=-Djava.awt.headless=true" - -# Lifecycle Type=simple -ExecStart=/bin/sh /usr/libexec/tomcat/tomcat-start.sh +EnvironmentFile=/etc/tomcat/tomcat.conf +Environment="NAME=" +EnvironmentFile=-/etc/sysconfig/tomcat +ExecStart=/usr/libexec/tomcat/server start SuccessExitStatus=143 -Restart=on-abort - -# Logging -SyslogIdentifier=tomcat - -# Security User=tomcat -Group=tomcat -PrivateTmp=yes -AmbientCapabilities=CAP_NET_BIND_SERVICE -NoNewPrivileges=true -CacheDirectory=tomcat -CacheDirectoryMode=750 -ProtectSystem=strict -ReadWritePaths=/etc/tomcat/Catalina/ -ReadWritePaths=/var/lib/tomcat/webapps/ -ReadWritePaths=/var/log/tomcat/ [Install] WantedBy=multi-user.target diff --git a/tomcat-10.1.sysconfig b/tomcat-10.1.sysconfig new file mode 100644 index 0000000..3117bf7 --- /dev/null +++ b/tomcat-10.1.sysconfig @@ -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. diff --git a/tomcat-10.1.wrapper b/tomcat-10.1.wrapper new file mode 100644 index 0000000..c97cb85 --- /dev/null +++ b/tomcat-10.1.wrapper @@ -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 diff --git a/tomcat-10.1-build.patch b/tomcat-build.patch similarity index 100% rename from tomcat-10.1-build.patch rename to tomcat-build.patch diff --git a/tomcat-functions b/tomcat-functions new file mode 100644 index 0000000..1187653 --- /dev/null +++ b/tomcat-functions @@ -0,0 +1,21 @@ +#!/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() { + run_java $@ +} + diff --git a/tomcat-named.service b/tomcat-named.service new file mode 100644 index 0000000..b6cd8bd --- /dev/null +++ b/tomcat-named.service @@ -0,0 +1,24 @@ +# 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 + +[Install] +WantedBy=multi-user.target diff --git a/tomcat-preamble b/tomcat-preamble new file mode 100644 index 0000000..1271dca --- /dev/null +++ b/tomcat-preamble @@ -0,0 +1,52 @@ +#!/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" +CLASSPATH="${CLASSPATH}:$(build-classpath commons-daemon 2>/dev/null)" + +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 diff --git a/tomcat-server b/tomcat-server new file mode 100644 index 0000000..17ae385 --- /dev/null +++ b/tomcat-server @@ -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 diff --git a/tomcat.spec b/tomcat.spec index e39e9e4..6b5787b 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -20,6 +20,7 @@ %global libdir %{_javadir}/%{name} %global logdir %{_var}/log/%{name} %global cachedir %{_var}/cache/%{name} +%global tempdir %{cachedir}/temp %global workdir %{basedir}/work Name: tomcat @@ -33,15 +34,22 @@ License: Apache-2.0 URL: http://tomcat.apache.org/ Source0: http://www.apache.org/dist/tomcat/tomcat-%{major_version}/v%{version}/src/%{packdname}.tar.gz Source1: %{name}-%{major_version}.%{minor_version}.conf -Source2: %{name}-%{major_version}.%{minor_version}.logrotate -Source3: %{name}-%{major_version}.%{minor_version}.service -Source4: %{name}-%{major_version}.%{minor_version}-locate-java.sh -Source5: %{name}-%{major_version}.%{minor_version}-start.sh +Source2: %{name}-%{major_version}.%{minor_version}.sysconfig +Source3: %{name}-%{major_version}.%{minor_version}.wrapper +Source4: %{name}-%{major_version}.%{minor_version}.logrotate +Source5: %{name}-%{major_version}.%{minor_version}-digest.script +Source6: %{name}-%{major_version}.%{minor_version}-tool-wrapper.script +Source7: %{name}-%{major_version}.%{minor_version}.service +Source8: %{name}-functions +Source9: %{name}-preamble +Source10: %{name}-server +Source11: %{name}-named.service +Source12: module-start-up-parameters.conf # https://bugzilla.redhat.com/show_bug.cgi?id=435829 Patch0: %{name}-%{major_version}.%{minor_version}-bootstrap-MANIFEST.MF.patch -Patch1: %{name}-%{major_version}.%{minor_version}-users-webapp.patch -Patch2: %{name}-%{major_version}.%{minor_version}-build.patch +Patch1: %{name}-%{major_version}.%{minor_version}-tomcat-users-webapp.patch +Patch2: %{name}-build.patch # catalina.policy patch to allow ECJ usage under the Security Manager Patch3: %{name}-%{major_version}.%{minor_version}-catalina-policy.patch # https://bugzilla.redhat.com/show_bug.cgi?id=1857043 @@ -52,9 +60,7 @@ Patch5: %{name}-%{major_version}.%{minor_version}-JDTCompiler.patch Patch6: rhbz-1857043.patch BuildArch: noarch -# Can't use noarch since we are packaging tomcat-jni.jar. -# See: https://docs.fedoraproject.org/en-US/packaging-guidelines/Java/#_architecture_support -ExclusiveArch: %{java_arches} +ExclusiveArch: %{java_arches} noarch BuildRequires: ant BuildRequires: ecj @@ -63,9 +69,9 @@ BuildRequires: java-devel BuildRequires: javapackages-local BuildRequires: aqute-bnd BuildRequires: tomcat-jakartaee-migration -BuildRequires: systemd Requires: (java-headless >= 11 or java >= 11) +Requires: javapackages-tools Requires: %{name}-lib = %{epoch}:%{version}-%{release} Recommends: tomcat-native >= %{native_version} Requires: systemd @@ -112,6 +118,7 @@ Requires: %{name}-servlet-%{servletspec}-api = %{epoch}:%{version}-%{release} Requires: %{name}-el-%{elspec}-api = %{epoch}:%{version}-%{release} Requires: ecj >= 4.20 Recommends: tomcat-jakartaee-migration +Requires(preun): coreutils %description lib Libraries needed to run the Tomcat Web container. @@ -195,8 +202,10 @@ touch HACK %install # build initial path structure -# %{__install} -d ${RPM_BUILD_ROOT}%{_bindir} +%{__install} -d ${RPM_BUILD_ROOT}%{_bindir} +%{__install} -d ${RPM_BUILD_ROOT}%{_sbindir} %{__install} -d ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d +%{__install} -d ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig %{__install} -d ${RPM_BUILD_ROOT}%{appdir} %{__install} -d ${RPM_BUILD_ROOT}%{bindir} %{__install} -d ${RPM_BUILD_ROOT}%{confdir} @@ -205,19 +214,12 @@ touch HACK /bin/echo "Place your custom *.conf files here. Shell expansion is supported." > ${RPM_BUILD_ROOT}%{confdir}/conf.d/README %{__install} -d ${RPM_BUILD_ROOT}%{libdir} %{__install} -d ${RPM_BUILD_ROOT}%{logdir} +%{__install} -d ${RPM_BUILD_ROOT}%{_localstatedir}/lib/tomcats %{__install} -d ${RPM_BUILD_ROOT}%{homedir} -%{__install} -d ${RPM_BUILD_ROOT}%{cachedir} +%{__install} -d ${RPM_BUILD_ROOT}%{tempdir} %{__install} -d ${RPM_BUILD_ROOT}%{_unitdir} %{__install} -d ${RPM_BUILD_ROOT}%{_libexecdir}/%{name} -%{__install} %{SOURCE1} ${RPM_BUILD_ROOT}%{confdir}/%{name}.conf -%{__sed} -e "s|\@\@\@TCLOG\@\@\@|%{logdir}|g" %{SOURCE2} > ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}.disabled -%{__install} %{SOURCE3} ${RPM_BUILD_ROOT}%{_unitdir}/%{name}.service -%{__install} %{SOURCE4} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/%{name}-locate-java.sh -%{__install} %{SOURCE5} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/%{name}-start.sh - -%{__install} -D tomcat.sysusers.conf ${RPM_BUILD_ROOT}%{_sysusersdir}/tomcat.conf - for jar in output/build/lib/*.jar; do # Skip Jar if empty, applies to tomcat-coyote-ffm.jar atm jar tf ${jar} | grep -E -q '.*\.class' || continue @@ -235,7 +237,7 @@ for jar in output/build/lib/*.jar; do sed -i "s/@MAVEN.DEPLOY.VERSION@/%{version}/g" ${pom} case "${jarname}" in - tomcat-jni) %mvn_file org.apache.tomcat:tomcat-jni tomcat/tomcat-jni %{libdir}/tomcat-jni ;; + tomcat-jni) %mvn_file org.apache.tomcat:tomcat-jni tomcat/tomcat-jni ${RPM_BUILD_ROOT}%{libdir}/tomcat-jni ;; jsp-api) %mvn_file org.apache.tomcat:tomcat-jsp-api tomcat/jsp-api tomcat/%{name}-jsp-%{jspspec}-api %{name}-jsp-%{jspspec}-api %{name}-jsp-api ;; servlet-api) %mvn_file org.apache.tomcat:tomcat-servlet-api tomcat/servlet-api tomcat/%{name}-servlet-%{servletspec}-api %{name}-servlet-%{servletspec}-api %{name}-servlet-api ;; el-api) %mvn_file org.apache.tomcat:tomcat-el-api tomcat/el-api tomcat/%{name}-el-%{servletspec}-api %{name}-el-%{servletspec}-api %{name}-el-api ;; @@ -253,8 +255,9 @@ sed -i "s/@MAVEN.DEPLOY.VERSION@/%{version}/g" res/maven/tomcat-juli.pom # bootstrap does not have a pom, generate one %mvn_artifact 'org.apache.tomcat:tomcat-bootstrap:%{version}' output/build/bin/bootstrap.jar -%mvn_file org.apache.tomcat:tomcat-bootstrap tomcat/tomcat-bootstrap -%mvn_file org.apache.tomcat:tomcat-juli tomcat/tomcat-juli +#Create symlinks to bindir +%mvn_file :tomcat-bootstrap tomcat/tomcat-bootstrap ${RPM_BUILD_ROOT}%{bindir}/bootstrap.jar +%mvn_file :tomcat-juli tomcat/tomcat-juli ${RPM_BUILD_ROOT}%{bindir}/tomcat-juli.jar # tomcat-parent pom sed -i "s/@MAVEN.DEPLOY.VERSION@/%{version}/g" res/maven/tomcat.pom @@ -273,24 +276,56 @@ jar ufm ${RPM_BUILD_ROOT}%{libdir}/servlet-api.jar <(echo "JavaPackages-GroupId: # move things into place pushd output/build - %{__cp} -a bin/* ${RPM_BUILD_ROOT}%{bindir} + %{__cp} -a bin/*.xml ${RPM_BUILD_ROOT}%{bindir} %{__cp} -a conf/*.{policy,properties,xml} ${RPM_BUILD_ROOT}%{confdir} %{__cp} -a webapps/* ${RPM_BUILD_ROOT}%{appdir} popd +%{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \ + -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \ + -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE1} \ + > ${RPM_BUILD_ROOT}%{confdir}/%{name}.conf +%{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \ + -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \ + -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE2} \ + > ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/%{name} +%{__install} %{SOURCE3} \ + ${RPM_BUILD_ROOT}%{_sbindir}/%{name} +%{__install} %{SOURCE7} \ + ${RPM_BUILD_ROOT}%{_unitdir}/%{name}.service +%{__sed} -e "s|\@\@\@TCLOG\@\@\@|%{logdir}|g" %{SOURCE4} \ + > ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}.disabled +%{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \ + -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \ + -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE5} \ + > ${RPM_BUILD_ROOT}%{_bindir}/%{name}-digest +%{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \ + -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \ + -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE6} \ + > ${RPM_BUILD_ROOT}%{_bindir}/%{name}-tool-wrapper + +%{__install} %{SOURCE8} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/functions +%{__install} %{SOURCE9} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/preamble +%{__install} %{SOURCE10} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/server +%{__install} %{SOURCE11} ${RPM_BUILD_ROOT}%{_unitdir}/%{name}@.service +%{__install} %{SOURCE12} ${RPM_BUILD_ROOT}%{confdir}/conf.d/ + ln -sr $(build-classpath ecj/ecj) ${RPM_BUILD_ROOT}%{libdir}/ecj-x.jar ln -sr $(build-classpath tomcat-jakartaee-migration/jakartaee-migration) ${RPM_BUILD_ROOT}%{libdir}/jakartaee-migration-x.jar ln -sr %{confdir} ${RPM_BUILD_ROOT}%{baseconfdir} ln -sr %{cachedir} ${RPM_BUILD_ROOT}%{workdir} ln -sr %{logdir} ${RPM_BUILD_ROOT}%{baselogdir} -ln -sr %{libdir} ${RPM_BUILD_ROOT}%{homedir}/lib + +install -m0644 -D tomcat.sysusers.conf %{buildroot}%{_sysusersdir}/tomcat.conf %post # install but don't activate %systemd_post %{name}.service %preun +# clean tempdir and workdir on removal or upgrade +%{__rm} -rf %{workdir}/* %{tempdir}/* %systemd_preun %{name}.service %postun @@ -298,8 +333,14 @@ ln -sr %{libdir} ${RPM_BUILD_ROOT}%{homedir}/lib %files %doc {LICENSE,NOTICE,RELEASE-NOTES,RUNNING.txt} +%{_bindir}/%{name}-digest +%{_bindir}/%{name}-tool-wrapper +%{_sbindir}/%{name} %{_unitdir}/%{name}.service +%{_unitdir}/%{name}@.service %{_libexecdir}/%{name} +%{_localstatedir}/lib/tomcats +%config(noreplace) %{_sysconfdir}/sysconfig/%{name} %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}.disabled %{_sysusersdir}/tomcat.conf %{homedir} @@ -308,6 +349,7 @@ ln -sr %{libdir} ${RPM_BUILD_ROOT}%{homedir}/lib %{workdir} %attr(2770,tomcat,adm) %dir %{logdir} %attr(750,tomcat,tomcat) %dir %{cachedir} +%attr(0770,root,tomcat) %{tempdir} %attr(2775,tomcat,tomcat) %dir %{appdir} %{confdir}/conf.d @@ -334,9 +376,9 @@ ln -sr %{libdir} ${RPM_BUILD_ROOT}%{homedir}/lib %{appdir}/docs %files lib -f .mfiles +%defattr(644, root, tomcat, 2775) %{libdir}/jakartaee-migration-x.jar %{libdir}/ecj-x.jar -%exclude %{libdir}/tomcat-jni.pom %files jsp-%{jspspec}-api -f .mfiles-tomcat-jsp-api %doc LICENSE From 3b3d4720d719fb08bdf88edab78a047a778e073f Mon Sep 17 00:00:00 2001 From: dsoumis Date: Mon, 28 Jul 2025 16:09:08 +0300 Subject: [PATCH 65/81] Revert "Remove javapackages test case rule from gating" This reverts commit 2c9c3acaccc5eb73509a13d07e1115c005448592. --- gating.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/gating.yaml b/gating.yaml index e49f5a7..b81b8c4 100644 --- a/gating.yaml +++ b/gating.yaml @@ -9,4 +9,5 @@ rules: - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpmdeplint.functional} - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpminspect.static-analysis} - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.installability.functional} + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/javapackages.functional} - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/smoke.functional} From 3c60e9fb09464f4d385e536bdc12d234589f3896 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Mon, 28 Jul 2025 16:09:08 +0300 Subject: [PATCH 66/81] Revert "Use ecj and jakartaee-migration jars from the installed system rather than distributing the jars in tomcat-lib package." This reverts commit 727c3d6f657ad7d523dbf99c662d7e1bbcacc36f. --- tomcat.spec | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/tomcat.spec b/tomcat.spec index 6b5787b..b25b959 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -191,7 +191,7 @@ touch HACK -Dbnd-annotation.jar="$(build-classpath aqute-bnd/biz.aQute.bnd.annotation)" \ -Dversion="%{version}" \ -Dversion.build="%{micro_version}" \ - -Dmigration-lib.jar="$(build-classpath tomcat-jakartaee-migration/jakartaee-migration)" \ + -Dmigration-lib.jar="$(build-classpath tomcat-jakartaee-migration/jakartaee-migration.jar)" \ deploy # remove some jars that we'll replace with symlinks later @@ -310,8 +310,15 @@ popd %{__install} %{SOURCE11} ${RPM_BUILD_ROOT}%{_unitdir}/%{name}@.service %{__install} %{SOURCE12} ${RPM_BUILD_ROOT}%{confdir}/conf.d/ -ln -sr $(build-classpath ecj/ecj) ${RPM_BUILD_ROOT}%{libdir}/ecj-x.jar -ln -sr $(build-classpath tomcat-jakartaee-migration/jakartaee-migration) ${RPM_BUILD_ROOT}%{libdir}/jakartaee-migration-x.jar +pushd output/build + %{_bindir}/build-jar-repository lib ecj 2>&1 + %{_bindir}/build-jar-repository lib tomcat-jakartaee-migration 2>&1 +popd + +pushd ${RPM_BUILD_ROOT}%{libdir} + %{__cp} $(build-classpath ecj/ecj) ecj-x.jar + %{__cp} $(build-classpath tomcat-jakartaee-migration/jakartaee-migration) jakartaee-migration-x.jar +popd ln -sr %{confdir} ${RPM_BUILD_ROOT}%{baseconfdir} ln -sr %{cachedir} ${RPM_BUILD_ROOT}%{workdir} From 397fdf2e2e4ee04a6933417dc8850278f59dba1d Mon Sep 17 00:00:00 2001 From: dsoumis Date: Mon, 28 Jul 2025 16:09:09 +0300 Subject: [PATCH 67/81] Revert "General tweaks, fixes and enhancements" This reverts commit a7d2bc1fe90786612fc38330fc1903c42f7e7f8b. --- changelog | 643 ------------------------------- tomcat.spec | 1050 ++++++++++++++++++++++++++++++++++++++++++++------- 2 files changed, 905 insertions(+), 788 deletions(-) delete mode 100644 changelog diff --git a/changelog b/changelog deleted file mode 100644 index 7d2f562..0000000 --- a/changelog +++ /dev/null @@ -1,643 +0,0 @@ -* Fri Jan 10 2025 Dimitris Soumis - 1:10.1.34-1 -- Update to version 10.1.34 - -* Mon Dec 09 2024 Packit - 1:9.0.98-1 -- Update to version 9.0.98 -- Resolves: rhbz#2331168 - -* Mon Dec 02 2024 Dimitris Soumis - 1:9.0.97-1 -- Update to version 9.0.97 -- Resolves: rhbz#2327090 - -* Tue Oct 08 2024 Packit - 1:9.0.96-1 -- Update to version 9.0.96 -- Resolves: rhbz#2317237 - -* Tue Sep 17 2024 Packit - 1:9.0.95-1 -- Update to version 9.0.95 -- Resolves: rhbz#2312858 - -* Tue Sep 10 2024 Packit - 1:9.0.94-1 -- Update to version 9.0.94 -- Resolves: rhbz#2311320 - -* Tue Aug 06 2024 Packit - 1:9.0.93-1 -- Update to version 9.0.93 -- Resolves: rhbz#2303026 - -* Wed Jul 24 2024 Miroslav Suchý - 1:9.0.91-1 -- convert license to SPDX - -* Thu Jul 11 2024 Dimitris Soumis - 1:9.0.91-1 -- Update to 9.0.91 - -* Thu Jun 20 2024 Dimitris Soumis - 1:9.0.90-1 -- Update to 9.0.90 - -* Fri Jun 7 2024 Dimitris Soumis - 1:9.0.89-1 -- Update to 9.0.89 - -* Thu Feb 29 2024 Adam Williamson - 1:9.0.83-4 -- Accept java-21-headless as one of the alternatives for java - -* Tue Feb 27 2024 Jiri Vanek - 1:9.0.83-3 -- Rebuilt for java-21-openjdk as system jdk - -* Sat Jan 27 2024 Fedora Release Engineering - 1:9.0.83-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Dec 01 2023 Hui Wang - 1:9.0.83-1 -- Update to 9.0.83 - -* Mon Oct 16 2023 Hui Wang - 1:9.0.82-1 -- Update to 9.0.82 -- Resolves: rhbz#2244333 Wrong dbcp class in tomcat 9 - -* Wed Sep 13 2023 Hui Wang - 1:9.0.80-1 -- Update to 9.0.80 -- Fix java version - -* Fri Aug 04 2023 Hui Wang - 1:9.0.78-4 -- Fix files permission - -* Wed Jul 26 2023 Hui Wang - 1:9.0.78-3 -- Exclude jnidir in the lib subpackage - -* Tue Jul 25 2023 Hui Wang - 1:9.0.78-2 -- Resolves: rhbz#2224318 There are duplicated jars in the tomcat lib subpackage - -* Tue Jul 25 2023 Hui Wang - 1:9.0.78-1 -- Resolves: rhbz#2224318 There are duplicated jars in the tomcat lib-subpackage -- Update to 9.0.78 - -* Sat Jul 22 2023 Fedora Release Engineering - 1:9.0.76-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Tue Jun 20 2023 Hui Wang - 1:9.0.76-2 -- Resolves: rhbz#2189672 Missing Tomcat POM files in Fedora Rawhide -- Remove JDTCompiler patch because ecj has been update -- Update to 9.0.76 -- Resolves: rhbz#2188218 Link bin/tomcat-juli.jar to /usr/share/java -- Move tomcat-jsp-2.3-api.jar,tomcat-servlet-4.0-api.jar and tomcat-el-api.jar to the subpackages - -* Thu Jun 08 2023 Hui Wang - 1:9.0.75-1 -- Update to 9.0.75 - -* Fri Mar 17 2023 Hui Wang - 1:9.0.73-1 -- Update to 9.0.73 - -* Sun Jan 29 2023 Hui Wang - 1:9.0.71-1 -- Update to 9.0.71 -- Remove osgi-annotations patch -- Add bnd-annotation dependency which is in bndlib package - -* Sat Jan 21 2023 Fedora Release Engineering - 1:9.0.70-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Fri Jan 13 2023 Hui Wang - 1:9.0.70-1 -- Update to 9.0.70 - -* Thu Nov 03 2022 Hui Wang - 1:9.0.68-1 -- Update to 9.0.68 - -* Thu Jul 21 2022 Hui Wang - 1:9.0.65-1 -- Update to 9.0.65 - -* Fri Jul 08 2022 Jiri Vanek - 1:9.0.64-2 -- Rebuilt for Drop i686 JDKs - -* Tue Jun 21 2022 Hui Wang - 1:9.0.64-1 -- Update to 9.0.64 -- Add osgi-annotations dependency back - -* Thu Mar 10 2022 Coty Sutherland - 1:9.0.59-3 -- Related: rhbz#2061424 Adjust fix so that it uses the proper env var - -* Tue Mar 08 2022 Coty Sutherland - 1:9.0.59-2 -- Resolves: rhbz#2061424 Add Java 9 start-up parameters to allow reflection - -* Wed Mar 02 2022 Sonia Xu - 1:9.0.59-1 -- Update to 9.0.59 -- Resolves: rhbz#2047419 - CVE-2022-23181 tomcat: local privilege escalation vulnerability - -* Sat Feb 05 2022 Jiri Vanek - 1:9.0.56-3 -- Rebuilt for java-17-openjdk as system jdk - -* Sat Jan 22 2022 Fedora Release Engineering - 1:9.0.56-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Thu Dec 09 2021 Hui Wang - 1:9.0.56-1 -- Update to 9.0.56 - -* Tue Oct 12 2021 Hui Wang - 1:9.0.55-1 -- Update to 9.0.55 - -* Tue Oct 12 2021 Hui Wang - 1:9.0.54-1 -- Update to 9.0.54 - -* Thu Sep 16 2021 Hui Wang - 1:9.0.53-1 -- Update to 9.0.53 - -* Wed Aug 18 2021 Hui Wang - 1:9.0.52-1 -- Update to 9.0.52 - -* Fri Jul 23 2021 Fedora Release Engineering - 1:9.0.50-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Tue Jul 06 2021 Hui Wang - 1:9.0.50-1 -- Update to 9.0.50 - -* Sat Jun 05 2021 Coty Sutherland - 1:9.0.45-4 -- Add back logrotate config file per devel list request -- Add mvn virtual provides back for the servlet, el, and jsp spec impls - -* Fri Jun 04 2021 Coty Sutherland - 1:9.0.45-3 -- Drop geronimo-jaxrpc, which provided the webservices naming factory resources that are generally unused - -* Thu Jun 03 2021 Coty Sutherland - 1:9.0.45-2 -- Remove examples webapps from subpackage -- Updates to javapackages-local removed %%add_maven_depmap which broke the build, - so I removed the maven artifacts as they aren't very useful anyway -- Drop JSVC support as it's not very useful these days -- Drop geronimo-saaj as it's no longer required - -* Thu Apr 22 2021 Hui Wang - 1:9.0.45-1 -- Update to 9.0.45 - -* Thu Mar 18 2021 Hui Wang - 1:9.0.44-1 -- Update to 9.0.44 - -* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 1:9.0.43-2 -- Rebuilt for updated systemd-rpm-macros - See https://pagure.io/fesco/issue/2583. - -* Wed Feb 03 2021 Hui Wang - 1:9.0.43-1 -- Update to 9.0.43 - -* Wed Jan 27 2021 Fedora Release Engineering - 1:9.0.41-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Wed Dec 09 2020 Hui Wang - 1:9.0.41-1 -- Update to 9.0.41 - -* Wed Nov 18 2020 Hui Wang - 1:9.0.40-1 -- Update to 9.0.40 - -* Mon Oct 12 2020 Hui Wang - 1:9.0.39-1 -- Update to 9.0.39 - -* Wed Sep 16 2020 Hui Wang - 1:9.0.38-1 -- Update to 9.0.38 - -* Wed Jul 29 2020 Fedora Release Engineering - 1:9.0.37-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Fri Jul 24 2020 Coty Sutherland - 1:9.0.37-3 -- Related: rhbz#1857043 Temporarily remove OSGi metadata from tomcat jars - -* Mon Jul 20 2020 Coty Sutherland - 1:9.0.37-2 -- Resolves: rhbz#1857043 Add patch to reinclude o.a.t.util.net.jsse and o.a.t.util.moduler.modules in tomcat-coyote.jar - -* Mon Jul 13 2020 Coty Sutherland - 1:9.0.37-1 -- Update to 9.0.37 - -* Sat Jul 11 2020 Jiri Vanek - 1:9.0.36-2 -- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 - -* Wed Jun 10 2020 Hui Wang - 1:9.0.36-1 -- Upgrade to 9.0.36 - -* Sun May 31 2020 Hui Wang - 1:9.0.35-2 -- Upgrade to 9.0.35 - -* Wed Apr 22 2020 Coty Sutherland - 1:9.0.34-2 -- Add updated catalina.policy patch to allow ECJ usage under the Security Manager - -* Tue Apr 21 2020 Coty Sutherland - 1:9.0.34-1 -- Update to 9.0.34 - -* Thu Mar 05 2020 Coty Sutherland - 1:9.0.31-1 -- Update to 9.0.31 -- Resolves: rhbz#1806398 - CVE-2020-1938 tomcat: Apache Tomcat AJP File Read/Inclusion Vulnerability - -* Fri Jan 31 2020 Fedora Release Engineering - 1:9.0.30-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Fri Dec 20 2019 Coty Sutherland - 1:9.0.30-1 -- Update to 9.0.30 - -* Thu Sep 26 2019 Coty Sutherland - 1:9.0.26-2 -- Resolves: rhbz#1510522 man page uid and gid mismatch for service accounts - -* Thu Sep 26 2019 Coty Sutherland - 1:9.0.26-1 -- Update to 9.0.26 -- Resolves: rhbz#1523112 tomcat systemd does not cope with - in service names -- Resolves: rhbz#1510896 Problem to start tomcat with a user whose group has a name different to the user - -* Sat Jul 27 2019 Fedora Release Engineering - 1:9.0.21-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Wed Jul 17 2019 Coty Sutherland - 1:9.0.21-2 -- Update build-classpath calls to ECJ to specify the JAR we want to use - -* Tue Jun 18 2019 Coty Sutherland - 1:9.0.21-1 -- Update to 9.0.21 - -* Tue Apr 02 2019 Coty Sutherland - 1:9.0.13-4 -- Remove javadoc subpackage to drop the jpackage-utils dependency - -* Wed Feb 20 2019 Coty Sutherland - 1:9.0.13-3 -- Remove OSGi MANIFEST files, these are now included in the upstream Tomcat distribution (as of 9.0.10) -- Remove unused dependencies, apache-commons-collections, apache-commons-daemon, apache-commons-pool, junit - -* Sun Feb 03 2019 Fedora Release Engineering - 1:9.0.13-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Thu Dec 13 2018 Coty Sutherland - 1:9.0.13-1 -- Update to 9.0.13 -- Resolves: rhbz#1636513 - CVE-2018-11784 tomcat: Open redirect in default servlet - -* Sun Oct 14 2018 Peter Robinson 1:9.0.10-2 -- Drop legcy sys-v bits - -* Tue Jul 31 2018 Coty Sutherland - 1:9.0.10-1 -- Update to 9.0.10 -- Resolves: rhbz#1624929 - CVE-2018-1336 tomcat: A bug in the UTF-8 decoder can lead to DoS -- Resolves: rhbz#1579612 - CVE-2018-8014 tomcat: Insecure defaults in CORS filter enable 'supportsCredentials' for all origins -- Resolves: rhbz#1607586 - CVE-2018-8034 tomcat: host name verification missing in WebSocket client -- Resolves: rhbz#1607584 - CVE-2018-8037 tomcat: Due to a mishandling of close in NIO/NIO2 connectors user sessions can get mixed up - -* Sat Jul 14 2018 Fedora Release Engineering - 1:9.0.7-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Tue May 01 2018 Coty Sutherland - 1:9.0.7-1 -- Update to 9.0.7 - -* Thu Mar 15 2018 Coty Sutherland - 1:8.5.29-1 -- Update to 8.5.29 -- Resolves: rhbz#1548290 CVE-2018-1304 tomcat: Incorrect handling of empty string URL in security constraints can lead to unitended exposure of resources -- Resolves: rhbz#1548284 CVE-2018-1305 tomcat: Late application of security constraints can lead to resource exposure for unauthorised users - -* Fri Feb 09 2018 Igor Gnatenko - 1:8.0.49-2 -- Escape macros in %%changelog - -* Thu Feb 01 2018 Coty Sutherland - 1:8.0.49-1 -- Update to 8.0.49 - -* Tue Dec 12 2017 Merlin Mathesius - 1:8.0.47-3 -- Cleanup spec file conditionals - -* Tue Oct 24 2017 Troy Dawson - 1:8.0.47-2 -- Change "zip -u" to "zip" -- Resolves: rhbz#1495241 [tomcat] zip -u in spec file causes race condition - -* Wed Oct 04 2017 Coty Sutherland - 1:8.0.47-1 -- Update to 8.0.47 -- Resolves: rhbz#1497682 CVE-2017-12617 tomcat: Remote Code Execution bypass for CVE-2017-12615 - -* Mon Aug 21 2017 Coty Sutherland - 1:8.0.46-1 -- Update to 8.0.46 -- Resolves: rhbz#1480620 CVE-2017-7674 tomcat: Cache Poisoning - -* Thu Jul 27 2017 Fedora Release Engineering - 1:8.0.44-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Fri Jun 09 2017 Coty Sutherland - 1:8.0.44-1 -- Resolves: rhbz#1459160 CVE-2017-5664 tomcat: Security constrained bypass in error page mechanism - -* Tue Apr 11 2017 Coty Sutherland - 1:8.0.43-1 -- Update to 8.0.43 - -* Fri Mar 31 2017 Coty Sutherland - 1:8.0.42-1 -- Update to 8.0.42 - -* Thu Feb 16 2017 Coty Sutherland - 1:8.0.41-1 -- Update to 8.0.41 -- Resolves: rhbz#1403825 CVE-2016-8745 tomcat: information disclosure due to incorrect Processor sharing - -* Sat Feb 11 2017 Fedora Release Engineering - 1:8.0.39-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Tue Nov 29 2016 Coty Sutherland - 1:8.0.39-1 -- Update to 8.0.39 -- Resolves: rhbz#1397493 CVE-2016-6816 CVE-2016-6817 CVE-2016-8735 tomcat: various flaws - -* Tue Oct 25 2016 Coty Sutherland - 1:8.0.38-1 -- Update to 8.0.38 - -* Sun Oct 23 2016 Coty Sutherland - 1:8.0.37-3 -- Resolves: rhbz#1383216 CVE-2016-6325 tomcat: tomcat writable config files allow privilege escalation -- Resolves: rhbz#1382310 CVE-2016-5425 tomcat: Local privilege escalation via systemd-tmpfiles service - -* Tue Sep 13 2016 Coty Sutherland - 1:8.0.37-1 -- Rebase to 8.0.37 -- Resolves: rhbz#1375581 CVE-2016-5388 CGI sets environmental variable based on user supplied Proxy request header -- Resolves: rhbz#1370262 catalina.out is no longer in use in the main package, but still gets rotated - -* Thu Aug 11 2016 Coty Sutherland - 1:8.0.36-2 -- Related: rhbz#1349469 Correct typo in changelog entry - -* Mon Aug 08 2016 Coty Sutherland - 1:8.0.36-1 -- Resolves: rhbz#1349469 CVE-2016-3092 tomcat: Usage of vulnerable FileUpload package can result in denial of service (updates to 8.0.36) -- Resolves: rhbz#1364056 The command tomcat-digest doesn't work -- Resolves: rhbz#1363884 The tomcat-tool-wrapper script is broken -- Resolves: rhbz#1347864 The systemd service unit does not allow tomcat to shut down gracefully -- Resolves: rhbz#1347835 The security manager doesn't work correctly (JSPs cannot be compiled) -- Resolves: rhbz#1341853 rpm -V tomcat fails on /var/log/tomcat/catalina.out -- Resolves: rhbz#1341850 tomcat-jsvc.service has TOMCAT_USER value hard-coded -- Resolves: rhbz#1359737 Missing maven depmap for the following artifacts: org.apache.tomcat:tomcat-websocket, org.apache.tomcat:tomcat-websocket-api -- Resolves: asfbz#59960 Building javadocs with java8 fails - -* Wed Mar 2 2016 Ivan Afonichev - 1:8.0.32-4 -- Revert sysconfig migration changes, resolves: rhbz#1311771, rhbz#1311905 -- Add /etc/tomcat/conf.d/ with shell expansion support, resolves rhbz#1293636 - -* Sat Feb 27 2016 Ivan Afonichev - 1:8.0.32-3 -- Load sysconfig from tomcat.conf, resolves: rhbz#1311771, rhbz#1311905 -- Set default javax.sql.DataSource factory to apache commons one, resolves rhbz#1214381 - -* Sun Feb 21 2016 Ivan Afonichev - 1:8.0.32-2 -- Fix symlinks from $CATALINA_HOME/lib perspective, resolves: rhbz#1308685 - -* Thu Feb 11 2016 Ivan Afonichev - 1:8.0.32-1 -- Updated to 8.0.32 -- Remove log4j support. It has never been working actually. See rhbz#1236297 -- Move shipped config to /etc/sysconfig/tomcat. /etc/tomcat/tomcat.conf can now be used to override it with shell expansion, resolves rhbz#1293636 -- Recommend tomcat-native, resolves: rhbz#1243132 - -* Wed Feb 10 2016 Coty Sutherland 1:8.0.26-4 -- Resolves: rhbz#1286800 Failed to start component due to wrong allowLinking="true" in context.xml -- Program /bin/nologin does not exist (#1302718) - -* Fri Feb 05 2016 Fedora Release Engineering - 1:8.0.26-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Wed Nov 11 2015 Robert Scheck 1:8.0.26-2 -- CATALINA_OPTS are only read when SECURITY_MANAGER is true (#1147105) - -* Thu Aug 27 2015 Alexander Kurtakov 1:8.0.26-1 -- Update to 8.0.26. - -* Fri Jul 10 2015 Alexander Kurtakov 1:8.0.24-2 -- Update to 8.0.24. - -* Fri Jun 19 2015 Alexander Kurtakov 1:8.0.23-2 -- Drop javax.el:el-api alias. - -* Thu Jun 18 2015 Alexander Kurtakov 1:8.0.23-1 -- Update to 8.0.23. - -* Thu Jun 18 2015 Alexander Kurtakov 1:8.0.20-3 -- Drop jetty alias for servlet. - -* Tue Jun 09 2015 Michal Srb - 1:8.0.20-2 -- Fix metadata for org.apache.tomcat:{tomcat-jni,tomcat-util-scan} - -* Thu Mar 5 2015 Alexander Kurtakov 1:8.0.18-5 -- Rebuild against tomcat-taglibs-standard. - -* Wed Mar 4 2015 Alexander Kurtakov 1:8.0.18-4 -- Fix epoch bumped el_1_0_api that would override all other glassfish/jboss/etc. due to wrong epoch. -- Drop old provides. - -* Tue Mar 03 2015 Stephen Gallagher 1:8.0.18-3 -- Bump epoch to maintain upgrade path from Fedora 22 - -* Mon Feb 16 2015 Michal Srb - 0:8.0.18-2 -- Install POM files for org.apache.tomcat:{tomcat-jni,tomcat-util-scan} - -* Sun Feb 15 2015 Ivan Afonichev 0:8.0.18-1 -- Updated to 8.0.18 - -* Sat Sep 20 2014 Ivan Afonichev 0:8.0.12-1 -- Updated to 8.0.12 -- Substitute libnames in catalina-tasks.xml, resolves: rhbz#1126439 -- Use CATALINA_OPTS only on start, resolves: rhbz#1051194 - -* Mon Jun 16 2014 Michal Srb - 0:7.0.54-3 -- jsp-api requires el-api - -* Sun Jun 08 2014 Fedora Release Engineering - 0:7.0.54-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Thu Jun 5 2014 Alexander Kurtakov 0:7.0.54-1 -- Update to upstream 7.0.54 - fixes compile with Java 8. - -* Wed May 21 2014 Alexander Kurtakov 0:7.0.52-3 -- Drop servlet/el api provides to reduce user machines ending with both. - -* Sun Mar 30 2014 Ivan Afonichev 0:7.0.52-2 -- Don't provide maven javax.jsp:jsp-api and javax.servlet.jsp:javax.servlet.jsp-api resolves: rhbz#1076949 -- Move log4j support into subpackage, resolves: rhbz#1027716 - -* Wed Mar 26 2014 Ivan Afonichev 0:7.0.52-1 -- Updated to 7.0.52 -- Rewrite jsvc implementation, resolves: rhbz#1051743 -- Switch to java-headless R, resolves: rhbz#1068566 -- Create and own %%{_localstatedir}/lib/tomcats, resolves: rhbz#1026741 -- Add pom for tomcat-jdbc, resolves: rhbz#1011003 - -* Tue Jan 21 2014 Mikolaj Izdebski - 0:7.0.47-3 -- Fix installation of Maven metadata for tomcat-juli.jar -- Resolves: rhbz#1033664 - -* Wed Jan 15 2014 Stanislav Ochotnicky - 0:7.0.47-2 -- Rebuild for bug #1033664 - -* Sun Nov 03 2013 Ivan Afonichev 0:7.0.47-1 -- Updated to 7.0.47 -- Fix java.security.policy - -* Sun Aug 04 2013 Fedora Release Engineering - 0:7.0.42-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Fri Jul 12 2013 Ivan Afonichev 0:7.0.42-2 -- Remove jpackage-utils R - -* Thu Jul 11 2013 Dmitry Tikhonov 0:7.0.42-1 -- Updated to 7.0.42 - -* Tue Jun 11 2013 Paul Komkoff 0:7.0.40-3 -- Dropped systemv inits. Bye-bye. -- Updated the systemd wrappers to allow running multiple instances. - Added wrapper scripts to do that, ported the original non-named - service file to work with the same wrappers, updated - /usr/sbin/tomcat to call systemctl. - -* Sat May 11 2013 Ivan Afonichev 0:7.0.40-1 -- Updated to 7.0.40 -- Resolves: rhbz 956569 added missing commons-pool link -- Remove ant-nodeps BR - -* Mon Mar 4 2013 Mikolaj Izdebski - 0:7.0.37-2 -- Add depmaps for org.eclipse.jetty.orbit -- Resolves: rhbz#917626 - -* Wed Feb 20 2013 Ivan Afonichev 0:7.0.39-1 -- Updated to 7.0.39 - -* Wed Feb 20 2013 Ivan Afonichev 0:7.0.37-1 -- Updated to 7.0.37 - -* Mon Feb 4 2013 Ivan Afonichev 0:7.0.35-1 -- Updated to 7.0.35 -- systemd SuccessExitStatus=143 for proper stop exit code processing - -* Mon Dec 24 2012 Ivan Afonichev 0:7.0.34-1 -- Updated to 7.0.34 -- ecj >= 4.2.1 now required -- Resolves: rhbz 889395 concat classpath correctly; chdir to $CATALINA_HOME - -* Fri Dec 7 2012 Ivan Afonichev 0:7.0.33-2 -- Resolves: rhbz 883806 refix logdir ownership - -* Sun Dec 2 2012 Ivan Afonichev 0:7.0.33-1 -- Updated to 7.0.33 -- Resolves: rhbz 873620 need chkconfig for update-alternatives - -* Wed Oct 17 2012 Ivan Afonichev 0:7.0.32-1 -- Updated to 7.0.32 -- Resolves: rhbz 842620 symlinks to taglibs - -* Fri Aug 24 2012 Ivan Afonichev 0:7.0.29-1 -- Updated to 7.0.29 -- Add pidfile as tmpfile -- Use systemd for running as unprivileged user -- Resolves: rhbz 847751 upgrade path was broken -- Resolves: rhbz 850343 use new systemd-rpm macros - -* Sat Jul 21 2012 Fedora Release Engineering - 0:7.0.28-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Mon Jul 2 2012 Ivan Afonichev 0:7.0.28-1 -- Updated to 7.0.28 -- Resolves: rhbz 820119 Remove bundled apache-commons-dbcp -- Resolves: rhbz 814900 Added tomcat-coyote POM -- Resolves: rhbz 810775 Remove systemv stuff from %%post scriptlet -- Remove redhat-lsb R - -* Mon Apr 9 2012 Ivan Afonichev 0:7.0.27-2 -- Fixed native download hack - -* Sat Apr 7 2012 Ivan Afonichev 0:7.0.27-1 -- Updated to 7.0.27 -- Fixed jakarta-taglibs-standard BR and R - -* Wed Mar 21 2012 Stanislav Ochotnicky - 0:7.0.26-2 -- Add more depmaps to J2EE apis to help jetty/glassfish updates - -* Wed Mar 14 2012 Juan Hernandez 0:7.0.26-2 -- Added the POM files for tomcat-api and tomcat-util (#803495) - -* Wed Feb 22 2012 Ivan Afonichev 0:7.0.26-1 -- Updated to 7.0.26 -- Bug 790334: Change ownership of logdir for logrotate - -* Thu Feb 16 2012 Krzysztof Daniel 0:7.0.25-4 -- Bug 790694: Priorities of jsp, servlet and el packages updated. - -* Wed Feb 8 2012 Krzysztof Daniel 0:7.0.25-3 -- Dropped indirect dependecy to tomcat 5 - -* Sun Jan 22 2012 Ivan Afonichev 0:7.0.25-2 -- Added hack for maven depmap of tomcat-juli absolute link [ -f ] pass correctly - -* Sat Jan 21 2012 Ivan Afonichev 0:7.0.25-1 -- Updated to 7.0.25 -- Removed EntityResolver patch (changes already in upstream sources) -- Place poms and depmaps in the same package as jars -- Added javax.servlet.descriptor to export-package of servlet-api -- Move several chkconfig actions and reqs to systemv subpackage -- New maven depmaps generation method -- Add patch to support java7. (patch sent upstream). -- Require java >= 1:1.6.0 - -* Fri Jan 13 2012 Krzysztof Daniel 0:7.0.23-5 -- Exported javax.servlet.* packages in version 3.0 as 2.6 to make - servlet-api compatible with Eclipse. - -* Thu Jan 12 2012 Ivan Afonichev 0:7.0.23-4 -- Move jsvc support to subpackage - -* Wed Jan 11 2012 Alexander Kurtakov 0:7.0.23-2 -- Add EntityResolver setter patch to jasper for jetty's need. (patch sent upstream). - -* Mon Dec 12 2011 Joseph D. Wagner 0:7.0.23-3 -- Added support to /usr/sbin/tomcat-sysd and /usr/sbin/tomcat for - starting 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. Must add USE_JSVC="true" to - /etc/tomcat/tomcat.conf or /etc/sysconfig/tomcat. - -* Mon Nov 28 2011 Ivan Afonichev 0:7.0.23-1 -- Updated to 7.0.23 - -* Fri Nov 11 2011 Ivan Afonichev 0:7.0.22-2 -- Move tomcat-juli.jar to lib package -- Drop %%update_maven_depmap as in tomcat6 -- Provide native systemd unit file ported from tomcat6 - -* Thu Oct 6 2011 Ivan Afonichev 0:7.0.22-1 -- Updated to 7.0.22 - -* Mon Oct 03 2011 Rex Dieter - 0:7.0.21-3.1 -- rebuild (java), rel-eng#4932 - -* Mon Sep 26 2011 Ivan Afonichev 0:7.0.21-3 -- Fix basedir mode - -* Tue Sep 20 2011 Roland Grunberg 0:7.0.21-2 -- Add manifests for el-api, jasper-el, jasper, tomcat, and tomcat-juli. - -* Thu Sep 8 2011 Ivan Afonichev 0:7.0.21-1 -- Updated to 7.0.21 - -* Mon Aug 15 2011 Ivan Afonichev 0:7.0.20-3 -- Require java = 1:1.6.0 - -* Mon Aug 15 2011 Ivan Afonichev 0:7.0.20-2 -- Require java < 1.7.0 - -* Mon Aug 15 2011 Ivan Afonichev 0:7.0.20-1 -- Updated to 7.0.20 - -* Tue Jul 26 2011 Ivan Afonichev 0:7.0.19-1 -- Updated to 7.0.19 - -* Tue Jun 21 2011 Ivan Afonichev 0:7.0.16-1 -- Updated to 7.0.16 - -* Mon Jun 6 2011 Ivan Afonichev 0:7.0.14-3 -- Added initial systemd service -- Fix some paths - -* Sat May 21 2011 Ivan Afonichev 0:7.0.14-2 -- Fixed http source link -- Securify some permissions -- Added licenses for el-api and servlet-api -- Added dependency on jpackage-utils for the javadoc subpackage - -* Sat May 14 2011 Ivan Afonichev 0:7.0.14-1 -- Updated to 7.0.14 - -* Thu May 5 2011 Ivan Afonichev 0:7.0.12-4 -- Provided local paths for libs -- Fixed dependencies -- Fixed update temp/work cleanup - -* Mon May 2 2011 Ivan Afonichev 0:7.0.12-3 -- Fixed package groups -- Fixed some permissions -- Fixed some links -- Removed old tomcat6 crap - -* Thu Apr 28 2011 Ivan Afonichev 0:7.0.12-2 -- Package now named just tomcat instead of tomcat7 -- Removed Provides: %%{name}-log4j -- Switched to apache-commons-* names instead of jakarta-commons-* . -- Remove the old changelog -- BR/R java >= 1:1.6.0 , same for java-devel -- Removed old tomcat6 crap - -* Wed Apr 27 2011 Ivan Afonichev 0:7.0.12-1 -- Tomcat7 \ No newline at end of file diff --git a/tomcat.spec b/tomcat.spec index b25b959..8689ef0 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -1,3 +1,33 @@ +# 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 jspspec 3.1 %global major_version 10 %global minor_version 1 @@ -9,10 +39,9 @@ # Recommended version is specified in java/org/apache/catalina/core/AprLifecycleListener.java %global native_version 2.0.8 + # FHS 3.0 compliant tree structure - http://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html %global basedir %{_var}/lib/%{name} -%global baseconfdir %{basedir}/conf -%global baselogdir %{basedir}/logs %global appdir %{basedir}/webapps %global homedir %{_datadir}/%{name} %global bindir %{homedir}/bin @@ -21,7 +50,7 @@ %global logdir %{_var}/log/%{name} %global cachedir %{_var}/cache/%{name} %global tempdir %{cachedir}/temp -%global workdir %{basedir}/work +%global workdir %{cachedir}/work Name: tomcat Epoch: 1 @@ -46,35 +75,39 @@ Source10: %{name}-server Source11: %{name}-named.service Source12: module-start-up-parameters.conf -# https://bugzilla.redhat.com/show_bug.cgi?id=435829 Patch0: %{name}-%{major_version}.%{minor_version}-bootstrap-MANIFEST.MF.patch Patch1: %{name}-%{major_version}.%{minor_version}-tomcat-users-webapp.patch Patch2: %{name}-build.patch -# catalina.policy patch to allow ECJ usage under the Security Manager Patch3: %{name}-%{major_version}.%{minor_version}-catalina-policy.patch -# https://bugzilla.redhat.com/show_bug.cgi?id=1857043 Patch4: %{name}-%{major_version}.%{minor_version}-bnd-annotation.patch -# Fixes not available constants in ECJ Patch5: %{name}-%{major_version}.%{minor_version}-JDTCompiler.patch -# https://bugzilla.redhat.com/show_bug.cgi?id=1857043 Patch6: rhbz-1857043.patch BuildArch: noarch ExclusiveArch: %{java_arches} noarch -BuildRequires: ant -BuildRequires: ecj +BuildRequires: ant >= 1.10.2 +BuildRequires: ecj >= 4.20 BuildRequires: findutils -BuildRequires: java-devel +BuildRequires: java-devel >= 17 BuildRequires: javapackages-local BuildRequires: aqute-bnd +BuildRequires: aqute-bndlib +BuildRequires: systemd BuildRequires: tomcat-jakartaee-migration -Requires: (java-headless >= 11 or java >= 11) -Requires: javapackages-tools -Requires: %{name}-lib = %{epoch}:%{version}-%{release} -Recommends: tomcat-native >= %{native_version} -Requires: systemd +Requires: (java-headless >= 11 or java >= 11) +Requires: javapackages-tools +Requires: %{name}-lib = %{epoch}:%{version}-%{release} +%if 0%{?fedora} || 0%{?rhel} > 7 +Recommends: tomcat-native >= %{native_version} +%endif +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd + +# added after log4j sub-package was removed +Provides: %{name}-log4j = %{epoch}:%{version}-%{release} %description Tomcat is the servlet container that is used in the official Reference @@ -103,10 +136,9 @@ The docs web application for Apache Tomcat. %package jsp-%{jspspec}-api Summary: Apache Tomcat JavaServer Pages v%{jspspec} API Implementation Classes Provides: jsp = %{jspspec} -Obsoletes: jsp < %{jspspec} +Obsoletes: %{name}-jsp-api < %{jspspec} Requires: %{name}-servlet-%{servletspec}-api = %{epoch}:%{version}-%{release} Requires: %{name}-el-%{elspec}-api = %{epoch}:%{version}-%{release} -Conflicts: tomcat-jsp-2.3-api %description jsp-%{jspspec}-api Apache Tomcat JSP API Implementation Classes. @@ -126,8 +158,7 @@ Libraries needed to run the Tomcat Web container. %package servlet-%{servletspec}-api Summary: Apache Tomcat Java Servlet v%{servletspec} API Implementation Classes Provides: servlet = %{servletspec} -Obsoletes: servlet < %{servletspec} -Conflicts: tomcat-servlet-4.0-api +Obsoletes: %{name}-servlet-api < %{servletspec} %description servlet-%{servletspec}-api Apache Tomcat Servlet API Implementation Classes. @@ -135,8 +166,7 @@ Apache Tomcat Servlet API Implementation Classes. %package el-%{elspec}-api Summary: Apache Tomcat Expression Language v%{elspec} API Implementation Classes Provides: el_api = %{elspec} -Obsoletes: el_api < %{elspec} -Conflicts: tomcat-el-3.0-api +Obsoletes: %{name}-el-api < %{elspec} %description el-%{elspec}-api Apache Tomcat EL API Implementation Classes. @@ -165,11 +195,19 @@ find . -type f \( -name "*.bat" -o -name "*.class" -o -name Thumbs.db -o -name " # 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" "jakarta.servlet:jakarta.servlet-api" +%mvn_package ":tomcat-jsp-api" tomcat-jsp-api +%mvn_alias "org.apache.tomcat:tomcat-jsp-api" "jakarta.servlet:jakarta.servlet.jsp" +%mvn_package ":tomcat-servlet-api" tomcat-servlet-api + # Create a sysusers.d config file cat >tomcat.sysusers.conf < ${RPM_BUILD_ROOT}%{confdir}/conf.d/README -%{__install} -d ${RPM_BUILD_ROOT}%{libdir} -%{__install} -d ${RPM_BUILD_ROOT}%{logdir} -%{__install} -d ${RPM_BUILD_ROOT}%{_localstatedir}/lib/tomcats -%{__install} -d ${RPM_BUILD_ROOT}%{homedir} -%{__install} -d ${RPM_BUILD_ROOT}%{tempdir} -%{__install} -d ${RPM_BUILD_ROOT}%{_unitdir} -%{__install} -d ${RPM_BUILD_ROOT}%{_libexecdir}/%{name} - -for jar in output/build/lib/*.jar; do - # Skip Jar if empty, applies to tomcat-coyote-ffm.jar atm - jar tf ${jar} | grep -E -q '.*\.class' || continue - - jarname=$(basename $jar .jar) - - case "${jarname}" in - jasper) pom="res/maven/tomcat-jasper.pom" ;; - catalina-tribes) pom="res/maven/tomcat-tribes.pom" ;; - catalina-ssi) pom="res/maven/tomcat-ssi.pom" ;; - catalina-storeconfig) pom="res/maven/tomcat-storeconfig.pom" ;; - *) pom=$(ls res/maven/*"${jarname}".pom 2>/dev/null) ;; - esac - - sed -i "s/@MAVEN.DEPLOY.VERSION@/%{version}/g" ${pom} - - case "${jarname}" in - tomcat-jni) %mvn_file org.apache.tomcat:tomcat-jni tomcat/tomcat-jni ${RPM_BUILD_ROOT}%{libdir}/tomcat-jni ;; - jsp-api) %mvn_file org.apache.tomcat:tomcat-jsp-api tomcat/jsp-api tomcat/%{name}-jsp-%{jspspec}-api %{name}-jsp-%{jspspec}-api %{name}-jsp-api ;; - servlet-api) %mvn_file org.apache.tomcat:tomcat-servlet-api tomcat/servlet-api tomcat/%{name}-servlet-%{servletspec}-api %{name}-servlet-%{servletspec}-api %{name}-servlet-api ;; - el-api) %mvn_file org.apache.tomcat:tomcat-el-api tomcat/el-api tomcat/%{name}-el-%{servletspec}-api %{name}-el-%{servletspec}-api %{name}-el-api ;; - catalina-tribes) %mvn_file org.apache.tomcat:tomcat-tribes tomcat/catalina-tribes ;; - catalina-ssi) %mvn_file org.apache.tomcat:tomcat-ssi tomcat/catalina-ssi ;; - catalina-storeconfig) %mvn_file org.apache.tomcat:tomcat-storeconfig tomcat/catalina-storeconfig ;; - *) %mvn_file org.apache.tomcat:$(sed -n "/.*${jarname}.*<\/artifactId>/ { s/.*\(.*${jarname}.*\)<\/artifactId>.*/\1/; p; q; }" "${pom}" 2>/dev/null) tomcat/${jarname} ;; - esac - - %mvn_artifact ${pom} ${jar} -done - -sed -i "s/@MAVEN.DEPLOY.VERSION@/%{version}/g" res/maven/tomcat-juli.pom -%mvn_artifact res/maven/tomcat-juli.pom output/build/bin/tomcat-juli.jar -# bootstrap does not have a pom, generate one -%mvn_artifact 'org.apache.tomcat:tomcat-bootstrap:%{version}' output/build/bin/bootstrap.jar - -#Create symlinks to bindir -%mvn_file :tomcat-bootstrap tomcat/tomcat-bootstrap ${RPM_BUILD_ROOT}%{bindir}/bootstrap.jar -%mvn_file :tomcat-juli tomcat/tomcat-juli ${RPM_BUILD_ROOT}%{bindir}/tomcat-juli.jar - -# tomcat-parent pom -sed -i "s/@MAVEN.DEPLOY.VERSION@/%{version}/g" res/maven/tomcat.pom -%mvn_artifact res/maven/tomcat.pom - -%mvn_package ":tomcat-el-api" tomcat-el-api -%mvn_package ":tomcat-jsp-api" tomcat-jsp-api -%mvn_package ":tomcat-servlet-api" tomcat-servlet-api - -%mvn_install - -# Fixes JAR must have Javapackages-GroupId manifest attribute error -jar ufm ${RPM_BUILD_ROOT}%{libdir}/el-api.jar <(echo "JavaPackages-GroupId: org.apache.tomcat") -jar ufm ${RPM_BUILD_ROOT}%{libdir}/jsp-api.jar <(echo "JavaPackages-GroupId: org.apache.tomcat") -jar ufm ${RPM_BUILD_ROOT}%{libdir}/servlet-api.jar <(echo "JavaPackages-GroupId: org.apache.tomcat") +%{__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}/%{name} # move things into place +# First copy supporting libs to tomcat lib pushd output/build - %{__cp} -a bin/*.xml ${RPM_BUILD_ROOT}%{bindir} - %{__cp} -a conf/*.{policy,properties,xml} ${RPM_BUILD_ROOT}%{confdir} + %{__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} %{__cp} -a webapps/* ${RPM_BUILD_ROOT}%{appdir} popd @@ -289,9 +277,9 @@ popd -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \ -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE2} \ > ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/%{name} -%{__install} %{SOURCE3} \ +%{__install} -m 0755 %{SOURCE3} \ ${RPM_BUILD_ROOT}%{_sbindir}/%{name} -%{__install} %{SOURCE7} \ +%{__install} -m 0644 %{SOURCE7} \ ${RPM_BUILD_ROOT}%{_unitdir}/%{name}.service %{__sed} -e "s|\@\@\@TCLOG\@\@\@|%{logdir}|g" %{SOURCE4} \ > ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}.disabled @@ -304,11 +292,33 @@ popd -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE6} \ > ${RPM_BUILD_ROOT}%{_bindir}/%{name}-tool-wrapper -%{__install} %{SOURCE8} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/functions -%{__install} %{SOURCE9} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/preamble -%{__install} %{SOURCE10} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/server -%{__install} %{SOURCE11} ${RPM_BUILD_ROOT}%{_unitdir}/%{name}@.service -%{__install} %{SOURCE12} ${RPM_BUILD_ROOT}%{confdir}/conf.d/ +%{__install} -m 0644 %{SOURCE8} \ + ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/functions +%{__install} -m 0755 %{SOURCE9} \ + ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/preamble +%{__install} -m 0755 %{SOURCE10} \ + ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/server +%{__install} -m 0644 %{SOURCE11} \ + ${RPM_BUILD_ROOT}%{_unitdir}/%{name}@.service + +%{__install} -m 0644 %{SOURCE12} ${RPM_BUILD_ROOT}%{confdir}/conf.d/ + +# Substitute libnames in catalina-tasks.xml +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,;" \ + ${RPM_BUILD_ROOT}%{bindir}/catalina-tasks.xml + +# create jsp and servlet API symlinks +pushd ${RPM_BUILD_ROOT}%{_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 @@ -316,13 +326,84 @@ pushd output/build popd pushd ${RPM_BUILD_ROOT}%{libdir} - %{__cp} $(build-classpath ecj/ecj) ecj-x.jar - %{__cp} $(build-classpath tomcat-jakartaee-migration/jakartaee-migration) jakartaee-migration-x.jar + # symlink JSP and servlet API jars + %{__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 + %{__ln_s} $(build-classpath tomcat-jakartaee-migration/jakartaee-migration) jakartaee-migration.jar + + cp ../../%{name}/bin/tomcat-juli.jar . popd -ln -sr %{confdir} ${RPM_BUILD_ROOT}%{baseconfdir} -ln -sr %{cachedir} ${RPM_BUILD_ROOT}%{workdir} -ln -sr %{logdir} ${RPM_BUILD_ROOT}%{baselogdir} +# 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 for the spec impl artifacts as other projects use them +#%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_mavenpomdir} +pushd res/maven + for pom in *.pom; do + # fix-up version in all pom files + sed -i 's/@MAVEN.DEPLOY.VERSION@/%{version}/g' $pom + done +popd + +# Configure and install maven artifacts +%mvn_artifact res/maven/tomcat-el-api.pom output/build/lib/el-api.jar +%mvn_artifact res/maven/tomcat-jsp-api.pom output/build/lib/jsp-api.jar +%mvn_artifact res/maven/tomcat-servlet-api.pom output/build/lib/servlet-api.jar + +%mvn_file org.apache.tomcat:tomcat-annotations-api tomcat/annotations-api +%mvn_artifact res/maven/tomcat-annotations-api.pom ${RPM_BUILD_ROOT}%{libdir}/annotations-api.jar +%mvn_artifact res/maven/tomcat-api.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-api.jar +%mvn_file org.apache.tomcat:tomcat-catalina-ant tomcat/catalina-ant +%mvn_artifact res/maven/tomcat-catalina-ant.pom ${RPM_BUILD_ROOT}%{libdir}/catalina-ant.jar +%mvn_file org.apache.tomcat:tomcat-catalina-ha tomcat/catalina-ha +%mvn_artifact res/maven/tomcat-catalina-ha.pom ${RPM_BUILD_ROOT}%{libdir}/catalina-ha.jar +%mvn_file org.apache.tomcat:tomcat-catalina tomcat/catalina +%mvn_artifact res/maven/tomcat-catalina.pom ${RPM_BUILD_ROOT}%{libdir}/catalina.jar +%mvn_artifact res/maven/tomcat-coyote.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-coyote.jar +%mvn_artifact res/maven/tomcat-dbcp.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-dbcp.jar +%mvn_artifact res/maven/tomcat-i18n-cs.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-i18n-cs.jar +%mvn_artifact res/maven/tomcat-i18n-de.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-i18n-de.jar +%mvn_artifact res/maven/tomcat-i18n-es.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-i18n-es.jar +%mvn_artifact res/maven/tomcat-i18n-fr.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-i18n-fr.jar +%mvn_artifact res/maven/tomcat-i18n-ja.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-i18n-ja.jar +%mvn_artifact res/maven/tomcat-i18n-ko.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-i18n-ko.jar +%mvn_artifact res/maven/tomcat-i18n-pt-BR.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-i18n-pt-BR.jar +%mvn_artifact res/maven/tomcat-i18n-ru.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-i18n-ru.jar +%mvn_artifact res/maven/tomcat-i18n-zh-CN.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-i18n-zh-CN.jar +%mvn_file org.apache.tomcat:tomcat-jasper-el tomcat/jasper-el +%mvn_artifact res/maven/tomcat-jasper-el.pom ${RPM_BUILD_ROOT}%{libdir}/jasper-el.jar +%mvn_file org.apache.tomcat:tomcat-jasper tomcat/jasper +%mvn_artifact res/maven/tomcat-jasper.pom ${RPM_BUILD_ROOT}%{libdir}/jasper.jar +%mvn_file org.apache.tomcat:tomcat-jaspic-api tomcat/jaspic-api +%mvn_artifact res/maven/tomcat-jaspic-api.pom ${RPM_BUILD_ROOT}%{libdir}/jaspic-api.jar +%mvn_artifact res/maven/tomcat-jdbc.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-jdbc.jar +%mvn_artifact res/maven/tomcat-jni.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-jni.jar +%mvn_artifact res/maven/tomcat-juli.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-juli.jar +%mvn_file org.apache.tomcat:tomcat-ssi tomcat/catalina-ssi +%mvn_artifact res/maven/tomcat-ssi.pom ${RPM_BUILD_ROOT}%{libdir}/catalina-ssi.jar +%mvn_file org.apache.tomcat:tomcat-storeconfig tomcat/catalina-storeconfig +%mvn_artifact res/maven/tomcat-storeconfig.pom ${RPM_BUILD_ROOT}%{libdir}/catalina-storeconfig.jar +%mvn_file org.apache.tomcat:tomcat-tribes tomcat/catalina-tribes +%mvn_artifact res/maven/tomcat-tribes.pom ${RPM_BUILD_ROOT}%{libdir}/catalina-tribes.jar +%mvn_artifact res/maven/tomcat-util-scan.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-util-scan.jar +%mvn_artifact res/maven/tomcat-util.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-util.jar +%mvn_file org.apache.tomcat:tomcat-websocket-api tomcat/websocket-api +%mvn_artifact res/maven/tomcat-websocket-api.pom ${RPM_BUILD_ROOT}%{libdir}/websocket-api.jar +%mvn_artifact res/maven/tomcat-websocket.pom ${RPM_BUILD_ROOT}%{libdir}/tomcat-websocket.jar +%mvn_artifact res/maven/tomcat-websocket-client-api.pom ${RPM_BUILD_ROOT}%{libdir}/websocket-client-api.jar +%mvn_artifact res/maven/tomcat.pom + +%mvn_install install -m0644 -D tomcat.sysusers.conf %{buildroot}%{_sysusersdir}/tomcat.conf @@ -338,44 +419,62 @@ install -m0644 -D tomcat.sysusers.conf %{buildroot}%{_sysusersdir}/tomcat.conf %postun %systemd_postun_with_restart %{name}.service -%files -%doc {LICENSE,NOTICE,RELEASE-NOTES,RUNNING.txt} -%{_bindir}/%{name}-digest -%{_bindir}/%{name}-tool-wrapper -%{_sbindir}/%{name} -%{_unitdir}/%{name}.service -%{_unitdir}/%{name}@.service -%{_libexecdir}/%{name} -%{_localstatedir}/lib/tomcats -%config(noreplace) %{_sysconfdir}/sysconfig/%{name} -%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}.disabled -%{_sysusersdir}/tomcat.conf -%{homedir} -%{baseconfdir} -%{baselogdir} -%{workdir} -%attr(2770,tomcat,adm) %dir %{logdir} -%attr(750,tomcat,tomcat) %dir %{cachedir} -%attr(0770,root,tomcat) %{tempdir} -%attr(2775,tomcat,tomcat) %dir %{appdir} +%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(0644,root,root) %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}.disabled +%attr(0755,root,tomcat) %dir %{basedir} +%attr(0755,root,tomcat) %dir %{confdir} -%{confdir}/conf.d +%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/module-start-up-parameters.conf %config(noreplace) %{confdir}/%{name}.conf -# Configuration files should not be modifiable by the tomcat user, as this can be -# a security issue (an attacker may insert code in a webapp and rewrite the tomcat -# configuration) but those files should be readable by tomcat, so we set the group to tomcat. -%attr(640,root,tomcat) %config(noreplace) %{confdir}/tomcat-users.xml -%attr(640,root,tomcat) %config(noreplace) %{confdir}/web.xml -%attr(640,root,tomcat) %config(noreplace) %{confdir}/server.xml -%attr(640,root,tomcat) %config(noreplace) %{confdir}/logging.properties -%attr(640,root,tomcat) %config(noreplace) %{confdir}/catalina.properties -%attr(640,root,tomcat) %config(noreplace) %{confdir}/context.xml -%attr(640,root,tomcat) %config(noreplace) %{confdir}/jaspic-providers.xml -%attr(640,root,tomcat) %config(noreplace) %{confdir}/catalina.policy -%attr(2775,root,tomcat) %dir %{confdir}/Catalina -%attr(2775,root,tomcat) %dir %{confdir}/Catalina/localhost +%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 +%{_sysusersdir}/tomcat.conf %files admin-webapps +%defattr(0664,root,tomcat,0755) %{appdir}/host-manager %{appdir}/manager @@ -383,22 +482,683 @@ install -m0644 -D tomcat.sysusers.conf %{buildroot}%{_sysusersdir}/tomcat.conf %{appdir}/docs %files lib -f .mfiles -%defattr(644, root, tomcat, 2775) -%{libdir}/jakartaee-migration-x.jar -%{libdir}/ecj-x.jar +%dir %{libdir} +%{libdir}/*.jar +%{_javadir}/*.jar +%{bindir}/tomcat-juli.jar +%exclude %{libdir}/%{name}-el-%{elspec}-api.jar +%exclude %{libdir}/%{name}-servlet-%{servletspec}*.jar +%exclude %{libdir}/%{name}-jsp-%{jspspec}*.jar +%exclude %{_javadir}/%{name}-servlet-%{servletspec}*.jar +%exclude %{_javadir}/%{name}-el-%{elspec}-api.jar +%exclude %{_javadir}/%{name}-jsp-%{jspspec}*.jar +%exclude %{_javadir}/%{name}-servlet-api.jar +%exclude %{_javadir}/%{name}-el-api.jar +%exclude %{_javadir}/%{name}-jsp-api.jar +%exclude %{_jnidir}/* %files jsp-%{jspspec}-api -f .mfiles-tomcat-jsp-api -%doc LICENSE +%{_javadir}/%{name}-jsp-%{jspspec}*.jar +%{libdir}/%{name}-jsp-%{jspspec}*.jar +%{_javadir}/%{name}-jsp-api.jar %files servlet-%{servletspec}-api -f .mfiles-tomcat-servlet-api %doc LICENSE +%{_javadir}/%{name}-servlet-%{servletspec}*.jar +%{libdir}/%{name}-servlet-%{servletspec}*.jar +%{_javadir}/%{name}-servlet-api.jar %files el-%{elspec}-api -f .mfiles-tomcat-el-api %doc LICENSE +%{_javadir}/%{name}-el-%{elspec}-api.jar +%{libdir}/%{name}-el-%{elspec}-api.jar +%{_javadir}/%{name}-el-api.jar %files webapps %defattr(0644,tomcat,tomcat,0755) %{appdir}/ROOT %changelog -%autochangelog +* Fri Jan 10 2025 Dimitris Soumis - 1:10.1.34-1 +- Update to version 10.1.34 + +* Mon Dec 09 2024 Packit - 1:9.0.98-1 +- Update to version 9.0.98 +- Resolves: rhbz#2331168 + +* Mon Dec 02 2024 Dimitris Soumis - 1:9.0.97-1 +- Update to version 9.0.97 +- Resolves: rhbz#2327090 + +* Tue Oct 08 2024 Packit - 1:9.0.96-1 +- Update to version 9.0.96 +- Resolves: rhbz#2317237 + +* Tue Sep 17 2024 Packit - 1:9.0.95-1 +- Update to version 9.0.95 +- Resolves: rhbz#2312858 + +* Tue Sep 10 2024 Packit - 1:9.0.94-1 +- Update to version 9.0.94 +- Resolves: rhbz#2311320 + +* Tue Aug 06 2024 Packit - 1:9.0.93-1 +- Update to version 9.0.93 +- Resolves: rhbz#2303026 + +* Wed Jul 24 2024 Miroslav Suchý - 1:9.0.91-1 +- convert license to SPDX + +* Thu Jul 11 2024 Dimitris Soumis - 1:9.0.91-1 +- Update to 9.0.91 + +* Thu Jun 20 2024 Dimitris Soumis - 1:9.0.90-1 +- Update to 9.0.90 + +* Fri Jun 7 2024 Dimitris Soumis - 1:9.0.89-1 +- Update to 9.0.89 + +* Thu Feb 29 2024 Adam Williamson - 1:9.0.83-4 +- Accept java-21-headless as one of the alternatives for java + +* Tue Feb 27 2024 Jiri Vanek - 1:9.0.83-3 +- Rebuilt for java-21-openjdk as system jdk + +* Sat Jan 27 2024 Fedora Release Engineering - 1:9.0.83-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Dec 01 2023 Hui Wang - 1:9.0.83-1 +- Update to 9.0.83 + +* Mon Oct 16 2023 Hui Wang - 1:9.0.82-1 +- Update to 9.0.82 +- Resolves: rhbz#2244333 Wrong dbcp class in tomcat 9 + +* Wed Sep 13 2023 Hui Wang - 1:9.0.80-1 +- Update to 9.0.80 +- Fix java version + +* Fri Aug 04 2023 Hui Wang - 1:9.0.78-4 +- Fix files permission + +* Wed Jul 26 2023 Hui Wang - 1:9.0.78-3 +- Exclude jnidir in the lib subpackage + +* Tue Jul 25 2023 Hui Wang - 1:9.0.78-2 +- Resolves: rhbz#2224318 There are duplicated jars in the tomcat lib subpackage + +* Tue Jul 25 2023 Hui Wang - 1:9.0.78-1 +- Resolves: rhbz#2224318 There are duplicated jars in the tomcat lib-subpackage +- Update to 9.0.78 + +* Sat Jul 22 2023 Fedora Release Engineering - 1:9.0.76-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jun 20 2023 Hui Wang - 1:9.0.76-2 +- Resolves: rhbz#2189672 Missing Tomcat POM files in Fedora Rawhide +- Remove JDTCompiler patch because ecj has been update +- Update to 9.0.76 +- Resolves: rhbz#2188218 Link bin/tomcat-juli.jar to /usr/share/java +- Move tomcat-jsp-2.3-api.jar,tomcat-servlet-4.0-api.jar and tomcat-el-api.jar to the subpackages + +* Thu Jun 08 2023 Hui Wang - 1:9.0.75-1 +- Update to 9.0.75 + +* Fri Mar 17 2023 Hui Wang - 1:9.0.73-1 +- Update to 9.0.73 + +* Sun Jan 29 2023 Hui Wang - 1:9.0.71-1 +- Update to 9.0.71 +- Remove osgi-annotations patch +- Add bnd-annotation dependency which is in bndlib package + +* Sat Jan 21 2023 Fedora Release Engineering - 1:9.0.70-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Jan 13 2023 Hui Wang - 1:9.0.70-1 +- Update to 9.0.70 + +* Thu Nov 03 2022 Hui Wang - 1:9.0.68-1 +- Update to 9.0.68 + +* Thu Jul 21 2022 Hui Wang - 1:9.0.65-1 +- Update to 9.0.65 + +* Fri Jul 08 2022 Jiri Vanek - 1:9.0.64-2 +- Rebuilt for Drop i686 JDKs + +* Tue Jun 21 2022 Hui Wang - 1:9.0.64-1 +- Update to 9.0.64 +- Add osgi-annotations dependency back + +* Thu Mar 10 2022 Coty Sutherland - 1:9.0.59-3 +- Related: rhbz#2061424 Adjust fix so that it uses the proper env var + +* Tue Mar 08 2022 Coty Sutherland - 1:9.0.59-2 +- Resolves: rhbz#2061424 Add Java 9 start-up parameters to allow reflection + +* Wed Mar 02 2022 Sonia Xu - 1:9.0.59-1 +- Update to 9.0.59 +- Resolves: rhbz#2047419 - CVE-2022-23181 tomcat: local privilege escalation vulnerability + +* Sat Feb 05 2022 Jiri Vanek - 1:9.0.56-3 +- Rebuilt for java-17-openjdk as system jdk + +* Sat Jan 22 2022 Fedora Release Engineering - 1:9.0.56-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Dec 09 2021 Hui Wang - 1:9.0.56-1 +- Update to 9.0.56 + +* Tue Oct 12 2021 Hui Wang - 1:9.0.55-1 +- Update to 9.0.55 + +* Tue Oct 12 2021 Hui Wang - 1:9.0.54-1 +- Update to 9.0.54 + +* Thu Sep 16 2021 Hui Wang - 1:9.0.53-1 +- Update to 9.0.53 + +* Wed Aug 18 2021 Hui Wang - 1:9.0.52-1 +- Update to 9.0.52 + +* Fri Jul 23 2021 Fedora Release Engineering - 1:9.0.50-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jul 06 2021 Hui Wang - 1:9.0.50-1 +- Update to 9.0.50 + +* Sat Jun 05 2021 Coty Sutherland - 1:9.0.45-4 +- Add back logrotate config file per devel list request +- Add mvn virtual provides back for the servlet, el, and jsp spec impls + +* Fri Jun 04 2021 Coty Sutherland - 1:9.0.45-3 +- Drop geronimo-jaxrpc, which provided the webservices naming factory resources that are generally unused + +* Thu Jun 03 2021 Coty Sutherland - 1:9.0.45-2 +- Remove examples webapps from subpackage +- Updates to javapackages-local removed %%add_maven_depmap which broke the build, + so I removed the maven artifacts as they aren't very useful anyway +- Drop JSVC support as it's not very useful these days +- Drop geronimo-saaj as it's no longer required + +* Thu Apr 22 2021 Hui Wang - 1:9.0.45-1 +- Update to 9.0.45 + +* Thu Mar 18 2021 Hui Wang - 1:9.0.44-1 +- Update to 9.0.44 + +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 1:9.0.43-2 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + +* Wed Feb 03 2021 Hui Wang - 1:9.0.43-1 +- Update to 9.0.43 + +* Wed Jan 27 2021 Fedora Release Engineering - 1:9.0.41-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Dec 09 2020 Hui Wang - 1:9.0.41-1 +- Update to 9.0.41 + +* Wed Nov 18 2020 Hui Wang - 1:9.0.40-1 +- Update to 9.0.40 + +* Mon Oct 12 2020 Hui Wang - 1:9.0.39-1 +- Update to 9.0.39 + +* Wed Sep 16 2020 Hui Wang - 1:9.0.38-1 +- Update to 9.0.38 + +* Wed Jul 29 2020 Fedora Release Engineering - 1:9.0.37-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jul 24 2020 Coty Sutherland - 1:9.0.37-3 +- Related: rhbz#1857043 Temporarily remove OSGi metadata from tomcat jars + +* Mon Jul 20 2020 Coty Sutherland - 1:9.0.37-2 +- Resolves: rhbz#1857043 Add patch to reinclude o.a.t.util.net.jsse and o.a.t.util.moduler.modules in tomcat-coyote.jar + +* Mon Jul 13 2020 Coty Sutherland - 1:9.0.37-1 +- Update to 9.0.37 + +* Sat Jul 11 2020 Jiri Vanek - 1:9.0.36-2 +- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 + +* Wed Jun 10 2020 Hui Wang - 1:9.0.36-1 +- Upgrade to 9.0.36 + +* Sun May 31 2020 Hui Wang - 1:9.0.35-2 +- Upgrade to 9.0.35 + +* Wed Apr 22 2020 Coty Sutherland - 1:9.0.34-2 +- Add updated catalina.policy patch to allow ECJ usage under the Security Manager + +* Tue Apr 21 2020 Coty Sutherland - 1:9.0.34-1 +- Update to 9.0.34 + +* Thu Mar 05 2020 Coty Sutherland - 1:9.0.31-1 +- Update to 9.0.31 +- Resolves: rhbz#1806398 - CVE-2020-1938 tomcat: Apache Tomcat AJP File Read/Inclusion Vulnerability + +* Fri Jan 31 2020 Fedora Release Engineering - 1:9.0.30-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Dec 20 2019 Coty Sutherland - 1:9.0.30-1 +- Update to 9.0.30 + +* Thu Sep 26 2019 Coty Sutherland - 1:9.0.26-2 +- Resolves: rhbz#1510522 man page uid and gid mismatch for service accounts + +* Thu Sep 26 2019 Coty Sutherland - 1:9.0.26-1 +- Update to 9.0.26 +- Resolves: rhbz#1523112 tomcat systemd does not cope with - in service names +- Resolves: rhbz#1510896 Problem to start tomcat with a user whose group has a name different to the user + +* Sat Jul 27 2019 Fedora Release Engineering - 1:9.0.21-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed Jul 17 2019 Coty Sutherland - 1:9.0.21-2 +- Update build-classpath calls to ECJ to specify the JAR we want to use + +* Tue Jun 18 2019 Coty Sutherland - 1:9.0.21-1 +- Update to 9.0.21 + +* Tue Apr 02 2019 Coty Sutherland - 1:9.0.13-4 +- Remove javadoc subpackage to drop the jpackage-utils dependency + +* Wed Feb 20 2019 Coty Sutherland - 1:9.0.13-3 +- Remove OSGi MANIFEST files, these are now included in the upstream Tomcat distribution (as of 9.0.10) +- Remove unused dependencies, apache-commons-collections, apache-commons-daemon, apache-commons-pool, junit + +* Sun Feb 03 2019 Fedora Release Engineering - 1:9.0.13-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Dec 13 2018 Coty Sutherland - 1:9.0.13-1 +- Update to 9.0.13 +- Resolves: rhbz#1636513 - CVE-2018-11784 tomcat: Open redirect in default servlet + +* Sun Oct 14 2018 Peter Robinson 1:9.0.10-2 +- Drop legcy sys-v bits + +* Tue Jul 31 2018 Coty Sutherland - 1:9.0.10-1 +- Update to 9.0.10 +- Resolves: rhbz#1624929 - CVE-2018-1336 tomcat: A bug in the UTF-8 decoder can lead to DoS +- Resolves: rhbz#1579612 - CVE-2018-8014 tomcat: Insecure defaults in CORS filter enable 'supportsCredentials' for all origins +- Resolves: rhbz#1607586 - CVE-2018-8034 tomcat: host name verification missing in WebSocket client +- Resolves: rhbz#1607584 - CVE-2018-8037 tomcat: Due to a mishandling of close in NIO/NIO2 connectors user sessions can get mixed up + +* Sat Jul 14 2018 Fedora Release Engineering - 1:9.0.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue May 01 2018 Coty Sutherland - 1:9.0.7-1 +- Update to 9.0.7 + +* Thu Mar 15 2018 Coty Sutherland - 1:8.5.29-1 +- Update to 8.5.29 +- Resolves: rhbz#1548290 CVE-2018-1304 tomcat: Incorrect handling of empty string URL in security constraints can lead to unitended exposure of resources +- Resolves: rhbz#1548284 CVE-2018-1305 tomcat: Late application of security constraints can lead to resource exposure for unauthorised users + +* Fri Feb 09 2018 Igor Gnatenko - 1:8.0.49-2 +- Escape macros in %%changelog + +* Thu Feb 01 2018 Coty Sutherland - 1:8.0.49-1 +- Update to 8.0.49 + +* Tue Dec 12 2017 Merlin Mathesius - 1:8.0.47-3 +- Cleanup spec file conditionals + +* Tue Oct 24 2017 Troy Dawson - 1:8.0.47-2 +- Change "zip -u" to "zip" +- Resolves: rhbz#1495241 [tomcat] zip -u in spec file causes race condition + +* Wed Oct 04 2017 Coty Sutherland - 1:8.0.47-1 +- Update to 8.0.47 +- Resolves: rhbz#1497682 CVE-2017-12617 tomcat: Remote Code Execution bypass for CVE-2017-12615 + +* Mon Aug 21 2017 Coty Sutherland - 1:8.0.46-1 +- Update to 8.0.46 +- Resolves: rhbz#1480620 CVE-2017-7674 tomcat: Cache Poisoning + +* Thu Jul 27 2017 Fedora Release Engineering - 1:8.0.44-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Jun 09 2017 Coty Sutherland - 1:8.0.44-1 +- Resolves: rhbz#1459160 CVE-2017-5664 tomcat: Security constrained bypass in error page mechanism + +* Tue Apr 11 2017 Coty Sutherland - 1:8.0.43-1 +- Update to 8.0.43 + +* Fri Mar 31 2017 Coty Sutherland - 1:8.0.42-1 +- Update to 8.0.42 + +* Thu Feb 16 2017 Coty Sutherland - 1:8.0.41-1 +- Update to 8.0.41 +- Resolves: rhbz#1403825 CVE-2016-8745 tomcat: information disclosure due to incorrect Processor sharing + +* Sat Feb 11 2017 Fedora Release Engineering - 1:8.0.39-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Tue Nov 29 2016 Coty Sutherland - 1:8.0.39-1 +- Update to 8.0.39 +- Resolves: rhbz#1397493 CVE-2016-6816 CVE-2016-6817 CVE-2016-8735 tomcat: various flaws + +* Tue Oct 25 2016 Coty Sutherland - 1:8.0.38-1 +- Update to 8.0.38 + +* Sun Oct 23 2016 Coty Sutherland - 1:8.0.37-3 +- Resolves: rhbz#1383216 CVE-2016-6325 tomcat: tomcat writable config files allow privilege escalation +- Resolves: rhbz#1382310 CVE-2016-5425 tomcat: Local privilege escalation via systemd-tmpfiles service + +* Tue Sep 13 2016 Coty Sutherland - 1:8.0.37-1 +- Rebase to 8.0.37 +- Resolves: rhbz#1375581 CVE-2016-5388 CGI sets environmental variable based on user supplied Proxy request header +- Resolves: rhbz#1370262 catalina.out is no longer in use in the main package, but still gets rotated + +* Thu Aug 11 2016 Coty Sutherland - 1:8.0.36-2 +- Related: rhbz#1349469 Correct typo in changelog entry + +* Mon Aug 08 2016 Coty Sutherland - 1:8.0.36-1 +- Resolves: rhbz#1349469 CVE-2016-3092 tomcat: Usage of vulnerable FileUpload package can result in denial of service (updates to 8.0.36) +- Resolves: rhbz#1364056 The command tomcat-digest doesn't work +- Resolves: rhbz#1363884 The tomcat-tool-wrapper script is broken +- Resolves: rhbz#1347864 The systemd service unit does not allow tomcat to shut down gracefully +- Resolves: rhbz#1347835 The security manager doesn't work correctly (JSPs cannot be compiled) +- Resolves: rhbz#1341853 rpm -V tomcat fails on /var/log/tomcat/catalina.out +- Resolves: rhbz#1341850 tomcat-jsvc.service has TOMCAT_USER value hard-coded +- Resolves: rhbz#1359737 Missing maven depmap for the following artifacts: org.apache.tomcat:tomcat-websocket, org.apache.tomcat:tomcat-websocket-api +- Resolves: asfbz#59960 Building javadocs with java8 fails + +* Wed Mar 2 2016 Ivan Afonichev - 1:8.0.32-4 +- Revert sysconfig migration changes, resolves: rhbz#1311771, rhbz#1311905 +- Add /etc/tomcat/conf.d/ with shell expansion support, resolves rhbz#1293636 + +* Sat Feb 27 2016 Ivan Afonichev - 1:8.0.32-3 +- Load sysconfig from tomcat.conf, resolves: rhbz#1311771, rhbz#1311905 +- Set default javax.sql.DataSource factory to apache commons one, resolves rhbz#1214381 + +* Sun Feb 21 2016 Ivan Afonichev - 1:8.0.32-2 +- Fix symlinks from $CATALINA_HOME/lib perspective, resolves: rhbz#1308685 + +* Thu Feb 11 2016 Ivan Afonichev - 1:8.0.32-1 +- Updated to 8.0.32 +- Remove log4j support. It has never been working actually. See rhbz#1236297 +- Move shipped config to /etc/sysconfig/tomcat. /etc/tomcat/tomcat.conf can now be used to override it with shell expansion, resolves rhbz#1293636 +- Recommend tomcat-native, resolves: rhbz#1243132 + +* Wed Feb 10 2016 Coty Sutherland 1:8.0.26-4 +- Resolves: rhbz#1286800 Failed to start component due to wrong allowLinking="true" in context.xml +- Program /bin/nologin does not exist (#1302718) + +* Fri Feb 05 2016 Fedora Release Engineering - 1:8.0.26-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Nov 11 2015 Robert Scheck 1:8.0.26-2 +- CATALINA_OPTS are only read when SECURITY_MANAGER is true (#1147105) + +* Thu Aug 27 2015 Alexander Kurtakov 1:8.0.26-1 +- Update to 8.0.26. + +* Fri Jul 10 2015 Alexander Kurtakov 1:8.0.24-2 +- Update to 8.0.24. + +* Fri Jun 19 2015 Alexander Kurtakov 1:8.0.23-2 +- Drop javax.el:el-api alias. + +* Thu Jun 18 2015 Alexander Kurtakov 1:8.0.23-1 +- Update to 8.0.23. + +* Thu Jun 18 2015 Alexander Kurtakov 1:8.0.20-3 +- Drop jetty alias for servlet. + +* Tue Jun 09 2015 Michal Srb - 1:8.0.20-2 +- Fix metadata for org.apache.tomcat:{tomcat-jni,tomcat-util-scan} + +* Thu Mar 5 2015 Alexander Kurtakov 1:8.0.18-5 +- Rebuild against tomcat-taglibs-standard. + +* Wed Mar 4 2015 Alexander Kurtakov 1:8.0.18-4 +- Fix epoch bumped el_1_0_api that would override all other glassfish/jboss/etc. due to wrong epoch. +- Drop old provides. + +* Tue Mar 03 2015 Stephen Gallagher 1:8.0.18-3 +- Bump epoch to maintain upgrade path from Fedora 22 + +* Mon Feb 16 2015 Michal Srb - 0:8.0.18-2 +- Install POM files for org.apache.tomcat:{tomcat-jni,tomcat-util-scan} + +* Sun Feb 15 2015 Ivan Afonichev 0:8.0.18-1 +- Updated to 8.0.18 + +* Sat Sep 20 2014 Ivan Afonichev 0:8.0.12-1 +- Updated to 8.0.12 +- Substitute libnames in catalina-tasks.xml, resolves: rhbz#1126439 +- Use CATALINA_OPTS only on start, resolves: rhbz#1051194 + +* Mon Jun 16 2014 Michal Srb - 0:7.0.54-3 +- jsp-api requires el-api + +* Sun Jun 08 2014 Fedora Release Engineering - 0:7.0.54-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Thu Jun 5 2014 Alexander Kurtakov 0:7.0.54-1 +- Update to upstream 7.0.54 - fixes compile with Java 8. + +* Wed May 21 2014 Alexander Kurtakov 0:7.0.52-3 +- Drop servlet/el api provides to reduce user machines ending with both. + +* Sun Mar 30 2014 Ivan Afonichev 0:7.0.52-2 +- Don't provide maven javax.jsp:jsp-api and javax.servlet.jsp:javax.servlet.jsp-api resolves: rhbz#1076949 +- Move log4j support into subpackage, resolves: rhbz#1027716 + +* Wed Mar 26 2014 Ivan Afonichev 0:7.0.52-1 +- Updated to 7.0.52 +- Rewrite jsvc implementation, resolves: rhbz#1051743 +- Switch to java-headless R, resolves: rhbz#1068566 +- Create and own %%{_localstatedir}/lib/tomcats, resolves: rhbz#1026741 +- Add pom for tomcat-jdbc, resolves: rhbz#1011003 + +* Tue Jan 21 2014 Mikolaj Izdebski - 0:7.0.47-3 +- Fix installation of Maven metadata for tomcat-juli.jar +- Resolves: rhbz#1033664 + +* Wed Jan 15 2014 Stanislav Ochotnicky - 0:7.0.47-2 +- Rebuild for bug #1033664 + +* Sun Nov 03 2013 Ivan Afonichev 0:7.0.47-1 +- Updated to 7.0.47 +- Fix java.security.policy + +* Sun Aug 04 2013 Fedora Release Engineering - 0:7.0.42-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Fri Jul 12 2013 Ivan Afonichev 0:7.0.42-2 +- Remove jpackage-utils R + +* Thu Jul 11 2013 Dmitry Tikhonov 0:7.0.42-1 +- Updated to 7.0.42 + +* Tue Jun 11 2013 Paul Komkoff 0:7.0.40-3 +- Dropped systemv inits. Bye-bye. +- Updated the systemd wrappers to allow running multiple instances. + Added wrapper scripts to do that, ported the original non-named + service file to work with the same wrappers, updated + /usr/sbin/tomcat to call systemctl. + +* Sat May 11 2013 Ivan Afonichev 0:7.0.40-1 +- Updated to 7.0.40 +- Resolves: rhbz 956569 added missing commons-pool link +- Remove ant-nodeps BR + +* Mon Mar 4 2013 Mikolaj Izdebski - 0:7.0.37-2 +- Add depmaps for org.eclipse.jetty.orbit +- Resolves: rhbz#917626 + +* Wed Feb 20 2013 Ivan Afonichev 0:7.0.39-1 +- Updated to 7.0.39 + +* Wed Feb 20 2013 Ivan Afonichev 0:7.0.37-1 +- Updated to 7.0.37 + +* Mon Feb 4 2013 Ivan Afonichev 0:7.0.35-1 +- Updated to 7.0.35 +- systemd SuccessExitStatus=143 for proper stop exit code processing + +* Mon Dec 24 2012 Ivan Afonichev 0:7.0.34-1 +- Updated to 7.0.34 +- ecj >= 4.2.1 now required +- Resolves: rhbz 889395 concat classpath correctly; chdir to $CATALINA_HOME + +* Fri Dec 7 2012 Ivan Afonichev 0:7.0.33-2 +- Resolves: rhbz 883806 refix logdir ownership + +* Sun Dec 2 2012 Ivan Afonichev 0:7.0.33-1 +- Updated to 7.0.33 +- Resolves: rhbz 873620 need chkconfig for update-alternatives + +* Wed Oct 17 2012 Ivan Afonichev 0:7.0.32-1 +- Updated to 7.0.32 +- Resolves: rhbz 842620 symlinks to taglibs + +* Fri Aug 24 2012 Ivan Afonichev 0:7.0.29-1 +- Updated to 7.0.29 +- Add pidfile as tmpfile +- Use systemd for running as unprivileged user +- Resolves: rhbz 847751 upgrade path was broken +- Resolves: rhbz 850343 use new systemd-rpm macros + +* Sat Jul 21 2012 Fedora Release Engineering - 0:7.0.28-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Mon Jul 2 2012 Ivan Afonichev 0:7.0.28-1 +- Updated to 7.0.28 +- Resolves: rhbz 820119 Remove bundled apache-commons-dbcp +- Resolves: rhbz 814900 Added tomcat-coyote POM +- Resolves: rhbz 810775 Remove systemv stuff from %%post scriptlet +- Remove redhat-lsb R + +* Mon Apr 9 2012 Ivan Afonichev 0:7.0.27-2 +- Fixed native download hack + +* Sat Apr 7 2012 Ivan Afonichev 0:7.0.27-1 +- Updated to 7.0.27 +- Fixed jakarta-taglibs-standard BR and R + +* Wed Mar 21 2012 Stanislav Ochotnicky - 0:7.0.26-2 +- Add more depmaps to J2EE apis to help jetty/glassfish updates + +* Wed Mar 14 2012 Juan Hernandez 0:7.0.26-2 +- Added the POM files for tomcat-api and tomcat-util (#803495) + +* Wed Feb 22 2012 Ivan Afonichev 0:7.0.26-1 +- Updated to 7.0.26 +- Bug 790334: Change ownership of logdir for logrotate + +* Thu Feb 16 2012 Krzysztof Daniel 0:7.0.25-4 +- Bug 790694: Priorities of jsp, servlet and el packages updated. + +* Wed Feb 8 2012 Krzysztof Daniel 0:7.0.25-3 +- Dropped indirect dependecy to tomcat 5 + +* Sun Jan 22 2012 Ivan Afonichev 0:7.0.25-2 +- Added hack for maven depmap of tomcat-juli absolute link [ -f ] pass correctly + +* Sat Jan 21 2012 Ivan Afonichev 0:7.0.25-1 +- Updated to 7.0.25 +- Removed EntityResolver patch (changes already in upstream sources) +- Place poms and depmaps in the same package as jars +- Added javax.servlet.descriptor to export-package of servlet-api +- Move several chkconfig actions and reqs to systemv subpackage +- New maven depmaps generation method +- Add patch to support java7. (patch sent upstream). +- Require java >= 1:1.6.0 + +* Fri Jan 13 2012 Krzysztof Daniel 0:7.0.23-5 +- Exported javax.servlet.* packages in version 3.0 as 2.6 to make + servlet-api compatible with Eclipse. + +* Thu Jan 12 2012 Ivan Afonichev 0:7.0.23-4 +- Move jsvc support to subpackage + +* Wed Jan 11 2012 Alexander Kurtakov 0:7.0.23-2 +- Add EntityResolver setter patch to jasper for jetty's need. (patch sent upstream). + +* Mon Dec 12 2011 Joseph D. Wagner 0:7.0.23-3 +- Added support to /usr/sbin/tomcat-sysd and /usr/sbin/tomcat for + starting 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. Must add USE_JSVC="true" to + /etc/tomcat/tomcat.conf or /etc/sysconfig/tomcat. + +* Mon Nov 28 2011 Ivan Afonichev 0:7.0.23-1 +- Updated to 7.0.23 + +* Fri Nov 11 2011 Ivan Afonichev 0:7.0.22-2 +- Move tomcat-juli.jar to lib package +- Drop %%update_maven_depmap as in tomcat6 +- Provide native systemd unit file ported from tomcat6 + +* Thu Oct 6 2011 Ivan Afonichev 0:7.0.22-1 +- Updated to 7.0.22 + +* Mon Oct 03 2011 Rex Dieter - 0:7.0.21-3.1 +- rebuild (java), rel-eng#4932 + +* Mon Sep 26 2011 Ivan Afonichev 0:7.0.21-3 +- Fix basedir mode + +* Tue Sep 20 2011 Roland Grunberg 0:7.0.21-2 +- Add manifests for el-api, jasper-el, jasper, tomcat, and tomcat-juli. + +* Thu Sep 8 2011 Ivan Afonichev 0:7.0.21-1 +- Updated to 7.0.21 + +* Mon Aug 15 2011 Ivan Afonichev 0:7.0.20-3 +- Require java = 1:1.6.0 + +* Mon Aug 15 2011 Ivan Afonichev 0:7.0.20-2 +- Require java < 1.7.0 + +* Mon Aug 15 2011 Ivan Afonichev 0:7.0.20-1 +- Updated to 7.0.20 + +* Tue Jul 26 2011 Ivan Afonichev 0:7.0.19-1 +- Updated to 7.0.19 + +* Tue Jun 21 2011 Ivan Afonichev 0:7.0.16-1 +- Updated to 7.0.16 + +* Mon Jun 6 2011 Ivan Afonichev 0:7.0.14-3 +- Added initial systemd service +- Fix some paths + +* Sat May 21 2011 Ivan Afonichev 0:7.0.14-2 +- Fixed http source link +- Securify some permissions +- Added licenses for el-api and servlet-api +- Added dependency on jpackage-utils for the javadoc subpackage + +* Sat May 14 2011 Ivan Afonichev 0:7.0.14-1 +- Updated to 7.0.14 + +* Thu May 5 2011 Ivan Afonichev 0:7.0.12-4 +- Provided local paths for libs +- Fixed dependencies +- Fixed update temp/work cleanup + +* Mon May 2 2011 Ivan Afonichev 0:7.0.12-3 +- Fixed package groups +- Fixed some permissions +- Fixed some links +- Removed old tomcat6 crap + +* Thu Apr 28 2011 Ivan Afonichev 0:7.0.12-2 +- Package now named just tomcat instead of tomcat7 +- Removed Provides: %%{name}-log4j +- Switched to apache-commons-* names instead of jakarta-commons-* . +- Remove the old changelog +- BR/R java >= 1:1.6.0 , same for java-devel +- Removed old tomcat6 crap + +* Wed Apr 27 2011 Ivan Afonichev 0:7.0.12-1 +- Tomcat7 From cdf316a2f007364db95a2b1f3dd8f037583442e9 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Mon, 28 Jul 2025 16:12:51 +0300 Subject: [PATCH 68/81] Add obsoletes as temporary solution --- tomcat.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tomcat.spec b/tomcat.spec index 8689ef0..6941f04 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -137,6 +137,7 @@ The docs web application for Apache Tomcat. Summary: Apache Tomcat JavaServer Pages v%{jspspec} API Implementation Classes Provides: jsp = %{jspspec} Obsoletes: %{name}-jsp-api < %{jspspec} +Obsoletes: %{name}-jsp-2.3-api < %{version} Requires: %{name}-servlet-%{servletspec}-api = %{epoch}:%{version}-%{release} Requires: %{name}-el-%{elspec}-api = %{epoch}:%{version}-%{release} @@ -159,6 +160,7 @@ Libraries needed to run the Tomcat Web container. Summary: Apache Tomcat Java Servlet v%{servletspec} API Implementation Classes Provides: servlet = %{servletspec} Obsoletes: %{name}-servlet-api < %{servletspec} +Obsoletes: %{name}-servlet-4.0-api < %{version} %description servlet-%{servletspec}-api Apache Tomcat Servlet API Implementation Classes. @@ -167,6 +169,7 @@ Apache Tomcat Servlet API Implementation Classes. Summary: Apache Tomcat Expression Language v%{elspec} API Implementation Classes Provides: el_api = %{elspec} Obsoletes: %{name}-el-api < %{elspec} +Obsoletes: %{name}-el-3.0-api < %{version} %description el-%{elspec}-api Apache Tomcat EL API Implementation Classes. From 55ffac79411b689bd9beb683dc25ef1953b48e06 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Mon, 28 Jul 2025 16:13:52 +0300 Subject: [PATCH 69/81] Update to 10.1.43 --- tomcat.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tomcat.spec b/tomcat.spec index 6941f04..fe2e2ca 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -31,7 +31,7 @@ %global jspspec 3.1 %global major_version 10 %global minor_version 1 -%global micro_version 34 +%global micro_version 43 %global packdname apache-tomcat-%{version}-src %global servletspec 6.0 %global elspec 5.0 From 9eae7c317a7c170fa614ba426dadd836fcb4f39b Mon Sep 17 00:00:00 2001 From: dsoumis Date: Mon, 28 Jul 2025 16:16:04 +0300 Subject: [PATCH 70/81] Update to 10.1.43 --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index 1bac248..6eba8ed 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (apache-tomcat-10.1.34-src.tar.gz) = 0124d92eb1d184bdce1a50d5934958a0c796460a7157a8622aeee2b21060f5377198939a0260285bcdaa25cea42b880cb97575469a63f7b33ec22d532927e6ca +SHA512 (apache-tomcat-10.1.43-src.tar.gz) = 24672a4ea4d6e0bfd5e7dbb8694f260216bea47f21c347dd549d3e0851915aa7616695356cbf6714780ff1527f346ad2119f7f52f66779c4d0510ad0f83e9978 From 2dc58c1b4a0919d6ee5044eb5168b41c00d16d64 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Mon, 28 Jul 2025 16:37:19 +0300 Subject: [PATCH 71/81] Add required conflicts --- tomcat.spec | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tomcat.spec b/tomcat.spec index fe2e2ca..0941de7 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -140,6 +140,7 @@ Obsoletes: %{name}-jsp-api < %{jspspec} Obsoletes: %{name}-jsp-2.3-api < %{version} Requires: %{name}-servlet-%{servletspec}-api = %{epoch}:%{version}-%{release} Requires: %{name}-el-%{elspec}-api = %{epoch}:%{version}-%{release} +Conflicts: tomcat-jsp-2.3-api %description jsp-%{jspspec}-api Apache Tomcat JSP API Implementation Classes. @@ -152,6 +153,10 @@ Requires: %{name}-el-%{elspec}-api = %{epoch}:%{version}-%{release} Requires: ecj >= 4.20 Recommends: tomcat-jakartaee-migration Requires(preun): coreutils +Conflicts: tomcat-jsp-2.3-api +Conflicts: tomcat-servlet-4.0-api +Conflicts: tomcat-el-3.0-api + %description lib Libraries needed to run the Tomcat Web container. @@ -161,6 +166,7 @@ Summary: Apache Tomcat Java Servlet v%{servletspec} API Implementation Classes Provides: servlet = %{servletspec} Obsoletes: %{name}-servlet-api < %{servletspec} Obsoletes: %{name}-servlet-4.0-api < %{version} +Conflicts: tomcat-servlet-4.0-api %description servlet-%{servletspec}-api Apache Tomcat Servlet API Implementation Classes. @@ -170,6 +176,7 @@ Summary: Apache Tomcat Expression Language v%{elspec} API Implementation Classes Provides: el_api = %{elspec} Obsoletes: %{name}-el-api < %{elspec} Obsoletes: %{name}-el-3.0-api < %{version} +Conflicts: tomcat-el-3.0-api %description el-%{elspec}-api Apache Tomcat EL API Implementation Classes. From f7115aee66d086719cdc0bcccf7ce3f8aaddda93 Mon Sep 17 00:00:00 2001 From: Jiri Vanek Date: Mon, 28 Jul 2025 19:25:32 +0200 Subject: [PATCH 72/81] Rebuilt for java-25-openjdk as preffered jdk https://fedoraproject.org/wiki/Changes/Java25AndNoMoreSystemJdk Note, that since f43, you should be always explicit on what jdk to use. This commit should do exactly that. --- tomcat.spec | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tomcat.spec b/tomcat.spec index 0941de7..2eac613 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -86,17 +86,17 @@ Patch6: rhbz-1857043.patch BuildArch: noarch ExclusiveArch: %{java_arches} noarch -BuildRequires: ant >= 1.10.2 +BuildRequires: ant-openjdk25 >= 1.10.2 BuildRequires: ecj >= 4.20 BuildRequires: findutils -BuildRequires: java-devel >= 17 -BuildRequires: javapackages-local +BuildRequires: java-25-devel >= 17 +BuildRequires: javapackages-local-openjdk25 BuildRequires: aqute-bnd BuildRequires: aqute-bndlib BuildRequires: systemd BuildRequires: tomcat-jakartaee-migration -Requires: (java-headless >= 11 or java >= 11) +Requires: (java-headless >= 11 or java-25 >= 11) Requires: javapackages-tools Requires: %{name}-lib = %{epoch}:%{version}-%{release} %if 0%{?fedora} || 0%{?rhel} > 7 From 6a5dffd2aa984970586bf059f6a02dbaeea1408b Mon Sep 17 00:00:00 2001 From: dsoumis Date: Tue, 29 Jul 2025 11:59:45 +0300 Subject: [PATCH 73/81] Rebuilt for the side tag f43-build-side-114811 --- tomcat.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tomcat.spec b/tomcat.spec index 2eac613..5ec5a3b 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -529,6 +529,9 @@ install -m0644 -D tomcat.sysusers.conf %{buildroot}%{_sysusersdir}/tomcat.conf %{appdir}/ROOT %changelog +* Tue Jul 29 2025 Dimitris Soumis - 1:10.1.43-5 +- Rebuilt for the side tag f43-build-side-114811 + * Fri Jan 10 2025 Dimitris Soumis - 1:10.1.34-1 - Update to version 10.1.34 From 9b595a5a960dda4caaa402466e809630542c3e66 Mon Sep 17 00:00:00 2001 From: Packit Date: Wed, 6 Aug 2025 16:14:15 +0000 Subject: [PATCH 74/81] Update to 9.0.108 upstream release - Resolves: rhbz#2385832 Upstream tag: 9.0.108 Upstream commit: c63765c9 Commit authored by Packit automation (https://packit.dev/) --- sources | 2 +- tomcat.spec | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/sources b/sources index d0c98dd..e6c0358 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (apache-tomcat-9.0.107-src.tar.gz) = 4db3eb936aaea9e0679504bb73c07e982d646a7e7a574f9be1f465f79dd1f229dff22055a049a7dc2ad59619752dae79505ab92f44a317df966fa3b039e459c3 +SHA512 (apache-tomcat-9.0.108-src.tar.gz) = df88cf29a79ac39ae569fa06b465a7bc162cf750645d2e0e1ac12f24b5c0569298c9cd854a253062d05e2eceee977e815f55722f3dfc959e96eebac5785ef84b diff --git a/tomcat.spec b/tomcat.spec index 5f15b37..3a42b9d 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -31,7 +31,7 @@ %global jspspec 2.3 %global major_version 9 %global minor_version 0 -%global micro_version 107 +%global micro_version 108 %global packdname apache-tomcat-%{version}-src %global servletspec 4.0 %global elspec 3.0 @@ -551,6 +551,10 @@ fi %{appdir}/ROOT %changelog +* Wed Aug 06 2025 Packit - 1:9.0.108-1 +- Update to version 9.0.108 +- Resolves: rhbz#2385832 + * Fri Jul 04 2025 Packit - 1:9.0.107-1 - Update to version 9.0.107 - Resolves: rhbz#2376445 From 6015a7ef86bf72d2e583f408812248235173ccca Mon Sep 17 00:00:00 2001 From: dsoumis Date: Thu, 14 Aug 2025 11:43:33 +0300 Subject: [PATCH 75/81] Rebuilt for the side tag f43-build-side-116701 --- tomcat.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tomcat.spec b/tomcat.spec index 5ec5a3b..9c82f7c 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -529,6 +529,9 @@ install -m0644 -D tomcat.sysusers.conf %{buildroot}%{_sysusersdir}/tomcat.conf %{appdir}/ROOT %changelog +* Wed Aug 14 2025 Dimitris Soumis - 1:10.1.43-6 +- Rebuilt for the side tag f43-build-side-116701 + * Tue Jul 29 2025 Dimitris Soumis - 1:10.1.43-5 - Rebuilt for the side tag f43-build-side-114811 From 35f2755fd19a0883cf048b8052d685fecba90311 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Tue, 19 Aug 2025 14:57:56 +0300 Subject: [PATCH 76/81] Add virtual provides to resolve installability issues --- tomcat.spec | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/tomcat.spec b/tomcat.spec index 9c82f7c..c79da3b 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -136,11 +136,11 @@ The docs web application for Apache Tomcat. %package jsp-%{jspspec}-api Summary: Apache Tomcat JavaServer Pages v%{jspspec} API Implementation Classes Provides: jsp = %{jspspec} -Obsoletes: %{name}-jsp-api < %{jspspec} -Obsoletes: %{name}-jsp-2.3-api < %{version} Requires: %{name}-servlet-%{servletspec}-api = %{epoch}:%{version}-%{release} Requires: %{name}-el-%{elspec}-api = %{epoch}:%{version}-%{release} -Conflicts: tomcat-jsp-2.3-api +Obsoletes: %{name}-jsp-2.3-api < 1:9.1 +Provides: %{name}-jsp-2.3-api = %{?epoch:%{epoch}:}%{version}-%{release} + %description jsp-%{jspspec}-api Apache Tomcat JSP API Implementation Classes. @@ -153,10 +153,6 @@ Requires: %{name}-el-%{elspec}-api = %{epoch}:%{version}-%{release} Requires: ecj >= 4.20 Recommends: tomcat-jakartaee-migration Requires(preun): coreutils -Conflicts: tomcat-jsp-2.3-api -Conflicts: tomcat-servlet-4.0-api -Conflicts: tomcat-el-3.0-api - %description lib Libraries needed to run the Tomcat Web container. @@ -164,9 +160,8 @@ Libraries needed to run the Tomcat Web container. %package servlet-%{servletspec}-api Summary: Apache Tomcat Java Servlet v%{servletspec} API Implementation Classes Provides: servlet = %{servletspec} -Obsoletes: %{name}-servlet-api < %{servletspec} -Obsoletes: %{name}-servlet-4.0-api < %{version} -Conflicts: tomcat-servlet-4.0-api +Obsoletes: %{name}-servlet-4.0-api < 1:9.1 +Provides: %{name}-servlet-4.0-api = %{?epoch:%{epoch}:}%{version}-%{release} %description servlet-%{servletspec}-api Apache Tomcat Servlet API Implementation Classes. @@ -174,9 +169,8 @@ Apache Tomcat Servlet API Implementation Classes. %package el-%{elspec}-api Summary: Apache Tomcat Expression Language v%{elspec} API Implementation Classes Provides: el_api = %{elspec} -Obsoletes: %{name}-el-api < %{elspec} -Obsoletes: %{name}-el-3.0-api < %{version} -Conflicts: tomcat-el-3.0-api +Obsoletes: %{name}-el-3.0-api < 1:9.1 +Provides: %{name}-el-3.0-api = %{?epoch:%{epoch}:}%{version}-%{release} %description el-%{elspec}-api Apache Tomcat EL API Implementation Classes. @@ -529,7 +523,10 @@ install -m0644 -D tomcat.sysusers.conf %{buildroot}%{_sysusersdir}/tomcat.conf %{appdir}/ROOT %changelog -* Wed Aug 14 2025 Dimitris Soumis - 1:10.1.43-6 +* Tue Aug 19 2025 Dimitris Soumis - 1:10.1.43-7 +- Add virtual provides to resolve installability issues + +* Thu Aug 14 2025 Dimitris Soumis - 1:10.1.43-6 - Rebuilt for the side tag f43-build-side-116701 * Tue Jul 29 2025 Dimitris Soumis - 1:10.1.43-5 From cfa0ed06cc95236e1a10cb8fc43c34827c5a4a13 Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Wed, 20 Aug 2025 17:18:34 -0700 Subject: [PATCH 77/81] Fix gating policy, again I don't know why the previous changes were reverted. We cannot gate on rpmdeplint for non-Rawhide releases because it only runs on Rawhide: https://pagure.io/fedora-ci/general/issue/471 Also, the bodhi_update_push_testing context doesn't really work. It's only very partially hooked up in Bodhi, so defining it does nothing useful but only potentially causes weird things like https://github.com/fedora-infra/bodhi/issues/5660 . --- gating.yaml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gating.yaml b/gating.yaml index b81b8c4..524dba5 100644 --- a/gating.yaml +++ b/gating.yaml @@ -1,12 +1,17 @@ --- !Policy product_versions: - - fedora-* + - fedora-rawhide decision_contexts: - - bodhi_update_push_testing - bodhi_update_push_stable subject_type: koji_build rules: - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpmdeplint.functional} +product_versions: + - fedora-* +decision_contexts: + - bodhi_update_push_stable +subject_type: koji_build +rules: - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpminspect.static-analysis} - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.installability.functional} - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/javapackages.functional} From e1a22bc2bfe269fa70f12aa06ee9528eaea2504b Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Wed, 20 Aug 2025 17:43:44 -0700 Subject: [PATCH 78/81] On second thought, let's keep bodhi_update_push_testing It doesn't really work, but without it, we may have a short time early in an update's life when no gating policy applies for stable push...let's not do that. As long as the policies for stable and testing are the same, things should work right. --- gating.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gating.yaml b/gating.yaml index 524dba5..0553cb6 100644 --- a/gating.yaml +++ b/gating.yaml @@ -3,6 +3,7 @@ product_versions: - fedora-rawhide decision_contexts: - bodhi_update_push_stable + - bodhi_update_push_testing subject_type: koji_build rules: - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpmdeplint.functional} @@ -10,6 +11,7 @@ product_versions: - fedora-* decision_contexts: - bodhi_update_push_stable + - bodhi_update_push_testing subject_type: koji_build rules: - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpminspect.static-analysis} From fd720c37ab82ee711cf032f7a3267ef9cbcf9020 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Wed, 10 Sep 2025 16:46:58 +0300 Subject: [PATCH 79/81] Update to 9.0.109 upstream release --- sources | 2 +- tomcat.spec | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/sources b/sources index e6c0358..631183d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (apache-tomcat-9.0.108-src.tar.gz) = df88cf29a79ac39ae569fa06b465a7bc162cf750645d2e0e1ac12f24b5c0569298c9cd854a253062d05e2eceee977e815f55722f3dfc959e96eebac5785ef84b +SHA512 (apache-tomcat-9.0.109-src.tar.gz) = 5ff1fdc882ffd3e3bd05be17b6dc45f914fb2b6553f2438ef30f929f2255cde49b1bac3e39f1a1b1440664b5477e64bde6c408a477e7eab097aa8cee01b82850 diff --git a/tomcat.spec b/tomcat.spec index 3a42b9d..f57ea7a 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -31,7 +31,7 @@ %global jspspec 2.3 %global major_version 9 %global minor_version 0 -%global micro_version 108 +%global micro_version 109 %global packdname apache-tomcat-%{version}-src %global servletspec 4.0 %global elspec 3.0 @@ -551,6 +551,9 @@ fi %{appdir}/ROOT %changelog +* Wed Sep 10 2025 Dimitris Soumis - 1:9.0.109-1 +- Update to version 9.0.109 + * Wed Aug 06 2025 Packit - 1:9.0.108-1 - Update to version 9.0.108 - Resolves: rhbz#2385832 From 1b2f8ef6d9758b5c17b1196d8fe7dc9a61e24e77 Mon Sep 17 00:00:00 2001 From: dsoumis Date: Fri, 12 Sep 2025 17:29:22 +0300 Subject: [PATCH 80/81] Update to 10.1.46 upstream release --- sources | 2 +- tomcat.spec | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/sources b/sources index 6eba8ed..4027ead 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (apache-tomcat-10.1.43-src.tar.gz) = 24672a4ea4d6e0bfd5e7dbb8694f260216bea47f21c347dd549d3e0851915aa7616695356cbf6714780ff1527f346ad2119f7f52f66779c4d0510ad0f83e9978 +SHA512 (apache-tomcat-10.1.46-src.tar.gz) = 4abb5a5fad013135c4107508e4530673e4af623658b6aff5c4fc18fd557dfca37b58a9c5c0479e52e240b53d469ad91a34225a80b718aa2f91b8d385d16d9682 diff --git a/tomcat.spec b/tomcat.spec index c79da3b..6a1425a 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -31,7 +31,7 @@ %global jspspec 3.1 %global major_version 10 %global minor_version 1 -%global micro_version 43 +%global micro_version 46 %global packdname apache-tomcat-%{version}-src %global servletspec 6.0 %global elspec 5.0 @@ -523,6 +523,9 @@ install -m0644 -D tomcat.sysusers.conf %{buildroot}%{_sysusersdir}/tomcat.conf %{appdir}/ROOT %changelog +* Fri Sep 12 2025 Dimitris Soumis - 1:10.1.46-1 +- Update to version 10.1.46 + * Tue Aug 19 2025 Dimitris Soumis - 1:10.1.43-7 - Add virtual provides to resolve installability issues From b6246accae8953d404005d1bb81b8e67a79dabd1 Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Thu, 25 Sep 2025 11:10:06 -0700 Subject: [PATCH 81/81] Fix java requirements (#2398212) With java-latest now being 25, but only java-25 providing the generic 'java' and 'java-headless' etc., we get file conflicts if a transaction includes both things that want 'java-25' or 'java-25-headless' and things that want 'java' or 'java-headless'. This is because dnf prefers java-latest as a provider of the java-25-* provides (it's versioned higher than the java-25 packages), but only the java-25 packages provide the generic requirements. To avoid this making FreeIPA uninstallable, let's get rid of the generic 'java-headless' requirement. I think f7115aee was meant to do this already, but missed it. Also get rid of the now-useless version bounds on requirements where the java version is included in the requirement name. --- tomcat.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tomcat.spec b/tomcat.spec index 6a1425a..77901bc 100644 --- a/tomcat.spec +++ b/tomcat.spec @@ -89,14 +89,14 @@ ExclusiveArch: %{java_arches} noarch BuildRequires: ant-openjdk25 >= 1.10.2 BuildRequires: ecj >= 4.20 BuildRequires: findutils -BuildRequires: java-25-devel >= 17 +BuildRequires: java-25-devel BuildRequires: javapackages-local-openjdk25 BuildRequires: aqute-bnd BuildRequires: aqute-bndlib BuildRequires: systemd BuildRequires: tomcat-jakartaee-migration -Requires: (java-headless >= 11 or java-25 >= 11) +Requires: (java-25-headless or java-25) Requires: javapackages-tools Requires: %{name}-lib = %{epoch}:%{version}-%{release} %if 0%{?fedora} || 0%{?rhel} > 7 @@ -523,6 +523,10 @@ install -m0644 -D tomcat.sysusers.conf %{buildroot}%{_sysusersdir}/tomcat.conf %{appdir}/ROOT %changelog +* Thu Sep 25 2025 Adam Williamson - 1:10.1.46-2 +- Drop now-unnecessary version bounds in java requirements +- Specify java-25-headless, not java-headless (#2398212) + * Fri Sep 12 2025 Dimitris Soumis - 1:10.1.46-1 - Update to version 10.1.46