diff --git a/.packit.yaml b/.packit.yaml
index 0bb10aa..2986867 100644
--- a/.packit.yaml
+++ b/.packit.yaml
@@ -14,7 +14,7 @@ jobs:
- job: pull_from_upstream
trigger: release
dist_git_branches:
- - fedora-all
+ - fedora-branched
# https://packit.dev/docs/configuration/downstream/koji_build
- job: koji_build
diff --git a/gating.yaml b/gating.yaml
index da1c0b0..0553cb6 100644
--- a/gating.yaml
+++ b/gating.yaml
@@ -1,16 +1,20 @@
--- !Policy
product_versions:
- fedora-rawhide
-decision_context: bodhi_update_push_stable
+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}
- - !PassingTestCaseRule { test_case_name: fedora-ci.koji-build./plans/smoke.functional }
---- !Policy
product_versions:
- fedora-*
-decision_context: bodhi_update_push_stable
+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}
- !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./plans/javapackages.functional}
+ - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/smoke.functional}
diff --git a/java-9-start-up-parameters.conf b/java-9-start-up-parameters.conf
deleted file mode 100644
index 341e077..0000000
--- a/java-9-start-up-parameters.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-# 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
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/rhbz-1857043.patch b/rhbz-1857043.patch
index d6185aa..4028ee1 100644
--- a/rhbz-1857043.patch
+++ b/rhbz-1857043.patch
@@ -1,6 +1,6 @@
---- 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 @@
+--- 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 @@
filesDir="${tomcat.classes}"
filesId="files.annotations-api"
manifest="${tomcat.manifests}/annotations-api.jar.manifest"
@@ -9,7 +9,7 @@
++ addOSGi="false" />
+
+
+
+ addOSGi="false" />
@@ -57,7 +65,7 @@
= 1:4.10
+BuildRequires: ant-openjdk25 >= 1.10.2
+BuildRequires: ecj >= 4.20
BuildRequires: findutils
-BuildRequires: java-devel >= 1:1.8.0
-BuildRequires: javapackages-local
+BuildRequires: java-25-devel
+BuildRequires: javapackages-local-openjdk25
BuildRequires: aqute-bnd
BuildRequires: aqute-bndlib
BuildRequires: systemd
+BuildRequires: tomcat-jakartaee-migration
-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: (java-25-headless or java-25)
Requires: javapackages-tools
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
@@ -136,9 +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-2.2-api
Requires: %{name}-servlet-%{servletspec}-api = %{epoch}:%{version}-%{release}
Requires: %{name}-el-%{elspec}-api = %{epoch}:%{version}-%{release}
+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.
@@ -148,7 +150,8 @@ 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 >= 1:4.10
+Requires: ecj >= 4.20
+Recommends: tomcat-jakartaee-migration
Requires(preun): coreutils
%description lib
@@ -157,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}
-Provides: servlet6
-Provides: servlet3
-Obsoletes: %{name}-servlet-3.1-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.
@@ -167,7 +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-2.2-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.
@@ -190,6 +193,7 @@ 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
@@ -197,16 +201,19 @@ 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" "org.eclipse.jetty.orbit:javax.el"
+%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" "org.eclipse.jetty.orbit:javax.servlet.jsp"
+%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}/%{name}.conf
%{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \
-e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \
- -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE3} \
+ -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE2} \
> ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/%{name}
-%{__install} -m 0644 %{SOURCE4} \
+%{__install} -m 0755 %{SOURCE3} \
${RPM_BUILD_ROOT}%{_sbindir}/%{name}
-%{__install} -m 0644 %{SOURCE11} \
+%{__install} -m 0644 %{SOURCE7} \
${RPM_BUILD_ROOT}%{_unitdir}/%{name}.service
-%{__sed} -e "s|\@\@\@TCLOG\@\@\@|%{logdir}|g" %{SOURCE5} \
+%{__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" %{SOURCE6} \
+ -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" %{SOURCE7} \
+ -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE6} \
> ${RPM_BUILD_ROOT}%{_bindir}/%{name}-tool-wrapper
-%{__install} -m 0644 %{SOURCE21} \
+%{__install} -m 0644 %{SOURCE8} \
${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/functions
-%{__install} -m 0755 %{SOURCE30} \
+%{__install} -m 0755 %{SOURCE9} \
${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/preamble
-%{__install} -m 0755 %{SOURCE31} \
+%{__install} -m 0755 %{SOURCE10} \
${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/server
-%{__install} -m 0644 %{SOURCE32} \
+%{__install} -m 0644 %{SOURCE11} \
${RPM_BUILD_ROOT}%{_unitdir}/%{name}@.service
-%{__install} -m 0644 %{SOURCE33} ${RPM_BUILD_ROOT}%{confdir}/conf.d/
+%{__install} -m 0644 %{SOURCE12} ${RPM_BUILD_ROOT}%{confdir}/conf.d/
# Substitute libnames in catalina-tasks.xml
sed -i \
@@ -319,6 +326,7 @@ 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,6 +335,7 @@ 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
@@ -395,62 +404,24 @@ 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
-%pre
-# add the tomcat user and group
-getent group tomcat >/dev/null || %{_sbindir}/groupadd -f -g %{tcuid} -r tomcat
-if ! getent passwd tomcat >/dev/null ; then
- if ! getent passwd %{tcuid} >/dev/null ; then
- %{_sbindir}/useradd -r -u %{tcuid} -g tomcat -d %{homedir} -s /sbin/nologin -c "Apache Tomcat" tomcat
- # Tomcat uses a reserved ID, so there should never be an else
- fi
-fi
-exit 0
+install -m0644 -D tomcat.sysusers.conf %{buildroot}%{_sysusersdir}/tomcat.conf
%post
# 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
-
-%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
+%systemd_postun_with_restart %{name}.service
%files
%defattr(0664,root,tomcat,0755)
@@ -484,7 +455,7 @@ fi
%attr(0775,root,tomcat) %dir %{confdir}/Catalina/localhost
%attr(0755,root,tomcat) %dir %{confdir}/conf.d
%{confdir}/conf.d/README
-%{confdir}/conf.d/java-9-start-up-parameters.conf
+%{confdir}/conf.d/module-start-up-parameters.conf
%config(noreplace) %{confdir}/%{name}.conf
%config(noreplace) %{confdir}/*.policy
%config(noreplace) %{confdir}/*.properties
@@ -504,6 +475,7 @@ fi
%{homedir}/work
%{homedir}/logs
%{homedir}/conf
+%{_sysusersdir}/tomcat.conf
%files admin-webapps
%defattr(0664,root,tomcat,0755)
@@ -551,39 +523,24 @@ fi
%{appdir}/ROOT
%changelog
-* Wed Sep 10 2025 Dimitris Soumis - 1:9.0.109-1
-- Update to version 9.0.109
+* 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)
-* Wed Aug 06 2025 Packit - 1:9.0.108-1
-- Update to version 9.0.108
-- Resolves: rhbz#2385832
+* Fri Sep 12 2025 Dimitris Soumis - 1:10.1.46-1
+- Update to version 10.1.46
-* Fri Jul 04 2025 Packit - 1:9.0.107-1
-- Update to version 9.0.107
-- Resolves: rhbz#2376445
+* Tue Aug 19 2025 Dimitris Soumis - 1:10.1.43-7
+- Add virtual provides to resolve installability issues
-* Tue Jun 10 2025 Packit - 1:9.0.106-1
-- Update to version 9.0.106
-- Resolves: rhbz#2371376
+* Thu Aug 14 2025 Dimitris Soumis - 1:10.1.43-6
+- Rebuilt for the side tag f43-build-side-116701
-* Wed May 21 2025 Dimitris Soumis - 1:9.0.105-1
-- Update to version 9.0.105
+* Tue Jul 29 2025 Dimitris Soumis - 1:10.1.43-5
+- Rebuilt for the side tag f43-build-side-114811
-* 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
-
-* 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
+* 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
@@ -591,7 +548,7 @@ fi
* 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