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  664a9b09edd414a6be33eaa5b7d5e7536c47cd5c (commit)
       via  76c59007dd3944e23848b7d5912a59a7d3db6398 (commit)
       via  68dba7f7198557833a7b1339254b00a1f6f4ec75 (commit)
      from  9f5b349e0a8f423eee9852b9c44408c6c1f9395d (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=664a9b09edd414a6be33eaa5b7d5e7536c47cd5c
commit 664a9b09edd414a6be33eaa5b7d5e7536c47cd5c
Merge: 9f5b349 76c5900
Author:     Domen Vrankar <domen.vran...@gmail.com>
AuthorDate: Mon Sep 14 16:55:05 2015 -0400
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Mon Sep 14 16:55:05 2015 -0400

    Merge topic 'cpack-deb-fakeroot-removal' into next
    
    76c59007 CPack/DEB: test preserve extra config file permissions
    68dba7f7 fixup! CPackDeb: use of libarchive and removal of fakeroot


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=76c59007dd3944e23848b7d5912a59a7d3db6398
commit 76c59007dd3944e23848b7d5912a59a7d3db6398
Author:     Domen Vrankar <domen.vran...@gmail.com>
AuthorDate: Mon Sep 14 22:44:00 2015 +0200
Commit:     Domen Vrankar <domen.vran...@gmail.com>
CommitDate: Mon Sep 14 22:44:00 2015 +0200

    CPack/DEB: test preserve extra config file permissions

diff --git a/Tests/RunCMake/CPack/DEB/DEB_EXTRA-VerifyResult.cmake 
b/Tests/RunCMake/CPack/DEB/DEB_EXTRA-VerifyResult.cmake
index 78b6114..5f929ff 100644
--- a/Tests/RunCMake/CPack/DEB/DEB_EXTRA-VerifyResult.cmake
+++ b/Tests/RunCMake/CPack/DEB/DEB_EXTRA-VerifyResult.cmake
@@ -1,11 +1,17 @@
 set(foo_preinst "^echo default_preinst$")
+set(foo_preinst_permissions_regex "-rwxr-xr-x .*")
 set(foo_prerm "^echo default_prerm$")
+set(foo_prerm_permissions_regex "-rwxr-xr-x .*")
 verifyDebControl("${FOUND_FILE_1}" "foo" "preinst;prerm")
 
 set(bar_preinst "^echo bar_preinst$")
+set(bar_prerm_permissions_regex "-rwx------ .*")
 set(bar_prerm "^echo bar_prerm$")
+set(bar_prerm_permissions_regex "-rwx------ .*")
 verifyDebControl("${FOUND_FILE_2}" "bar" "preinst;prerm")
 
 set(bas_preinst "^echo default_preinst$")
+set(bas_prerm_permissions_regex "-rwxr-xr-x .*")
 set(bas_prerm "^echo default_prerm$")
+set(bas_prerm_permissions_regex "-rwxr-xr-x .*")
 verifyDebControl("${FOUND_FILE_3}" "bas" "preinst;prerm")
diff --git a/Tests/RunCMake/CPack/DEB/Helpers.cmake 
b/Tests/RunCMake/CPack/DEB/Helpers.cmake
index b6f113b..f490130 100644
--- a/Tests/RunCMake/CPack/DEB/Helpers.cmake
+++ b/Tests/RunCMake/CPack/DEB/Helpers.cmake
@@ -24,6 +24,19 @@ function(verifyDebControl FILE PREFIX VERIFY_FILES)
       message(FATAL_ERROR "Unexpected content in for '${PREFIX}_${FILE_}'!"
           " Content: '${content_}'")
     endif()
+
+    execute_process(COMMAND ls -l 
"${CMAKE_CURRENT_BINARY_DIR}/control_${PREFIX}/${FILE_}"
+          OUTPUT_VARIABLE package_permissions_
+          ERROR_VARIABLE package_permissions_error_
+          OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+    if(NOT package_permissions_error_)
+      if(NOT package_permissions_ MATCHES 
"${${PREFIX}_${FILE_}_permissions_regex}")
+        message(FATAL_ERROR "Unexpected file permissions for 
${PREFIX}_${FILE_}: '${package_permissions_}'!")
+      endif()
+    else()
+      message(FATAL_ERROR "Listing file permissions failed 
(${package_permissions_error_})!")
+    endif()
   endforeach()
 endfunction()
 
diff --git a/Tests/RunCMake/CPack/DEB_EXTRA.cmake 
b/Tests/RunCMake/CPack/DEB_EXTRA.cmake
index 46d848d..3c291d5 100644
--- a/Tests/RunCMake/CPack/DEB_EXTRA.cmake
+++ b/Tests/RunCMake/CPack/DEB_EXTRA.cmake
@@ -2,14 +2,32 @@ 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")
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/tmp/preinst "echo default_preinst")
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/tmp/prerm "echo default_prerm")
+
+foreach(file_ preinst prerm)
+  file(COPY ${CMAKE_CURRENT_BINARY_DIR}/tmp/${file_}
+    DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
+    FILE_PERMISSIONS
+      OWNER_READ OWNER_WRITE OWNER_EXECUTE
+      GROUP_READ GROUP_EXECUTE
+      WORLD_READ WORLD_EXECUTE)
+endforeach()
 
 set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
-    "${CMAKE_CURRENT_BINARY_DIR}/preinst;${CMAKE_CURRENT_BINARY_DIR}/prerm")
+    
"${CMAKE_CURRENT_BINARY_DIR}/preinst;${CMAKE_CURRENT_BINARY_DIR}/prerm;${CMAKE_CURRENT_BINARY_DIR}/conffiles")
+
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/bar_tmp/preinst "echo bar_preinst")
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/bar_tmp/prerm "echo bar_prerm")
 
