[Cmake-commits] CMake branch, next, updated. v3.3.0-rc4-1085-gb8705e5

Brad King brad.king at kitware.com
Wed Jul 15 10:00:24 EDT 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  b8705e5901a2c0eeed0b37af1d6fe624805f78e4 (commit)
       via  3e6b2ab6832f77a7e073b55331352a88a5d28488 (commit)
       via  506f6bc0d269653cbba27257b9fed350365037c3 (commit)
       via  32e9276a086c8ec78d0d6ff15bf576571118c3d7 (commit)
       via  47d1f1189c53f02010d16ef541835c016fd8302d (commit)
      from  522f022cab57570a8f7032882b120fe52dc6ead5 (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=b8705e5901a2c0eeed0b37af1d6fe624805f78e4
commit b8705e5901a2c0eeed0b37af1d6fe624805f78e4
Merge: 522f022 3e6b2ab
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Jul 15 10:00:24 2015 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed Jul 15 10:00:24 2015 -0400

    Merge topic 'cpack-per-component-extra-control-file' into next
    
    3e6b2ab6 CPack/DEB: component version of PACKAGE_CONTROL_EXTRA
    506f6bc0 CPack/DEB: Remove duplicate string(TOUPPER) calls
    32e9276a Tests/RunCMake/CPack/DEB: add verifyDebControl
    47d1f118 Tests/RunCMake/CPack: found files should be preserved


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3e6b2ab6832f77a7e073b55331352a88a5d28488
commit 3e6b2ab6832f77a7e073b55331352a88a5d28488
Author:     Domen Vrankar <domen.vrankar at gmail.com>
AuthorDate: Mon Jul 13 22:25:44 2015 +0200
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Jul 15 10:00:03 2015 -0400

    CPack/DEB: component version of PACKAGE_CONTROL_EXTRA
    
    Component version of CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
    variable.

diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake
index cbb7c33..75e9966 100644
--- a/Modules/CPackDeb.cmake
+++ b/Modules/CPackDeb.cmake
@@ -272,6 +272,7 @@
 #
 #
 # .. variable:: CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
+#               CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONTROL_EXTRA
 #
 #  This variable allow advanced user to add custom script to the
 #  control.tar.gz.
@@ -582,13 +583,20 @@ function(cpack_deb_prepare_package_vars)
   # - conffiles
   # - postinst
   # - postrm
-  # - prerm"
+  # - prerm
   # Usage:
   # set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
   #    "${CMAKE_CURRENT_SOURCE_DIR/prerm;${CMAKE_CURRENT_SOURCE_DIR}/postrm")
 
   # Are we packaging components ?
   if(CPACK_DEB_PACKAGE_COMPONENT)
+    # override values with per component version if set
+    foreach(VAR_NAME_ "PACKAGE_CONTROL_EXTRA")
+      if(CPACK_DEBIAN_${_local_component_name}_${VAR_NAME_})
+        set(CPACK_DEBIAN_${VAR_NAME_} "${CPACK_DEBIAN_${_local_component_name}_${VAR_NAME_}}")
+      endif()
+    endforeach()
+
     set(CPACK_DEB_PACKAGE_COMPONENT_PART_NAME "-${CPACK_DEB_PACKAGE_COMPONENT}")
     string(TOLOWER "${CPACK_PACKAGE_NAME}${CPACK_DEB_PACKAGE_COMPONENT_PART_NAME}" CPACK_DEBIAN_PACKAGE_NAME)
   else()
diff --git a/Tests/RunCMake/CPack/DEB/DEB_EXTRA-ExpectedFiles.cmake b/Tests/RunCMake/CPack/DEB/DEB_EXTRA-ExpectedFiles.cmake
new file mode 100644
index 0000000..2ff679a
--- /dev/null
+++ b/Tests/RunCMake/CPack/DEB/DEB_EXTRA-ExpectedFiles.cmake
@@ -0,0 +1,9 @@
+set(whitespaces_ "[\t\n\r ]*")
+
+set(EXPECTED_FILES_COUNT "3")
+set(EXPECTED_FILE_1 "deb_extra-*-foo.deb")
+set(EXPECTED_FILE_CONTENT_1 "^.*/usr/${whitespaces_}.*/usr/foo/${whitespaces_}.*/usr/foo/CMakeLists.txt$")
+set(EXPECTED_FILE_2 "deb_extra-*-bar.deb")
+set(EXPECTED_FILE_CONTENT_2 "^.*/usr/${whitespaces_}.*/usr/bar/${whitespaces_}.*/usr/bar/CMakeLists.txt$")
+set(EXPECTED_FILE_3 "deb_extra-*-bas.deb")
+set(EXPECTED_FILE_CONTENT_3 "^.*/usr/${whitespaces_}.*/usr/bas/${whitespaces_}.*/usr/bas/CMakeLists.txt$")
diff --git a/Tests/RunCMake/CPack/DEB/DEB_EXTRA-VerifyResult.cmake b/Tests/RunCMake/CPack/DEB/DEB_EXTRA-VerifyResult.cmake
new file mode 100644
index 0000000..78b6114
--- /dev/null
+++ b/Tests/RunCMake/CPack/DEB/DEB_EXTRA-VerifyResult.cmake
@@ -0,0 +1,11 @@
+set(foo_preinst "^echo default_preinst$")
+set(foo_prerm "^echo default_prerm$")
+verifyDebControl("${FOUND_FILE_1}" "foo" "preinst;prerm")
+
+set(bar_preinst "^echo bar_preinst$")
+set(bar_prerm "^echo bar_prerm$")
+verifyDebControl("${FOUND_FILE_2}" "bar" "preinst;prerm")
+
+set(bas_preinst "^echo default_preinst$")
+set(bas_prerm "^echo default_prerm$")
+verifyDebControl("${FOUND_FILE_3}" "bas" "preinst;prerm")
diff --git a/Tests/RunCMake/CPack/DEB_EXTRA.cmake b/Tests/RunCMake/CPack/DEB_EXTRA.cmake
new file mode 100644
index 0000000..46d848d
--- /dev/null
+++ b/Tests/RunCMake/CPack/DEB_EXTRA.cmake
@@ -0,0 +1,20 @@
+install(FILES CMakeLists.txt DESTINATION foo COMPONENT foo)
+install(FILES CMakeLists.txt DESTINATION bar COMPONENT bar)
+install(FILES CMakeLists.txt DESTINATION bas COMPONENT bas)
+
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/preinst "echo default_preinst")
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/prerm "echo default_prerm")
+
+set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
+    "${CMAKE_CURRENT_BINARY_DIR}/preinst;${CMAKE_CURRENT_BINARY_DIR}/prerm")
+
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/bar/preinst "echo bar_preinst")
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/bar/prerm "echo bar_prerm")
+
+set(CPACK_DEBIAN_BAR_PACKAGE_CONTROL_EXTRA
+    "${CMAKE_CURRENT_BINARY_DIR}/bar/preinst;${CMAKE_CURRENT_BINARY_DIR}/bar/prerm")
+
+set(CPACK_PACKAGE_NAME "deb_extra")
+set(CPACK_PACKAGE_CONTACT "someone")
+
+set(CPACK_DEB_COMPONENT_INSTALL ON)
diff --git a/Tests/RunCMake/CPack/RunCMakeTest.cmake b/Tests/RunCMake/CPack/RunCMakeTest.cmake
index 308b8cc..97ef238 100644
--- a/Tests/RunCMake/CPack/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CPack/RunCMakeTest.cmake
@@ -6,3 +6,4 @@ include("${RunCMake_SOURCE_DIR}/CPackTestHelpers.cmake")
 # args: TEST_NAME "GENERATORS" RUN_CMAKE_BUILD_STEP
 run_cpack_test(MINIMAL "RPM;DEB" false)
 run_cpack_test(PARTIALLY_RELOCATABLE_WARNING "RPM" false)
