From d8d1612a657a6c879332be2c915ca208d028c27e Mon Sep 17 00:00:00 2001 From: Andrew Lukoshko Date: Mon, 9 Mar 2026 01:36:33 +0100 Subject: [PATCH 1/2] Fix modsign macro to fail build on signing errors Replace find -exec with xargs in __brp_kmod_sign so that a non-zero exit from modsign (e.g. unknown OS returning HTTP 400) propagates and aborts the RPM build instead of silently packaging unsigned modules. --- build_node/builders/base_rpm_builder.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_node/builders/base_rpm_builder.py b/build_node/builders/base_rpm_builder.py index 29e3c7d..876b436 100644 --- a/build_node/builders/base_rpm_builder.py +++ b/build_node/builders/base_rpm_builder.py @@ -58,7 +58,7 @@ # 'r' modifier and the number of slashes is intentional, modify very carefully # or don't touch this at all MODSIGN_CONTENT = r""" -%__brp_kmod_sign %{expand:[ ! -d "$RPM_BUILD_ROOT/lib/modules/" ] || find "$RPM_BUILD_ROOT/lib/modules/" -type f -name '*.ko' -print -exec /usr/local/bin/modsign %{modsign_os} {} \\\;} +%__brp_kmod_sign %{expand:[ ! -d "$RPM_BUILD_ROOT/lib/modules/" ] || find "$RPM_BUILD_ROOT/lib/modules/" -type f -name '*.ko' -print0 | xargs -0 -r -I{} /usr/local/bin/modsign %{modsign_os} {} } %__brp_kmod_post_sign_process %{expand:[ ! -d "$RPM_BUILD_ROOT/lib/modules/" ] || find "$RPM_BUILD_ROOT/lib/modules/" -type f -name '*.ko.*' -print -exec rm -f {} \\\;} %__spec_install_post \\ %{?__debug_package:%{__debug_install_post}} \\ From a4a5d01c41646f73a5ec3d807f3674521cec56a8 Mon Sep 17 00:00:00 2001 From: Andrew Lukoshko Date: Mon, 9 Mar 2026 14:29:42 +0100 Subject: [PATCH 2/2] Use find -delete for kmod post-sign cleanup Replace find -print -exec rm -f {} with find -delete to avoid forking rm for each file. --- build_node/builders/base_rpm_builder.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_node/builders/base_rpm_builder.py b/build_node/builders/base_rpm_builder.py index 876b436..3fd56a9 100644 --- a/build_node/builders/base_rpm_builder.py +++ b/build_node/builders/base_rpm_builder.py @@ -59,7 +59,7 @@ # or don't touch this at all MODSIGN_CONTENT = r""" %__brp_kmod_sign %{expand:[ ! -d "$RPM_BUILD_ROOT/lib/modules/" ] || find "$RPM_BUILD_ROOT/lib/modules/" -type f -name '*.ko' -print0 | xargs -0 -r -I{} /usr/local/bin/modsign %{modsign_os} {} } -%__brp_kmod_post_sign_process %{expand:[ ! -d "$RPM_BUILD_ROOT/lib/modules/" ] || find "$RPM_BUILD_ROOT/lib/modules/" -type f -name '*.ko.*' -print -exec rm -f {} \\\;} +%__brp_kmod_post_sign_process %{expand:[ ! -d "$RPM_BUILD_ROOT/lib/modules/" ] || find "$RPM_BUILD_ROOT/lib/modules/" -type f -name '*.ko.*' -delete} %__spec_install_post \\ %{?__debug_package:%{__debug_install_post}} \\ %{__arch_install_post} \\