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.
This commit is contained in:
Brad King
2025-11-10 11:42:10 -05:00
parent 1803eda9f7
commit f357fc27e5

View File

@@ -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