From 9d3073f60e5afb6ff4b17e4112b7ab8f03ea9742 Mon Sep 17 00:00:00 2001 From: Andrew Lukoshko Date: Sat, 21 Feb 2026 14:00:14 +0000 Subject: [PATCH] Fix portable archive macros for RPM 4.19 %{nil} handling RPM 4.19 no longer expands double-percentaged %%{nil} passed through %%{1} in the macro chain. Add ForFiles wrapper macros that pass "" through %(echo ...) to evaluate the archive names at the shell level, bypassing the RPM macro expansion issue. Use these in %files sections instead of the original macros with %%{nil}. --- java-21-openjdk-portable.specfile | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/java-21-openjdk-portable.specfile b/java-21-openjdk-portable.specfile index 7c4169b..1ed447c 100644 --- a/java-21-openjdk-portable.specfile +++ b/java-21-openjdk-portable.specfile @@ -448,14 +448,19 @@ %define jreportablenameimpl() %(echo %{uniquesuffix ""} | sed "s;el%{rhel}\\(_[0-9]\\)*;portable%{1}.jre;g") %define jdkportablenameimpl() %(echo %{uniquesuffix ""} | sed "s;el%{rhel}\\(_[0-9]\\)*;portable%{1}.jdk;g") %define staticlibsportablenameimpl() %(echo %{uniquesuffix ""} | sed "s;el%{rhel}\\(_[0-9]\\)*;portable%{1}.static-libs;g") -%define jreportablearchive() %{expand:%{jreportablenameimpl -- %{?1}}.tar.xz} -%define jdkportablearchive() %{expand:%{jdkportablenameimpl -- %{?1}}.tar.xz} -%define staticlibsportablearchive() %{expand:%{staticlibsportablenameimpl -- %{?1}}.tar.xz} -%define jreportablename() %{expand:%{jreportablenameimpl -- %{?1}}} -%define jdkportablename() %{expand:%{jdkportablenameimpl -- %{?1}}} +%define jreportablearchive() %{expand:%{jreportablenameimpl -- %%{1}}.tar.xz} +%define jdkportablearchive() %{expand:%{jdkportablenameimpl -- %%{1}}.tar.xz} +%define staticlibsportablearchive() %{expand:%{staticlibsportablenameimpl -- %%{1}}.tar.xz} +# RPM 4.19 no longer accept our double percentaged %%{nil} passed to %%{1} +# so we have to pass in "" but evaluate it, otherwise files record will include it +%define jreportablearchiveForFiles() %(echo %{jreportablearchive -- ""}) +%define jdkportablearchiveForFiles() %(echo %{jdkportablearchive -- ""}) +%define staticlibsportablearchiveForFiles() %(echo %{staticlibsportablearchive -- ""}) +%define jreportablename() %{expand:%{jreportablenameimpl -- %%{1}}} +%define jdkportablename() %{expand:%{jdkportablenameimpl -- %%{1}}} # Intentionally use jdkportablenameimpl here since we want to have static-libs files overlayed on # top of the JDK archive -%define staticlibsportablename() %{expand:%{jdkportablenameimpl -- %{?1}}} +%define staticlibsportablename() %{expand:%{jdkportablenameimpl -- %%{1}}} %define docportablename() %(echo %{uniquesuffix ""} | sed "s;el%{rhel}\\(_[0-9]\\)*;portable.docs;g") %define docportablearchive() %{docportablename}.tar.xz %define miscportablename() %(echo %{uniquesuffix ""} | sed "s;el%{rhel}\\(_[0-9]\\)*;portable.misc;g") @@ -1872,8 +1877,8 @@ done %files # main package builds always -%{_jvmdir}/%{jreportablearchive -- %%{nil}} -%{_jvmdir}/%{jreportablearchive -- %%{nil}}.sha256sum +%{_jvmdir}/%{jreportablearchiveForFiles} +%{_jvmdir}/%{jreportablearchiveForFiles}.sha256sum %else %files # placeholder @@ -1882,15 +1887,15 @@ done %if %{include_normal_build} %files devel -%{_jvmdir}/%{jdkportablearchive -- %%{nil}} +%{_jvmdir}/%{jdkportablearchiveForFiles} %{_jvmdir}/%{jdkportablearchive -- .debuginfo} -%{_jvmdir}/%{jdkportablearchive -- %%{nil}}.sha256sum +%{_jvmdir}/%{jdkportablearchiveForFiles}.sha256sum %{_jvmdir}/%{jdkportablearchive -- .debuginfo}.sha256sum %if %{include_staticlibs} %files static-libs -%{_jvmdir}/%{staticlibsportablearchive -- %%{nil}} -%{_jvmdir}/%{staticlibsportablearchive -- %%{nil}}.sha256sum +%{_jvmdir}/%{staticlibsportablearchiveForFiles} +%{_jvmdir}/%{staticlibsportablearchiveForFiles}.sha256sum %endif %files unstripped