From 0552d33d6d503472f83744a9d4c015b9460517c9 Mon Sep 17 00:00:00 2001 From: Andrew Lukoshko Date: Sat, 21 Feb 2026 08:37:49 +0000 Subject: [PATCH] Fix portable archive name macros to strip literal %{nil} The previous %{expand:%{1}} approach did not work because RPM parameter substitution inside %(shell) is a single-pass text replacement that does not re-expand the result. Instead, revert to %{1} and pipe through a second sed to remove any literal %{nil} that appears in the shell output. --- java-21-openjdk-portable.specfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/java-21-openjdk-portable.specfile b/java-21-openjdk-portable.specfile index bd6a4bf..7372ee7 100644 --- a/java-21-openjdk-portable.specfile +++ b/java-21-openjdk-portable.specfile @@ -445,9 +445,9 @@ %define uniquesuffix() %{expand:%{fullversion}.%{_arch}%{?1}} # portable only declarations %global jreimage jre -%define jreportablenameimpl() %(echo %{uniquesuffix ""} | sed "s;el%{rhel}\\(_[0-9]\\)*;portable%{expand:%{1}}.jre;g") -%define jdkportablenameimpl() %(echo %{uniquesuffix ""} | sed "s;el%{rhel}\\(_[0-9]\\)*;portable%{expand:%{1}}.jdk;g") -%define staticlibsportablenameimpl() %(echo %{uniquesuffix ""} | sed "s;el%{rhel}\\(_[0-9]\\)*;portable%{expand:%{1}}.static-libs;g") +%define jreportablenameimpl() %(echo %{uniquesuffix ""} | sed "s;el%{rhel}\\(_[0-9]\\)*;portable%{1}.jre;g" | sed 's/%%{nil}//g') +%define jdkportablenameimpl() %(echo %{uniquesuffix ""} | sed "s;el%{rhel}\\(_[0-9]\\)*;portable%{1}.jdk;g" | sed 's/%%{nil}//g') +%define staticlibsportablenameimpl() %(echo %{uniquesuffix ""} | sed "s;el%{rhel}\\(_[0-9]\\)*;portable%{1}.static-libs;g" | sed 's/%%{nil}//g') %define jreportablearchive() %{expand:%{jreportablenameimpl -- %%{1}}.tar.xz} %define jdkportablearchive() %{expand:%{jdkportablenameimpl -- %%{1}}.tar.xz} %define staticlibsportablearchive() %{expand:%{staticlibsportablenameimpl -- %%{1}}.tar.xz}