From f357fc27e50616d22ca26547dcbffefe4e09f925 Mon Sep 17 00:00:00 2001 From: Brad King Date: Mon, 10 Nov 2025 11:42:10 -0500 Subject: [PATCH] CPack: Backport "correctly perform querytags on old versions of RPM" Backport commit 488de6294a (CPack: correctly perform querytags on old versions of RPM, 2025-01-09, v4.0.0-rc1~182^2~3) to CMake 3.31. --- Modules/Internal/CPack/CPackRPM.cmake | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Modules/Internal/CPack/CPackRPM.cmake b/Modules/Internal/CPack/CPackRPM.cmake index 56666199ab..3119894801 100644 --- a/Modules/Internal/CPack/CPackRPM.cmake +++ b/Modules/Internal/CPack/CPackRPM.cmake @@ -1079,7 +1079,17 @@ function(cpack_rpm_generate_package) execute_process( COMMAND "${RPMBUILD_EXECUTABLE}" --querytags OUTPUT_VARIABLE RPMBUILD_TAG_LIST + RESULT_VARIABLE RPMBUILD_QUERYTAGS_SUCCESS + ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) + # In some versions of RPM, rpmbuild does not understand --querytags parameter, + # but rpm does. + if(NOT RPMBUILD_QUERYTAGS_SUCCESS EQUAL 0 AND RPM_EXECUTABLE) + execute_process( + COMMAND "${RPM_EXECUTABLE}" --querytags + OUTPUT_VARIABLE RPMBUILD_TAG_LIST + OUTPUT_STRIP_TRAILING_WHITESPACE) + endif() string(REPLACE "\n" ";" RPMBUILD_TAG_LIST "${RPMBUILD_TAG_LIST}") # In some versions of RPM, weak dependency tags are present in the --querytags