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/gating.yaml b/gating.yaml
index 0553cb6..da1c0b0 100644
--- a/gating.yaml
+++ b/gating.yaml
@@ -1,20 +1,16 @@
--- !Policy
product_versions:
- fedora-rawhide
-decision_contexts:
- - bodhi_update_push_stable
- - bodhi_update_push_testing
+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-*
-decision_contexts:
- - bodhi_update_push_stable
- - bodhi_update_push_testing
+decision_context: 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}
- - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/smoke.functional}
+ - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpminspect.static-analysis}
\ No newline at end of file
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-25-devel
-BuildRequires: javapackages-local-openjdk25
+BuildRequires: java-devel >= 1:1.8.0
+BuildRequires: javapackages-local
BuildRequires: aqute-bnd
BuildRequires: aqute-bndlib
BuildRequires: systemd
-BuildRequires: tomcat-jakartaee-migration
-Requires: (java-25-headless or java-25)
+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
Recommends: tomcat-native >= %{native_version}
%endif
+Requires(pre): shadow-utils
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
@@ -136,11 +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: %{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.
@@ -150,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
@@ -160,8 +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-4.0-api < 1:9.1
-Provides: %{name}-servlet-4.0-api = %{?epoch:%{epoch}:}%{version}-%{release}
+Provides: servlet6
+Provides: servlet3
+Obsoletes: %{name}-servlet-3.1-api
%description servlet-%{servletspec}-api
Apache Tomcat Servlet API Implementation Classes.
@@ -169,8 +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-3.0-api < 1:9.1
-Provides: %{name}-el-3.0-api = %{?epoch:%{epoch}:}%{version}-%{release}
+Obsoletes: %{name}-el-2.2-api
%description el-%{elspec}-api
Apache Tomcat EL API Implementation Classes.
@@ -193,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
@@ -201,19 +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
-# 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" %{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 \
@@ -326,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}
@@ -335,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
@@ -404,24 +395,62 @@ 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
-install -m0644 -D tomcat.sysusers.conf %{buildroot}%{_sysusersdir}/tomcat.conf
+%pre
+# add the tomcat user and group
+getent group tomcat >/dev/null || %{_sbindir}/groupadd -f -g %{tcuid} -r tomcat
+if ! getent passwd tomcat >/dev/null ; then
+ if ! getent passwd %{tcuid} >/dev/null ; then
+ %{_sbindir}/useradd -r -u %{tcuid} -g tomcat -d %{homedir} -s /sbin/nologin -c "Apache Tomcat" tomcat
+ # Tomcat uses a reserved ID, so there should never be an else
+ fi
+fi
+exit 0
%post
# install but don't activate
%systemd_post %{name}.service
+%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)
@@ -455,7 +484,7 @@ install -m0644 -D tomcat.sysusers.conf %{buildroot}%{_sysusersdir}/tomcat.conf
%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
@@ -475,7 +504,6 @@ install -m0644 -D tomcat.sysusers.conf %{buildroot}%{_sysusersdir}/tomcat.conf
%{homedir}/work
%{homedir}/logs
%{homedir}/conf
-%{_sysusersdir}/tomcat.conf
%files admin-webapps
%defattr(0664,root,tomcat,0755)
@@ -523,24 +551,39 @@ 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)
+* Wed Sep 10 2025 Dimitris Soumis - 1:9.0.109-1
+- Update to version 9.0.109
-* Fri Sep 12 2025 Dimitris Soumis - 1:10.1.46-1
-- Update to version 10.1.46
+* Wed Aug 06 2025 Packit - 1:9.0.108-1
+- Update to version 9.0.108
+- Resolves: rhbz#2385832
-* Tue Aug 19 2025 Dimitris Soumis - 1:10.1.43-7
-- Add virtual provides to resolve installability issues
+* Fri Jul 04 2025 Packit - 1:9.0.107-1
+- Update to version 9.0.107
+- Resolves: rhbz#2376445
-* Thu Aug 14 2025 Dimitris Soumis - 1:10.1.43-6
-- Rebuilt for the side tag f43-build-side-116701
+* Tue Jun 10 2025 Packit - 1:9.0.106-1
+- Update to version 9.0.106
+- Resolves: rhbz#2371376
-* Tue Jul 29 2025 Dimitris Soumis - 1:10.1.43-5
-- Rebuilt for the side tag f43-build-side-114811
+* Wed May 21 2025 Dimitris Soumis - 1:9.0.105-1
+- Update to version 9.0.105
-* Fri Jan 10 2025 Dimitris Soumis - 1:10.1.34-1
-- Update to version 10.1.34
+* 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
* Mon Dec 09 2024 Packit - 1:9.0.98-1
- Update to version 9.0.98
@@ -548,7 +591,7 @@ install -m0644 -D tomcat.sysusers.conf %{buildroot}%{_sysusersdir}/tomcat.conf
* 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