summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2013-07-15 13:30:29 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2013-07-15 13:30:29 (GMT)
commit9f61436803e47be261ea6970f9502e8970bffa3d (patch)
tree95b8fcf7e7b55eb7159161f9d685b68c583811a3
parentb5dd80105f79c5296f222368b85d3d211a509b1f (diff)
parent1703e069a91b29e4d8ea142fd66192ec4172b5ee (diff)
downloadCMake-9f61436803e47be261ea6970f9502e8970bffa3d.zip
CMake-9f61436803e47be261ea6970f9502e8970bffa3d.tar.gz
CMake-9f61436803e47be261ea6970f9502e8970bffa3d.tar.bz2
Merge topic 'CPackRPM-protectATinFilename-reloaded'
1703e06 CPackRPM protect '@' character in filename processed in the spec file.
-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(