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