+run_cpack_test(DEB_EXTRA "DEB" false)

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=506f6bc0d269653cbba27257b9fed350365037c3
commit 506f6bc0d269653cbba27257b9fed350365037c3
Author:     Domen Vrankar <domen.vrankar at gmail.com>
AuthorDate: Mon Jul 13 22:25:44 2015 +0200
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Jul 15 10:00:00 2015 -0400

    CPack/DEB: Remove duplicate string(TOUPPER) calls
    
    We compute _local_component_name the first time we check for
    CPACK_DEB_PACKAGE_COMPONENT so we can just re-use it later.

diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake
index 09cddcd..cbb7c33 100644
--- a/Modules/CPackDeb.cmake
+++ b/Modules/CPackDeb.cmake
@@ -498,7 +498,6 @@ function(cpack_deb_prepare_package_vars)
   # if per-component dependency, overrides the global CPACK_DEBIAN_PACKAGE_DEPENDS
   # automatic dependency discovery will be performed afterwards.
   if(CPACK_DEB_PACKAGE_COMPONENT)
-    string(TOUPPER "${CPACK_DEB_PACKAGE_COMPONENT}" _local_component_name)
     set(_component_depends_var "CPACK_DEBIAN_${_local_component_name}_PACKAGE_DEPENDS")
 
     # if set, overrides the global dependency
@@ -542,7 +541,6 @@ function(cpack_deb_prepare_package_vars)
       set(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION_SUMMARY})
     endif()
   else()
