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