summaryrefslogtreecommitdiff
path: root/Modules
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2021-06-30 11:29:22 +0000
committerKitware Robot <kwrobot@kitware.com>2021-06-30 07:29:29 -0400
commite28c2ee9aeddad47f356cbd9f9e64eec3dd1bb25 (patch)
tree4b946db64d95733555d87fd68402f7744fbc8c11 /Modules
parent25c2fed01b18c9d58f140d7a5a22648e5bd28421 (diff)
parent9b53eca317e52dffa1ba8972981af7b40392e323 (diff)
downloadcmake-e28c2ee9aeddad47f356cbd9f9e64eec3dd1bb25.tar.gz
Merge topic 'rpm-suggests' into release-3.21
9b53eca317 CPack/RPM: Fix weak dep support Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6274
Diffstat (limited to 'Modules')
-rw-r--r--Modules/Internal/CPack/CPackRPM.cmake15
1 files changed, 15 insertions, 0 deletions
diff --git a/Modules/Internal/CPack/CPackRPM.cmake b/Modules/Internal/CPack/CPackRPM.cmake
index bece2dd1de..47d2a5c7fe 100644
--- a/Modules/Internal/CPack/CPackRPM.cmake
+++ b/Modules/Internal/CPack/CPackRPM.cmake
@@ -1074,6 +1074,21 @@ function(cpack_rpm_generate_package)
OUTPUT_STRIP_TRAILING_WHITESPACE)
string(REPLACE "\n" ";" RPMBUILD_TAG_LIST "${RPMBUILD_TAG_LIST}")
+ # In some versions of RPM, weak dependency tags are present in the --querytags
+ # list, but unsupported by rpmbuild. A different method must be used to check
+ # if they are supported.
+
+ execute_process(
+ COMMAND ${RPM_EXECUTABLE} --suggests
+ ERROR_QUIET
+ RESULT_VARIABLE RPMBUILD_SUGGESTS_RESULT)
+
+ if(NOT RPMBUILD_SUGGESTS_RESULT EQUAL 0)
+ foreach(_WEAK_DEP SUGGESTS RECOMMENDS SUPPLEMENTS ENHANCES)
+ list(REMOVE_ITEM RPMBUILD_TAG_LIST ${_WEAK_DEP})
+ endforeach()
+ endif()
+
if(CPACK_RPM_PACKAGE_EPOCH)
set(TMP_RPM_EPOCH "Epoch: ${CPACK_RPM_PACKAGE_EPOCH}")
endif()