-    string(TOUPPER ${CPACK_DEB_PACKAGE_COMPONENT} _local_component_name)
     set(component_description_var CPACK_COMPONENT_${_local_component_name}_DESCRIPTION)
 
     # component description overrides package description

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=32e9276a086c8ec78d0d6ff15bf576571118c3d7
commit 32e9276a086c8ec78d0d6ff15bf576571118c3d7
Author:     Domen Vrankar <domen.vrankar at gmail.com>
AuthorDate: Mon Jul 13 22:23:22 2015 +0200
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Jul 15 09:59:44 2015 -0400

    Tests/RunCMake/CPack/DEB: add verifyDebControl
    
    Add verifyDebControl helper function for checking
    of package control files such as preinstall scripts.

diff --git a/Tests/RunCMake/CPack/DEB/Helpers.cmake b/Tests/RunCMake/CPack/DEB/Helpers.cmake
index 4ed3fbd..45c85c3 100644
--- a/Tests/RunCMake/CPack/DEB/Helpers.cmake
+++ b/Tests/RunCMake/CPack/DEB/Helpers.cmake
@@ -8,3 +8,21 @@ function(getPackageContent FILE RESULT_VAR)
 
   set(${RESULT_VAR} "${package_content_}" PARENT_SCOPE)
 endfunction()
+
+function(verifyDebControl FILE PREFIX VERIFY_FILES)
+  execute_process(COMMAND ${DPKG_EXECUTABLE} --control ${FILE} control_${PREFIX}
+          ERROR_VARIABLE err_)
+
+  if(err_)
+    message(FATAL_ERROR "Debian controll verification failed for file: "
+        "'${FILE}'; error output: '${err_}'")
+  endif()
+
+  foreach(FILE_ IN LISTS VERIFY_FILES)
+    file(READ "${CMAKE_CURRENT_BINARY_DIR}/control_${PREFIX}/${FILE_}" content_)
+    if(NOT content_ MATCHES "${${PREFIX}_${FILE_}}")
+      message(FATAL_ERROR "Unexpected content in for '${PREFIX}_${FILE_}'!"
+          " Content: '${content_}'")
+    endif()
+  endforeach()
+endfunction()

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=47d1f1189c53f02010d16ef541835c016fd8302d
commit 47d1f1189c53f02010d16ef541835c016fd8302d
Author:     Domen Vrankar <domen.vrankar at gmail.com>
AuthorDate: Mon Jul 13 22:21:34 2015 +0200
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Jul 15 09:59:43 2015 -0400

    Tests/RunCMake/CPack: found files should be preserved
    
    Package file names that are found during validation
    should be preserved in FOUND_FILE_${NO} variables
    that can be later used in custom VerifyResult scripts.

diff --git a/Tests/RunCMake/CPack/VerifyResult.cmake b/Tests/RunCMake/CPack/VerifyResult.cmake
index 809011b..e059d9c 100644
--- a/Tests/RunCMake/CPack/VerifyResult.cmake
+++ b/Tests/RunCMake/CPack/VerifyResult.cmake
@@ -15,13 +15,13 @@ include("${src_dir}/${GENERATOR_TYPE}/${RunCMake_TEST}-ExpectedFiles.cmake")
 
 if(NOT EXPECTED_FILES_COUNT EQUAL 0)
   foreach(file_no_ RANGE 1 ${EXPECTED_FILES_COUNT})
-    file(GLOB foundFile_ RELATIVE "${bin_dir}" "${EXPECTED_FILE_${file_no_}}")
-    set(foundFiles_ "${foundFiles_};${foundFile_}")
-    list(LENGTH foundFile_ foundFilesCount_)
+    file(GLOB FOUND_FILE_${file_no_} RELATIVE "${bin_dir}" "${EXPECTED_FILE_${file_no_}}")
+    set(foundFiles_ "${foundFiles_};${FOUND_FILE_${file_no_}}")
+    list(LENGTH FOUND_FILE_${file_no_} foundFilesCount_)
 
     if(foundFilesCount_ EQUAL 1)
       unset(PACKAGE_CONTENT)
-      getPackageContent("${bin_dir}/${foundFile_}" "PACKAGE_CONTENT")
+      getPackageContent("${bin_dir}/${FOUND_FILE_${file_no_}}" "PACKAGE_CONTENT")
 
       string(REGEX MATCH "${EXPECTED_FILE_CONTENT_${file_no_}}"
           expected_content_list "${PACKAGE_CONTENT}")
@@ -36,7 +36,7 @@ if(NOT EXPECTED_FILES_COUNT EQUAL 0)
       message(FATAL_ERROR
         "Found more than one file for file No. '${file_no_}'!"
         " Found files count '${foundFilesCount_}'."
-        " Files: '${foundFile_}'"
+        " Files: '${FOUND_FILE_${file_no_}}'"
         "${output_error_message}")
     endif()
   endforeach()

-----------------------------------------------------------------------

Summary of changes:


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list