[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