From 488de6294a588242d4e03ed124c4b6d77019c1c8 Mon Sep 17 00:00:00 2001 From: makise-homura Date: Thu, 9 Jan 2025 23:55:13 +0300 Subject: [PATCH] CPack: correctly perform querytags on old versions of RPM In some versions of RPM, e.g. 4.0.4, rpmbuild does not understand --querytags parameter, but rpm does. Such behavior was found on Alt Linux P10 and Alt Linux Sisyphus (e2k). --- 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 e3f8f5e38a..c39eb471d7 100644 --- a/Modules/Internal/CPack/CPackRPM.cmake +++ b/Modules/Internal/CPack/CPackRPM.cmake @@ -1088,7 +1088,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) + 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