From bf22ac5263e6dfdfc2824deed8f003ef8a4e7816 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 29 Nov 2023 12:47:20 -0500 Subject: CPack/RPM: Quote paths in rpm spec only if they have whitespace RPM supports either whitespace with quoting or globbing without quoting. Prior to RPM 4.19 it accepted globbing in quotes, but it only globbed correctly without whitespace, where quoting was not necessary anyway. Starting in RPM 4.19, glob characters in quotes are considered literal. Fixes: #25421 Inspired-by: Ben Boeckel See: https://github.com/rpm-software-management/rpm/commit/d44114f007f54f205ffa13d22724199fe50a137a --- Modules/Internal/CPack/CPackRPM.cmake | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Modules/Internal/CPack/CPackRPM.cmake b/Modules/Internal/CPack/CPackRPM.cmake index 2676c88..ace2c6b 100644 --- a/Modules/Internal/CPack/CPackRPM.cmake +++ b/Modules/Internal/CPack/CPackRPM.cmake @@ -55,7 +55,12 @@ macro(set_spec_scripts PACKAGE_NAME) endmacro() function(make_rpm_spec_path var path) - set("${var}" "\"${path}\"" PARENT_SCOPE) + # RPM supports either whitespace with quoting or globbing without quoting. + if(path MATCHES "[ \t]") + set("${var}" "\"${path}\"" PARENT_SCOPE) + else() + set("${var}" "${path}" PARENT_SCOPE) + endif() endfunction() function(get_file_permissions FILE RETURN_VAR) -- cgit v0.12