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 c8dce2768943c1fa193e758936a251c9490b5fc7 (commit) via 5857ca5e0d6c6f04486153f69184ba5d76b13f0b (commit) from b345e9206ebc65030aae13561cbca9c261f263b3 (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=c8dce2768943c1fa193e758936a251c9490b5fc7 commit c8dce2768943c1fa193e758936a251c9490b5fc7 Merge: b345e92 5857ca5 Author: Brad King <brad.k...@kitware.com> AuthorDate: Tue Feb 24 08:51:54 2015 -0500 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Tue Feb 24 08:51:54 2015 -0500 Merge topic 'rpm_at_in_path' into next 5857ca5e CPackRPM: Drop explicit handling of '@' symbols that breaks them (#14782) http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5857ca5e0d6c6f04486153f69184ba5d76b13f0b commit 5857ca5e0d6c6f04486153f69184ba5d76b13f0b Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Wed Jan 7 20:33:27 2015 +0100 Commit: Brad King <brad.k...@kitware.com> CommitDate: Tue Feb 24 08:44:36 2015 -0500 CPackRPM: Drop explicit handling of '@' symbols that breaks them (#14782) The change in commit v2.8.12~218^2 (CPackRPM protect '@' character in filename processed in the spec file, 2013-07-05) was not necessary after commit v2.8.12~439^2 (Add support for componentized USER spec file, 2013-04-01). The latter replaced ${VAR} references in the spec file template string with \@VAR\@ references, thus protecting '@' symbols automatically. This caused CPackRPM to break paths with @ symbols. 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@_@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@_@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: hooks/post-receive -- CMake _______________________________________________ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits