summaryrefslogtreecommitdiffstats
path: root/Modules/CPackRPM.cmake
diff options
context:
space:
mode:
authorEric NOULARD <eric.noulard@gmail.com>2013-07-05 16:52:36 (GMT)
committerEric NOULARD <eric.noulard@gmail.com>2013-07-05 16:52:36 (GMT)
commit1703e069a91b29e4d8ea142fd66192ec4172b5ee (patch)
tree3aa958037b90cdedfb43d60c73ac8f4ef851ac7c /Modules/CPackRPM.cmake
parentbdc66ea7c57eb9530419409721a5c41c0883d052 (diff)
downloadCMake-1703e069a91b29e4d8ea142fd66192ec4172b5ee.zip
CMake-1703e069a91b29e4d8ea142fd66192ec4172b5ee.tar.gz
CMake-1703e069a91b29e4d8ea142fd66192ec4172b5ee.tar.bz2
CPackRPM protect '@' character in filename processed in the spec file.
Diffstat (limited to 'Modules/CPackRPM.cmake')
-rw-r--r--Modules/CPackRPM.cmake10
1 files changed, 10 insertions, 0 deletions
diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake
index 52fdc91..f61ec0f 100644
--- a/Modules/CPackRPM.cmake
+++ b/Modules/CPackRPM.cmake
@@ -876,6 +876,13 @@ if(CPACK_RPM_PACKAGE_DEBUG)
message("CPackRPM:Debug: CPACK_TEMPORARY_PACKAGE_FILE_NAME = ${CPACK_TEMPORARY_PACKAGE_FILE_NAME}")
endif()
+# protect @ in pathname in order to avoid their
+# interpretation during the configure_file step
+set(CPACK_RPM_INSTALL_FILES_LIST "${CPACK_RPM_INSTALL_FILES}")
+set(PROTECTED_AT "@")
+string(REPLACE "@" "\@PROTECTED_AT\@" CPACK_RPM_INSTALL_FILES "${CPACK_RPM_INSTALL_FILES_LIST}")
+set(CPACK_RPM_INSTALL_FILES_LIST "")
+
#
# USER generated/provided spec file handling.
#
@@ -982,6 +989,9 @@ else()
configure_file(${CPACK_RPM_BINARY_SPECFILE}.in ${CPACK_RPM_BINARY_SPECFILE} @ONLY)
endif()
+# remove AT protection
+unset(PROTECTED_AT)
+
if(RPMBUILD_EXECUTABLE)
# Now call rpmbuild using the SPECFILE
execute_process(