-file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/bar/preinst "echo bar_preinst")
-file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/bar/prerm "echo bar_prerm")
+foreach(file_ preinst prerm)
+  # not acceptable permissions for lintian but we need to check that
+  # permissions are preserved
+  file(COPY ${CMAKE_CURRENT_BINARY_DIR}/bar_tmp/${file_}
+    DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/bar
+    FILE_PERMISSIONS
+      OWNER_READ OWNER_WRITE OWNER_EXECUTE)
+endforeach()
 
 set(CPACK_DEBIAN_BAR_PACKAGE_CONTROL_EXTRA
     
"${CMAKE_CURRENT_BINARY_DIR}/bar/preinst;${CMAKE_CURRENT_BINARY_DIR}/bar/prerm")

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=68dba7f7198557833a7b1339254b00a1f6f4ec75
commit 68dba7f7198557833a7b1339254b00a1f6f4ec75
Author:     Raffi Enficiaud <raffi.enfici...@mines-paris.org>
AuthorDate: Mon Sep 14 22:42:21 2015 +0200
Commit:     Domen Vrankar <domen.vran...@gmail.com>
CommitDate: Mon Sep 14 22:42:21 2015 +0200

    fixup! CPackDeb: use of libarchive and removal of fakeroot
    
    Extra control files permissions should be preserved as they
    shouldn't all have non executable permissions (eg. preinst
    script)

diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake
index 970a7d0..754df91 100644
--- a/Modules/CPackDeb.cmake
+++ b/Modules/CPackDeb.cmake
@@ -326,6 +326,12 @@
 #
 #   set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
 #       "${CMAKE_CURRENT_SOURCE_DIR/prerm;${CMAKE_CURRENT_SOURCE_DIR}/postrm")
+#
+#  .. note::
+#
+#    The original permissions of the files will be used in the final
+#    package. In particular, the scripts should have the proper executable
+#    flag prior to the generation of the package.
 
 
 #=============================================================================
diff --git a/Source/CPack/cmCPackDebGenerator.cxx 
b/Source/CPack/cmCPackDebGenerator.cxx
index dc9fca3..981d86d 100644
--- a/Source/CPack/cmCPackDebGenerator.cxx
+++ b/Source/CPack/cmCPackDebGenerator.cxx
@@ -576,7 +576,7 @@ int cmCPackDebGenerator::createDeb()
     control_tar.SetUNAME("root");
     control_tar.SetGNAME("root");
 
-    // set md5sum file permissins to RW-R--R-- so that deb lintian
+    // set md5sum file permissions to RW-R--R-- so that deb lintian
     // doesn't warn about it
     control_tar.SetPermissions(S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
 
@@ -597,6 +597,8 @@ int cmCPackDebGenerator::createDeb()
       this->GetOption("GEN_CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA");
     if( controlExtra )
       {
+      // permissions are now controlled by the original file permissions
+      control_tar.SetPermissions(-1);
       std::vector<std::string> controlExtraList;
       cmSystemTools::ExpandListArgument(controlExtra, controlExtraList);
       for(std::vector<std::string>::iterator i = controlExtraList.begin();

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

Summary of changes:
 Modules/CPackDeb.cmake                             |    6 +++++
 Source/CPack/cmCPackDebGenerator.cxx               |    4 ++-
 .../CPack/DEB/DEB_EXTRA-VerifyResult.cmake         |    6 +++++
 Tests/RunCMake/CPack/DEB/Helpers.cmake             |   13 +++++++++
 Tests/RunCMake/CPack/DEB_EXTRA.cmake               |   28 ++++++++++++++++----
 5 files changed, 51 insertions(+), 6 deletions(-)


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits

Reply via email to