[Cmake-commits] CMake branch, next, updated. v3.2.0-rc1-632-g58c76d9
Brad King
brad.king at kitware.com
Mon Feb 23 11:11:52 EST 2015
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via 58c76d9de12b4ac763b59169c0801513f073e53c (commit)
via e8b7d7ab6ef0f02262919f7b9ebae12d985e42bc (commit)
from 76fde644eeff51ae33fd9dc63583e7adf163f1d4 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=58c76d9de12b4ac763b59169c0801513f073e53c
commit 58c76d9de12b4ac763b59169c0801513f073e53c
Merge: 76fde64 e8b7d7a
Author: Brad King <brad.king at kitware.com>
AuthorDate: Mon Feb 23 11:11:51 2015 -0500
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Feb 23 11:11:51 2015 -0500
Merge topic 'rpm_at_in_path' into next
e8b7d7ab CPackRPM: revert @-in-path escaping patch
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e8b7d7ab6ef0f02262919f7b9ebae12d985e42bc
commit e8b7d7ab6ef0f02262919f7b9ebae12d985e42bc
Author: Domen Vrankar <domen.vrankar at gmail.com>
AuthorDate: Wed Jan 7 20:33:27 2015 +0100
Commit: Brad King <brad.king at kitware.com>
CommitDate: Mon Feb 23 11:07:59 2015 -0500
CPackRPM: revert @-in-path escaping patch
The change in commit v2.8.12~218^2 (CPackRPM protect '@' character in
filename processed in the spec file, 2013-07-05) was later obsoleted
causing CPackRPM to break paths with @ symbols again. Revert the
change to fix the behavior, and add a test case.
diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake
index 6ce18bf..cb987f8 100644
--- a/Modules/CPackRPM.cmake
+++ b/Modules/CPackRPM.cmake
@@ -1175,13 +1175,6 @@ 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.
#
@@ -1292,9 +1285,6 @@ 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(
diff --git a/Tests/CPackComponentsForAll/CMakeLists.txt b/Tests/CPackComponentsForAll/CMakeLists.txt
index b55594e..51af297 100644
--- a/Tests/CPackComponentsForAll/CMakeLists.txt
+++ b/Tests/CPackComponentsForAll/CMakeLists.txt
@@ -43,7 +43,7 @@ install(TARGETS mylibapp
# CPACK_MONOLITHIC_INSTALL=1 is set (at cmake time).
install(TARGETS mylibapp2
RUNTIME
- DESTINATION bin)
+ DESTINATION bin/@in at _@path@@with\\@and\\@/\@in_path\@) # test @ char in path
install(FILES mylib.h
DESTINATION include
diff --git a/Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake b/Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake
index 5be9d17..f06605a 100644
--- a/Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake
+++ b/Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake
@@ -139,6 +139,7 @@ if(CPackGen MATCHES "RPM")
set(CPACK_COMPONENT_HEADERS_DESCRIPTION
"C/C\\+\\+ header files for use with MyLib")
+ # test package info
if(${CPackComponentWay} STREQUAL "IgnoreGroup")
# set gnu install prefixes to what they are set during rpm creation
# CMAKE_SIZEOF_VOID_P is not set here but lib is prefix of lib64 so
@@ -213,6 +214,29 @@ if(CPackGen MATCHES "RPM")
message(FATAL_ERROR "error: '${check_file}' Architecture does not match expected value - '${check_file_match_expected_architecture}'; RPM output: '${check_file_content}'; generated spec file: '${spec_file_content}'")
endif()
endforeach()
- elseif(${CPackComponentWay} STREQUAL "IgnoreGroup")
+
+ # test package content
+ foreach(check_file ${expected_file})
+ string(REGEX MATCH ".*Unspecified.*" check_file_Unspecified_match ${check_file})
+
+ if(check_file_Unspecified_match)
+ execute_process(COMMAND ${RPM_EXECUTABLE} -pql ${check_file}
+ OUTPUT_VARIABLE check_file_content
+ ERROR_QUIET
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+ string(REGEX MATCH ".*bin/@in at _@path@@with/@and/@/@in_path@/mylibapp2$" check_at_in_path ${check_file_content})
+
+ if(NOT check_at_in_path)
+ file(GLOB_RECURSE spec_file "${CPackComponentsForAll_BINARY_DIR}/*Unspecified*.spec")
+
+ if(spec_file)
+ file(READ ${spec_file} spec_file_content)
+ endif()
+
+ message(FATAL_ERROR "error: '${check_file}' rpm package path with @ characters is missing or invalid. RPM output: '${check_file_content}'; generated spec file: '${spec_file_content}'")
+ endif()
+ endif()
+ endforeach()
endif()
endif()
-----------------------------------------------------------------------
Summary of changes:
Modules/CPackRPM.cmake | 10 --------
Tests/CPackComponentsForAll/CMakeLists.txt | 2 +-
.../RunCPackVerifyResult.cmake | 26 +++++++++++++++++++-
3 files changed, 26 insertions(+), 12 deletions(-)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list