[Cmake-commits] CMake branch, next, updated. v3.1.2-1118-g1952221
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 19522216e892f73351dc480507040cd453a795cb (commit) via 521d4cc55eee3e0c541af822f4d786978b6bf31d (commit) from 82caa821d99066ee5eba5dcdbd0ee937b6890919 (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=19522216e892f73351dc480507040cd453a795cb commit 19522216e892f73351dc480507040cd453a795cb Merge: 82caa82 521d4cc Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Sun Feb 8 14:05:24 2015 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Sun Feb 8 14:05:24 2015 -0500 Merge topic 'cpack_rpm_mulit_prefix_fixup' into next 521d4cc5 fixup! CPackRPM: Allow multiple path relocation prefixes for one package http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=521d4cc55eee3e0c541af822f4d786978b6bf31d commit 521d4cc55eee3e0c541af822f4d786978b6bf31d Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Sun Feb 8 20:03:53 2015 +0100 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Sun Feb 8 20:03:53 2015 +0100 fixup! CPackRPM: Allow multiple path relocation prefixes for one package diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake index 43e3fe0..214d655 100644 --- a/Modules/CPackRPM.cmake +++ b/Modules/CPackRPM.cmake @@ -442,7 +442,7 @@ function(cpack_rpm_prepare_relocation_paths) # set other path prefixes foreach(RELOCATION_PATH ${RPM_RELOCATION_PATHS}) -if(IS_ABSOLUTE ${RELOCATE_PATH}) +if(IS_ABSOLUTE ${RELOCATION_PATH}) set(PREPARED_RELOCATION_PATH ${RELOCATION_PATH}) else() set(PREPARED_RELOCATION_PATH ${PATH_PREFIX}/${RELOCATION_PATH}) --- Summary of changes: Modules/CPackRPM.cmake |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.1.0-2047-gb2b55d4
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 b2b55d49dcd0474b12bdc175d1852301440935c5 (commit) via c908ba3707fcf8cf43df0c5cd90f8ea6d98d7c29 (commit) from d875307328b9b04481d9e3466449ef31493dfc41 (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=b2b55d49dcd0474b12bdc175d1852301440935c5 commit b2b55d49dcd0474b12bdc175d1852301440935c5 Merge: d875307 c908ba3 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Fri Jan 16 15:44:15 2015 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Fri Jan 16 15:44:15 2015 -0500 Merge topic 'rpm_multi_prefix' into next c908ba37 multiple path relocation prefixes http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c908ba3707fcf8cf43df0c5cd90f8ea6d98d7c29 commit c908ba3707fcf8cf43df0c5cd90f8ea6d98d7c29 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Wed Dec 31 01:43:59 2014 +0100 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Wed Dec 31 01:43:59 2014 +0100 multiple path relocation prefixes Allow multiple path relocation prefixes for a single rpm package. diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake index d2cb2ee..5328b8c 100644 --- a/Modules/CPackRPM.cmake +++ b/Modules/CPackRPM.cmake @@ -379,6 +379,39 @@ # # May be used to add more exclude path (directories or files) from the initial # default list of excluded paths. See CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST. +# +# .. variable:: CPACK_PACKAGING_INSTALL_FULL_dir +# +# * Mandatory : NO +# * Default : - +# +# May be used to specify more than one relocation path per relocatable RPM. +# Variables are not component based as they can be used to set a different +# path prefix for e.g. binary dir and documentation dir at the same time. +# Only prefixes that are required by a certain component are added to that +# component - component must contain at least one file/directory/symbolic link +# with CPACK_PACKAGING_INSTALL_FULL_dir prefix for a certain relocation path +# to be added. Package will not contain any relocation paths if there are no +# files/directories/symbolic links on any of the provided prefix locations. +# Packages that either do not contain any relocation paths or contain +# files/directories/symbolic links that are outside relocation paths print +# out an AUTHOR_WARNING that RPM will be partially relocatable. +# Variables can be set automatically by including GNUInstallDirs module and +# using corresponding CMAKE_INSTALL_* variables from the same module +# in install() command DESTINATION paths. +# For a list of dir values see :module:`GNUInstallDirs` module. +# +# .. variable:: CPACK_RPM_COMPONENT_PACKAGE_PREFIX +# +# * Mandatory : NO +# * Default : CPACK_PACKAGING_INSTALL_PREFIX +# +# May be used to set per component CPACK_PACKAGING_INSTALL_PREFIX for +# relocatable RPM packages. +# If CPACK_PACKAGING_INSTALL_FULL_dir paths are used and +# CPACK_RPM_COMPONENT_PACKAGE_PREFIX is set then +# CPACK_PACKAGING_INSTALL_PREFIX prefix path is replaced by +# CPACK_RPM_COMPONENT_PACKAGE_PREFIX prefix path where found. #= # Copyright 2007-2009 Kitware, Inc. @@ -395,6 +428,83 @@ # Author: Eric Noulard with the help of Alexander Neundorf. +function(cpack_rpm_prepare_relocation_paths) + set(RPM_RELOCATION_PATH_VARS + CPACK_PACKAGING_INSTALL_FULL_BINDIR CPACK_PACKAGING_INSTALL_FULL_SBINDIR + CPACK_PACKAGING_INSTALL_FULL_LIBEXECDIR CPACK_PACKAGING_INSTALL_FULL_SYSCONFDIR + CPACK_PACKAGING_INSTALL_FULL_SHAREDSTATEDIR CPACK_PACKAGING_INSTALL_FULL_LOCALSTATEDIR + CPACK_PACKAGING_INSTALL_FULL_LIBDIR CPACK_PACKAGING_INSTALL_FULL_INCLUDEDIR + CPACK_PACKAGING_INSTALL_FULL_OLDINCLUDEDIR CPACK_PACKAGING_INSTALL_FULL_DATAROOTDIR + CPACK_PACKAGING_INSTALL_FULL_DATADIR CPACK_PACKAGING_INSTALL_FULL_INFODIR + CPACK_PACKAGING_INSTALL_FULL_LOCALEDIR CPACK_PACKAGING_INSTALL_FULL_MANDIR + CPACK_PACKAGING_INSTALL_FULL_DOCDIR) + file(TO_CMAKE_PATH ${CPACK_PACKAGING_INSTALL_PREFIX} RPM_PACKAGE_PREFIX_PART) + + if(CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_PREFIX) +# remove possible trailing slash and convert backslashes to slashes +file(TO_CMAKE_PATH ${CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_PREFIX} RPM_COMPONENT_PREFIX_) +string(LENGTH ${RPM_PACKAGE_PREFIX_PART} RPM_PACKAGE_PREFIX_PART_LEN) +set(RPM_PACKAGE_PREFIXES ${RPM_COMPONENT_PREFIX_}) + +foreach(RELOCATE_PATH_VAR ${RPM_RELOCATION_PATH_VARS}) + if(${RELOCATE_PATH_VAR
[Cmake-commits] CMake branch, next, updated. v3.1.0-2272-g3c62239
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 3c62239543d57cdae883463c73ddcb5f5a31c83c (commit) via 0538b325b4884c8b722ae31ea43b8c8cae113fcf (commit) from 656ddc52c42f8fdfd22d331ceaa669c479124555 (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=3c62239543d57cdae883463c73ddcb5f5a31c83c commit 3c62239543d57cdae883463c73ddcb5f5a31c83c Merge: 656ddc5 0538b32 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Tue Jan 20 18:31:02 2015 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Jan 20 18:31:02 2015 -0500 Merge topic 'rpm_multi_prefix' into next 0538b325 cpack rpm multiple path relocation prefixes http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0538b325b4884c8b722ae31ea43b8c8cae113fcf commit 0538b325b4884c8b722ae31ea43b8c8cae113fcf Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Wed Jan 21 00:29:46 2015 +0100 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Wed Jan 21 00:29:46 2015 +0100 cpack rpm multiple path relocation prefixes Allow multiple path relocation prefixes for a single rpm package. diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake index d2cb2ee..43e3fe0 100644 --- a/Modules/CPackRPM.cmake +++ b/Modules/CPackRPM.cmake @@ -379,6 +379,34 @@ # # May be used to add more exclude path (directories or files) from the initial # default list of excluded paths. See CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST. +# +# .. variable:: CPACK_RPM_RELOCATION_PATHS +# +# * Mandatory : NO +# * Default : - +# +# May be used to specify more than one relocation path per relocatable RPM. +# Variable contains a list of relocation paths that if relative are prefixed +# by the value of CPACK_RPM_COMPONENT_PACKAGE_PREFIX or by the value of +# CPACK_PACKAGING_INSTALL_PREFIX if the component version is not provided. +# Variable is not component based as its content can be used to set a different +# path prefix for e.g. binary dir and documentation dir at the same time. +# Only prefixes that are required by a certain component are added to that +# component - component must contain at least one file/directory/symbolic link +# with CPACK_RPM_RELOCATION_PATHS prefix for a certain relocation path +# to be added. Package will not contain any relocation paths if there are no +# files/directories/symbolic links on any of the provided prefix locations. +# Packages that either do not contain any relocation paths or contain +# files/directories/symbolic links that are outside relocation paths print +# out an AUTHOR_WARNING that RPM will be partially relocatable. +# +# .. variable:: CPACK_RPM_COMPONENT_PACKAGE_PREFIX +# +# * Mandatory : NO +# * Default : CPACK_PACKAGING_INSTALL_PREFIX +# +# May be used to set per component CPACK_PACKAGING_INSTALL_PREFIX for +# relocatable RPM packages. #= # Copyright 2007-2009 Kitware, Inc. @@ -395,6 +423,62 @@ # Author: Eric Noulard with the help of Alexander Neundorf. +function(cpack_rpm_prepare_relocation_paths) + # set appropriate prefix, remove possible trailing slash and convert backslashes to slashes + if(CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_PREFIX) +file(TO_CMAKE_PATH ${CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_PREFIX} PATH_PREFIX) + else() +file(TO_CMAKE_PATH ${CPACK_PACKAGING_INSTALL_PREFIX} PATH_PREFIX) + endif() + + set(RPM_RELOCATION_PATHS ${CPACK_RPM_RELOCATION_PATHS}) + list(REMOVE_DUPLICATES RPM_RELOCATION_PATHS) + + # set base path prefix + if(EXISTS ${WDIR}/${PATH_PREFIX}) +set(TMP_RPM_PREFIXES ${TMP_RPM_PREFIXES}Prefix: ${PATH_PREFIX}\n) +list(APPEND RPM_USED_PACKAGE_PREFIXES ${PATH_PREFIX}) + endif() + + # set other path prefixes + foreach(RELOCATION_PATH ${RPM_RELOCATION_PATHS}) +if(IS_ABSOLUTE ${RELOCATE_PATH}) + set(PREPARED_RELOCATION_PATH ${RELOCATION_PATH}) +else() + set(PREPARED_RELOCATION_PATH ${PATH_PREFIX}/${RELOCATION_PATH}) +endif() + +if(EXISTS ${WDIR}/${PREPARED_RELOCATION_PATH}) + set(TMP_RPM_PREFIXES ${TMP_RPM_PREFIXES}Prefix: ${PREPARED_RELOCATION_PATH}\n) + list(APPEND RPM_USED_PACKAGE_PREFIXES ${PREPARED_RELOCATION_PATH}) +endif() + endforeach() + + # warn about all the paths that are not relocatable + file(GLOB_RECURSE FILE_PATHS_ ${WDIR}/*) + foreach(TMP_PATH ${FILE_PATHS_}) +string(LENGTH ${WDIR} WDIR_LEN) +string(SUBSTRING ${TMP_PATH} ${WDIR_LEN} -1 TMP_PATH) +unset(TMP_PATH_FOUND_) + +foreach(RELOCATION_PATH
[Cmake-commits] CMake branch, next, updated. v3.1.2-1183-gfd2cc9a
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 fd2cc9a1071279c0e3d41c38d670d0e669ab92bb (commit) via a06feb122e5a76f43f2cdbfe6ef5ed54ad711375 (commit) from 5e36f8ee1ebf4538146f9f0cb5974426eac14249 (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=fd2cc9a1071279c0e3d41c38d670d0e669ab92bb commit fd2cc9a1071279c0e3d41c38d670d0e669ab92bb Merge: 5e36f8e a06feb1 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Tue Feb 10 17:04:53 2015 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Feb 10 17:04:53 2015 -0500 Merge topic 'cpack_rpm_mulit_prefix_policy_version_fixup' into next a06feb12 fixup! cpack_rpm_mulit_prefix http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a06feb122e5a76f43f2cdbfe6ef5ed54ad711375 commit a06feb122e5a76f43f2cdbfe6ef5ed54ad711375 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Tue Feb 10 23:03:06 2015 +0100 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Tue Feb 10 23:03:06 2015 +0100 fixup! cpack_rpm_mulit_prefix Fix infinite loop with symbolic links when using minimum required cmake version with CMP0009 policy not set in logic added by commit 3ec02547 (CPackRPM: Allow multiple path relocation prefixes for one package, 2015-01-21). diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake index 214d655..c53caa1 100644 --- a/Modules/CPackRPM.cmake +++ b/Modules/CPackRPM.cmake @@ -423,6 +423,10 @@ # Author: Eric Noulard with the help of Alexander Neundorf. +# prevent older policies from interfearing with this script +cmake_policy(PUSH) +cmake_policy(VERSION ${CMAKE_VERSION}) + function(cpack_rpm_prepare_relocation_paths) # set appropriate prefix, remove possible trailing slash and convert backslashes to slashes if(CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_PREFIX) @@ -1308,3 +1312,6 @@ if(CPACK_RPM_PACKAGE_DESCRIPTION_) else() unset(CPACK_RPM_PACKAGE_DESCRIPTION) endif() + +# restore previous policies +cmake_policy(POP) --- Summary of changes: Modules/CPackRPM.cmake |7 +++ 1 file changed, 7 insertions(+) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.1.0-1511-gb5f5b58
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 b5f5b58d179e6ce8fcb783ab0d5bcbc2a7dc62ee (commit) via 5d0a04f09487dacac5520c6e963a64cce854d2bd (commit) via 8c4b7c567bbb47ed9555da2bd50b672304ccb858 (commit) from 7d6c29fc162f8977700c590f868800779de2594f (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=b5f5b58d179e6ce8fcb783ab0d5bcbc2a7dc62ee commit b5f5b58d179e6ce8fcb783ab0d5bcbc2a7dc62ee Merge: 7d6c29f 5d0a04f Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Wed Jan 7 14:34:42 2015 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Wed Jan 7 14:34:42 2015 -0500 Merge topic 'rpm_at_in_path' into next 5d0a04f0 rpm revert at in path escaping patch 8c4b7c56 CMake Nightly Date Stamp http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5d0a04f09487dacac5520c6e963a64cce854d2bd commit 5d0a04f09487dacac5520c6e963a64cce854d2bd Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Wed Jan 7 20:33:27 2015 +0100 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Wed Jan 7 20:33:27 2015 +0100 rpm revert at in path escaping patch Patch for escaping at symbols in paths was added to RPM generator and was obsoleted in next cmake release. The change that obsoleted it also caused it to break paths with @ symbols for which it was written to solve. diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake index d2cb2ee..7de3aa3 100644 --- a/Modules/CPackRPM.cmake +++ b/Modules/CPackRPM.cmake @@ -1058,13 +1058,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. # @@ -1175,9 +1168,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( --- Summary of changes: Modules/CPackRPM.cmake| 10 -- Source/CMakeVersion.cmake |2 +- 2 files changed, 1 insertion(+), 11 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.1.0-1513-gb9196b9
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 b9196b94711e082704fa775db5edc8688644e14a (commit) via f89e41c3e7c6d47dd26a47e3543ada2301db7521 (commit) from b5f5b58d179e6ce8fcb783ab0d5bcbc2a7dc62ee (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=b9196b94711e082704fa775db5edc8688644e14a commit b9196b94711e082704fa775db5edc8688644e14a Merge: b5f5b58 f89e41c Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Wed Jan 7 14:36:39 2015 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Wed Jan 7 14:36:39 2015 -0500 Merge topic 'cpack_invalid_cmake_generator' into next f89e41c3 CPack invalid CMake generator http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f89e41c3e7c6d47dd26a47e3543ada2301db7521 commit f89e41c3e7c6d47dd26a47e3543ada2301db7521 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Fri Jan 2 10:46:08 2015 +0100 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Fri Jan 2 10:46:08 2015 +0100 CPack invalid CMake generator Case where CPACK_CMAKE_GENERATOR value is non existent or or contains multiple words that were not quoted was not handled and produced a segmentation fault. diff --git a/Source/CPack/cmCPackGenerator.cxx b/Source/CPack/cmCPackGenerator.cxx index e78f161..2330278 100644 --- a/Source/CPack/cmCPackGenerator.cxx +++ b/Source/CPack/cmCPackGenerator.cxx @@ -628,6 +628,14 @@ int cmCPackGenerator::InstallProjectViaInstallCMakeProjects( cmGlobalGenerator* globalGenerator = this-MakefileMap-GetCMakeInstance()-CreateGlobalGenerator( cmakeGenerator); + if ( !globalGenerator ) + { + cmCPackLogger(cmCPackLog::LOG_ERROR, +Specified package generator not found. +CPACK_CMAKE_GENERATOR value is invalid. + std::endl); + return 0; + } // set the global flag for unix style paths on cmSystemTools as // soon as the generator is set. This allows gmake to be used // on windows. --- Summary of changes: Source/CPack/cmCPackGenerator.cxx |8 1 file changed, 8 insertions(+) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.2.1-1029-g0122877
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 012287707792efea6ed928ceff52cc15364e7eb5 (commit) via 140a53a810ea7449c26e6e572918df3bb20e86d1 (commit) via 4552bc886d1bd8966f6ef2f7790835dfdb2e6d8b (commit) from 8e743b99e4c688892ef05271b8dae5adb112f2c2 (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=012287707792efea6ed928ceff52cc15364e7eb5 commit 012287707792efea6ed928ceff52cc15364e7eb5 Merge: 8e743b9 140a53a Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Sun Mar 15 16:10:08 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Sun Mar 15 16:10:08 2015 -0400 Merge topic 'cpack_rpm_old_version_tests' into next 140a53a8 CPack/RPM architecture test fixup 4552bc88 CPack/RPM relocation paths test fixup http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=140a53a810ea7449c26e6e572918df3bb20e86d1 commit 140a53a810ea7449c26e6e572918df3bb20e86d1 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Sun Mar 15 21:08:19 2015 +0100 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Sun Mar 15 21:08:19 2015 +0100 CPack/RPM architecture test fixup Fixed architecture test that was missing architecture in regular expressions - bug was detected on older rpm versions where the check failed. Extended architecture test that takes into account older versions of rpm. This patch is related to 15442. diff --git a/Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake b/Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake index 079b819..9261d11 100644 --- a/Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake +++ b/Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake @@ -158,6 +158,12 @@ if(CPackGen MATCHES RPM) ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND ${RPM_EXECUTABLE} -pqa ${check_file} + RESULT_VARIABLE check_package_architecture_result + OUTPUT_VARIABLE check_package_architecture + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND ${RPM_EXECUTABLE} -pql ${check_file} OUTPUT_VARIABLE check_package_content ERROR_QUIET @@ -169,28 +175,28 @@ if(CPackGen MATCHES RPM) set(check_file_match_expected_summary .*${CPACK_RPM_libraries_PACKAGE_SUMMARY}.*) set(check_file_match_expected_description .*${CPACK_RPM_libraries_PACKAGE_DESCRIPTION}.*) set(check_file_match_expected_relocation_path Relocations${whitespaces}:${whitespaces}${CPACK_PACKAGING_INSTALL_PREFIX}${whitespaces}${CPACK_PACKAGING_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}) -set(check_file_match_expected_architecture Architecture: ${CPACK_RPM_applications_PACKAGE_ARCHITECTURE}) +set(check_file_match_expected_architecture ) # we don't explicitly set this value so it is different on each platform - ignore it set(spec_regex *libraries*) set(check_content_list ^/usr/foo/bar\n/usr/foo/bar/lib.*\n/usr/foo/bar/lib.*/libmylib.a$) elseif(check_file_headers_match) set(check_file_match_expected_summary .*${CPACK_RPM_PACKAGE_SUMMARY}.*) set(check_file_match_expected_description .*${CPACK_COMPONENT_HEADERS_DESCRIPTION}.*) set(check_file_match_expected_relocation_path Relocations${whitespaces}:${whitespaces}${CPACK_PACKAGING_INSTALL_PREFIX}${whitespaces}${CPACK_PACKAGING_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}) -set(check_file_match_expected_architecture Architecture: ${CPACK_RPM_libraries_PACKAGE_ARCHITECTURE}) +set(check_file_match_expected_architecture noarch) set(spec_regex *headers*) set(check_content_list ^/usr/foo/bar\n/usr/foo/bar/include\n/usr/foo/bar/include/mylib.h$) elseif(check_file_applications_match) set(check_file_match_expected_summary .*${CPACK_RPM_PACKAGE_SUMMARY}.*) set(check_file_match_expected_description .*${CPACK_COMPONENT_APPLICATIONS_DESCRIPTION}.*) set(check_file_match_expected_relocation_path Relocations${whitespaces}:${whitespaces}${CPACK_PACKAGING_INSTALL_PREFIX}${whitespaces}${CPACK_PACKAGING_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}.*) -set(check_file_match_expected_architecture Architecture: ${CPACK_RPM_headers_PACKAGE_ARCHITECTURE}) +set(check_file_match_expected_architecture armv7hf) set(spec_regex *applications*) set(check_content_list ^/usr/foo/bar\n/usr/foo/bar/bin\n/usr/foo/bar/bin/mylibapp$) elseif(check_file_Unspecified_match) set
[Cmake-commits] CMake branch, next, updated. v3.2.1-1069-g3eb856c
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 3eb856c1332775686b6003ba2c05c033dbd7ac47 (commit) via 16aa38f15b98089da59f7cd4cd83aeb1ac6214a2 (commit) from 285a9ac82799578706c1ae80dafa33c8eb2c8619 (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=3eb856c1332775686b6003ba2c05c033dbd7ac47 commit 3eb856c1332775686b6003ba2c05c033dbd7ac47 Merge: 285a9ac 16aa38f Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Tue Mar 17 18:35:27 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Mar 17 18:35:27 2015 -0400 Merge topic 'glob_recurse_handle_cyclic_recursion' into next 16aa38f1 file GLOB list directories handling http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=16aa38f15b98089da59f7cd4cd83aeb1ac6214a2 commit 16aa38f15b98089da59f7cd4cd83aeb1ac6214a2 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Tue Mar 17 23:34:03 2015 +0100 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Tue Mar 17 23:34:03 2015 +0100 file GLOB list directories handling GLOB lists directories by default and GLOB_RECURSE does not. LIST_DIRECTORIES enables user to control the behavior explicitly for consistently for both GLOB and GLOB_RECURSE. diff --git a/Help/command/file.rst b/Help/command/file.rst index 73d4cfa..bcecb64 100644 --- a/Help/command/file.rst +++ b/Help/command/file.rst @@ -92,8 +92,8 @@ store it in a ``variable``. :: - file(GLOB variable [RELATIVE path] [globbing-expressions...]) - file(GLOB_RECURSE variable [RELATIVE path] + file(GLOB variable [LIST_DIRECTORIES true|false] [RELATIVE path] [globbing-expressions...]) + file(GLOB_RECURSE variable [LIST_DIRECTORIES true|false] [RELATIVE path] [FOLLOW_SYMLINKS] [globbing-expressions...]) Generate a list of files that match the ``globbing-expressions`` and @@ -102,6 +102,9 @@ regular expressions, but much simpler. If ``RELATIVE`` flag is specified, the results will be returned as relative paths to the given path. +By default ``GLOB`` lists directories - directories are omited in result if +``LIST_DIRECTORIES`` is set to false. + .. note:: We do not recommend using GLOB to collect a list of source files from your source tree. If no CMakeLists.txt file changes when a source is @@ -119,6 +122,11 @@ matched directory and match the files. Subdirectories that are symlinks are only traversed if ``FOLLOW_SYMLINKS`` is given or policy :policy:`CMP0009` is not set to ``NEW``. +By default ``GLOB_RECURSE`` omits directories from result list - setting +``LIST_DIRECTORIES`` to true adds directories to result list. +If ``FOLLOW_SYMLINKS`` is given or policy :policy:`CMP0009` is not set to +``OLD`` then ``LIST_DIRECTORIES`` treats symlinks as directories. + Examples of recursive globbing include:: /dir/*.py - match all python files in /dir and subdirectories diff --git a/Source/cmFileCommand.cxx b/Source/cmFileCommand.cxx index ec22ea0..ae9099e 100644 --- a/Source/cmFileCommand.cxx +++ b/Source/cmFileCommand.cxx @@ -920,6 +920,35 @@ bool cmFileCommand::HandleGlobCommand(std::vectorstd::string const args, bool first = true; for ( ; i != args.end(); ++i ) { +if( *i == LIST_DIRECTORIES ) + { + ++i; + if(i != args.end()) +{ +if(cmSystemTools::IsOn(i-c_str())) + { + g.SetListDirs(true); + g.SetRecurseListDirs(true); + } +else if(cmSystemTools::IsOff(i-c_str())) + { + g.SetListDirs(false); + g.SetRecurseListDirs(false); + } +else + { + this-SetError(LIST_DIRECTORIES missing bool value.); + return false; + } +} + else +{ +this-SetError(LIST_DIRECTORIES missing bool value.); +return false; +} + ++i; + } + if ( recurse (*i == FOLLOW_SYMLINKS) ) { explicitFollowSymlinks = true; @@ -950,6 +979,7 @@ bool cmFileCommand::HandleGlobCommand(std::vectorstd::string const args, } } +cmsys::Glob::GlobMessages globMessages; if ( !cmsys::SystemTools::FileIsFullPath(i-c_str()) ) { std::string expr = this-Makefile-GetCurrentDirectory(); @@ -957,16 +987,42 @@ bool cmFileCommand::HandleGlobCommand(std::vectorstd::string const args, if (!expr.empty()) { expr += / + *i; -g.FindFiles(expr); +g.FindFiles(expr, globMessages); } else { -g.FindFiles(*i); +g.FindFiles(*i, globMessages
[Cmake-commits] CMake branch, next, updated. v3.2.1-1088-g15b62be
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 15b62be62df4829a76f8de62785e81934610c77a (commit) via 3357c4c4d4f5a4d2cd7afd58774e78bcf94c4694 (commit) from f8c44b8b438059eb936c9c59630aa8f2fc123869 (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=15b62be62df4829a76f8de62785e81934610c77a commit 15b62be62df4829a76f8de62785e81934610c77a Merge: f8c44b8 3357c4c Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Wed Mar 18 15:24:04 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Wed Mar 18 15:24:04 2015 -0400 Merge topic 'file-globbing-directory-listing' into next 3357c4c4 fixup! file GLOB list directories handling http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3357c4c4d4f5a4d2cd7afd58774e78bcf94c4694 commit 3357c4c4d4f5a4d2cd7afd58774e78bcf94c4694 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Wed Mar 18 20:22:14 2015 +0100 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Wed Mar 18 20:22:14 2015 +0100 fixup! file GLOB list directories handling Globbing test outputs should be sorted before printout so listing order on different platforms doesn't affect the tests. diff --git a/Tests/RunCMake/file/GLOB-stderr.txt b/Tests/RunCMake/file/GLOB-stderr.txt index 41be050..c47dc40 100644 --- a/Tests/RunCMake/file/GLOB-stderr.txt +++ b/Tests/RunCMake/file/GLOB-stderr.txt @@ -1,6 +1,6 @@ -content: 6. -.*/test/dir 1/non_empty_dir;.*/test/dir 1/empty_dir;.*/test/dir 1/dir 1 file;.*/test/dir 2/non_empty_dir;.*/test/dir 2/dir 2 file;.*/test/dir 2/empty_dir -content: 6. -.*/test/dir 1/non_empty_dir;.*/test/dir 1/empty_dir;.*/test/dir 1/dir 1 file;.*/test/dir 2/non_empty_dir;.*/test/dir 2/dir 2 file;.*/test/dir 2/empty_dir -content: 2. +content: 6[ ] +.*/test/dir 1/dir 1 file;.*/test/dir 1/empty_dir;.*/test/dir 1/non_empty_dir;.*/test/dir 2/dir 2 file;.*/test/dir 2/empty_dir;.*/test/dir 2/non_empty_dir +content: 6[ ] +.*/test/dir 1/dir 1 file;.*/test/dir 1/empty_dir;.*/test/dir 1/non_empty_dir;.*/test/dir 2/dir 2 file;.*/test/dir 2/empty_dir;.*/test/dir 2/non_empty_dir +content: 2[ ] .*/test/dir 1/dir 1 file;.*/test/dir 2/dir 2 file diff --git a/Tests/RunCMake/file/GLOB.cmake b/Tests/RunCMake/file/GLOB.cmake index c524e42..3d577e3 100644 --- a/Tests/RunCMake/file/GLOB.cmake +++ b/Tests/RunCMake/file/GLOB.cmake @@ -12,14 +12,17 @@ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/test/dir 2/non_empty_dir/dir 2 subdir fi file(GLOB CONTENT_LIST ${CMAKE_CURRENT_BINARY_DIR}/test/*/*) list(LENGTH CONTENT_LIST CONTENT_COUNT) message(content: ${CONTENT_COUNT} ) +list(SORT CONTENT_LIST) message(${CONTENT_LIST}) file(GLOB CONTENT_LIST LIST_DIRECTORIES true ${CMAKE_CURRENT_BINARY_DIR}/test/*/*) list(LENGTH CONTENT_LIST CONTENT_COUNT) message(content: ${CONTENT_COUNT} ) +list(SORT CONTENT_LIST) message(${CONTENT_LIST}) file(GLOB CONTENT_LIST LIST_DIRECTORIES false ${CMAKE_CURRENT_BINARY_DIR}/test/*/*) list(LENGTH CONTENT_LIST CONTENT_COUNT) message(content: ${CONTENT_COUNT} ) +list(SORT CONTENT_LIST) message(${CONTENT_LIST}) diff --git a/Tests/RunCMake/file/GLOB_RECURSE-cyclic-recursion-stderr.txt b/Tests/RunCMake/file/GLOB_RECURSE-cyclic-recursion-stderr.txt index d73c74f..f73aa83 100644 --- a/Tests/RunCMake/file/GLOB_RECURSE-cyclic-recursion-stderr.txt +++ b/Tests/RunCMake/file/GLOB_RECURSE-cyclic-recursion-stderr.txt @@ -1,15 +1,15 @@ .*Cyclic recursion detected while globbing for.* .*/test/depth1/depth2/depth3.* .*/test/depth1/depth2/depth3/recursion.* -content: 4. -.*/test/abc;.*/test/depth1/depth2/depth3/recursion/abc;.*/test/depth1/depth2/depth3/recursion/depth1/depth2/depth3/file_symlink;.*/test/depth1/depth2/depth3/file_symlink +content: 4[ ] +.*/test/abc;.*/test/depth1/depth2/depth3/file_symlink;.*/test/depth1/depth2/depth3/recursion/abc;.*/test/depth1/depth2/depth3/recursion/depth1/depth2/depth3/file_symlink .*Cyclic recursion detected while globbing for.* .*/test/depth1/depth2/depth3.* .*/test/depth1/depth2/depth3/recursion.* -content: 4. -.*/test/abc;.*/test/depth1/depth2/depth3/recursion/abc;.*/test/depth1/depth2/depth3/recursion/depth1/depth2/depth3/file_symlink;.*/test/depth1/depth2/depth3/file_symlink +content: 4[ ] +.*/test/abc;.*/test/depth1/depth2/depth3/file_symlink;.*/test/depth1/depth2/depth3/recursion/abc;.*/test/depth1/depth2/depth3/recursion/depth1/depth2/depth3/file_symlink .*Cyclic recursion detected while globbing for.* .*/test/depth1/depth2/depth3.* .*/test/depth1/depth2/depth3/recursion.* -content: 11. -.*/test/abc;.*/test/depth1;.*/test/depth1/depth2;.*/test/depth1
[Cmake-commits] CMake branch, next, updated. v3.2.1-1055-g8a82bf6
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 8a82bf6a83fa1d9c3c53cc5373cc793366d6b954 (commit) via be089724e943da786c35fddceb8d9b0e7a9fb2f5 (commit) via ffc1b9451070d9da5860533da8c19c75583e5661 (commit) from 13af2b0fdf0695e57434a1280a3516639923d19c (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=8a82bf6a83fa1d9c3c53cc5373cc793366d6b954 commit 8a82bf6a83fa1d9c3c53cc5373cc793366d6b954 Merge: 13af2b0 be08972 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Tue Mar 17 12:41:23 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Mar 17 12:41:23 2015 -0400 Merge topic 'cpack_rpm_component_fall_through' into next be089724 CPack/RPM prevent component attributes leakage ffc1b945 CPack/RPM improved component override test http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=be089724e943da786c35fddceb8d9b0e7a9fb2f5 commit be089724e943da786c35fddceb8d9b0e7a9fb2f5 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Mon Mar 16 22:17:17 2015 +0100 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Tue Mar 17 17:36:36 2015 +0100 CPack/RPM prevent component attributes leakage Fixes mantis bug report with id 15169. Some component specific attributes were leaking to next component. Leakage handling was implemented in different locations but there were still attributes that leaked. Patch encapsulates generator into function so all current leaks are fixed and no future leaks can occur. diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake index fce8236..539a0aa 100644 --- a/Modules/CPackRPM.cmake +++ b/Modules/CPackRPM.cmake @@ -494,709 +494,687 @@ if(NOT UNIX) message(FATAL_ERROR CPackRPM.cmake may only be used under UNIX.) endif() -# rpmbuild is the basic command for building RPM package -# it may be a simple (symbolic) link to rpm command. -find_program(RPMBUILD_EXECUTABLE rpmbuild) - -# Check version of the rpmbuild tool this would be easier to -# track bugs with users and CPackRPM debug mode. -# We may use RPM version in order to check for available version dependent features -if(RPMBUILD_EXECUTABLE) - execute_process(COMMAND ${RPMBUILD_EXECUTABLE} --version - OUTPUT_VARIABLE _TMP_VERSION - ERROR_QUIET - OUTPUT_STRIP_TRAILING_WHITESPACE) - string(REGEX REPLACE ^.* - RPMBUILD_EXECUTABLE_VERSION - ${_TMP_VERSION}) - if(CPACK_RPM_PACKAGE_DEBUG) -message(CPackRPM:Debug: rpmbuild version is ${RPMBUILD_EXECUTABLE_VERSION}) - endif() -endif() - -if(NOT RPMBUILD_EXECUTABLE) - message(FATAL_ERROR RPM package requires rpmbuild executable) -endif() - -# Display lsb_release output if DEBUG mode enable -# This will help to diagnose problem with CPackRPM -# because we will know on which kind of Linux we are -if(CPACK_RPM_PACKAGE_DEBUG) - find_program(LSB_RELEASE_EXECUTABLE lsb_release) - if(LSB_RELEASE_EXECUTABLE) -execute_process(COMMAND ${LSB_RELEASE_EXECUTABLE} -a -OUTPUT_VARIABLE _TMP_LSB_RELEASE_OUTPUT +function(cpack_rpm_generate_package) + # rpmbuild is the basic command for building RPM package + # it may be a simple (symbolic) link to rpm command. + find_program(RPMBUILD_EXECUTABLE rpmbuild) + + # Check version of the rpmbuild tool this would be easier to + # track bugs with users and CPackRPM debug mode. + # We may use RPM version in order to check for available version dependent features + if(RPMBUILD_EXECUTABLE) +execute_process(COMMAND ${RPMBUILD_EXECUTABLE} --version +OUTPUT_VARIABLE _TMP_VERSION ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) -string(REGEX REPLACE \n , - LSB_RELEASE_OUTPUT - ${_TMP_LSB_RELEASE_OUTPUT}) - else () -set(LSB_RELEASE_OUTPUT lsb_release not installed/found!) +string(REGEX REPLACE ^.* + RPMBUILD_EXECUTABLE_VERSION + ${_TMP_VERSION}) +if(CPACK_RPM_PACKAGE_DEBUG) + message(CPackRPM:Debug: rpmbuild version is ${RPMBUILD_EXECUTABLE_VERSION}) +endif() endif() - message(CPackRPM:Debug: LSB_RELEASE = ${LSB_RELEASE_OUTPUT}) -endif() - -# We may use RPM version in the future in order -# to shut down warning about space in buildtree -# some recent RPM version should support space in different places. -# not checked [yet]. -if(CPACK_TOPLEVEL_DIRECTORY MATCHES .* .*) - message(FATAL_ERROR ${RPMBUILD_EXECUTABLE} can't handle paths with spaces, use a build directory without spaces for building RPMs
[Cmake-commits] CMake branch, next, updated. v3.2.1-1294-g8114ac4
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 8114ac4c960dfb5d7174d9323bb0cb070f5e8175 (commit) via b10b0ba74709abea8532a4aa67ecc56a1d277e0c (commit) via 025b37c0d41b1af9e30aabb2046747da6671e0ec (commit) from 1d001d0d25b0445bb8a78e8b0f5671f201229a2c (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=8114ac4c960dfb5d7174d9323bb0cb070f5e8175 commit 8114ac4c960dfb5d7174d9323bb0cb070f5e8175 Merge: 1d001d0 b10b0ba Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Mon Mar 30 18:06:28 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Mar 30 18:06:28 2015 -0400 Merge topic 'cpack-rpm-basic-symlink-handling' into next b10b0ba7 fixup! CPack/RPM limit symlink tests 025b37c0 CPack/RPM basic symlink support http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b10b0ba74709abea8532a4aa67ecc56a1d277e0c commit b10b0ba74709abea8532a4aa67ecc56a1d277e0c Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Mon Mar 30 23:50:43 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Mon Mar 30 23:51:11 2015 +0200 fixup! CPack/RPM limit symlink tests Symlinks are now only added to package if RPM package generator is tested. diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index f2df4af..5944d08 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -991,6 +991,7 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release ${build_generator_args} --build-project CPackComponentsForAll --build-options ${build_options} + -DCPACK_GENERATOR:STRING=${CPackGen} -DCPACK_BINARY_${CPackGen}:BOOL=ON ${CPackRun_CPackComponentWay} ${CPackComponentsForAll_BUILD_OPTIONS} diff --git a/Tests/CPackComponentsForAll/CMakeLists.txt b/Tests/CPackComponentsForAll/CMakeLists.txt index b172f83..1cc34b0 100644 --- a/Tests/CPackComponentsForAll/CMakeLists.txt +++ b/Tests/CPackComponentsForAll/CMakeLists.txt @@ -49,41 +49,43 @@ install(FILES mylib.h DESTINATION include COMPONENT headers) -# Package symbolic links -install(DIRECTORY DESTINATION ${CMAKE_INSTALL_LIBDIR}/inside_relocatable_one/depth_two/depth_three COMPONENT libraries) -install(DIRECTORY DESTINATION ${CMAKE_INSTALL_LIBDIR}/inside_relocatable_two/depth_two/different_relocatable/bar COMPONENT libraries) -install(DIRECTORY DESTINATION other_relocatable/depth_two COMPONENT libraries) -install(DIRECTORY DESTINATION non_relocatable/depth_two COMPONENT libraries) -# test symbolic links to same dir -execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink depth_three symlink_samedir_path) -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/symlink_samedir_path DESTINATION ${CMAKE_INSTALL_LIBDIR}/inside_relocatable_one/depth_two COMPONENT libraries) -# test symbolic links to same dir with current dir ./ prefix -execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ./depth_three symlink_samedir_path_current_dir) -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/symlink_samedir_path_current_dir DESTINATION ${CMAKE_INSTALL_LIBDIR}/inside_relocatable_one/depth_two COMPONENT libraries) -# test symbolic links to same dir with longer relative path -execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ../../../${CMAKE_INSTALL_LIBDIR}/.././${CMAKE_INSTALL_LIBDIR}/inside_relocatable_one/./depth_two/depth_three symlink_samedir_path_longer) -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/symlink_samedir_path_longer DESTINATION ${CMAKE_INSTALL_LIBDIR}/inside_relocatable_one/depth_two COMPONENT libraries) -# test symbolic links to sub dir -execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ../../${CMAKE_INSTALL_LIBDIR}/inside_relocatable_one/depth_two/depth_three symlink_subdir_path) -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/symlink_subdir_path DESTINATION ${CMAKE_INSTALL_LIBDIR}/inside_relocatable_one COMPONENT libraries) -# test symbolic links to parent dir -execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink .././../../../${CMAKE_INSTALL_LIBDIR}/inside_relocatable_one/./depth_two symlink_parentdir_path) -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/symlink_parentdir_path DESTINATION ${CMAKE_INSTALL_LIBDIR}/inside_relocatable_one/depth_two/depth_three COMPONENT libraries) -# test symbolic link to another relocatable path -execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink .././.././../other_relocatable/./depth_two symlink_other_relocatable_path) -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/symlink_other_relocatable_path
[Cmake-commits] CMake branch, next, updated. v3.2.1-1272-g8f5703f
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 8f5703fd6de2bb597f4b0f1397aaf3356a82cf47 (commit) via 85ec2aa184259e1da15af73094bde6ecfc7026e3 (commit) from eb0b17c2f07271753f202b14a5e52d30f8f5430d (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=8f5703fd6de2bb597f4b0f1397aaf3356a82cf47 commit 8f5703fd6de2bb597f4b0f1397aaf3356a82cf47 Merge: eb0b17c 85ec2aa Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Sun Mar 29 14:58:06 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Sun Mar 29 14:58:06 2015 -0400 Merge topic 'cpack-rpm-basic-symlink-handling' into next 85ec2aa1 CPack/RPM basic symlink support http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=85ec2aa184259e1da15af73094bde6ecfc7026e3 commit 85ec2aa184259e1da15af73094bde6ecfc7026e3 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Sun Mar 29 20:55:20 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Sun Mar 29 20:55:20 2015 +0200 CPack/RPM basic symlink support RPM packages can contain symbolic links to relative paths - including support for multiple relocation paths through generation of post install relocation scripts. This is basic support with limitations described in documentation. Feature is addressing mantis bug report id 15209. diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake index 162eba7..f4c853b 100644 --- a/Modules/CPackRPM.cmake +++ b/Modules/CPackRPM.cmake @@ -4,6 +4,43 @@ # # The builtin (binary) CPack RPM generator (Unix only) # +# Packaging of symbolic links +# ^ +# +# CPackRPM supports packaging of symbolic links. +# +# :: +# +# execute_process(COMMAND ${CMAKE_COMMAND} +# -E create_symlink relative_path_location symlink_name) +# install(FILES ${CMAKE_CURRENT_BINARY_DIR}/symlink_name +# DESTINATION symlink_location COMPONENT libraries) +# +# Symbolic links will be optimized (paths will be shortened if possible) +# before being added to the package or if multiple relocation paths are +# detected, a post install symlink relocation script will be generated. +# +# Symbolic links may point to locations that are not packaged by the same +# package (either a different component or even not packaged at all) but +# those locations will be treated as if they were a part of the package +# while determining if symlink should be either created or present in a +# post install script - depending on relocation paths. +# +# Currenty there are a few limitations though: +# +# * Only symbolic links with relative path can be packaged. +# +# * For component based packaging component interdependency is not checked +# when processing symbolic links. Symbolic links pointing to content of +# a different component are treated the same way as if pointing to location +# that will not be packaged. +# +# * Symbolic links pointing to a location through one or more intermediate +# symbolic links will not be handled differently - if the intermediate +# symbolic link(s) is also on a relocatable path, relocating it during +# package installation may cause initial symbolic link to point to an +# invalid location. +# # Variables specific to CPack RPM generator # ^ # @@ -503,6 +540,301 @@ function(cpack_rpm_prepare_relocation_paths) set(TMP_RPM_PREFIXES ${TMP_RPM_PREFIXES} PARENT_SCOPE) endfunction() +function(cpack_rpm_symlink_get_relocation_prefixes LOCATION PACKAGE_PREFIXES RETURN_VARIABLE) + foreach(PKG_PREFIX IN LISTS PACKAGE_PREFIXES) +string(REGEX MATCH ^${PKG_PREFIX}/.* FOUND_ ${LOCATION}) +if(FOUND_) + list(APPEND TMP_PREFIXES ${PKG_PREFIX}) +endif() + endforeach() + + set(${RETURN_VARIABLE} ${TMP_PREFIXES} PARENT_SCOPE) +endfunction() + +function(cpack_rpm_symlink_create_relocation_script PACKAGE_PREFIXES) + list(LENGTH PACKAGE_PREFIXES LAST_INDEX) + set(SORTED_PACKAGE_PREFIXES ${PACKAGE_PREFIXES}) + list(SORT SORTED_PACKAGE_PREFIXES) + list(REVERSE SORTED_PACKAGE_PREFIXES) + math(EXPR LAST_INDEX ${LAST_INDEX}-1) + + foreach(SYMLINK_INDEX RANGE ${LAST_INDEX}) +list(GET SORTED_PACKAGE_PREFIXES ${SYMLINK_INDEX} SRC_PATH) +list(FIND PACKAGE_PREFIXES ${SRC_PATH} SYMLINK_INDEX) # reverse magic +string(LENGTH ${SRC_PATH} SRC_PATH_LEN) + +set(PARTS_CNT 0) +set(SCRIPT_PART if [ \$RPM_INSTALL_PREFIX${SYMLINK_INDEX}\ != \${SRC_PATH}\ ]; then\n) + +# both paths relocated +foreach(POINT_INDEX RANGE ${LAST_INDEX}) + list(GET
[Cmake-commits] CMake branch, next, updated. v3.2.0-rc1-576-g1c8e39c
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 1c8e39c5048031f311faac056f6f92c9663958b5 (commit) via f8512ddad6cf2648835e02d00e0327a41e0d160a (commit) via 771eca76401502032e2e70fa46d4069f63304745 (commit) from 1b59af5fd3ac3a6ced99dd70b4e319b837ee8361 (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=1c8e39c5048031f311faac056f6f92c9663958b5 commit 1c8e39c5048031f311faac056f6f92c9663958b5 Merge: 1b59af5 f8512dd Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Sat Feb 21 11:50:51 2015 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Sat Feb 21 11:50:51 2015 -0500 Merge topic 'rpm_at_in_path' into next f8512dda fixup! rpm revert at in path escaping patch 771eca76 rpm revert at in path escaping patch diff --cc Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake index 5be9d17,2597050..f06605a --- a/Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake +++ b/Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake @@@ -207,12 -204,31 +208,35 @@@ if(CPackGen MATCHES RPM endif() message(FATAL_ERROR error: '${check_file}' rpm package relocation path does not match expected value - regex '${check_file_match_expected_relocation_path}'; RPM output: '${check_file_content}'; generated spec file: '${spec_file_content}') + endif() + string(REGEX MATCH ${check_file_match_expected_architecture} check_file_match_architecture ${check_file_content}) + if (NOT check_file_match_architecture) + 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() http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f8512ddad6cf2648835e02d00e0327a41e0d160a commit f8512ddad6cf2648835e02d00e0327a41e0d160a Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Sat Feb 21 16:31:31 2015 +0100 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Sat Feb 21 16:31:31 2015 +0100 fixup! rpm revert at in path escaping patch Test for correct handling of @ symbols paths. 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 68d846f..2597050 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 @@ -205,6 +206,29 @@ if(CPackGen MATCHES RPM) message(FATAL_ERROR error: '${check_file}' rpm package relocation path does not match
[Cmake-commits] CMake branch, next, updated. v3.2.0-rc1-573-g1b59af5
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 1b59af5fd3ac3a6ced99dd70b4e319b837ee8361 (commit) via 43fab4ca319cc88f0244470adb2732ed4afef4cf (commit) from 4f657d84432683d288da022c1f13f70ec93e6591 (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=1b59af5fd3ac3a6ced99dd70b4e319b837ee8361 commit 1b59af5fd3ac3a6ced99dd70b4e319b837ee8361 Merge: 4f657d8 43fab4c Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Sat Feb 21 09:31:25 2015 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Sat Feb 21 09:31:25 2015 -0500 Merge topic 'rpm_package_architecture' into next 43fab4ca CPack/RPM: rpm package architecture http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=43fab4ca319cc88f0244470adb2732ed4afef4cf commit 43fab4ca319cc88f0244470adb2732ed4afef4cf Author: Joshua A Clayton stillcompil...@gmail.com AuthorDate: Sat Feb 21 15:28:03 2015 +0100 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Sat Feb 21 15:28:03 2015 +0100 CPack/RPM: rpm package architecture Correctly set rpm package architecture for noarch, native and foreign architectures. diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake index 7516393..6ce18bf 100644 --- a/Modules/CPackRPM.cmake +++ b/Modules/CPackRPM.cmake @@ -51,11 +51,12 @@ # * Default : CPACK_PACKAGE_VERSION # # .. variable:: CPACK_RPM_PACKAGE_ARCHITECTURE +# CPACK_RPM_component_PACKAGE_ARCHITECTURE # # The RPM package architecture. # -# * Mandatory : NO -# * Default : - +# * Mandatory : YES +# * Default : Native architecture output by uname -m # # This may be set to noarch if you know you are building a noarch package. # @@ -619,12 +620,30 @@ endif() # RPM Version from RPM Release string(REPLACE - _ CPACK_RPM_PACKAGE_VERSION ${CPACK_RPM_PACKAGE_VERSION}) -# CPACK_RPM_PACKAGE_ARCHITECTURE (optional) -if(CPACK_RPM_PACKAGE_ARCHITECTURE) - set(TMP_RPM_BUILDARCH Buildarch: ${CPACK_RPM_PACKAGE_ARCHITECTURE}) +# CPACK_RPM_PACKAGE_ARCHITECTURE (mandatory) +if(NOT CPACK_RPM_PACKAGE_ARCHITECTURE) + execute_process(COMMAND uname -m + OUTPUT_VARIABLE CPACK_RPM_PACKAGE_ARCHITECTURE + OUTPUT_STRIP_TRAILING_WHITESPACE) +else() if(CPACK_RPM_PACKAGE_DEBUG) message(CPackRPM:Debug: using user-specified build arch = ${CPACK_RPM_PACKAGE_ARCHITECTURE}) endif() +endif() + +set(_CPACK_RPM_PACKAGE_ARCHITECTURE ${CPACK_RPM_PACKAGE_ARCHITECTURE}) + +#prefer component architecture +if(CPACK_RPM_PACKAGE_COMPONENT) + if(CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_ARCHITECTURE) +set(_CPACK_RPM_PACKAGE_ARCHITECTURE ${CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_ARCHITECTURE}) +if(CPACK_RPM_PACKAGE_DEBUG) + message(CPackRPM:Debug: using component build arch = ${_CPACK_RPM_PACKAGE_ARCHITECTURE}) +endif() + endif() +endif() +if(${_CPACK_RPM_PACKAGE_ARCHITECTURE} STREQUAL noarch) + set(TMP_RPM_BUILDARCH Buildarch: ${_CPACK_RPM_PACKAGE_ARCHITECTURE}) else() set(TMP_RPM_BUILDARCH ) endif() @@ -934,7 +953,7 @@ file(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/SOURCES) file(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/SPECS) file(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/SRPMS) -#set(CPACK_RPM_FILE_NAME ${CPACK_RPM_PACKAGE_NAME}-${CPACK_RPM_PACKAGE_VERSION}-${CPACK_RPM_PACKAGE_RELEASE}-${CPACK_RPM_PACKAGE_ARCHITECTURE}.rpm) +#set(CPACK_RPM_FILE_NAME ${CPACK_RPM_PACKAGE_NAME}-${CPACK_RPM_PACKAGE_VERSION}-${CPACK_RPM_PACKAGE_RELEASE}-${_CPACK_RPM_PACKAGE_ARCHITECTURE}.rpm) set(CPACK_RPM_FILE_NAME ${CPACK_OUTPUT_FILE_NAME}) # it seems rpmbuild can't handle spaces in the path # neither escaping (as below) nor putting quotes around the path seem to help @@ -1282,6 +1301,7 @@ if(RPMBUILD_EXECUTABLE) COMMAND ${RPMBUILD_EXECUTABLE} -bb --define _topdir ${CPACK_RPM_DIRECTORY} --buildroot ${CPACK_RPM_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}${CPACK_RPM_PACKAGE_COMPONENT_PART_PATH} +--target ${_CPACK_RPM_PACKAGE_ARCHITECTURE} ${CPACK_RPM_BINARY_SPECFILE} WORKING_DIRECTORY ${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}${CPACK_RPM_PACKAGE_COMPONENT_PART_PATH} RESULT_VARIABLE CPACK_RPMBUILD_EXEC_RESULT diff --git a/Tests/CPackComponentsForAll/MyLibCPackConfig-IgnoreGroup.cmake.in b/Tests/CPackComponentsForAll/MyLibCPackConfig-IgnoreGroup.cmake.in index de0ee46..4119b8d 100644 --- a/Tests/CPackComponentsForAll/MyLibCPackConfig-IgnoreGroup.cmake.in +++ b/Tests/CPackComponentsForAll/MyLibCPackConfig-IgnoreGroup.cmake.in @@ -11,6 +11,12 @@ if(CPACK_GENERATOR MATCHES RPM
[Cmake-commits] CMake branch, next, updated. v3.2.0-rc2-769-g0770323
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 07703234998b0d9bc1adf0c3db79711ccf51f0a7 (commit) via b1cc97b31c125579f6aa84b513226966339ff787 (commit) via 3a481dc2defc6a00f135ddfbd105b26d4bc60227 (commit) from d476ca2703ac95d271d0f5834714a34e5e5dc243 (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=07703234998b0d9bc1adf0c3db79711ccf51f0a7 commit 07703234998b0d9bc1adf0c3db79711ccf51f0a7 Merge: d476ca2 b1cc97b Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Thu Feb 26 18:40:25 2015 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Thu Feb 26 18:40:25 2015 -0500 Merge topic 'fixup_rpm_relocation_paths_regression' into next b1cc97b3 fixup! CPack/RPM: multiple relocation paths 3a481dc2 fixup! CPack/RPM: multiple relocation paths http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b1cc97b31c125579f6aa84b513226966339ff787 commit b1cc97b31c125579f6aa84b513226966339ff787 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Fri Feb 27 00:36:25 2015 +0100 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Fri Feb 27 00:36:25 2015 +0100 fixup! CPack/RPM: multiple relocation paths The rest of the parent directory regression patch that adds current next branch RPM test paths and removes older package content test that is now obsoleted by the new tests from this patch. diff --git a/Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake b/Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake index 9b9ca0a..c7ec709 100644 --- a/Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake +++ b/Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake @@ -192,7 +192,11 @@ if(CPackGen MATCHES RPM) set(spec_regex *Unspecified*) set(check_content_list ^/usr/foo/bar /usr/foo/bar/bin -/usr/foo/bar/bin/mylibapp2$) +/usr/foo/bar/bin/@in@_@path@@with +/usr/foo/bar/bin/@in@_@path@@with/@and +/usr/foo/bar/bin/@in@_@path@@with/@and/@ +/usr/foo/bar/bin/@in@_@path@@with/@and/@/@in_path@ +/usr/foo/bar/bin/@in@_@path@@with/@and/@/@in_path@/mylibapp2$) else() message(FATAL_ERROR error: unexpected rpm package '${check_file}') endif() @@ -244,29 +248,5 @@ if(CPackGen MATCHES RPM) message(FATAL_ERROR error: '${check_file}' rpm package content does not match expected value - regex '${check_content_list}'; RPM output: '${check_package_content}'; generated spec file: '${spec_file_content}') endif() endforeach() - -# 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() http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3a481dc2defc6a00f135ddfbd105b26d4bc60227 commit 3a481dc2defc6a00f135ddfbd105b26d4bc60227 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Fri Feb 27 00:33:48 2015 +0100 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Fri Feb 27 00:33:48 2015 +0100 fixup! CPack/RPM: multiple relocation paths Patch for CMake 3.2.0-rc2 A regression was introduced with multiple relocation paths patch. Before the patch directories that were parents of relocation path were omitted from rpm. This patch fixes the regression and adds stricter regression tests that cover this case. diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake index cb987f8..fce8236 100644 --- a/Modules/CPackRPM.cmake +++ b/Modules/CPackRPM.cmake @@ -482,6 +482,7 @@ function(cpack_rpm_prepare_relocation_paths) endif() endforeach() + set(RPM_USED_PACKAGE_PREFIXES ${RPM_USED_PACKAGE_PREFIXES} PARENT_SCOPE) set(TMP_RPM_PREFIXES ${TMP_RPM_PREFIXES} PARENT_SCOPE) endfunction
[Cmake-commits] CMake branch, next, updated. v3.2.2-2028-g8e0ecf9
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 8e0ecf91b3d50a0e69a00db52d1d79ca91afecc4 (commit) via 815b3ed213e3c691d0ef2666c76e90c29bfa0792 (commit) via d60cf05bddcffd4f429aa57e6eef3484d0583cc7 (commit) from f7bbc99cf5ddc2754d7ff706c621c207957f903e (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=8e0ecf91b3d50a0e69a00db52d1d79ca91afecc4 commit 8e0ecf91b3d50a0e69a00db52d1d79ca91afecc4 Merge: f7bbc99 815b3ed Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Tue Apr 21 16:50:29 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Apr 21 16:50:29 2015 -0400 Merge topic 'cpack-deb-linitian-md5hash' into next 815b3ed2 CPackDEB basic package tests d60cf05b CPackDEB lintian md5sum file warning http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=815b3ed213e3c691d0ef2666c76e90c29bfa0792 commit 815b3ed213e3c691d0ef2666c76e90c29bfa0792 Author: Raffi Enficiaud raffi.enfici...@mines-paris.org AuthorDate: Tue Apr 21 22:48:37 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Tue Apr 21 22:48:37 2015 +0200 CPackDEB basic package tests Tests of generated component based deb packages with lintian and dpkg. Also includes basic file name check. diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index 699b616..f1379e6 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -1003,6 +1003,40 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release list(APPEND TEST_BUILD_DIRS ${CMake_BINARY_DIR}/Tests/CPackComponentsForAll/build${CPackGen}-${CPackComponentWay}) endforeach() endforeach() + +# debian specific +if(DPKG_EXECUTABLE) + unset(CPackRun_CPackDEBConfiguration_ALL_CONFIGS) + set(DEB_TEST_NAMES CPackComponentsDEB) + set(DEB_CONFIGURATIONS_TO_TEST components-lintian-dpkgdeb-checks) + set(CPackGen DEB) + set(CPackRun_CPackGen -DCPackGen=${CPackGen}) + + foreach(CPackDEBConfiguration IN LISTS DEB_CONFIGURATIONS_TO_TEST) +set(CPackRun_CPackDEBConfiguration -DCPackDEBConfiguration=${CPackDEBConfiguration}) +add_test(${DEB_TEST_NAMES}-${CPackDEBConfiguration} + ${CMAKE_CTEST_COMMAND} -C \${CTEST_CONFIGURATION_TYPE} + --build-and-test + ${CMake_SOURCE_DIR}/Tests/${DEB_TEST_NAMES} + ${CMake_BINARY_DIR}/Tests/${DEB_TEST_NAMES}/build${CPackGen}-${CPackDEBConfiguration} + ${build_generator_args} + --build-project CPackComponentsDEB + --build-options ${build_options} + -DCPACK_GENERATOR:STRING=${CPackGen} + -DCPACK_BINARY_${CPackGen}:BOOL=ON + ${CPackRun_CPackDEBConfiguration} + ${CPackRun_CPackDEBConfiguration_ALL_CONFIGS} + --graphviz=${DEB_TEST_NAMES}.dot + --test-command ${CMAKE_CMAKE_COMMAND} + -D${DEB_TEST_NAMES}_SOURCE_DIR:PATH=${CMake_SOURCE_DIR}/Tests/${DEB_TEST_NAMES} + -D${DEB_TEST_NAMES}_BINARY_DIR:PATH=${CMake_BINARY_DIR}/Tests/${DEB_TEST_NAMES}/build${CPackGen}-${CPackDEBConfiguration} + ${CPackRun_CPackGen} + ${CPackRun_CPackDEBConfiguration} + -P ${CMake_SOURCE_DIR}/Tests/${DEB_TEST_NAMES}/RunCPackVerifyResult-${CPackDEBConfiguration}.cmake) + list(APPEND TEST_BUILD_DIRS ${CMake_BINARY_DIR}/Tests/${DEB_TEST_NAMES}/build${CPackGen}-${CPackDEBConfiguration}) + endforeach() +endif() + endif() # By default, turn this test off (because it takes a long time...) diff --git a/Tests/CPackComponentsDEB/CMakeLists.txt b/Tests/CPackComponentsDEB/CMakeLists.txt new file mode 100644 index 000..5c4eeab --- /dev/null +++ b/Tests/CPackComponentsDEB/CMakeLists.txt @@ -0,0 +1,98 @@ +# CPack Example: User-selectable Installation Components +# +# In this example, we have a simple library (mylib) with an example +# application (mylibapp). We create a binary installer (a CPack Generator) +# which supports CPack components. + +cmake_minimum_required(VERSION 2.8.3.20101130 FATAL_ERROR) +project(CPackComponentsDEB) + +# Use GNUInstallDirs in order to enforce lib64 if needed +include(GNUInstallDirs) + +# Create the mylib library +add_library(mylib mylib.cpp) + +# Create the mylibapp application +add_executable(mylibapp mylibapp.cpp) +target_link_libraries(mylibapp mylib) + +# Duplicate of mylibapp application +# which won't be put in any component (?mistake?) +add_executable(mylibapp2 mylibapp.cpp) +target_link_libraries(mylibapp2 mylib) + +# Create installation
[Cmake-commits] CMake branch, next, updated. v3.2.2-2057-g819b17e
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 819b17ec45295da21f082efcaf311d7300f8f1e6 (commit) via a2d36e37bf3f7a9f8f05c60ac174a1e885d996f4 (commit) from 26af9079f9c8e5a323157963077f9928c89b95ff (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=819b17ec45295da21f082efcaf311d7300f8f1e6 commit 819b17ec45295da21f082efcaf311d7300f8f1e6 Merge: 26af907 a2d36e3 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Wed Apr 22 15:10:31 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Wed Apr 22 15:10:31 2015 -0400 Merge topic 'cpack-deb-linitian-md5hash' into next a2d36e37 fixup! CPackDEB basic package tests http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a2d36e37bf3f7a9f8f05c60ac174a1e885d996f4 commit a2d36e37bf3f7a9f8f05c60ac174a1e885d996f4 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Wed Apr 22 21:03:47 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Wed Apr 22 21:03:47 2015 +0200 fixup! CPackDEB basic package tests Skipt test when lintian and/or dpkg-deb executables are not found. diff --git a/Tests/CPackComponentsDEB/RunCPackVerifyResult-components-lintian-dpkgdeb-checks.cmake b/Tests/CPackComponentsDEB/RunCPackVerifyResult-components-lintian-dpkgdeb-checks.cmake index d1c35bb..5460b1a 100644 --- a/Tests/CPackComponentsDEB/RunCPackVerifyResult-components-lintian-dpkgdeb-checks.cmake +++ b/Tests/CPackComponentsDEB/RunCPackVerifyResult-components-lintian-dpkgdeb-checks.cmake @@ -17,54 +17,62 @@ run_cpack(actual_output CONFIG_ARGS ${config_args} CONFIG_VERBOSE ${config_verbose}) -message(STATUS expected_count='${expected_count}') -message(STATUS expected_file_mask='${expected_file_mask}') -message(STATUS actual_output_files='${actual_output}') - if(NOT actual_output) + message(STATUS expected_count='${expected_count}') + message(STATUS expected_file_mask='${expected_file_mask}') + message(STATUS actual_output_files='${actual_output}') message(FATAL_ERROR error: expected_files do not exist: CPackComponentsDEB test fails. (CPack_output=${CPack_output}, CPack_error=${CPack_error}) endif() list(LENGTH actual_output actual_count) -message(STATUS actual_count='${actual_count}') if(NOT actual_count EQUAL expected_count) + message(STATUS actual_count='${actual_count}') message(FATAL_ERROR error: expected_count=${expected_count} does not match actual_count=${actual_count}: CPackComponents test fails. (CPack_output=${CPack_output}, CPack_error=${CPack_error})) endif() # lintian checks -set(lintian_output_errors_all ) -foreach(_f IN LISTS actual_output) - set(STRINGS_TO_AVOID E:([^\r\n]*)control-file-has-bad-permissions) - lintian_check_specific_errors(lintian_output_errors -FILENAME ${_f} -ERROR_REGEX_STRINGS ${STRINGS_TO_AVOID}) - - set(lintian_output_errors_all ${lintian_output_errors_all}${lintian_output_errors}) -endforeach() -if(NOT ${lintian_output_errors_all} STREQUAL ) - message(FATAL_ERROR Lintian checks failed:\n${lintian_output_errors_all}) +find_program(LINTIAN_EXECUTABLE lintian) +if(LINTIAN_EXECUTABLE) + set(lintian_output_errors_all ) + foreach(_f IN LISTS actual_output) +set(STRINGS_TO_AVOID E:([^\r\n]*)control-file-has-bad-permissions) +lintian_check_specific_errors(lintian_output_errors + FILENAME ${_f} + ERROR_REGEX_STRINGS ${STRINGS_TO_AVOID}) + +set(lintian_output_errors_all ${lintian_output_errors_all}${lintian_output_errors}) + endforeach() + + if(NOT ${lintian_output_errors_all} STREQUAL ) +message(FATAL_ERROR Lintian checks failed:\n${lintian_output_errors_all}) + endif() +else() + message(lintian executable not found - skipping lintian test) endif() - # dpkg-deb checks -set(dpkgdeb_output_errors_all ) -foreach(_f IN LISTS actual_output) - run_dpkgdeb(dpkg_output - FILENAME ${_f} - ) - - dpkgdeb_return_specific_metaentry(dpkgentry -DPKGDEB_OUTPUT ${dpkg_output} -METAENTRY Maintainer:) - - if(NOT ${dpkgentry} STREQUAL None) -set(dpkgdeb_output_errors_all ${dpkgdeb_output_errors_all} -dpkg-deb: ${_f}: Incorrect value for Maintainer: ${dpkgentry} != None\n) +find_program(DPKGDEB_EXECUTABLE dpkg-deb) +if(DPKGDEB_EXECUTABLE) + set(dpkgdeb_output_errors_all ) + foreach(_f IN LISTS actual_output) +run_dpkgdeb(dpkg_output +FILENAME ${_f
[Cmake-commits] CMake branch, next, updated. v3.2.2-1942-gfce1705
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 fce1705922137efa9bf3ab5b6dc68ee5c1420cf8 (commit) via 76080c32e167b2eadf4305fb3af56ba1c7503c44 (commit) via 152e9b3250d2b75d91b1058e01dfc4b46bb486cd (commit) via 4c00a372893e4aa8aa4a5a66573175af9122b508 (commit) from c753650a464694b3e11f6bd59bf63dbd6fb2f4de (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=fce1705922137efa9bf3ab5b6dc68ee5c1420cf8 commit fce1705922137efa9bf3ab5b6dc68ee5c1420cf8 Merge: c753650 76080c3 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Sun Apr 19 12:25:55 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Sun Apr 19 12:25:55 2015 -0400 Merge topic 'cpack-rpm-refactored-file-listing' into next 76080c32 CPackRPM content listing refactor 152e9b32 CPackRPM package content list code move 4c00a372 CMake Nightly Date Stamp http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=76080c32e167b2eadf4305fb3af56ba1c7503c44 commit 76080c32e167b2eadf4305fb3af56ba1c7503c44 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Sun Apr 19 18:22:18 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Sun Apr 19 18:22:18 2015 +0200 CPackRPM content listing refactor Refactoring of content list that removes use of find and sed to make listing algorithm more clear and remove external dependencies. Patch also limits man pages handling to locations listed in brp-compress rpm script by default - fixes bug report #14660. diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake index c283d23..fdba90e 100644 --- a/Modules/CPackRPM.cmake +++ b/Modules/CPackRPM.cmake @@ -419,6 +419,33 @@ # May be used to remove CPACK_PACKAGING_INSTALL_PREFIX and CPACK_RPM_COMPONENT_PACKAGE_PREFIX # from relocatable RPM prefix paths. # +# .. variable:: CPACK_RPM_ADDITIONAL_MAN_DIRS +# +# * Mandatory : NO +# * Default : - +# +# May be used to set additional man dirs that could potentially be compressed +# by brp-compress RPM macro. Variable content must be a list of regular +# expressions that point to directories containing man files or to man files +# directly. Note that in order to compress man pages a path must also be +# present in brp-compress RPM script and that brp-compress script must be +# added to RPM configuration by the operating system. +# +# Regular expressions that are added by default were taken from brp-compress +# RPM macro: +# +# - /usr/man/man.* +# - /usr/man/.*/man.* +# - /usr/info.* +# - /usr/share/man/man.* +# - /usr/share/man/.*/man.* +# - /usr/share/info.* +# - /usr/kerberos/man.* +# - /usr/X11R6/man/man.* +# - /usr/lib/perl5/man/man.* +# - /usr/share/doc/.*/man/man.* +# - /usr/lib/.*/man/man.* +# # Packaging of Symbolic Links # ^^^ # @@ -539,6 +566,14 @@ function(cpack_rpm_prepare_relocation_paths) endfunction() function(cpack_rpm_prepare_content_list) + # get files list + cmake_policy(PUSH) +cmake_policy(SET CMP0009 NEW) +file(GLOB_RECURSE CPACK_RPM_INSTALL_FILES LIST_DIRECTORIES true RELATIVE ${WDIR} ${WDIR}/*) + cmake_policy(POP) + set(CPACK_RPM_INSTALL_FILES /${CPACK_RPM_INSTALL_FILES}) + string(REPLACE ; ;/ CPACK_RPM_INSTALL_FILES ${CPACK_RPM_INSTALL_FILES}) + # if we are creating a relocatable package, omit parent directories of # CPACK_RPM_PACKAGE_PREFIX. This is achieved by building a filter list # which is passed to the find command that generates the content-list @@ -547,26 +582,21 @@ function(cpack_rpm_prepare_content_list) # destinct parent paths of other relocation paths and remove the # final element (so the install-prefix dir itself is not omitted # from the RPM's content-list) -set(SORTED_RPM_USED_PACKAGE_PREFIXES ${RPM_USED_PACKAGE_PREFIXES}) -list(SORT SORTED_RPM_USED_PACKAGE_PREFIXES) +list(SORT RPM_USED_PACKAGE_PREFIXES) set(_DISTINCT_PATH NOT_SET) -foreach(_RPM_RELOCATION_PREFIX ${SORTED_RPM_USED_PACKAGE_PREFIXES}) +foreach(_RPM_RELOCATION_PREFIX ${RPM_USED_PACKAGE_PREFIXES}) if(NOT ${_RPM_RELOCATION_PREFIX} MATCHES ${_DISTINCT_PATH}/.*) set(_DISTINCT_PATH ${_RPM_RELOCATION_PREFIX}) -string(REPLACE / ; _CPACK_RPM_PACKAGE_PREFIX_ELEMS .${_RPM_RELOCATION_PREFIX}) +string(REPLACE / ; _CPACK_RPM_PACKAGE_PREFIX_ELEMS ${_RPM_RELOCATION_PREFIX}) list(REMOVE_AT _CPACK_RPM_PACKAGE_PREFIX_ELEMS -1) unset(_TMP_LIST) # Now generate all of the parent dirs of the relocation path foreach(_PREFIX_PATH_ELEM
[Cmake-commits] CMake branch, next, updated. v3.2.2-1964-g287945c
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 287945cf3b310b298b8cfe140af94eb86c913a73 (commit) via 268e008c1c448fd3652c0cf196437ede85c37880 (commit) from c45456ba932b319cff57d24d69a17d5b18293eef (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=287945cf3b310b298b8cfe140af94eb86c913a73 commit 287945cf3b310b298b8cfe140af94eb86c913a73 Merge: c45456b 268e008 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Mon Apr 20 14:50:36 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Apr 20 14:50:36 2015 -0400 Merge topic 'cpack-deb-component-vars-prepare' into next 268e008c CPackDEB: component vars prepare http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=268e008c1c448fd3652c0cf196437ede85c37880 commit 268e008c1c448fd3652c0cf196437ede85c37880 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Mon Apr 20 20:48:24 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Mon Apr 20 20:48:24 2015 +0200 CPackDEB: component vars prepare Preparation for per component variables. Patch makes sure we know which variables will be set for per component generator and also prevents accidental overflows of variable values between components. diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index 8a4fa49..f248a67 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -223,233 +223,260 @@ if(NOT UNIX) message(FATAL_ERROR CPackDeb.cmake may only be used under UNIX.) endif() -# CPACK_DEBIAN_PACKAGE_SHLIBDEPS -# If specify OFF, only user depends are used -if(NOT DEFINED CPACK_DEBIAN_PACKAGE_SHLIBDEPS) - set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS OFF) -endif() +function(cpack_deb_prepare_package_vars) + # CPACK_DEBIAN_PACKAGE_SHLIBDEPS + # If specify OFF, only user depends are used + if(NOT DEFINED CPACK_DEBIAN_PACKAGE_SHLIBDEPS) +set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS OFF) + endif() -find_program(FAKEROOT_EXECUTABLE fakeroot) -if(FAKEROOT_EXECUTABLE) - set(CPACK_DEBIAN_FAKEROOT_EXECUTABLE ${FAKEROOT_EXECUTABLE}) -endif() + find_program(FAKEROOT_EXECUTABLE fakeroot) + if(FAKEROOT_EXECUTABLE) +set(CPACK_DEBIAN_FAKEROOT_EXECUTABLE ${FAKEROOT_EXECUTABLE}) + endif() -if(CPACK_DEBIAN_PACKAGE_SHLIBDEPS) - # dpkg-shlibdeps is a Debian utility for generating dependency list - find_program(SHLIBDEPS_EXECUTABLE dpkg-shlibdeps) - - # Check version of the dpkg-shlibdeps tool using CPackRPM method - if(SHLIBDEPS_EXECUTABLE) -execute_process(COMMAND env LC_ALL=C ${SHLIBDEPS_EXECUTABLE} --version - OUTPUT_VARIABLE _TMP_VERSION - ERROR_QUIET - OUTPUT_STRIP_TRAILING_WHITESPACE) -string(REGEX MATCH dpkg-shlibdeps version ([0-9]+\\.[0-9]+\\.[0-9]+) - SHLIBDEPS_EXECUTABLE_VERSION - ${_TMP_VERSION}) -set(SHLIBDEPS_EXECUTABLE_VERSION ${CMAKE_MATCH_1}) -if(CPACK_DEBIAN_PACKAGE_DEBUG) - message( CPackDeb Debug: dpkg-shlibdeps version is ${SHLIBDEPS_EXECUTABLE_VERSION}) -endif() + if(CPACK_DEBIAN_PACKAGE_SHLIBDEPS) +# dpkg-shlibdeps is a Debian utility for generating dependency list +find_program(SHLIBDEPS_EXECUTABLE dpkg-shlibdeps) + +# Check version of the dpkg-shlibdeps tool using CPackRPM method +if(SHLIBDEPS_EXECUTABLE) + execute_process(COMMAND env LC_ALL=C ${SHLIBDEPS_EXECUTABLE} --version +OUTPUT_VARIABLE _TMP_VERSION +ERROR_QUIET +OUTPUT_STRIP_TRAILING_WHITESPACE) + string(REGEX MATCH dpkg-shlibdeps version ([0-9]+\\.[0-9]+\\.[0-9]+) +SHLIBDEPS_EXECUTABLE_VERSION +${_TMP_VERSION}) + set(SHLIBDEPS_EXECUTABLE_VERSION ${CMAKE_MATCH_1}) + if(CPACK_DEBIAN_PACKAGE_DEBUG) +message( CPackDeb Debug: dpkg-shlibdeps version is ${SHLIBDEPS_EXECUTABLE_VERSION}) + endif() -# Generating binary list - Get type of all install files -execute_process(COMMAND find -type f - COMMAND xargs file - WORKING_DIRECTORY ${CPACK_TEMPORARY_DIRECTORY} - OUTPUT_VARIABLE CPACK_DEB_INSTALL_FILES) - -# Convert to CMake list -string(REPLACE \n ; CPACK_DEB_INSTALL_FILES ${CPACK_DEB_INSTALL_FILES}) - -# Only dynamically linked ELF files are included -# Extract only file name infront of : -foreach ( _FILE ${CPACK_DEB_INSTALL_FILES}) - if ( ${_FILE} MATCHES ELF.*dynamically linked) - string(REGEX MATCH (^.*): _FILE_NAME ${_FILE}) - list(APPEND CPACK_DEB_BINARY_FILES ${CMAKE_MATCH_1}) + # Generating binary list - Get type of all install files + execute_process(COMMAND find -type f +COMMAND xargs file
[Cmake-commits] CMake branch, next, updated. v3.2.2-2299-g4fdef67
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 4fdef672f87ec5ca581adc5c39a0fe8f2f8b5760 (commit) via 2f0afffabdabab1e6a6c067cdf2262437ff14842 (commit) from 33c8f183e57d5f98c1862fba269bdddf8b01e3c9 (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=4fdef672f87ec5ca581adc5c39a0fe8f2f8b5760 commit 4fdef672f87ec5ca581adc5c39a0fe8f2f8b5760 Merge: 33c8f18 2f0afff Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Wed Apr 29 12:07:13 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Wed Apr 29 12:07:13 2015 -0400 Merge topic 'cpack-deb-component-description' into next 2f0afffa CPackDEB component description http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2f0afffabdabab1e6a6c067cdf2262437ff14842 commit 2f0afffabdabab1e6a6c067cdf2262437ff14842 Author: Raffi Enficiaud raffi.enfici...@mines-paris.org AuthorDate: Wed Apr 29 18:05:36 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Wed Apr 29 18:05:36 2015 +0200 CPackDEB component description Support for setting different description for each component. diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index f248a67..24452a6 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -15,9 +15,15 @@ # the build system. # # CPackDeb has specific features which are controlled by the specifics -# CPACK_DEBIAN_XXX variables.You'll find a detailed usage on the wiki: -# http://www.cmake.org/Wiki/CMake:CPackPackageGenerators#DEB_.28UNIX_only.29 +# :code:`CPACK_DEBIAN_XXX` variables. # +# :code:`CPACK_DEBIAN_COMPONENT_` variables may be used in order to have +# **component** specific values. Note however that COMPONENT refers to the +# **grouping name** written in upper case. It may be either a component name or +# a component GROUP name. +# +# You'll find a detailed usage on the wiki: +# http://www.cmake.org/Wiki/CMake:CPackPackageGenerators#DEB_.28UNIX_only.29 . # However as a handy reminder here comes the list of specific variables: # # .. variable:: CPACK_DEBIAN_PACKAGE_NAME @@ -56,11 +62,15 @@ # The debian package maintainer # # .. variable:: CPACK_DEBIAN_PACKAGE_DESCRIPTION +# CPACK_COMPONENT_COMPONENT_DESCRIPTION +# +# The debian package description # # * Mandatory : YES -# * Default : CPACK_PACKAGE_DESCRIPTION_SUMMARY +# * Default : # -# The debian package description +#- :variable:`CPACK_DEBIAN_PACKAGE_DESCRIPTION` if set or +#- :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY` # # .. variable:: CPACK_DEBIAN_PACKAGE_SECTION # @@ -379,11 +389,26 @@ function(cpack_deb_prepare_package_vars) endif() # Description: (mandatory) - if(NOT CPACK_DEBIAN_PACKAGE_DESCRIPTION) -if(NOT CPACK_PACKAGE_DESCRIPTION_SUMMARY) - message(FATAL_ERROR CPackDeb: Debian package requires a summary for a package, set CPACK_PACKAGE_DESCRIPTION_SUMMARY or CPACK_DEBIAN_PACKAGE_DESCRIPTION) + if(NOT CPACK_DEB_PACKAGE_COMPONENT) +if(NOT CPACK_DEBIAN_PACKAGE_DESCRIPTION) + if(NOT CPACK_PACKAGE_DESCRIPTION_SUMMARY) +message(FATAL_ERROR CPackDeb: Debian package requires a summary for a package, set CPACK_PACKAGE_DESCRIPTION_SUMMARY or CPACK_DEBIAN_PACKAGE_DESCRIPTION) + endif() + 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 +if(${component_description_var}) + set(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${${component_description_var}}) +elseif(NOT CPACK_DEBIAN_PACKAGE_DESCRIPTION) + if(NOT CPACK_PACKAGE_DESCRIPTION_SUMMARY) +message(FATAL_ERROR CPackDeb: Debian package requires a summary for a package, set CPACK_PACKAGE_DESCRIPTION_SUMMARY or CPACK_DEBIAN_PACKAGE_DESCRIPTION or ${component_description_var}) + endif() + set(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION_SUMMARY}) endif() -set(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION_SUMMARY}) endif() # Section: (recommended) diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index 32beffa..07545ae 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -1008,7 +1008,9 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release if(DPKG_EXECUTABLE) unset(CPackRun_CPackDEBConfiguration_ALL_CONFIGS) set(DEB_TEST_NAMES
[Cmake-commits] CMake branch, next, updated. v3.2.2-2418-g656579f
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 656579f48975716f16aff00772be4d2ef96a9741 (commit) via 04f4284837abbcb346ae619dff1b2da3975ea875 (commit) via 22a707e861adb1c771d2c12aacdbaf1b8d3b86ec (commit) from 6c49c290da32c1ff7f66ad84ca723ca0bcfe6217 (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=656579f48975716f16aff00772be4d2ef96a9741 commit 656579f48975716f16aff00772be4d2ef96a9741 Merge: 6c49c29 04f4284 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Sat May 2 16:17:48 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Sat May 2 16:17:48 2015 -0400 Merge topic 'cpack-deb-component-auto-discovery' into next 04f42848 CPack/DEB component dependency auto-discovery 22a707e8 CMake Nightly Date Stamp http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=04f4284837abbcb346ae619dff1b2da3975ea875 commit 04f4284837abbcb346ae619dff1b2da3975ea875 Author: Raffi Enficiaud raffi.enfici...@mines-paris.org AuthorDate: Sat May 2 22:14:57 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Sat May 2 22:14:57 2015 +0200 CPack/DEB component dependency auto-discovery Dependency auto-discovery can now be set per component diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index 24452a6..69bb302 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -103,16 +103,23 @@ # characters such as . # # .. variable:: CPACK_DEBIAN_PACKAGE_SHLIBDEPS -# -# * Mandatory : NO -# * Default : OFF +# CPACK_DEBIAN_COMPONENT_PACKAGE_SHLIBDEPS # # May be set to ON in order to use dpkg-shlibdeps to generate # better package dependency list. -# You may need set CMAKE_INSTALL_RPATH toi appropriate value -# if you use this feature, because if you don't dpkg-shlibdeps -# may fail to find your own shared libs. -# See http://www.cmake.org/Wiki/CMake_RPATH_handling. +# +# * Mandatory : NO +# * Default : +# +#- :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` if set or +#- OFF +# +# .. note:: +# +#You may need set :variable:`CMAKE_INSTALL_RPATH` to an appropriate value +#if you use this feature, because if you don't :code:`dpkg-shlibdeps` +#may fail to find your own shared libs. +#See http://www.cmake.org/Wiki/CMake_RPATH_handling. # # .. variable:: CPACK_DEBIAN_PACKAGE_DEBUG # @@ -245,6 +252,21 @@ function(cpack_deb_prepare_package_vars) set(CPACK_DEBIAN_FAKEROOT_EXECUTABLE ${FAKEROOT_EXECUTABLE}) endif() + # per component automatic discover: some of the component might not have + # binaries. + if(CPACK_DEB_PACKAGE_COMPONENT) +string(TOUPPER ${CPACK_DEB_PACKAGE_COMPONENT} _local_component_name) +set(_component_shlibdeps_var CPACK_DEBIAN_${_local_component_name}_PACKAGE_SHLIBDEPS) + +# if set, overrides the global configuration +if(DEFINED ${_component_shlibdeps_var}) + set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ${${_component_shlibdeps_var}}) + if(CPACK_DEBIAN_PACKAGE_DEBUG) +message(CPackDeb Debug: component '${CPACK_DEB_PACKAGE_COMPONENT}' dpkg-shlibdeps set to ${CPACK_DEBIAN_PACKAGE_SHLIBDEPS}) + endif() +endif() + endif() + if(CPACK_DEBIAN_PACKAGE_SHLIBDEPS) # dpkg-shlibdeps is a Debian utility for generating dependency list find_program(SHLIBDEPS_EXECUTABLE dpkg-shlibdeps) diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index 07545ae..35326a5 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -1010,7 +1010,8 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release set(DEB_TEST_NAMES CPackComponentsDEB) set(DEB_CONFIGURATIONS_TO_TEST components-lintian-dpkgdeb-checks components-description1 - components-description2) + components-description2 + components-shlibdeps1) set(CPackGen DEB) set(CPackRun_CPackGen -DCPackGen=${CPackGen}) diff --git a/Tests/CPackComponentsDEB/MyLibCPackConfig-components-shlibdeps1.cmake.in b/Tests/CPackComponentsDEB/MyLibCPackConfig-components-shlibdeps1.cmake.in new file mode 100644 index 000..cfe6df5 --- /dev/null +++ b/Tests/CPackComponentsDEB/MyLibCPackConfig-components-shlibdeps1.cmake.in @@ -0,0 +1,24 @@ +# +# Activate component packaging +# + +if(CPACK_GENERATOR MATCHES DEB) + set(CPACK_DEB_COMPONENT_INSTALL ON) +endif() + +# +# Choose grouping way +# +#set(CPACK_COMPONENTS_ALL_GROUPS_IN_ONE_PACKAGE) +#set(CPACK_COMPONENTS_GROUPING) +set
[Cmake-commits] CMake branch, next, updated. v3.2.2-2459-gebcfc6f
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 ebcfc6f5e941872f18addf2d7d8f8e9f825a8f15 (commit) via 94f5fc39185102389f719d703906f08c1015c2f7 (commit) from 7629a8ccab28ee6d6a60e5fb8c89d1e2eb8fc024 (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=ebcfc6f5e941872f18addf2d7d8f8e9f825a8f15 commit ebcfc6f5e941872f18addf2d7d8f8e9f825a8f15 Merge: 7629a8c 94f5fc3 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Sun May 3 17:51:50 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Sun May 3 17:51:50 2015 -0400 Merge topic 'cpack-deb-component-auto-discovery' into next 94f5fc39 fixup! CPack/DEB component dependency auto-discovery http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=94f5fc39185102389f719d703906f08c1015c2f7 commit 94f5fc39185102389f719d703906f08c1015c2f7 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Sun May 3 23:49:14 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Sun May 3 23:49:14 2015 +0200 fixup! CPack/DEB component dependency auto-discovery Attempt at fixing dependency auto detection for older versions of dpkg-shlibdeps diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index 69bb302..7fce49b 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -271,18 +271,20 @@ function(cpack_deb_prepare_package_vars) # dpkg-shlibdeps is a Debian utility for generating dependency list find_program(SHLIBDEPS_EXECUTABLE dpkg-shlibdeps) -# Check version of the dpkg-shlibdeps tool using CPackRPM method if(SHLIBDEPS_EXECUTABLE) + # Check version of the dpkg-shlibdeps tool using CPackRPM method execute_process(COMMAND env LC_ALL=C ${SHLIBDEPS_EXECUTABLE} --version OUTPUT_VARIABLE _TMP_VERSION ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) string(REGEX MATCH dpkg-shlibdeps version ([0-9]+\\.[0-9]+\\.[0-9]+) SHLIBDEPS_EXECUTABLE_VERSION -${_TMP_VERSION}) +${_TMP_VERSION}) set(SHLIBDEPS_EXECUTABLE_VERSION ${CMAKE_MATCH_1}) + if(CPACK_DEBIAN_PACKAGE_DEBUG) -message( CPackDeb Debug: dpkg-shlibdeps version is ${SHLIBDEPS_EXECUTABLE_VERSION}) +message(CPackDeb Debug: dpkg-shlibdeps --version output is '${_TMP_VERSION}') +message(CPackDeb Debug: dpkg-shlibdeps version is ${SHLIBDEPS_EXECUTABLE_VERSION}) endif() # Generating binary list - Get type of all install files @@ -292,14 +294,14 @@ function(cpack_deb_prepare_package_vars) OUTPUT_VARIABLE CPACK_DEB_INSTALL_FILES) # Convert to CMake list - string(REPLACE \n ; CPACK_DEB_INSTALL_FILES ${CPACK_DEB_INSTALL_FILES}) + string(REPLACE \n ; CPACK_DEB_INSTALL_FILES ${CPACK_DEB_INSTALL_FILES}) # Only dynamically linked ELF files are included # Extract only file name infront of : - foreach ( _FILE ${CPACK_DEB_INSTALL_FILES}) -if ( ${_FILE} MATCHES ELF.*dynamically linked) - string(REGEX MATCH (^.*): _FILE_NAME ${_FILE}) - list(APPEND CPACK_DEB_BINARY_FILES ${CMAKE_MATCH_1}) + foreach( _FILE ${CPACK_DEB_INSTALL_FILES}) +if( ${_FILE} MATCHES ELF.*dynamically linked) + string(REGEX MATCH (^.*): _FILE_NAME ${_FILE}) + list(APPEND CPACK_DEB_BINARY_FILES ${CMAKE_MATCH_1}) endif() endforeach() @@ -311,10 +313,16 @@ function(cpack_deb_prepare_package_vars) file(MAKE_DIRECTORY ${CPACK_TEMPORARY_DIRECTORY}/debian) file(WRITE ${CPACK_TEMPORARY_DIRECTORY}/debian/control ) + # only set ignore-missing-info flag for dpkg-shlibdeps that have --version option + # (those are newer and also have --ignore-missing-info flag) + if(SHLIBDEPS_EXECUTABLE_VERSION) +set(IGNORE_MISSING_INFO_FLAG --ignore-missing-info) + endif() + # Execute dpkg-shlibdeps # --ignore-missing-info : allow dpkg-shlibdeps to run even if some libs do not belong to a package # -O : print to STDOUT - execute_process(COMMAND ${SHLIBDEPS_EXECUTABLE} --ignore-missing-info -O ${CPACK_DEB_BINARY_FILES} + execute_process(COMMAND ${SHLIBDEPS_EXECUTABLE} ${IGNORE_MISSING_INFO_FLAG} -O ${CPACK_DEB_BINARY_FILES} WORKING_DIRECTORY ${CPACK_TEMPORARY_DIRECTORY} OUTPUT_VARIABLE SHLIBDEPS_OUTPUT RESULT_VARIABLE SHLIBDEPS_RESULT @@ -324,12 +332,12 @@ function(cpack_deb_prepare_package_vars) # dpkg-shlibdeps will throw some warnings if some input files are not binary message( CPackDeb Debug: dpkg-shlibdeps
[Cmake-commits] CMake branch, next, updated. v3.2.2-2502-g935bc37
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 935bc37896af130b31b064df495171411a9d3f0a (commit) via f94263a8301ac06e154996c849d3090e3c123b39 (commit) from a4a12f9c4675d2e9145d0311331c06097b4c824b (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=935bc37896af130b31b064df495171411a9d3f0a commit 935bc37896af130b31b064df495171411a9d3f0a Merge: a4a12f9 f94263a Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Tue May 5 01:41:26 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue May 5 01:41:26 2015 -0400 Merge topic 'cpack-deb-component-auto-discovery' into next f94263a8 fixup! CPack/DEB component dependency auto-discovery http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f94263a8301ac06e154996c849d3090e3c123b39 commit f94263a8301ac06e154996c849d3090e3c123b39 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Tue May 5 07:40:22 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Tue May 5 07:40:22 2015 +0200 fixup! CPack/DEB component dependency auto-discovery dpkg-shlibdeps errors should print out additional info about input parameters diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index ad3aa0f..609d2ec 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -308,7 +308,7 @@ function(cpack_deb_prepare_package_vars) # Only dynamically linked ELF files are included # Extract only file name infront of : - foreach( _FILE ${CPACK_DEB_INSTALL_FILES}) + foreach(_FILE ${CPACK_DEB_INSTALL_FILES}) if( ${_FILE} MATCHES ELF.*dynamically linked) string(REGEX MATCH (^.*): _FILE_NAME ${_FILE}) list(APPEND CPACK_DEB_BINARY_FILES ${CMAKE_MATCH_1}) @@ -343,7 +343,11 @@ function(cpack_deb_prepare_package_vars) message( CPackDeb Debug: dpkg-shlibdeps warnings \n${SHLIBDEPS_ERROR}) endif() if(NOT SHLIBDEPS_RESULT EQUAL 0) -message (FATAL_ERROR CPackDeb: dpkg-shlibdeps: '${SHLIBDEPS_ERROR}'; executed command: '${SHLIBDEPS_EXECUTABLE} ${IGNORE_MISSING_INFO_FLAG} -O ${CPACK_DEB_BINARY_FILES}') +message (FATAL_ERROR CPackDeb: dpkg-shlibdeps: '${SHLIBDEPS_ERROR}';\n +executed command: '${SHLIBDEPS_EXECUTABLE} ${IGNORE_MISSING_INFO_FLAG} -O ${CPACK_DEB_BINARY_FILES}';\n +found files: '${INSTALL_FILE_}';\n +files info: '${CPACK_DEB_INSTALL_FILES}';\n +binary files: '${CPACK_DEB_BINARY_FILES}') endif() #Get rid of prefix generated by dpkg-shlibdeps --- Summary of changes: Modules/CPackDeb.cmake |8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.2.2-2585-gffd4c58
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 ffd4c588ef0e205f665f19e1bc9ad241cc757061 (commit) via d498c8b1b6c98c72208d60f91bfc321e455b0f84 (commit) from 583be259f60d03db0b74905e4905f93db1bf7cc4 (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=ffd4c588ef0e205f665f19e1bc9ad241cc757061 commit ffd4c588ef0e205f665f19e1bc9ad241cc757061 Merge: 583be25 d498c8b Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Wed May 6 17:15:55 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Wed May 6 17:15:55 2015 -0400 Merge topic 'cpack-deb-component-auto-discovery' into next d498c8b1 fixup! CPack/DEB component dependency auto-discovery http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d498c8b1b6c98c72208d60f91bfc321e455b0f84 commit d498c8b1b6c98c72208d60f91bfc321e455b0f84 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Wed May 6 23:15:39 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Wed May 6 23:15:39 2015 +0200 fixup! CPack/DEB component dependency auto-discovery Cosmetic changes diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index ac0fbe1..d1d5d09 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -331,26 +331,26 @@ function(cpack_deb_prepare_package_vars) set(IGNORE_MISSING_INFO_FLAG --ignore-missing-info) endif() - # Execute dpkg-shlibdeps - # --ignore-missing-info : allow dpkg-shlibdeps to run even if some libs do not belong to a package - # -O : print to STDOUT - execute_process(COMMAND ${SHLIBDEPS_EXECUTABLE} ${IGNORE_MISSING_INFO_FLAG} -O ${CPACK_DEB_BINARY_FILES} -WORKING_DIRECTORY ${CPACK_TEMPORARY_DIRECTORY} -OUTPUT_VARIABLE SHLIBDEPS_OUTPUT -RESULT_VARIABLE SHLIBDEPS_RESULT -ERROR_VARIABLE SHLIBDEPS_ERROR -OUTPUT_STRIP_TRAILING_WHITESPACE ) - if(CPACK_DEBIAN_PACKAGE_DEBUG) -# dpkg-shlibdeps will throw some warnings if some input files are not binary -message( CPackDeb Debug: dpkg-shlibdeps warnings \n${SHLIBDEPS_ERROR}) - endif() - if(NOT SHLIBDEPS_RESULT EQUAL 0) -message (FATAL_ERROR CPackDeb: dpkg-shlibdeps: '${SHLIBDEPS_ERROR}';\n -executed command: '${SHLIBDEPS_EXECUTABLE} ${IGNORE_MISSING_INFO_FLAG} -O ${CPACK_DEB_BINARY_FILES}';\n -found files: '${INSTALL_FILE_}';\n -files info: '${CPACK_DEB_INSTALL_FILES}';\n -binary files: '${CPACK_DEB_BINARY_FILES}') - endif() +# Execute dpkg-shlibdeps +# --ignore-missing-info : allow dpkg-shlibdeps to run even if some libs do not belong to a package +# -O : print to STDOUT +execute_process(COMMAND ${SHLIBDEPS_EXECUTABLE} ${IGNORE_MISSING_INFO_FLAG} -O ${CPACK_DEB_BINARY_FILES} + WORKING_DIRECTORY ${CPACK_TEMPORARY_DIRECTORY} + OUTPUT_VARIABLE SHLIBDEPS_OUTPUT + RESULT_VARIABLE SHLIBDEPS_RESULT + ERROR_VARIABLE SHLIBDEPS_ERROR + OUTPUT_STRIP_TRAILING_WHITESPACE ) +if(CPACK_DEBIAN_PACKAGE_DEBUG) + # dpkg-shlibdeps will throw some warnings if some input files are not binary + message( CPackDeb Debug: dpkg-shlibdeps warnings \n${SHLIBDEPS_ERROR}) +endif() +if(NOT SHLIBDEPS_RESULT EQUAL 0) + message (FATAL_ERROR CPackDeb: dpkg-shlibdeps: '${SHLIBDEPS_ERROR}';\n + executed command: '${SHLIBDEPS_EXECUTABLE} ${IGNORE_MISSING_INFO_FLAG} -O ${CPACK_DEB_BINARY_FILES}';\n + found files: '${INSTALL_FILE_}';\n + files info: '${CPACK_DEB_INSTALL_FILES}';\n + binary files: '${CPACK_DEB_BINARY_FILES}') +endif() #Get rid of prefix generated by dpkg-shlibdeps string(REGEX REPLACE ^.*Depends= CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS ${SHLIBDEPS_OUTPUT}) @@ -371,7 +371,7 @@ function(cpack_deb_prepare_package_vars) endif() else() if(CPACK_DEBIAN_PACKAGE_DEBUG) - message( CPackDeb Debug: Using only user-provided depends because package does not contain executable files.) + message( CPackDeb Debug: Using only user-provided depends because package does not contain executable files that contain dynamically linked libraries.) endif() endif() else() --- Summary of changes: Modules/CPackDeb.cmake | 42 +- 1 file changed, 21 insertions(+), 21 deletions(-) hooks/post-receive -- CMake
[Cmake-commits] CMake branch, next, updated. v3.2.2-2583-g583be25
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 583be259f60d03db0b74905e4905f93db1bf7cc4 (commit) via a62900e206b322d127ff0efc07d2d7e6da8ab412 (commit) from 86d8b40eac87b4b62510761d0d05782cc880e4d3 (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=583be259f60d03db0b74905e4905f93db1bf7cc4 commit 583be259f60d03db0b74905e4905f93db1bf7cc4 Merge: 86d8b40 a62900e Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Wed May 6 15:57:17 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Wed May 6 15:57:17 2015 -0400 Merge topic 'cpack-deb-component-auto-discovery' into next a62900e2 fixup! CPack/DEB component dependency auto-discovery http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a62900e206b322d127ff0efc07d2d7e6da8ab412 commit a62900e206b322d127ff0efc07d2d7e6da8ab412 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Wed May 6 21:56:29 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Wed May 6 21:56:29 2015 +0200 fixup! CPack/DEB component dependency auto-discovery Only execute dpkg-shlibdeps if executable files linked to dynamically linked libraries were found inside a currently generated package diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index 609d2ec..ac0fbe1 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -312,22 +312,24 @@ function(cpack_deb_prepare_package_vars) if( ${_FILE} MATCHES ELF.*dynamically linked) string(REGEX MATCH (^.*): _FILE_NAME ${_FILE}) list(APPEND CPACK_DEB_BINARY_FILES ${CMAKE_MATCH_1}) + set(CONTAINS_EXECUTABLE_FILES_ TRUE) endif() endforeach() - message( CPackDeb: - Generating dependency list) + if(CONTAINS_EXECUTABLE_FILES_) +message(CPackDeb: - Generating dependency list) - # Create blank control file for running dpkg-shlibdeps - # There might be some other way to invoke dpkg-shlibdeps without creating this file - # but standard debian package should not have anything that can collide with this file or directory - file(MAKE_DIRECTORY ${CPACK_TEMPORARY_DIRECTORY}/debian) - file(WRITE ${CPACK_TEMPORARY_DIRECTORY}/debian/control ) +# Create blank control file for running dpkg-shlibdeps +# There might be some other way to invoke dpkg-shlibdeps without creating this file +# but standard debian package should not have anything that can collide with this file or directory +file(MAKE_DIRECTORY ${CPACK_TEMPORARY_DIRECTORY}/debian) +file(WRITE ${CPACK_TEMPORARY_DIRECTORY}/debian/control ) - # only set ignore-missing-info flag for dpkg-shlibdeps that have --version option - # (those are newer and also have --ignore-missing-info flag) - if(SHLIBDEPS_EXECUTABLE_VERSION) -set(IGNORE_MISSING_INFO_FLAG --ignore-missing-info) - endif() +# only set ignore-missing-info flag for dpkg-shlibdeps that have --version option +# (those are newer and also have --ignore-missing-info flag) +if(SHLIBDEPS_EXECUTABLE_VERSION) + set(IGNORE_MISSING_INFO_FLAG --ignore-missing-info) +endif() # Execute dpkg-shlibdeps # --ignore-missing-info : allow dpkg-shlibdeps to run even if some libs do not belong to a package @@ -350,24 +352,28 @@ function(cpack_deb_prepare_package_vars) binary files: '${CPACK_DEB_BINARY_FILES}') endif() - #Get rid of prefix generated by dpkg-shlibdeps - string(REGEX REPLACE ^.*Depends= CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS ${SHLIBDEPS_OUTPUT}) +#Get rid of prefix generated by dpkg-shlibdeps +string(REGEX REPLACE ^.*Depends= CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS ${SHLIBDEPS_OUTPUT}) - if(CPACK_DEBIAN_PACKAGE_DEBUG) -message( CPackDeb Debug: Found dependency: ${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS}) - endif() +if(CPACK_DEBIAN_PACKAGE_DEBUG) + message( CPackDeb Debug: Found dependency: ${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS}) +endif() - # Remove blank control file - # Might not be safe if package actual contain file or directory named debian - file(REMOVE_RECURSE ${CPACK_TEMPORARY_DIRECTORY}/debian) +# Remove blank control file +# Might not be safe if package actual contain file or directory named debian +file(REMOVE_RECURSE ${CPACK_TEMPORARY_DIRECTORY}/debian) - # Append user depend if set - if(CPACK_DEBIAN_PACKAGE_DEPENDS) -set(CPACK_DEBIAN_PACKAGE_DEPENDS
[Cmake-commits] CMake branch, next, updated. v3.2.2-2500-ga4a12f9
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 a4a12f9c4675d2e9145d0311331c06097b4c824b (commit) via 0bed81bf54997edd23a06b26da55657fe5d4e612 (commit) via 9ae1c52d935111a7f3ff3acf6ab82fed87ed24b0 (commit) from dcd76bd58f7876804bd15d96275f9874257e8277 (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=a4a12f9c4675d2e9145d0311331c06097b4c824b commit a4a12f9c4675d2e9145d0311331c06097b4c824b Merge: dcd76bd 0bed81b Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Mon May 4 17:49:11 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon May 4 17:49:11 2015 -0400 Merge topic 'cpack-deb-component-auto-discovery' into next 0bed81bf fixup! CPack/DEB component dependency auto-discovery 9ae1c52d fixup! CPack/DEB component dependency auto-discovery http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0bed81bf54997edd23a06b26da55657fe5d4e612 commit 0bed81bf54997edd23a06b26da55657fe5d4e612 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Mon May 4 23:34:35 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Mon May 4 23:48:18 2015 +0200 fixup! CPack/DEB component dependency auto-discovery find command on Mac OS doesn't accept same flags as on Linux so we should use cmake file(GLOB_RECURSE) instead diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index 7fce49b..ad3aa0f 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -252,6 +252,8 @@ function(cpack_deb_prepare_package_vars) set(CPACK_DEBIAN_FAKEROOT_EXECUTABLE ${FAKEROOT_EXECUTABLE}) endif() + set(WDIR ${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}${CPACK_DEB_PACKAGE_COMPONENT_PART_PATH}) + # per component automatic discover: some of the component might not have # binaries. if(CPACK_DEB_PACKAGE_COMPONENT) @@ -288,13 +290,21 @@ function(cpack_deb_prepare_package_vars) endif() # Generating binary list - Get type of all install files - execute_process(COMMAND find -type f -COMMAND xargs file -WORKING_DIRECTORY ${CPACK_TEMPORARY_DIRECTORY} -OUTPUT_VARIABLE CPACK_DEB_INSTALL_FILES) - - # Convert to CMake list - string(REPLACE \n ; CPACK_DEB_INSTALL_FILES ${CPACK_DEB_INSTALL_FILES}) + cmake_policy(PUSH) +# Tell file(GLOB_RECURSE) not to follow directory symlinks +# even if the project does not set this policy to NEW. +cmake_policy(SET CMP0009 NEW) +file(GLOB_RECURSE FILE_PATHS_ LIST_DIRECTORIES false RELATIVE ${WDIR} ${WDIR}/*) + cmake_policy(POP) + + # get file info so that we can determine if file is executable or not + unset(CPACK_DEB_INSTALL_FILES) + foreach(FILE_ IN LISTS FILE_PATHS_) +execute_process(COMMAND file ./${FILE_} + WORKING_DIRECTORY ${WDIR} + OUTPUT_VARIABLE INSTALL_FILE_) +list(APPEND CPACK_DEB_INSTALL_FILES ${INSTALL_FILE_}) + endforeach() # Only dynamically linked ELF files are included # Extract only file name infront of : @@ -333,7 +343,7 @@ function(cpack_deb_prepare_package_vars) message( CPackDeb Debug: dpkg-shlibdeps warnings \n${SHLIBDEPS_ERROR}) endif() if(NOT SHLIBDEPS_RESULT EQUAL 0) -message (FATAL_ERROR CPackDeb: dpkg-shlibdeps: ${SHLIBDEPS_ERROR}) +message (FATAL_ERROR CPackDeb: dpkg-shlibdeps: '${SHLIBDEPS_ERROR}'; executed command: '${SHLIBDEPS_EXECUTABLE} ${IGNORE_MISSING_INFO_FLAG} -O ${CPACK_DEB_BINARY_FILES}') endif() #Get rid of prefix generated by dpkg-shlibdeps @@ -482,8 +492,6 @@ function(cpack_deb_prepare_package_vars) set(CPACK_DEB_PACKAGE_COMPONENT_PART_NAME ) endif() - set(WDIR ${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}${CPACK_DEB_PACKAGE_COMPONENT_PART_PATH}) - # Print out some debug information if we were asked for that if(CPACK_DEBIAN_PACKAGE_DEBUG) message(CPackDeb:Debug: CPACK_TOPLEVEL_DIRECTORY = ${CPACK_TOPLEVEL_DIRECTORY}) http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9ae1c52d935111a7f3ff3acf6ab82fed87ed24b0 commit 9ae1c52d935111a7f3ff3acf6ab82fed87ed24b0 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Mon May 4 23:31:29 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Mon May 4 23:48:18 2015 +0200 fixup! CPack/DEB component dependency auto-discovery Test did not execute dpkg-deb test section even if executable existed diff --git a/Tests/CPackComponentsDEB/RunCPackVerifyResult-components-shlibdeps1.cmake b
[Cmake-commits] CMake branch, next, updated. v3.2.2-2505-g9fa1bcb
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 9fa1bcba9125efa0a379f16d1019c2dde1c2282f (commit) via 1a2a73a5181fd519559e140da24fcd2d9b33fdca (commit) via 9e3181a1128e7d4f830f56da397f0aaa04cb558d (commit) from 935bc37896af130b31b064df495171411a9d3f0a (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=9fa1bcba9125efa0a379f16d1019c2dde1c2282f commit 9fa1bcba9125efa0a379f16d1019c2dde1c2282f Merge: 935bc37 1a2a73a Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Tue May 5 01:48:50 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue May 5 01:48:50 2015 -0400 Merge topic 'cpack-rpm-debug-log-fix' into next 1a2a73a5 CPack/RPM fix output in debug log 9e3181a1 CMake Nightly Date Stamp http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1a2a73a5181fd519559e140da24fcd2d9b33fdca commit 1a2a73a5181fd519559e140da24fcd2d9b33fdca Author: Thomas Orozco tho...@orozco.fr AuthorDate: Tue May 5 07:47:10 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Tue May 5 07:47:10 2015 +0200 CPack/RPM fix output in debug log output RPMBUILDOUT when intended diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake index fdba90e..e672e72 100644 --- a/Modules/CPackRPM.cmake +++ b/Modules/CPackRPM.cmake @@ -1686,7 +1686,7 @@ mv \\@CPACK_TOPLEVEL_DIRECTORY\@/tmpBBroot\ $RPM_BUILD_ROOT message(CPackRPM:Debug:- ${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_COMPONENT_PART_NAME}.err) message(CPackRPM:Debug: *** ${RPMBUILDERR} ***) message(CPackRPM:Debug:- ${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_COMPONENT_PART_NAME}.out) - message(CPackRPM:Debug: *** ${RPMBUILDERR} ***) + message(CPackRPM:Debug: *** ${RPMBUILDOUT} ***) endif() else() if(ALIEN_EXECUTABLE) --- Summary of changes: Modules/CPackRPM.cmake|2 +- Source/CMakeVersion.cmake |2 +- 2 files changed, 2 insertions(+), 2 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.2.2-2658-gdb47791
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 db477914cb4ca2d41945e4e300801e7270a4d51d (commit) via e3f522f6e44d459247fa3dbc3cde65867c148f76 (commit) from 6471255da43c7827a2149056aafce3ee42debbbd (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=db477914cb4ca2d41945e4e300801e7270a4d51d commit db477914cb4ca2d41945e4e300801e7270a4d51d Merge: 6471255 e3f522f Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Fri May 8 17:44:13 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Fri May 8 17:44:13 2015 -0400 Merge topic 'cpack-deb-component-dependencies' into next e3f522f6 CPack/DEB per component dependencies http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e3f522f6e44d459247fa3dbc3cde65867c148f76 commit e3f522f6e44d459247fa3dbc3cde65867c148f76 Author: Raffi Enficiaud raffi.enfici...@mines-paris.org AuthorDate: Fri May 8 23:36:26 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Fri May 8 23:36:26 2015 +0200 CPack/DEB per component dependencies Dependencies may now be set per component diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index d1d5d09..0ccb042 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -48,11 +48,31 @@ # The debian package architecture # # .. variable:: CPACK_DEBIAN_PACKAGE_DEPENDS +# CPACK_DEBIAN_COMPONENT_PACKAGE_DEPENDS +# +# May be used to set deb dependencies. # # * Mandatory : NO -# * Default : - +# * Default : # -# May be used to set deb dependencies. +#- An empty string for non-component based installations +#- :variable:`CPACK_DEBIAN_PACKAGE_DEPENDS` for component-based +# installations. +# +# .. note:: +# +#If :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` or +#more specifically :variable:`CPACK_DEBIAN_COMPONENT_PACKAGE_SHLIBDEPS` +#is set for this component, the discovered dependencies will be appended +#to :variable:`CPACK_DEBIAN_COMPONENT_PACKAGE_DEPENDS` intead of +#:variable:`CPACK_DEBIAN_PACKAGE_DEPENDS`. If +#:variable:`CPACK_DEBIAN_COMPONENT_PACKAGE_DEPENDS` is an empty string, +#only the automatically discovered dependencies will be set for this +#component. +# +# Example:: +# +#set(CPACK_DEBIAN_PACKAGE_DEPENDS libc6 (= 2.3.1-6), libc6 ( 2.4)) # # .. variable:: CPACK_DEBIAN_PACKAGE_MAINTAINER # @@ -356,33 +376,24 @@ function(cpack_deb_prepare_package_vars) string(REGEX REPLACE ^.*Depends= CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS ${SHLIBDEPS_OUTPUT}) if(CPACK_DEBIAN_PACKAGE_DEBUG) - message( CPackDeb Debug: Found dependency: ${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS}) + message(CPackDeb Debug: Found dependency: ${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS} from output ${SHLIBDEPS_OUTPUT}) endif() # Remove blank control file # Might not be safe if package actual contain file or directory named debian file(REMOVE_RECURSE ${CPACK_TEMPORARY_DIRECTORY}/debian) - -# Append user depend if set -if(CPACK_DEBIAN_PACKAGE_DEPENDS) - set(CPACK_DEBIAN_PACKAGE_DEPENDS ${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS}, ${CPACK_DEBIAN_PACKAGE_DEPENDS}) -else() - set(CPACK_DEBIAN_PACKAGE_DEPENDS ${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS}) -endif() else() if(CPACK_DEBIAN_PACKAGE_DEBUG) - message( CPackDeb Debug: Using only user-provided depends because package does not contain executable files that contain dynamically linked libraries.) + message(AUTHOR_WARNING CPackDeb Debug: Using only user-provided depends because package does not contain executable files that link to shared libraries.) endif() endif() else() - if(CPACK_DEBIAN_PACKAGE_DEBUG) -message( CPackDeb Debug: Using only user-provided depends because dpkg-shlibdeps is not found.) - endif() + message(CPackDeb: Using only user-provided dependencies because dpkg-shlibdeps is not found.) endif() else() if(CPACK_DEBIAN_PACKAGE_DEBUG) - message( CPackDeb Debug: Using only user-provided depends) + message(CPackDeb Debug: Using only user-provided dependencies) endif() endif() @@ -426,6 +437,33 @@ function(cpack_deb_prepare_package_vars) # Depends: # You should set: DEBIAN_PACKAGE_DEPENDS # TODO: automate 'objdump -p | grep NEEDED' + + # if per-component dependency, overrides the global CPACK_DEBIAN_PACKAGE_DEPENDS + # automatic dependency discovery will be performed afterwards. + if(CPACK_DEB_PACKAGE_COMPONENT
[Cmake-commits] CMake branch, next, updated. v3.2.2-2660-geefab19
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 eefab19dc8f52df10efe4caa37b7c4fad61f0734 (commit) via 3f300b7ee3b0d7b30137fee2b284c27e05b152af (commit) from db477914cb4ca2d41945e4e300801e7270a4d51d (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=eefab19dc8f52df10efe4caa37b7c4fad61f0734 commit eefab19dc8f52df10efe4caa37b7c4fad61f0734 Merge: db47791 3f300b7 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Fri May 8 18:43:32 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Fri May 8 18:43:32 2015 -0400 Merge topic 'cpack-not-running-tests' into next 3f300b7e CPack DEB and RPM tests not running http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3f300b7ee3b0d7b30137fee2b284c27e05b152af commit 3f300b7ee3b0d7b30137fee2b284c27e05b152af Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Sat May 9 00:42:30 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Sat May 9 00:42:30 2015 +0200 CPack DEB and RPM tests not running CPack DEB and RPM generators were not used for some tests because CPACK_BINARY_DEB and CPACK_BINARY_RPM variable were not set. Patch fixes this, simplifies generators selection CTEST_RUN_CPackComponentsForAll and fixes bugs that were detected after tests were run. diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake index e672e72..cb77fb8 100644 --- a/Modules/CPackRPM.cmake +++ b/Modules/CPackRPM.cmake @@ -1197,18 +1197,17 @@ function(cpack_rpm_generate_package) set(CPACK_RPM_COMPRESSION_TYPE_TMP ) endif() - if(CPACK_PACKAGE_RELOCATABLE) -set(CPACK_RPM_PACKAGE_RELOCATABLE TRUE) - endif() - if(CPACK_RPM_PACKAGE_RELOCATABLE) + if(CPACK_PACKAGE_RELOCATABLE OR CPACK_RPM_PACKAGE_RELOCATABLE) if(CPACK_RPM_PACKAGE_DEBUG) message(CPackRPM:Debug: Trying to build a relocatable package) endif() if(CPACK_SET_DESTDIR AND (NOT CPACK_SET_DESTDIR STREQUAL I_ON)) message(CPackRPM:Warning: CPACK_SET_DESTDIR is set (=${CPACK_SET_DESTDIR}) while requesting a relocatable package (CPACK_RPM_PACKAGE_RELOCATABLE is set): this is not supported, the package won't be relocatable.) + set(CPACK_RPM_PACKAGE_RELOCATABLE FALSE) else() set(CPACK_RPM_PACKAGE_PREFIX ${CPACK_PACKAGING_INSTALL_PREFIX}) # kept for back compatibility (provided external RPM spec files) cpack_rpm_prepare_relocation_paths() + set(CPACK_RPM_PACKAGE_RELOCATABLE TRUE) endif() endif() diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index 58feefd..f890e56 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -112,6 +112,22 @@ if(BUILD_TESTING) set(RPMBUILD_EXECUTABLE RPMBUILD_EXECUTABLE-NOTFOUND) endif() + if(RPMBUILD_EXECUTABLE) +set(CPACK_BINARY_RPM ON) + else() +set(CPACK_BINARY_RPM OFF) + endif() + + # Look for rpmbuild to use for tests. + # The tool does not work with spaces in the path. + find_program(DPKG_EXECUTABLE NAMES dpkg) + + if(DPKG_EXECUTABLE) +set(CPACK_BINARY_DEB ON) + else() +set(CPACK_BINARY_DEB OFF) + endif() + #--- # Add tests below here. @@ -865,11 +881,6 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release set(CTEST_RUN_CPackComponentsForAll ${CTEST_TEST_CPACK}) set(CTEST_RUN_CPackComponentsPrefix ${CTEST_TEST_CPACK}) - # Do not try to build RPM - if (NOT RPMBUILD_EXECUTABLE) -set(CPACK_BINARY_RPM OFF) - endif() - find_program(NSIS_MAKENSIS_EXECUTABLE NAMES makensis PATHS [HKEY_LOCAL_MACHINE\\SOFTWARE\\NSIS] DOC makensis program location @@ -948,13 +959,12 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release if(CTEST_RUN_CPackComponentsForAll) # Check whether if rpmbuild command is found # before adding RPM tests -if(RPMBUILD_EXECUTABLE) +if(CPACK_BINARY_RPM) list(APPEND ACTIVE_CPACK_GENERATORS RPM) endif() # Check whether if dpkg command is found # before adding DEB tests -find_program(DPKG_EXECUTABLE NAMES dpkg) -if(DPKG_EXECUTABLE) +if(CPACK_BINARY_DEB) list(APPEND ACTIVE_CPACK_GENERATORS DEB) endif() @@ -962,17 +972,9 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release # now contains the list of 'active generators' set(CPackComponentsForAll_BUILD_OPTIONS) # set up list of CPack generators -list(APPEND GENLST ZIP) +list(APPEND ACTIVE_CPACK_GENERATORS ZIP
[Cmake-commits] CMake branch, next, updated. v3.2.2-2768-g76f0c56
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 76f0c560fbbfa31b0868c6acedb9c32890529c69 (commit) via efab80501e2ac04da93d0662de37a6e9b4683c56 (commit) from 07d66feed56f99707914506ea25c29873864ae7e (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=76f0c560fbbfa31b0868c6acedb9c32890529c69 commit 76f0c560fbbfa31b0868c6acedb9c32890529c69 Merge: 07d66fe efab805 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Fri May 15 17:09:26 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Fri May 15 17:09:26 2015 -0400 Merge topic 'cpack-deb-reworked-docs' into next efab8050 CPack/DEB: reworked documentation http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=efab80501e2ac04da93d0662de37a6e9b4683c56 commit efab80501e2ac04da93d0662de37a6e9b4683c56 Author: Raffi Enficiaud raffi.enfici...@mines-paris.org AuthorDate: Fri May 15 23:06:43 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Fri May 15 23:07:49 2015 +0200 CPack/DEB: reworked documentation diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index 0ccb042..226153c 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -28,29 +28,33 @@ # # .. variable:: CPACK_DEBIAN_PACKAGE_NAME # +# The Debian package summary +# # * Mandatory : YES -# * Default : CPACK_PACKAGE_NAME (lower case) +# * Default : :variable:`CPACK_PACKAGE_NAME` (lower case) # -# The debian package summary # # .. variable:: CPACK_DEBIAN_PACKAGE_VERSION # +# The Debian package version +# # * Mandatory : YES -# * Default : CPACK_PACKAGE_VERSION +# * Default : :variable:`CPACK_PACKAGE_VERSION` # -# The debian package version # # .. variable:: CPACK_DEBIAN_PACKAGE_ARCHITECTURE # +# The Debian package architecture +# # * Mandatory : YES -# * Default : Output of dpkg --print-architecture (or i386 if dpkg is not found) +# * Default : Output of :code:`dpkg --print-architecture` (or :code:`i386` +#if :code:`dpkg` is not found) # -# The debian package architecture # # .. variable:: CPACK_DEBIAN_PACKAGE_DEPENDS # CPACK_DEBIAN_COMPONENT_PACKAGE_DEPENDS # -# May be used to set deb dependencies. +# Sets the Debian dependencies of this package. # # * Mandatory : NO # * Default : @@ -64,7 +68,7 @@ #If :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` or #more specifically :variable:`CPACK_DEBIAN_COMPONENT_PACKAGE_SHLIBDEPS` #is set for this component, the discovered dependencies will be appended -#to :variable:`CPACK_DEBIAN_COMPONENT_PACKAGE_DEPENDS` intead of +#to :variable:`CPACK_DEBIAN_COMPONENT_PACKAGE_DEPENDS` instead of #:variable:`CPACK_DEBIAN_PACKAGE_DEPENDS`. If #:variable:`CPACK_DEBIAN_COMPONENT_PACKAGE_DEPENDS` is an empty string, #only the automatically discovered dependencies will be set for this @@ -76,15 +80,16 @@ # # .. variable:: CPACK_DEBIAN_PACKAGE_MAINTAINER # +# The Debian package maintainer +# # * Mandatory : YES -# * Default : CPACK_PACKAGE_CONTACT +# * Default : :code:`CPACK_PACKAGE_CONTACT` # -# The debian package maintainer # # .. variable:: CPACK_DEBIAN_PACKAGE_DESCRIPTION # CPACK_COMPONENT_COMPONENT_DESCRIPTION # -# The debian package description +# The Debian package description # # * Mandatory : YES # * Default : @@ -92,6 +97,7 @@ #- :variable:`CPACK_DEBIAN_PACKAGE_DESCRIPTION` if set or #- :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY` # +# # .. variable:: CPACK_DEBIAN_PACKAGE_SECTION # # * Mandatory : YES @@ -99,33 +105,40 @@ # # .. variable:: CPACK_DEBIAN_COMPRESSION_TYPE # +# The compression used for creating the Debian package. +# Possible values are: lzma, xz, bzip2 and gzip. +# # * Mandatory : YES # * Default : 'gzip' # -# Possible values are: lzma, xz, bzip2 and gzip. # # .. variable:: CPACK_DEBIAN_PACKAGE_PRIORITY # +# The Debian package priority +# # * Mandatory : YES # * Default : 'optional' # -# The debian package priority # # .. variable:: CPACK_DEBIAN_PACKAGE_HOMEPAGE # -# * Mandatory : NO -# * Default : - -# # The URL of the web site for this package, preferably (when applicable) the # site from which the original source can be obtained and any additional # upstream documentation or information may be found. -# The content of this field is a simple URL without any surrounding -# characters such as . +# +# * Mandatory : NO +# * Default : - +# +# .. note:: +# +#The content of this field is a simple URL without any surrounding +#characters
[Cmake-commits] CMake branch, next, updated. v3.2.2-1868-gc64fd6c
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 c64fd6c01544f0a1d70b58c4fce675b2eb629996 (commit) via 0779b679e59b80ce458c0422a673b36de3a8f4c5 (commit) from 0b6e3bc038ade69cb945c663416d4f2acece840a (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=c64fd6c01544f0a1d70b58c4fce675b2eb629996 commit c64fd6c01544f0a1d70b58c4fce675b2eb629996 Merge: 0b6e3bc 0779b67 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Thu Apr 16 16:17:04 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Thu Apr 16 16:17:04 2015 -0400 Merge topic 'cpack-one-component-only-fixup' into next 0779b679 fixup! CPack single component packaging http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0779b679e59b80ce458c0422a673b36de3a8f4c5 commit 0779b679e59b80ce458c0422a673b36de3a8f4c5 Author: Raffi Enficiaud raffi.enfici...@mines-paris.org AuthorDate: Thu Apr 16 22:14:51 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Thu Apr 16 22:14:51 2015 +0200 fixup! CPack single component packaging Component packaging should be enabled if either at least one component or one group is set and should not require both. diff --git a/Source/CPack/cmCPackGenerator.cxx b/Source/CPack/cmCPackGenerator.cxx index 995eb0d..4f37041 100644 --- a/Source/CPack/cmCPackGenerator.cxx +++ b/Source/CPack/cmCPackGenerator.cxx @@ -1501,8 +1501,8 @@ bool cmCPackGenerator::WantsComponentInstallation() const { return (!IsOn(CPACK_MONOLITHIC_INSTALL) SupportsComponentInstallation() -// check that package at least has components - !(this-ComponentGroups.empty() || this-Components.empty())); +// check that we have at least one group or component + (!this-ComponentGroups.empty() || !this-Components.empty())); } //-- --- Summary of changes: Source/CPack/cmCPackGenerator.cxx |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.2.1-1490-g71f7b67
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 71f7b678666f1e91b56972df9a9871816584af67 (commit) via 0ffd35340e5458882b4b9596a84dd7cdfeaecfbd (commit) via a3e2de3a312aa7db516a9127a96dd1d966a7fa47 (commit) from bda82241db4eb8d23661d3ce95de0b011d4b40d3 (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=71f7b678666f1e91b56972df9a9871816584af67 commit 71f7b678666f1e91b56972df9a9871816584af67 Merge: bda8224 0ffd353 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Sun Apr 5 16:53:13 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Sun Apr 5 16:53:13 2015 -0400 Merge topic 'cpack-one-component-only' into next 0ffd3534 CPack single component packaging a3e2de3a CMake Nightly Date Stamp http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0ffd35340e5458882b4b9596a84dd7cdfeaecfbd commit 0ffd35340e5458882b4b9596a84dd7cdfeaecfbd Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Sun Apr 5 22:49:19 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Sun Apr 5 22:49:41 2015 +0200 CPack single component packaging RPM, DEB and archive packages were not created in cases when CPACK_generator_COMPONENT_INSTALL was set to ON and a single component existed. Patch also changes CPackRPM test to implicitly test for this case. diff --git a/Source/CPack/cmCPackGenerator.cxx b/Source/CPack/cmCPackGenerator.cxx index 67005ef..995eb0d 100644 --- a/Source/CPack/cmCPackGenerator.cxx +++ b/Source/CPack/cmCPackGenerator.cxx @@ -1499,7 +1499,10 @@ bool cmCPackGenerator::SupportsComponentInstallation() const //-- bool cmCPackGenerator::WantsComponentInstallation() const { - return (!IsOn(CPACK_MONOLITHIC_INSTALL) SupportsComponentInstallation()); + return (!IsOn(CPACK_MONOLITHIC_INSTALL) + SupportsComponentInstallation() +// check that package at least has components + !(this-ComponentGroups.empty() || this-Components.empty())); } //-- diff --git a/Tests/RunCMake/CPackRPM/CPackRPM_PARTIALLY_RELOCATABLE_WARNING.cmake b/Tests/RunCMake/CPackRPM/CPackRPM_PARTIALLY_RELOCATABLE_WARNING.cmake index 3ace6a8..31e729b 100644 --- a/Tests/RunCMake/CPackRPM/CPackRPM_PARTIALLY_RELOCATABLE_WARNING.cmake +++ b/Tests/RunCMake/CPackRPM/CPackRPM_PARTIALLY_RELOCATABLE_WARNING.cmake @@ -1,5 +1,4 @@ install(FILES CMakeLists.txt DESTINATION /not_relocatable COMPONENT static) -install(FILES CMakeLists.txt DESTINATION relocatable COMPONENT relocatable) set(CPACK_PACKAGE_RELOCATABLE TRUE) set(CPACK_PACKAGING_INSTALL_PREFIX /opt) --- Summary of changes: Source/CMakeVersion.cmake |2 +- Source/CPack/cmCPackGenerator.cxx |5 - .../CPackRPM/CPackRPM_PARTIALLY_RELOCATABLE_WARNING.cmake |1 - 3 files changed, 5 insertions(+), 3 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc1-133-g24bc47b
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 24bc47b6ac2b29d32157d56a05c92b17af9cbbcf (commit) via 8b4b2ca686abfbc4f74496c2c6a17c1fe3f646c2 (commit) via 5aec9ec2daa282453fffd8d382876f467936a277 (commit) from f6cb54884b64cac39a4a6799c3572c84997c7dc8 (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=24bc47b6ac2b29d32157d56a05c92b17af9cbbcf commit 24bc47b6ac2b29d32157d56a05c92b17af9cbbcf Merge: f6cb548 8b4b2ca Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Fri Jun 5 15:19:10 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Fri Jun 5 15:19:10 2015 -0400 Merge topic 'cpack-rpm-and-deb-runcmake-tests' into next 8b4b2ca6 CPack RPM PARTIALLY_RELOCATABLE_WARNING test move 5aec9ec2 CPack Deb and RPM RunCMake tests http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8b4b2ca686abfbc4f74496c2c6a17c1fe3f646c2 commit 8b4b2ca686abfbc4f74496c2c6a17c1fe3f646c2 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Fri Jun 5 21:12:08 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Fri Jun 5 21:12:08 2015 +0200 CPack RPM PARTIALLY_RELOCATABLE_WARNING test move Moved PARTIALLY_RELOCATABLE_WARNING test to new common CPack test script structure to have all tests in one place as well as additional benefit of having some more checks done during test execution. diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt index 86e6009..4a4f54f 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@ -226,7 +226,6 @@ add_RunCMake_test(IfacePaths_SOURCES TEST_DIR IfacePaths) # CPack related tests if(RPMBUILD_EXECUTABLE) - add_RunCMake_test(CPackRPM) list(APPEND CPACK_TEST_GENERATORS RPM) endif() diff --git a/Tests/RunCMake/CPackRPM/CPackRPM_PARTIALLY_RELOCATABLE_WARNING.cmake b/Tests/RunCMake/CPack/PARTIALLY_RELOCATABLE_WARNING.cmake similarity index 100% rename from Tests/RunCMake/CPackRPM/CPackRPM_PARTIALLY_RELOCATABLE_WARNING.cmake rename to Tests/RunCMake/CPack/PARTIALLY_RELOCATABLE_WARNING.cmake diff --git a/Tests/RunCMake/CPack/RPM/PARTIALLY_RELOCATABLE_WARNING-ExpectedFiles.cmake b/Tests/RunCMake/CPack/RPM/PARTIALLY_RELOCATABLE_WARNING-ExpectedFiles.cmake new file mode 100644 index 000..4e01f7b --- /dev/null +++ b/Tests/RunCMake/CPack/RPM/PARTIALLY_RELOCATABLE_WARNING-ExpectedFiles.cmake @@ -0,0 +1,5 @@ +set(whitespaces_ [\t\n\r ]*) + +set(EXPECTED_FILES_COUNT 1) +set(EXPECTED_FILE_1 PARTIALLY_RELOCATABLE_WARNING-0.1.1-*.rpm) +set(EXPECTED_FILE_CONTENT_1 ^/not_relocatable${whitespaces_}/not_relocatable/CMakeLists.txt${whitespaces_}/opt$) diff --git a/Tests/RunCMake/CPackRPM/CPackRPM_PARTIALLY_RELOCATABLE_WARNING-stderr.txt b/Tests/RunCMake/CPack/RPM/PARTIALLY_RELOCATABLE_WARNING-stderr.txt similarity index 100% rename from Tests/RunCMake/CPackRPM/CPackRPM_PARTIALLY_RELOCATABLE_WARNING-stderr.txt rename to Tests/RunCMake/CPack/RPM/PARTIALLY_RELOCATABLE_WARNING-stderr.txt diff --git a/Tests/RunCMake/CPack/RunCMakeTest.cmake b/Tests/RunCMake/CPack/RunCMakeTest.cmake index a7b6060..e4027ab 100644 --- a/Tests/RunCMake/CPack/RunCMakeTest.cmake +++ b/Tests/RunCMake/CPack/RunCMakeTest.cmake @@ -3,3 +3,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) diff --git a/Tests/RunCMake/CPackRPM/CMakeLists.txt b/Tests/RunCMake/CPackRPM/CMakeLists.txt deleted file mode 100644 index b7d170b..000 --- a/Tests/RunCMake/CPackRPM/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.1 FATAL_ERROR) - -project(${RunCMake_TEST} NONE) -include(${RunCMake_TEST}.cmake) - -set(CPACK_GENERATOR RPM) -include(CPack) diff --git a/Tests/RunCMake/CPackRPM/RunCMakeTest.cmake b/Tests/RunCMake/CPackRPM/RunCMakeTest.cmake deleted file mode 100644 index 1935e32..000 --- a/Tests/RunCMake/CPackRPM/RunCMakeTest.cmake +++ /dev/null @@ -1,17 +0,0 @@ -include(RunCMake) - -function(run_cpack_rpm_test TEST_NAME) - set(RunCMake_TEST_NO_CLEAN TRUE) - set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${TEST_NAME}-build) - file(REMOVE_RECURSE ${RunCMake_TEST_BINARY_DIR}) - file(MAKE_DIRECTORY ${RunCMake_TEST_BINARY_DIR}) - execute_process( -COMMAND ${CMAKE_COMMAND} -D RunCMake_TEST=${TEST_NAME} ${RunCMake_SOURCE_DIR} -WORKING_DIRECTORY ${RunCMake_TEST_BINARY_DIR} -OUTPUT_QUIET -ERROR_QUIET -) - run_cmake_command(${TEST_NAME} ${CMAKE_CPACK_COMMAND
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc1-383-gf137f00
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 f137f00243965ee0f7312f8fcafb8b233689e199 (commit) via 568e75e2001297830f836c817b808fc6d5ac12f6 (commit) from 63b7ee1583b6ae3cdf5566b90d86454730ed61c3 (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=f137f00243965ee0f7312f8fcafb8b233689e199 commit f137f00243965ee0f7312f8fcafb8b233689e199 Merge: 63b7ee1 568e75e Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Tue Jun 9 17:26:22 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Jun 9 17:26:22 2015 -0400 Merge topic 'cpack-rpm-and-deb-runcmake-tests' into next 568e75e2 Fixup! CPack Deb and RPM RunCMake tests diff --cc Tests/RunCMake/CMakeLists.txt index 646eb71,43df312..eee7bb4 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@@ -258,5 -261,6 +261,7 @@@ endif( if(${CMAKE_GENERATOR} MATCHES Make|Ninja) add_executable(pseudo_iwyu pseudo_iwyu.c) add_RunCMake_test(IncludeWhatYouUse -DPSEUDO_IWYU=$TARGET_FILE:pseudo_iwyu) + add_RunCMake_test(CompilerLauncher) endif() + + add_RunCMake_test_group(CPack DEB;RPM) http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=568e75e2001297830f836c817b808fc6d5ac12f6 commit 568e75e2001297830f836c817b808fc6d5ac12f6 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Tue Jun 9 23:24:08 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Tue Jun 9 23:24:08 2015 +0200 Fixup! CPack Deb and RPM RunCMake tests CTest has less information about the environment as CMake so prerequirements such as programs should be set in CMake. Example where this was a problem is MAC OS where /sw/bin is not necessarily in path but dpkg program is detected there by CMake while CTest misses it. diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt index 4a4f54f..43df312 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@ -27,20 +27,35 @@ macro(add_RunCMake_test test) endmacro() function(add_RunCMake_test_group test types) - set(Test_Dir ${test}) + # create directory for common content + set(BASE_TEST_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/${test}) + file(REMOVE_RECURSE ${BASE_TEST_BINARY_DIR}) + file(MAKE_DIRECTORY ${BASE_TEST_BINARY_DIR}) foreach(type IN LISTS types) -add_test(NAME RunCMake.${test}_${type} COMMAND ${CMAKE_CMAKE_COMMAND} - -DTEST_TYPE=${type} - -DCMAKE_MODULE_PATH=${CMAKE_CURRENT_SOURCE_DIR} - -DRunCMake_GENERATOR=${CMAKE_GENERATOR} - -DRunCMake_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM} - -DRunCMake_GENERATOR_TOOLSET=${CMAKE_GENERATOR_TOOLSET} - -DRunCMake_MAKE_PROGRAM=${CMake_TEST_EXPLICIT_MAKE_PROGRAM} - -DRunCMake_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR}/${Test_Dir} - -DRunCMake_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}/${type}/${test} - -P ${CMAKE_CURRENT_SOURCE_DIR}/${Test_Dir}/RunCMakeTest.cmake - ) +# generate prerequirements config file in cmake as ctest doesn't have as +# much system information so it is easier to set programs and environment +# values here +unset(${test}_${type}_FOUND_PREREQUIREMENTS) + include(${CMAKE_CURRENT_SOURCE_DIR}/${test}/${type}/Prerequirements.cmake) +get_test_prerequirements(${test}_${type}_FOUND_PREREQUIREMENTS +${BASE_TEST_BINARY_DIR}/${type}_config.cmake) + +# only add the test if prerequirements are met +if(${test}_${type}_FOUND_PREREQUIREMENTS) + add_test(NAME RunCMake.${test}_${type} COMMAND ${CMAKE_CMAKE_COMMAND} +-DTEST_TYPE=${type} +-DCMAKE_MODULE_PATH=${CMAKE_CURRENT_SOURCE_DIR} +-DRunCMake_GENERATOR=${CMAKE_GENERATOR} +-DRunCMake_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM} +-DRunCMake_GENERATOR_TOOLSET=${CMAKE_GENERATOR_TOOLSET} +-DRunCMake_MAKE_PROGRAM=${CMake_TEST_EXPLICIT_MAKE_PROGRAM} +-DRunCMake_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR}/${test} +-DRunCMake_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}/${type}/${test} +-Dconfig_file=${BASE_TEST_BINARY_DIR}/${type}_config.cmake +-P ${CMAKE_CURRENT_SOURCE_DIR}/${test}/RunCMakeTest.cmake +) +endif() endforeach() endfunction() @@ -224,18 +239,6 @@ add_RunCMake_test(IfacePaths_INCLUDE_DIRECTORIES TEST_DIR IfacePaths) set(IfacePaths_SOURCES_ARGS -DTEST_PROP=SOURCES) add_RunCMake_test(IfacePaths_SOURCES TEST_DIR IfacePaths) -# CPack related tests -if(RPMBUILD_EXECUTABLE) - list(APPEND CPACK_TEST_GENERATORS RPM) -endif() - -if(DPKG_EXECUTABLE) - list(APPEND
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc1-405-g3e1342f
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 3e1342f66a7e77baeced473728b4c87edc2bf338 (commit) via 48f303b26f68fdfc0ac6edbdd075030ec37993ea (commit) from b997ce4c9f57ca3b50cb93937930728b59a69f5c (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=3e1342f66a7e77baeced473728b4c87edc2bf338 commit 3e1342f66a7e77baeced473728b4c87edc2bf338 Merge: b997ce4 48f303b Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Tue Jun 9 19:00:33 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Jun 9 19:00:33 2015 -0400 Merge topic 'cpack-rpm-and-deb-runcmake-tests' into next 48f303b2 fixup! CPack Deb and RPM RunCMake tests http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=48f303b26f68fdfc0ac6edbdd075030ec37993ea commit 48f303b26f68fdfc0ac6edbdd075030ec37993ea Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Wed Jun 10 00:59:47 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Wed Jun 10 00:59:47 2015 +0200 fixup! CPack Deb and RPM RunCMake tests Test was failing with error Policy CMP0011 is not set to NEW diff --git a/Tests/RunCMake/CPack/RunCMakeTest.cmake b/Tests/RunCMake/CPack/RunCMakeTest.cmake index e4027ab..4ae8992 100644 --- a/Tests/RunCMake/CPack/RunCMakeTest.cmake +++ b/Tests/RunCMake/CPack/RunCMakeTest.cmake @@ -1,3 +1,5 @@ +cmake_policy(SET CMP0011 NEW) + include(RunCMake) include(${RunCMake_SOURCE_DIR}/CPackTestHelpers.cmake) --- Summary of changes: Tests/RunCMake/CPack/RunCMakeTest.cmake |2 ++ 1 file changed, 2 insertions(+) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc1-422-g4d73673
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 4d73673ff03d1f60314eac2fde5db6483db2de1c (commit) via 0bc9f68549ca9d8420e93b1aac0ca88478cf276d (commit) from 044833f9862b3c5657aff6d5e939f6e1c6cef8ed (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=4d73673ff03d1f60314eac2fde5db6483db2de1c commit 4d73673ff03d1f60314eac2fde5db6483db2de1c Merge: 044833f 0bc9f68 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Wed Jun 10 16:16:08 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Wed Jun 10 16:16:08 2015 -0400 Merge topic 'cpack-rpm-and-deb-runcmake-tests' into next 0bc9f685 fixup! CPack Deb and RPM RunCMake tests http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0bc9f68549ca9d8420e93b1aac0ca88478cf276d commit 0bc9f68549ca9d8420e93b1aac0ca88478cf276d Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Wed Jun 10 22:15:36 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Wed Jun 10 22:15:36 2015 +0200 fixup! CPack Deb and RPM RunCMake tests Test was deleting source dir if cmake was built in-place. diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt index 43df312..74bbf38 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@ -28,9 +28,9 @@ endmacro() function(add_RunCMake_test_group test types) # create directory for common content - set(BASE_TEST_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/${test}) - file(REMOVE_RECURSE ${BASE_TEST_BINARY_DIR}) - file(MAKE_DIRECTORY ${BASE_TEST_BINARY_DIR}) + set(TEST_CONFIG_DIR ${CMAKE_CURRENT_BINARY_DIR}/${test}/conf) + file(REMOVE_RECURSE ${TEST_CONFIG_DIR}) + file(MAKE_DIRECTORY ${TEST_CONFIG_DIR}) foreach(type IN LISTS types) # generate prerequirements config file in cmake as ctest doesn't have as @@ -39,7 +39,7 @@ function(add_RunCMake_test_group test types) unset(${test}_${type}_FOUND_PREREQUIREMENTS) include(${CMAKE_CURRENT_SOURCE_DIR}/${test}/${type}/Prerequirements.cmake) get_test_prerequirements(${test}_${type}_FOUND_PREREQUIREMENTS -${BASE_TEST_BINARY_DIR}/${type}_config.cmake) +${TEST_CONFIG_DIR}/${type}_config.cmake) # only add the test if prerequirements are met if(${test}_${type}_FOUND_PREREQUIREMENTS) @@ -52,7 +52,7 @@ function(add_RunCMake_test_group test types) -DRunCMake_MAKE_PROGRAM=${CMake_TEST_EXPLICIT_MAKE_PROGRAM} -DRunCMake_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR}/${test} -DRunCMake_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}/${type}/${test} --Dconfig_file=${BASE_TEST_BINARY_DIR}/${type}_config.cmake +-Dconfig_file=${TEST_CONFIG_DIR}/${type}_config.cmake -P ${CMAKE_CURRENT_SOURCE_DIR}/${test}/RunCMakeTest.cmake ) endif() --- Summary of changes: Tests/RunCMake/CMakeLists.txt | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc2-444-g172a217
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 172a21790ba117af6a03e35c69213a89a5cb86f3 (commit) via ceafbeb10b6ecaeb6e30be58a62025382a3d8cbc (commit) from b142dcad64a324b652929f426e2ac59a32dde0c8 (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=172a21790ba117af6a03e35c69213a89a5cb86f3 commit 172a21790ba117af6a03e35c69213a89a5cb86f3 Merge: b142dca ceafbeb Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Thu Jun 11 17:49:48 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Thu Jun 11 17:49:48 2015 -0400 Merge topic 'cpack-rpm-and-deb-runcmake-tests' into next ceafbeb1 fixup! CPack Deb and RPM RunCMake tests http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ceafbeb10b6ecaeb6e30be58a62025382a3d8cbc commit ceafbeb10b6ecaeb6e30be58a62025382a3d8cbc Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Thu Jun 11 23:38:13 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Thu Jun 11 23:38:13 2015 +0200 fixup! CPack Deb and RPM RunCMake tests Test if there is also RPMBUILD available and also print out test config file content if something goes wrong. diff --git a/Tests/RunCMake/CPack/RPM/Prerequirements.cmake b/Tests/RunCMake/CPack/RPM/Prerequirements.cmake index 69375e2..3416205 100644 --- a/Tests/RunCMake/CPack/RPM/Prerequirements.cmake +++ b/Tests/RunCMake/CPack/RPM/Prerequirements.cmake @@ -5,9 +5,12 @@ function(get_test_prerequirements found_var config_file) endif() find_program(RPM_EXECUTABLE rpm) + find_program(RPMBUILD_EXECUTABLE rpmbuild) - if(RPM_EXECUTABLE) + if(RPM_EXECUTABLE AND RPMBUILD_EXECUTABLE) file(WRITE ${config_file} set(RPM_EXECUTABLE \${RPM_EXECUTABLE}\)) +file(APPEND ${config_file} +\nset(RPMBUILD_EXECUTABLE \${RPMBUILD_EXECUTABLE}\)) set(${found_var} true PARENT_SCOPE) endif() endfunction() diff --git a/Tests/RunCMake/CPack/VerifyResult.cmake b/Tests/RunCMake/CPack/VerifyResult.cmake index c89bfae..809011b 100644 --- a/Tests/RunCMake/CPack/VerifyResult.cmake +++ b/Tests/RunCMake/CPack/VerifyResult.cmake @@ -5,8 +5,10 @@ include(${src_dir}/${GENERATOR_TYPE}/Helpers.cmake) file(READ ${bin_dir}/test_output.txt output) file(READ ${bin_dir}/test_error.txt error) +file(READ ${config_file} config_file_content) -set(output_error_message \nCPack output: '${output}'\nCPack error: '${error}') +set(output_error_message +\nCPack output: '${output}'\nCPack error: '${error}';\nconfig file: '${config_file_content}') # check that expected generated files exist and contain expected content include(${src_dir}/${GENERATOR_TYPE}/${RunCMake_TEST}-ExpectedFiles.cmake) --- Summary of changes: Tests/RunCMake/CPack/RPM/Prerequirements.cmake |5 - Tests/RunCMake/CPack/VerifyResult.cmake|4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc1-418-g3acb236
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 3acb236e86a081e522417b0881f87d08f904ee3d (commit) via 05358225bec5e483fbc5c39e7b2221c2927aabe5 (commit) from 91dd5ba7234299e15ea2db9be988c4a9409f1d4b (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=3acb236e86a081e522417b0881f87d08f904ee3d commit 3acb236e86a081e522417b0881f87d08f904ee3d Merge: 91dd5ba 0535822 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Wed Jun 10 11:10:39 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Wed Jun 10 11:10:39 2015 -0400 Merge topic 'cpack-rpm-and-deb-runcmake-tests' into next 05358225 fixup! CPack Deb and RPM RunCMake tests http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=05358225bec5e483fbc5c39e7b2221c2927aabe5 commit 05358225bec5e483fbc5c39e7b2221c2927aabe5 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Wed Jun 10 17:09:23 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Wed Jun 10 17:09:23 2015 +0200 fixup! CPack Deb and RPM RunCMake tests Added some extra logging and newer cmake version enforcing to determine what is causing RPM tests to fail on some systems. diff --git a/Tests/RunCMake/CPack/RunCMakeTest.cmake b/Tests/RunCMake/CPack/RunCMakeTest.cmake index 4ae8992..308b8cc 100644 --- a/Tests/RunCMake/CPack/RunCMakeTest.cmake +++ b/Tests/RunCMake/CPack/RunCMakeTest.cmake @@ -1,4 +1,4 @@ -cmake_policy(SET CMP0011 NEW) +cmake_minimum_required(VERSION 3.1 FATAL_ERROR) include(RunCMake) include(${RunCMake_SOURCE_DIR}/CPackTestHelpers.cmake) diff --git a/Tests/RunCMake/CPack/VerifyResult.cmake b/Tests/RunCMake/CPack/VerifyResult.cmake index 0cc32d4..c89bfae 100644 --- a/Tests/RunCMake/CPack/VerifyResult.cmake +++ b/Tests/RunCMake/CPack/VerifyResult.cmake @@ -1,8 +1,13 @@ -cmake_policy(SET CMP0007 NEW) +cmake_minimum_required(VERSION 3.1 FATAL_ERROR) include(${config_file}) include(${src_dir}/${GENERATOR_TYPE}/Helpers.cmake) +file(READ ${bin_dir}/test_output.txt output) +file(READ ${bin_dir}/test_error.txt error) + +set(output_error_message \nCPack output: '${output}'\nCPack error: '${error}') + # check that expected generated files exist and contain expected content include(${src_dir}/${GENERATOR_TYPE}/${RunCMake_TEST}-ExpectedFiles.cmake) @@ -22,13 +27,15 @@ if(NOT EXPECTED_FILES_COUNT EQUAL 0) if(NOT expected_content_list) message(FATAL_ERROR Unexpected file content for file No. '${file_no_}'! - Content: '${PACKAGE_CONTENT}') + Content: '${PACKAGE_CONTENT}' + ${output_error_message}) endif() else() message(FATAL_ERROR Found more than one file for file No. '${file_no_}'! Found files count '${foundFilesCount_}'. - Files: '${foundFile_}') + Files: '${foundFile_}' +${output_error_message}) endif() endforeach() @@ -43,7 +50,8 @@ if(NOT EXPECTED_FILES_COUNT EQUAL 0) if(NOT foundFilesCount_ EQUAL allFoundFilesCount_) message(FATAL_ERROR -Found more files than expected! Found files: '${allFoundFiles_}') +Found more files than expected! Found files: '${allFoundFiles_}' +${output_error_message}) endif() # sanity check that we didn't accidentaly list wrong files with our regular @@ -54,7 +62,8 @@ if(NOT EXPECTED_FILES_COUNT EQUAL 0) if(found_ EQUAL -1) message(FATAL_ERROR Expected files don't match found files! Found files: - '${allFoundFiles_}') + '${allFoundFiles_}' + ${output_error_message}) endif() endforeach() else() @@ -63,14 +72,12 @@ else() file(GLOB checkMissingFiles_ RELATIVE ${bin_dir} ${missing_file_glob_}) if(checkMissingFiles_) - message(FATAL_ERROR Unexpected files found: '${checkMissingFiles_}') + message(FATAL_ERROR Unexpected files found: '${checkMissingFiles_}' + ${output_error_message}) endif() endforeach() endif() -file(READ ${bin_dir}/test_output.txt output) -file(READ ${bin_dir}/test_error.txt error) - # handle additional result verifications if(EXISTS ${src_dir}/${GENERATOR_TYPE}/${RunCMake_TEST}-VerifyResult.cmake) include(${src_dir}/${GENERATOR_TYPE}/${RunCMake_TEST}-VerifyResult.cmake) --- Summary of changes: Tests/RunCMake/CPack/RunCMakeTest.cmake |2 +- Tests/RunCMake/CPack/VerifyResult.cmake | 25 - 2 files changed, 17 insertions(+), 10 deletions(-) hooks/post-receive -- CMake
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc2-423-g7c404c8
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 7c404c8261b4d7d2d6c41fcf2aa5c992366997b7 (commit) via 384d6dde2674ff971c4bde5306637b443bc96abf (commit) from 3a10e1458d48b95dd4a064e74e15d3dc7f08c311 (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=7c404c8261b4d7d2d6c41fcf2aa5c992366997b7 commit 7c404c8261b4d7d2d6c41fcf2aa5c992366997b7 Merge: 3a10e14 384d6dd Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Thu Jun 11 12:02:58 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Thu Jun 11 12:02:58 2015 -0400 Merge topic 'cpack-rpm-and-deb-runcmake-tests' into next 384d6dde fixup! CPack Deb and RPM RunCMake tests http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=384d6dde2674ff971c4bde5306637b443bc96abf commit 384d6dde2674ff971c4bde5306637b443bc96abf Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Thu Jun 11 18:02:14 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Thu Jun 11 18:02:14 2015 +0200 fixup! CPack Deb and RPM RunCMake tests rpmbuild can only be used if there are no spaces in path diff --git a/Tests/RunCMake/CPack/RPM/Prerequirements.cmake b/Tests/RunCMake/CPack/RPM/Prerequirements.cmake index 51b77a9..69375e2 100644 --- a/Tests/RunCMake/CPack/RPM/Prerequirements.cmake +++ b/Tests/RunCMake/CPack/RPM/Prerequirements.cmake @@ -1,4 +1,9 @@ function(get_test_prerequirements found_var config_file) + if(CMAKE_CURRENT_BINARY_DIR MATCHES ) +# rpmbuild can't handle spaces in path +return() + endif() + find_program(RPM_EXECUTABLE rpm) if(RPM_EXECUTABLE) --- Summary of changes: Tests/RunCMake/CPack/RPM/Prerequirements.cmake |5 + 1 file changed, 5 insertions(+) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.3.0-1982-g3350a96
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 3350a96d57f0694be3cb0a305aad9ae82b75e790 (commit) via c83c1680cf1ac9b5d01efc3bdf0a7c012326403f (commit) from 2ec5b3466da91b08b3f087f62625a4b6bf88208c (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=3350a96d57f0694be3cb0a305aad9ae82b75e790 commit 3350a96d57f0694be3cb0a305aad9ae82b75e790 Merge: 2ec5b34 c83c168 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Wed Aug 5 12:44:32 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Wed Aug 5 12:44:32 2015 -0400 Merge topic 'cpack-rpm-documentation-fixes' into next c83c1680 RunCMake/CPack_DEB DEPENDENCIES test package content fix http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c83c1680cf1ac9b5d01efc3bdf0a7c012326403f commit c83c1680cf1ac9b5d01efc3bdf0a7c012326403f Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Wed Aug 5 18:44:00 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Wed Aug 5 18:44:00 2015 +0200 RunCMake/CPack_DEB DEPENDENCIES test package content fix On Mac shared libraries end with .dylib instead of .so so test should take this into account diff --git a/Tests/RunCMake/CPack/DEB/DEPENDENCIES-ExpectedFiles.cmake b/Tests/RunCMake/CPack/DEB/DEPENDENCIES-ExpectedFiles.cmake index 577a560..c56c670 100644 --- a/Tests/RunCMake/CPack/DEB/DEPENDENCIES-ExpectedFiles.cmake +++ b/Tests/RunCMake/CPack/DEB/DEPENDENCIES-ExpectedFiles.cmake @@ -8,6 +8,7 @@ set(EXPECTED_FILE_CONTENT_2 ^.*/usr/foo_auto${whitespaces_}.*/usr/foo_auto/test set(EXPECTED_FILE_3 dependencies*-headers.deb) set(EXPECTED_FILE_CONTENT_3 ^.*/usr/bar${whitespaces_}.*/usr/bar/CMakeLists.txt$) set(EXPECTED_FILE_4 dependencies*-libs.deb) -set(EXPECTED_FILE_CONTENT_4 ^.*/usr/bas${whitespaces_}.*/usr/bas/libtest_lib.so$) +# dynamic lib extension is .so on Linux and .dylib on Mac so we will use a wildcard .* for it +set(EXPECTED_FILE_CONTENT_4 ^.*/usr/bas${whitespaces_}.*/usr/bas/libtest_lib\\..*$) set(EXPECTED_FILE_5 dependencies*-libs_auto.deb) -set(EXPECTED_FILE_CONTENT_5 ^.*/usr/bas_auto${whitespaces_}.*/usr/bas_auto/libtest_lib.so$) +set(EXPECTED_FILE_CONTENT_5 ^.*/usr/bas_auto${whitespaces_}.*/usr/bas_auto/libtest_lib\\..*$) --- Summary of changes: Tests/RunCMake/CPack/DEB/DEPENDENCIES-ExpectedFiles.cmake |5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.3.0-1555-gb40e8c4
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 b40e8c4ae752205aa134d656bfa852610d258322 (commit) via e3e5e61313db5f60e3bea86887366d34d27fbca9 (commit) via 2c510e4a0aac3dae0cfcb3aeb0882bb75bfa (commit) via 7ae1629a1572808cb5819844a19d8b9d38391682 (commit) via dee38f80347d2e0c9bf8c542b9704fa9e79b1377 (commit) via 1e9d42f393fe30563f7d398569f17f105d2ae2cf (commit) via f8a81669a04ed091f9dd5d335645f914046d5ddb (commit) via 3a79d1e865189d78bef8e5abd06d7fb8724e (commit) from 82bfbf88966baeeb7d3891cc6b3cb32a707dd6b2 (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=b40e8c4ae752205aa134d656bfa852610d258322 commit b40e8c4ae752205aa134d656bfa852610d258322 Merge: 82bfbf8 e3e5e61 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Thu Jul 30 05:46:23 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Thu Jul 30 05:46:23 2015 -0400 Merge topic 'cpack-rpm-documentation-fixes' into next e3e5e613 RunCMake/CPack dependencies tests 2c510e4a RunCMake/CPack bumped verify result cmake version 7ae1629a RunCMake/CPack_DEB getPackageInfo helper function dee38f80 RunCMake/CPack enable CXX 1e9d42f3 CPack/RPM: missing PACKAGE_CONFLICTS documentation f8a81669 CPack/RPM: undocumented variables 3a79 CMake Nightly Date Stamp http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e3e5e61313db5f60e3bea86887366d34d27fbca9 commit e3e5e61313db5f60e3bea86887366d34d27fbca9 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Wed Jul 29 23:39:11 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Thu Jul 30 11:44:21 2015 +0200 RunCMake/CPack dependencies tests Tests for RPM and DEB package test for currently supported dependency features (requires, provides, conflicts, ...) diff --git a/Tests/RunCMake/CPack/DEB/DEPENDENCIES-ExpectedFiles.cmake b/Tests/RunCMake/CPack/DEB/DEPENDENCIES-ExpectedFiles.cmake new file mode 100644 index 000..577a560 --- /dev/null +++ b/Tests/RunCMake/CPack/DEB/DEPENDENCIES-ExpectedFiles.cmake @@ -0,0 +1,13 @@ +set(whitespaces_ [\t\n\r ]*) + +set(EXPECTED_FILES_COUNT 5) +set(EXPECTED_FILE_1 dependencies*-applications.deb) +set(EXPECTED_FILE_CONTENT_1 ^.*/usr/foo${whitespaces_}.*/usr/foo/test_prog$) +set(EXPECTED_FILE_2 dependencies*-applications_auto.deb) +set(EXPECTED_FILE_CONTENT_2 ^.*/usr/foo_auto${whitespaces_}.*/usr/foo_auto/test_prog$) +set(EXPECTED_FILE_3 dependencies*-headers.deb) +set(EXPECTED_FILE_CONTENT_3 ^.*/usr/bar${whitespaces_}.*/usr/bar/CMakeLists.txt$) +set(EXPECTED_FILE_4 dependencies*-libs.deb) +set(EXPECTED_FILE_CONTENT_4 ^.*/usr/bas${whitespaces_}.*/usr/bas/libtest_lib.so$) +set(EXPECTED_FILE_5 dependencies*-libs_auto.deb) +set(EXPECTED_FILE_CONTENT_5 ^.*/usr/bas_auto${whitespaces_}.*/usr/bas_auto/libtest_lib.so$) diff --git a/Tests/RunCMake/CPack/DEB/DEPENDENCIES-VerifyResult.cmake b/Tests/RunCMake/CPack/DEB/DEPENDENCIES-VerifyResult.cmake new file mode 100644 index 000..44c862d --- /dev/null +++ b/Tests/RunCMake/CPack/DEB/DEPENDENCIES-VerifyResult.cmake @@ -0,0 +1,15 @@ +function(checkDepends_ FILE REGEX) + set(whitespaces_ [\t\n\r ]*) + + getPackageInfo(${FILE} FILE_INFO_) + if(NOT FILE_INFO_ MATCHES ${REGEX}) +message(FATAL_ERROR Unexpected dependencies in '${FILE}'; file info: '${FILE_INFO_}') + endif() +endfunction() + +checkDepends_(${FOUND_FILE_1} .*Depends${whitespaces_}:${whitespaces_}depend-application, depend-application-b.*) +# use wildcard as we are using dependency auto detection +checkDepends_(${FOUND_FILE_2} .*Depends${whitespaces_}:${whitespaces_}.*depend-application, depend-application-b.*) +checkDepends_(${FOUND_FILE_3} .*Depends${whitespaces_}:${whitespaces_}depend-headers.*) +checkDepends_(${FOUND_FILE_4} .*Depends${whitespaces_}:${whitespaces_}depend-default, depend-default-b.*) +checkDepends_(${FOUND_FILE_5} .*Depends${whitespaces_}:${whitespaces_}depend-default, depend-default-b.*) diff --git a/Tests/RunCMake/CPack/DEB/DEPENDENCIES-specifics.cmake b/Tests/RunCMake/CPack/DEB/DEPENDENCIES-specifics.cmake new file mode 100644 index 000..9e09428 --- /dev/null +++ b/Tests/RunCMake/CPack/DEB/DEPENDENCIES-specifics.cmake @@ -0,0 +1,15 @@ +set(CPACK_PACKAGE_CONTACT someone) +set(CPACK_DEB_COMPONENT_INSTALL ON) + +# false by default +set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS FALSE) +# FIXME can not be tested as libraries first have to be part of a package in order +# to determine their dependencies and we can not be certain if there will be any +set
[Cmake-commits] CMake branch, next, updated. v3.3.0-1902-gd5b5aac
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 d5b5aac6c174e169fcd12391011e3d2c22ef961e (commit) via 59a722f73a98fcc6695d62dcc9069bfbcaadff46 (commit) via 5b3c3d5e14c22ec7a96f5514bfff6d1b1e2232bc (commit) via ea7051f5c47d4618279e084ddac1627a973e1140 (commit) via fcc510ba32975dfc6257ac5998aeba58cda3088a (commit) via e26f53a88b2fd16fc54513adfbb8eaab26dd102f (commit) via 64aacb24b65e5496b4148437ed96363ae06e8200 (commit) from c06c74f32f5318789bd72ddb41cec9759d6a9339 (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=d5b5aac6c174e169fcd12391011e3d2c22ef961e commit d5b5aac6c174e169fcd12391011e3d2c22ef961e Merge: c06c74f 59a722f Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Tue Aug 4 16:51:06 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Aug 4 16:51:06 2015 -0400 Merge topic 'cpack-rpm-documentation-fixes' into next 59a722f7 RunCMake/CPack dependencies tests 5b3c3d5e RunCMake/CPack bumped verify result cmake version ea7051f5 RunCMake/CPack_DEB getPackageInfo helper function fcc510ba RunCMake/CPack enable CXX e26f53a8 CPack/RPM: missing PACKAGE_CONFLICTS documentation 64aacb24 CPack/RPM: undocumented variables http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=59a722f73a98fcc6695d62dcc9069bfbcaadff46 commit 59a722f73a98fcc6695d62dcc9069bfbcaadff46 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Wed Jul 29 23:39:11 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Tue Aug 4 22:49:13 2015 +0200 RunCMake/CPack dependencies tests Tests for RPM and DEB package test for currently supported dependency features (requires, provides, conflicts, ...) diff --git a/Tests/RunCMake/CPack/DEB/DEPENDENCIES-ExpectedFiles.cmake b/Tests/RunCMake/CPack/DEB/DEPENDENCIES-ExpectedFiles.cmake new file mode 100644 index 000..577a560 --- /dev/null +++ b/Tests/RunCMake/CPack/DEB/DEPENDENCIES-ExpectedFiles.cmake @@ -0,0 +1,13 @@ +set(whitespaces_ [\t\n\r ]*) + +set(EXPECTED_FILES_COUNT 5) +set(EXPECTED_FILE_1 dependencies*-applications.deb) +set(EXPECTED_FILE_CONTENT_1 ^.*/usr/foo${whitespaces_}.*/usr/foo/test_prog$) +set(EXPECTED_FILE_2 dependencies*-applications_auto.deb) +set(EXPECTED_FILE_CONTENT_2 ^.*/usr/foo_auto${whitespaces_}.*/usr/foo_auto/test_prog$) +set(EXPECTED_FILE_3 dependencies*-headers.deb) +set(EXPECTED_FILE_CONTENT_3 ^.*/usr/bar${whitespaces_}.*/usr/bar/CMakeLists.txt$) +set(EXPECTED_FILE_4 dependencies*-libs.deb) +set(EXPECTED_FILE_CONTENT_4 ^.*/usr/bas${whitespaces_}.*/usr/bas/libtest_lib.so$) +set(EXPECTED_FILE_5 dependencies*-libs_auto.deb) +set(EXPECTED_FILE_CONTENT_5 ^.*/usr/bas_auto${whitespaces_}.*/usr/bas_auto/libtest_lib.so$) diff --git a/Tests/RunCMake/CPack/DEB/DEPENDENCIES-VerifyResult.cmake b/Tests/RunCMake/CPack/DEB/DEPENDENCIES-VerifyResult.cmake new file mode 100644 index 000..44c862d --- /dev/null +++ b/Tests/RunCMake/CPack/DEB/DEPENDENCIES-VerifyResult.cmake @@ -0,0 +1,15 @@ +function(checkDepends_ FILE REGEX) + set(whitespaces_ [\t\n\r ]*) + + getPackageInfo(${FILE} FILE_INFO_) + if(NOT FILE_INFO_ MATCHES ${REGEX}) +message(FATAL_ERROR Unexpected dependencies in '${FILE}'; file info: '${FILE_INFO_}') + endif() +endfunction() + +checkDepends_(${FOUND_FILE_1} .*Depends${whitespaces_}:${whitespaces_}depend-application, depend-application-b.*) +# use wildcard as we are using dependency auto detection +checkDepends_(${FOUND_FILE_2} .*Depends${whitespaces_}:${whitespaces_}.*depend-application, depend-application-b.*) +checkDepends_(${FOUND_FILE_3} .*Depends${whitespaces_}:${whitespaces_}depend-headers.*) +checkDepends_(${FOUND_FILE_4} .*Depends${whitespaces_}:${whitespaces_}depend-default, depend-default-b.*) +checkDepends_(${FOUND_FILE_5} .*Depends${whitespaces_}:${whitespaces_}depend-default, depend-default-b.*) diff --git a/Tests/RunCMake/CPack/DEB/DEPENDENCIES-specifics.cmake b/Tests/RunCMake/CPack/DEB/DEPENDENCIES-specifics.cmake new file mode 100644 index 000..9e09428 --- /dev/null +++ b/Tests/RunCMake/CPack/DEB/DEPENDENCIES-specifics.cmake @@ -0,0 +1,15 @@ +set(CPACK_PACKAGE_CONTACT someone) +set(CPACK_DEB_COMPONENT_INSTALL ON) + +# false by default +set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS FALSE) +# FIXME can not be tested as libraries first have to be part of a package in order +# to determine their dependencies and we can not be certain if there will be any +set(CPACK_DEBIAN_APPLICATIONS_AUTO_PACKAGE_SHLIBDEPS TRUE) + +set(CPACK_DEBIAN_PACKAGE_DEPENDS depend-default, depend
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc4-1018-gc505d2d
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 c505d2d9e51d05c4f0437b4b3d9704a8f884e9c2 (commit) via 4ca9da63c2d62979335afef1a146bcc992cc35f1 (commit) via 81895aa46f06d1fea6c5a2a1faaa8dea935eb651 (commit) via 0946d154e7e742ee78320b2da7d00c720091f1a8 (commit) via 18263079dac8a044cb2cf1dfa288608be2839c29 (commit) from e76d71542f056aedc2620747760ea1a6fad1dfad (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=c505d2d9e51d05c4f0437b4b3d9704a8f884e9c2 commit c505d2d9e51d05c4f0437b4b3d9704a8f884e9c2 Merge: e76d715 4ca9da6 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Mon Jul 13 16:47:47 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jul 13 16:47:47 2015 -0400 Merge topic 'cpack-per-component-extra-controll-file' into next 4ca9da63 CPack/DEB: component version of PACKAGE_CONTROL_EXTRA 81895aa4 CTest/RunCMake/CPack/DEB: added verifyDebControl 0946d154 CTest/RunCMake/CPack: found files should be preserved 18263079 CPackDeb: mark variables with COMPONENT version in docs http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4ca9da63c2d62979335afef1a146bcc992cc35f1 commit 4ca9da63c2d62979335afef1a146bcc992cc35f1 Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Mon Jul 13 22:25:44 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Mon Jul 13 22:45:53 2015 +0200 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 6799c12..825d5b7 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -297,7 +297,7 @@ # Typical usage is for conffiles, postinst, postrm, prerm. # # * Mandatory : NO -# * Component : NO +# * Component : YES # * Default : - # # Usage:: @@ -518,7 +518,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 @@ -562,7 +561,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 @@ -604,13 +602,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 000..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 000..78b6114 --- /dev/null +++ b/Tests/RunCMake/CPack/DEB/DEB_EXTRA-VerifyResult.cmake @@ -0,0
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc4-1020-g413a13f
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 413a13f7fd48ab67d479e2f127293c8ad7781a3c (commit) via 2b0af9c4e074f5c8171b4bae46c4212356c29c9b (commit) from c505d2d9e51d05c4f0437b4b3d9704a8f884e9c2 (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=413a13f7fd48ab67d479e2f127293c8ad7781a3c commit 413a13f7fd48ab67d479e2f127293c8ad7781a3c Merge: c505d2d 2b0af9c Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Mon Jul 13 18:14:14 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jul 13 18:14:14 2015 -0400 Merge topic 'cpack-per-component-extra-controll-file' into next 2b0af9c4 Revert CPackDeb: mark variables with COMPONENT version in docs http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2b0af9c4e074f5c8171b4bae46c4212356c29c9b commit 2b0af9c4e074f5c8171b4bae46c4212356c29c9b Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Tue Jul 14 00:13:30 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Tue Jul 14 00:13:30 2015 +0200 Revert CPackDeb: mark variables with COMPONENT version in docs diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index 825d5b7..75e9966 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -18,11 +18,9 @@ # :code:`CPACK_DEBIAN_XXX` variables. # # :code:`CPACK_DEBIAN_COMPONENT_` variables may be used in order to have -# **component** specific values. Note however that COMPONENT refers to the +# **component** specific values. Note however that COMPONENT refers to the # **grouping name** written in upper case. It may be either a component name or -# a component GROUP name. Variables that have COMPONENT version are marked -# with :code:`Component : YES` and by default non component version value is -# used as fallback if component version of the variable is not set. +# a component GROUP name. # # You'll find a detailed usage on the wiki: # http://www.cmake.org/Wiki/CMake:CPackPackageGenerators#DEB_.28UNIX_only.29 . @@ -33,7 +31,6 @@ # The Debian package summary # # * Mandatory : YES -# * Component : NO # * Default : :variable:`CPACK_PACKAGE_NAME` (lower case) # # @@ -42,7 +39,6 @@ # The Debian package version # # * Mandatory : YES -# * Component : NO # * Default : :variable:`CPACK_PACKAGE_VERSION` # # @@ -51,17 +47,16 @@ # The Debian package architecture # # * Mandatory : YES -# * Component : NO # * Default : Output of :code:`dpkg --print-architecture` (or :code:`i386` #if :code:`dpkg` is not found) # # # .. variable:: CPACK_DEBIAN_PACKAGE_DEPENDS +# CPACK_DEBIAN_COMPONENT_PACKAGE_DEPENDS # # Sets the Debian dependencies of this package. # # * Mandatory : NO -# * Component : YES # * Default : # #- An empty string for non-component based installations @@ -88,16 +83,15 @@ # The Debian package maintainer # # * Mandatory : YES -# * Component : NO # * Default : :code:`CPACK_PACKAGE_CONTACT` # # # .. variable:: CPACK_DEBIAN_PACKAGE_DESCRIPTION +# CPACK_COMPONENT_COMPONENT_DESCRIPTION # # The Debian package description # # * Mandatory : YES -# * Component : YES # * Default : # #- :variable:`CPACK_DEBIAN_PACKAGE_DESCRIPTION` if set or @@ -107,7 +101,6 @@ # .. variable:: CPACK_DEBIAN_PACKAGE_SECTION # # * Mandatory : YES -# * Component : NO # * Default : 'devel' # # .. variable:: CPACK_DEBIAN_COMPRESSION_TYPE @@ -116,7 +109,6 @@ # Possible values are: lzma, xz, bzip2 and gzip. # # * Mandatory : YES -# * Component : NO # * Default : 'gzip' # # @@ -125,7 +117,6 @@ # The Debian package priority # # * Mandatory : YES -# * Component : NO # * Default : 'optional' # # @@ -136,7 +127,6 @@ # upstream documentation or information may be found. # # * Mandatory : NO -# * Component : NO # * Default : - # # .. note:: @@ -146,12 +136,12 @@ # # # .. variable:: CPACK_DEBIAN_PACKAGE_SHLIBDEPS +# CPACK_DEBIAN_COMPONENT_PACKAGE_SHLIBDEPS # # May be set to ON in order to use :code:`dpkg-shlibdeps` to generate # better package dependency list. # # * Mandatory : NO -# * Component : YES # * Default : # #- :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` if set or @@ -171,7 +161,6 @@ # during CPackDeb run. # # * Mandatory : NO -# * Component : NO # * Default : - # # .. variable:: CPACK_DEBIAN_PACKAGE_PREDEPENDS @@ -183,7 +172,6 @@ # pre-dependency. # # * Mandatory : NO -# * Component : NO # * Default : - # # See http://www.debian.org/doc/debian-policy/ch
[Cmake-commits] CMake branch, next, updated. v3.4.0-rc3-1267-g7621f4f
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 7621f4f4012d900cd6fb588fed076857de5521e0 (commit) via a4c0917e1eebd45e5ba409c7fcb28b7a2eb9225b (commit) via 24012e3c15c127fe570a222fc8cde37cf2a27023 (commit) via 47182ab876260c20554d8c5e3e8f453264a47b53 (commit) via f071d8ebd4a7bd34f52c92cec539a6afb8f277e6 (commit) via da65c5191c7692d2f733561eef336eea675f42a5 (commit) from 382dcfc4eea6ed4ff12fe1a1dfd5fe243fd3774d (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7621f4f4012d900cd6fb588fed076857de5521e0 commit 7621f4f4012d900cd6fb588fed076857de5521e0 Merge: 382dcfc a4c0917 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Sun Nov 8 16:36:14 2015 -0500 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Sun Nov 8 16:36:14 2015 -0500 Merge topic 'cpack-deb-new-component-vars' into next a4c0917e CPackDeb: set priority control field per component 24012e3c CPackDeb: additional CPACK_DEBIAN_PACKAGE_SECTION documentation 47182ab8 CPackDeb: set section control field per component f071d8eb CMake Nightly Date Stamp da65c519 CMake Nightly Date Stamp https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a4c0917e1eebd45e5ba409c7fcb28b7a2eb9225b commit a4c0917e1eebd45e5ba409c7fcb28b7a2eb9225b Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Sun Nov 8 22:35:30 2015 +0100 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Sun Nov 8 22:35:30 2015 +0100 CPackDeb: set priority control field per component diff --git a/Help/release/dev/cpack-deb-new-component-vars.rst b/Help/release/dev/cpack-deb-new-component-vars.rst new file mode 100644 index 000..ab7022b --- /dev/null +++ b/Help/release/dev/cpack-deb-new-component-vars.rst @@ -0,0 +1,7 @@ +cpack-deb-new-component-vars +-- + +* The :module:`CPackDeb` module learned to set package section + and priority per-component. + See :variable:`CPACK_DEBIAN__PACKAGE_SECTION` + and :variable:`CPACK_DEBIAN__PACKAGE_PRIORITY`. diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index e2c2312..722dca4 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -120,12 +120,16 @@ # # # .. variable:: CPACK_DEBIAN_PACKAGE_PRIORITY +# CPACK_DEBIAN__PACKAGE_PRIORITY # -# The Debian package priority +# Set Priority control field e.g. required, important, standard, optional, +# extra # # * Mandatory : YES # * Default : 'optional' # +# See https://www.debian.org/doc/debian-policy/ch-archive.html#s-priorities +# # # .. variable:: CPACK_DEBIAN_PACKAGE_HOMEPAGE # @@ -599,7 +603,7 @@ function(cpack_deb_prepare_package_vars) # if per-component variable, overrides the global CPACK_DEBIAN_PACKAGE_${variable_type_} # automatic dependency discovery will be performed afterwards. if(CPACK_DEB_PACKAGE_COMPONENT) -foreach(value_type_ DEPENDS RECOMMENDS SUGGESTS PREDEPENDS ENHANCES BREAKS CONFLICTS PROVIDES REPLACES SOURCE SECTION) +foreach(value_type_ DEPENDS RECOMMENDS SUGGESTS PREDEPENDS ENHANCES BREAKS CONFLICTS PROVIDES REPLACES SOURCE SECTION PRIORITY) set(_component_var "CPACK_DEBIAN_${_local_component_name}_PACKAGE_${value_type_}") # if set, overrides the global variable https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=24012e3c15c127fe570a222fc8cde37cf2a27023 commit 24012e3c15c127fe570a222fc8cde37cf2a27023 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Sun Nov 8 22:17:27 2015 +0100 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Sun Nov 8 22:21:09 2015 +0100 CPackDeb: additional CPACK_DEBIAN_PACKAGE_SECTION documentation diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index 2c1f236..e2c2312 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -102,9 +102,14 @@ # .. variable:: CPACK_DEBIAN_PACKAGE_SECTION # CPACK_DEBIAN__PACKAGE_SECTION # +# Set Section control field e.g. admin, devel, doc, ... +# # * Mandatory : YES # * Default : 'devel' # +# See https://www.debian.org/doc/debian-policy/ch-archive.html#s-subsections +# +# # .. variable:: CPACK_DEBIAN_COMPRESSION_TYPE # # The compression used for creating the Debian package. https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=47182ab876260c20554d8c5e3e8f453264a47b53 commit 47182ab876260c20554d8c5e3e8f453264a47b53 Author: Markus Rickert <rick...@fortiss.org> AuthorDate: Sun Nov 8 22:10:12 2015 +0100 Commit: Domen Vrankar <d
[Cmake-commits] CMake branch, next, updated. v3.4.0-rc3-1270-g9aa7aab
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 9aa7aabe2c969b46359c9e756b5483e213f1d06b (commit) via 3101b714421578987d8dc28e097baaa3c1c29aae (commit) via 3fd6cb7a7894811679d8423ad301b55b520d6ae2 (commit) from 7621f4f4012d900cd6fb588fed076857de5521e0 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9aa7aabe2c969b46359c9e756b5483e213f1d06b commit 9aa7aabe2c969b46359c9e756b5483e213f1d06b Merge: 7621f4f 3101b71 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Sun Nov 8 17:46:35 2015 -0500 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Sun Nov 8 17:46:35 2015 -0500 Merge topic 'cpack-deb-new-component-vars' into next 3101b714 CPackDeb: CPACK_DEBIAN_PACKAGE_NAME documentation improvement 3fd6cb7a CPackDeb: set package control field per component https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3101b714421578987d8dc28e097baaa3c1c29aae commit 3101b714421578987d8dc28e097baaa3c1c29aae Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Sun Nov 8 23:46:13 2015 +0100 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Sun Nov 8 23:46:13 2015 +0100 CPackDeb: CPACK_DEBIAN_PACKAGE_NAME documentation improvement diff --git a/Help/release/dev/cpack-deb-new-component-vars.rst b/Help/release/dev/cpack-deb-new-component-vars.rst index ab7022b..b51fd0f 100644 --- a/Help/release/dev/cpack-deb-new-component-vars.rst +++ b/Help/release/dev/cpack-deb-new-component-vars.rst @@ -1,7 +1,7 @@ cpack-deb-new-component-vars -- -* The :module:`CPackDeb` module learned to set package section - and priority per-component. +* The :module:`CPackDeb` module learned to set Package, Section + and Priority control fields per-component. See :variable:`CPACK_DEBIAN__PACKAGE_SECTION` and :variable:`CPACK_DEBIAN__PACKAGE_PRIORITY`. diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index 7e9eb86..2aaef61 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -29,10 +29,18 @@ # .. variable:: CPACK_DEBIAN_PACKAGE_NAME # CPACK_DEBIAN__PACKAGE_NAME # -# The Debian package summary +# Set Package control field (variable is automatically transformed to lower +# case). # # * Mandatory : YES -# * Default : :variable:`CPACK_PACKAGE_NAME` (lower case) +# * Default : +# +#- :variable:`CPACK_PACKAGE_NAME` for non-component based +# installations +#- :variable:`CPACK_DEBIAN_PACKAGE_NAME` suffixed with - +# for component-based installations. +# +# See https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Source # # # .. variable:: CPACK_DEBIAN_PACKAGE_VERSION https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3fd6cb7a7894811679d8423ad301b55b520d6ae2 commit 3fd6cb7a7894811679d8423ad301b55b520d6ae2 Author: Markus Rickert <rick...@fortiss.org> AuthorDate: Sun Nov 8 23:44:00 2015 +0100 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Sun Nov 8 23:44:00 2015 +0100 CPackDeb: set package control field per component diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index 722dca4..7e9eb86 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -27,6 +27,7 @@ # However as a handy reminder here comes the list of specific variables: # # .. variable:: CPACK_DEBIAN_PACKAGE_NAME +# CPACK_DEBIAN__PACKAGE_NAME # # The Debian package summary # @@ -603,7 +604,7 @@ function(cpack_deb_prepare_package_vars) # if per-component variable, overrides the global CPACK_DEBIAN_PACKAGE_${variable_type_} # automatic dependency discovery will be performed afterwards. if(CPACK_DEB_PACKAGE_COMPONENT) -foreach(value_type_ DEPENDS RECOMMENDS SUGGESTS PREDEPENDS ENHANCES BREAKS CONFLICTS PROVIDES REPLACES SOURCE SECTION PRIORITY) +foreach(value_type_ DEPENDS RECOMMENDS SUGGESTS PREDEPENDS ENHANCES BREAKS CONFLICTS PROVIDES REPLACES SOURCE SECTION PRIORITY NAME) set(_component_var "CPACK_DEBIAN_${_local_component_name}_PACKAGE_${value_type_}") # if set, overrides the global variable @@ -704,10 +705,11 @@ function(cpack_deb_prepare_package_vars) 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() -set(CPACK_DEB_PACKAGE_COMPONENT_PART_NAME "") +if(CPACK_DEBIAN_${_local_compo
[Cmake-commits] CMake branch, next, updated. v3.4.0-rc3-1242-gb7b7274
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 b7b7274f3718b3ad7cd83db06a04adddf5e5acc5 (commit) via becaf5107b9e2f9e2df1a14d2b4d169a37f846fc (commit) from 3dd60a3574b97ae10e437fa6ed31aa530dda62ca (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b7b7274f3718b3ad7cd83db06a04adddf5e5acc5 commit b7b7274f3718b3ad7cd83db06a04adddf5e5acc5 Merge: 3dd60a3 becaf51 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Wed Nov 4 15:29:11 2015 -0500 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Wed Nov 4 15:29:11 2015 -0500 Merge topic 'cpack-deb-config-file-source-field' into next becaf510 fixup! CPackDEB: minor documentation and debug logging fixes https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=becaf5107b9e2f9e2df1a14d2b4d169a37f846fc commit becaf5107b9e2f9e2df1a14d2b4d169a37f846fc Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Wed Nov 4 21:28:21 2015 +0100 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Wed Nov 4 21:28:21 2015 +0100 fixup! CPackDEB: minor documentation and debug logging fixes diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index ba21029..89194c7 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -8,7 +8,7 @@ # ^^ # # CPackDeb may be used to create Deb package using CPack. -# CPackDeb is a CPack generator thus it uses the `CPACK_XXX` variables +# CPackDeb is a CPack generator thus it uses the ``CPACK_XXX`` variables # used by CPack : https://cmake.org/Wiki/CMake:CPackConfiguration. # CPackDeb generator should work on any linux host but it will produce # better deb package when Debian specific tools 'dpkg-xxx' are usable on @@ -18,7 +18,7 @@ # :code:`CPACK_DEBIAN_XXX` variables. # # :code:`CPACK_DEBIAN__` variables may be used in order to have -# **component** specific values. Note however that `` refers to the +# **component** specific values. Note however that refers to the # **grouping name** written in upper case. It may be either a component name or # a component GROUP name. # --- Summary of changes: Modules/CPackDeb.cmake |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.4.0-rc3-1247-gc2b4d89
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 c2b4d892103a99b61ceb8ece6911b6c8b8ba3d5a (commit) via e5b70ed0137df3b72f279a039cbdae1a20784473 (commit) via f2d98e2d3c9d7581703b124d3436312949dda141 (commit) from 1ddb9c87379fb888b1ba3fe6198214486dd73f7b (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c2b4d892103a99b61ceb8ece6911b6c8b8ba3d5a commit c2b4d892103a99b61ceb8ece6911b6c8b8ba3d5a Merge: 1ddb9c8 e5b70ed Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Wed Nov 4 15:48:41 2015 -0500 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Wed Nov 4 15:48:41 2015 -0500 Merge topic 'cpack-deb-config-file-source-field' into next e5b70ed0 CPackDEB: added config file optional Source field f2d98e2d CPackDEB: minor documentation and debug logging fixes https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e5b70ed0137df3b72f279a039cbdae1a20784473 commit e5b70ed0137df3b72f279a039cbdae1a20784473 Author: Raffi Enficiaud <raffi.enfici...@mines-paris.org> AuthorDate: Wed Nov 4 00:19:58 2015 +0100 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Wed Nov 4 21:46:22 2015 +0100 CPackDEB: added config file optional Source field diff --git a/Help/release/dev/cpack-deb-config-file-source-field.rst b/Help/release/dev/cpack-deb-config-file-source-field.rst new file mode 100644 index 000..bbc2aa6 --- /dev/null +++ b/Help/release/dev/cpack-deb-config-file-source-field.rst @@ -0,0 +1,6 @@ +cpack-deb-config-file-source-field +-- + +* The :module:`CPackDeb` module learned to set optional config + file ``Source`` field - monolithic and per-component variable. + See :variable:`CPACK_DEBIAN_PACKAGE_SOURCE`. diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index 7bd2f50..875a534 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -354,7 +354,28 @@ #set by Debian policy # https://www.debian.org/doc/debian-policy/ch-files.html#s-permissions-owners # - +# .. variable:: CPACK_DEBIAN_PACKAGE_SOURCE +# CPACK_DEBIAN__PACKAGE_SOURCE +# +# Sets the ``Source`` field of the binary Debian package. +# When the binary package name is not the same as the source package name +# (in particular when several components/binaries are generated from one +# source) the source from which the binary has been generated should be +# indicated with the field ``Source``. +# +# * Mandatory : NO +# * Default : +# +#- An empty string for non-component based installations +#- :variable:`CPACK_DEBIAN_PACKAGE_SOURCE` for component-based +# installations. +# +# See https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Source +# +# .. note:: +# +#This value is not interpreted. It is possible to pass an optional +#revision number of the referenced source package as well. #= # Copyright 2007-2009 Kitware, Inc. @@ -554,6 +575,15 @@ function(cpack_deb_prepare_package_vars) ) endif() + # Source: (optional) + # in case several packages are constructed from a unique source + # (multipackaging), the source may be indicated as well. + # The source might contain a version if the generated package + # version is different from the source version + if(NOT CPACK_DEBIAN_PACKAGE_SOURCE) +set(CPACK_DEBIAN_PACKAGE_SOURCE "") + endif() + # have a look at get_property(result GLOBAL PROPERTY ENABLED_FEATURES), # this returns the successful find_package() calls, maybe this can help # Depends: @@ -563,7 +593,7 @@ function(cpack_deb_prepare_package_vars) # if per-component dependency, overrides the global CPACK_DEBIAN_PACKAGE_${dependency_type_} # automatic dependency discovery will be performed afterwards. if(CPACK_DEB_PACKAGE_COMPONENT) -foreach(dependency_type_ DEPENDS RECOMMENDS SUGGESTS PREDEPENDS ENHANCES BREAKS CONFLICTS PROVIDES REPLACES) +foreach(dependency_type_ DEPENDS RECOMMENDS SUGGESTS PREDEPENDS ENHANCES BREAKS CONFLICTS PROVIDES REPLACES SOURCE) set(_component_var "CPACK_DEBIAN_${_local_component_name}_PACKAGE_${dependency_type_}") # if set, overrides the global dependency @@ -681,6 +711,7 @@ function(cpack_deb_prepare_package_vars) message("CPackDeb:Debug: CPACK_PACKAGE_INSTALL_DIRECTORY = '${CPACK_PACKAGE_INSTALL_DIRECTORY}'") message("CPackDeb:Debug: CPACK_TEMPORARY_PACKAGE_FILE_NAME = '
[Cmake-commits] CMake branch, next, updated. v3.4.0-rc3-1244-g1ddb9c8
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 1ddb9c87379fb888b1ba3fe6198214486dd73f7b (commit) via e564fe352916316f0044a4ac4491a54b3c43c7ae (commit) from b7b7274f3718b3ad7cd83db06a04adddf5e5acc5 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1ddb9c87379fb888b1ba3fe6198214486dd73f7b commit 1ddb9c87379fb888b1ba3fe6198214486dd73f7b Merge: b7b7274 e564fe3 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Wed Nov 4 15:45:28 2015 -0500 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Wed Nov 4 15:45:28 2015 -0500 Merge topic 'cpack-deb-config-file-source-field' into next e564fe35 fixup! CPackDEB: added config file optional Source field https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e564fe352916316f0044a4ac4491a54b3c43c7ae commit e564fe352916316f0044a4ac4491a54b3c43c7ae Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Wed Nov 4 21:43:09 2015 +0100 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Wed Nov 4 21:44:51 2015 +0100 fixup! CPackDEB: added config file optional Source field diff --git a/Help/release/dev/cpack-deb-config-file-source-field.rst b/Help/release/dev/cpack-deb-config-file-source-field.rst index 806aeac..bbc2aa6 100644 --- a/Help/release/dev/cpack-deb-config-file-source-field.rst +++ b/Help/release/dev/cpack-deb-config-file-source-field.rst @@ -2,5 +2,5 @@ cpack-deb-config-file-source-field -- * The :module:`CPackDeb` module learned to set optional config - file `Source` field - monolithic and per-component variable. + file ``Source`` field - monolithic and per-component variable. See :variable:`CPACK_DEBIAN_PACKAGE_SOURCE`. diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index 89194c7..875a534 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -357,11 +357,11 @@ # .. variable:: CPACK_DEBIAN_PACKAGE_SOURCE # CPACK_DEBIAN__PACKAGE_SOURCE # -# Sets the `Source` field of the binary Debian package. +# Sets the ``Source`` field of the binary Debian package. # When the binary package name is not the same as the source package name # (in particular when several components/binaries are generated from one # source) the source from which the binary has been generated should be -# indicated with the field `Source`. +# indicated with the field ``Source``. # # * Mandatory : NO # * Default : --- Summary of changes: Help/release/dev/cpack-deb-config-file-source-field.rst |2 +- Modules/CPackDeb.cmake |4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.4.0-rc2-1234-g44f5dda
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 44f5dda355f3ac3763c0e47fac99c292835b1ee1 (commit) via 341cd934897b3e37319b978113a1fdf9bea21c6d (commit) via b87bed0ff6d724a91bbe5ee97b5608eed588d1af (commit) from 4668f9ed6842fee90007c6134710c0c2d9aa787d (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=44f5dda355f3ac3763c0e47fac99c292835b1ee1 commit 44f5dda355f3ac3763c0e47fac99c292835b1ee1 Merge: 4668f9e 341cd93 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Tue Nov 3 12:24:40 2015 -0500 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Tue Nov 3 12:24:40 2015 -0500 Merge topic 'cpack-deb-compression-scheme-test' into next 341cd934 CPackDeb: ctest tests for compression scheme leak b87bed0f CMake Nightly Date Stamp https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=341cd934897b3e37319b978113a1fdf9bea21c6d commit 341cd934897b3e37319b978113a1fdf9bea21c6d Author: Raffi Enficiaud <raffi.enfici...@mines-paris.org> AuthorDate: Tue Nov 3 18:18:35 2015 +0100 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Tue Nov 3 18:18:35 2015 +0100 CPackDeb: ctest tests for compression scheme leak Test that changing compression of debian package content does not affect DEBIAN/ files which must be gzipped diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index ae61bca..e13dc79 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -1035,7 +1035,8 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release "components-description2" "components-shlibdeps1" "components-depend1" - "components-depend2") + "components-depend2" + "compression") set(CPackGen "DEB") set(CPackRun_CPackGen "-DCPackGen=${CPackGen}") diff --git a/Tests/CPackComponentsDEB/MyLibCPackConfig-compression.cmake.in b/Tests/CPackComponentsDEB/MyLibCPackConfig-compression.cmake.in new file mode 100644 index 000..ff18834 --- /dev/null +++ b/Tests/CPackComponentsDEB/MyLibCPackConfig-compression.cmake.in @@ -0,0 +1,11 @@ +# +# Test that setting the compression produces valid +# packages (compression does not leak to the DEBIAN/ files that use gzip) +# + +if(CPACK_GENERATOR MATCHES "DEB") + set(CPACK_DEB_COMPONENT_INSTALL "OFF") +endif() + +set(CPACK_COMPONENTS_ALL_GROUPS_IN_ONE_PACKAGE) +set(CPACK_DEBIAN_COMPRESSION_TYPE xz) diff --git a/Tests/CPackComponentsDEB/RunCPackVerifyResult-compression.cmake b/Tests/CPackComponentsDEB/RunCPackVerifyResult-compression.cmake new file mode 100644 index 000..2175ada --- /dev/null +++ b/Tests/CPackComponentsDEB/RunCPackVerifyResult-compression.cmake @@ -0,0 +1,54 @@ +if(NOT CPackComponentsDEB_SOURCE_DIR) + message(FATAL_ERROR "CPackComponentsDEB_SOURCE_DIR not set") +endif() + +include(${CPackComponentsDEB_SOURCE_DIR}/RunCPackVerifyResult.cmake) + +# TODO: currently debian doens't produce lower cased names +set(expected_file_mask "${CPackComponentsDEB_BINARY_DIR}/MyLib-*.deb") +set(expected_count 1) + +set(actual_output) +run_cpack(actual_output + CPack_output + CPack_error + EXPECTED_FILE_MASK "${expected_file_mask}" + CONFIG_ARGS "${config_args}" + CONFIG_VERBOSE "${config_verbose}") + +if(NOT actual_output) + message(STATUS "expected_count='${expected_count}'") + message(STATUS "expected_file_mask='${expected_file_mask}'") + message(STATUS "actual_output_files='${actual_output}'") + message(FATAL_ERROR "error: expected_files do not exist: CPackComponentsDEB test fails. (CPack_output=${CPack_output}, CPack_error=${CPack_error}") +endif() + +list(LENGTH actual_output actual_count) +if(NOT actual_count EQUAL expected_count) + message(STATUS "actual_count='${actual_count}'") + message(FATAL_ERROR "error: expected_count=${expected_count} does not match actual_count=${actual_count}: CPackComponents test fails. (CPack_output=${CPack_output}, CPack_error=${CPack_error})") +endif() + + +# dpkg-deb checks +find_program(DPKGDEB_EXECUTABLE dpkg-deb) +if(DPKGDEB_EXECUTABLE) + set(dpkgdeb_output_errors_all "") + foreach(_f IN LISTS actu
[Cmake-commits] CMake branch, next, updated. v3.4.0-rc3-1222-ged645b3
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 ed645b3a720e7d3df63aa39da3883a994e74a298 (commit) via 76f0fd05a5fc25eb8a3c86aae18371c02417f0b0 (commit) via 0cb1469e2babd1af11d2c290c6dc24c7c313422a (commit) from 6dfbd02e6455d25b98672cd366408f8746557fc5 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ed645b3a720e7d3df63aa39da3883a994e74a298 commit ed645b3a720e7d3df63aa39da3883a994e74a298 Merge: 6dfbd02 76f0fd0 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Tue Nov 3 18:24:13 2015 -0500 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Tue Nov 3 18:24:13 2015 -0500 Merge topic 'cpack-deb-config-file-source-field' into next 76f0fd05 CPackDEB: added config file optional Source field 0cb1469e CPackDEB: minor documentation and debug logging fixes diff --cc Tests/CMakeLists.txt index e13dc79,d42a322..f381758 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@@ -1033,10 -1033,10 +1033,11 @@@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=de set(DEB_CONFIGURATIONS_TO_TEST "components-lintian-dpkgdeb-checks" "components-description1" "components-description2" + "components-source" "components-shlibdeps1" "components-depend1" - "components-depend2") + "components-depend2" + "compression") set(CPackGen "DEB") set(CPackRun_CPackGen "-DCPackGen=${CPackGen}") https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=76f0fd05a5fc25eb8a3c86aae18371c02417f0b0 commit 76f0fd05a5fc25eb8a3c86aae18371c02417f0b0 Author: Raffi Enficiaud <raffi.enfici...@mines-paris.org> AuthorDate: Wed Nov 4 00:19:58 2015 +0100 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Wed Nov 4 00:19:58 2015 +0100 CPackDEB: added config file optional Source field diff --git a/Help/release/dev/cpack-deb-config-file-source-field.rst b/Help/release/dev/cpack-deb-config-file-source-field.rst new file mode 100644 index 000..806aeac --- /dev/null +++ b/Help/release/dev/cpack-deb-config-file-source-field.rst @@ -0,0 +1,6 @@ +cpack-deb-config-file-source-field +-- + +* The :module:`CPackDeb` module learned to set optional config + file `Source` field - monolithic and per-component variable. + See :variable:`CPACK_DEBIAN_PACKAGE_SOURCE`. diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index 84c9243..ba21029 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -354,7 +354,28 @@ #set by Debian policy # https://www.debian.org/doc/debian-policy/ch-files.html#s-permissions-owners # - +# .. variable:: CPACK_DEBIAN_PACKAGE_SOURCE +# CPACK_DEBIAN__PACKAGE_SOURCE +# +# Sets the `Source` field of the binary Debian package. +# When the binary package name is not the same as the source package name +# (in particular when several components/binaries are generated from one +# source) the source from which the binary has been generated should be +# indicated with the field `Source`. +# +# * Mandatory : NO +# * Default : +# +#- An empty string for non-component based installations +#- :variable:`CPACK_DEBIAN_PACKAGE_SOURCE` for component-based +# installations. +# +# See https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Source +# +# .. note:: +# +#This value is not interpreted. It is possible to pass an optional +#revision number of the referenced source package as well. #= # Copyright 2007-2009 Kitware, Inc. @@ -554,6 +575,15 @@ function(cpack_deb_prepare_package_vars) ) endif() + # Source: (optional) + # in case several packages are constructed from a unique source + # (multipackaging), the source may be indicated as well. + # The source might contain a version if the generated package + # version is different from the source version + if(NOT CPACK_DEBIAN_PACKAGE_SOURCE) +set(CPACK_DEBIAN_PACKAGE_SOURCE "") + endif() + # have a look at get_property(result GLOBAL PROPERTY ENABLED_FEATURES), # this returns the successful find_package() calls, maybe this can hel
[Cmake-commits] CMake branch, next, updated. v3.3.1-2586-ge1fcdb6
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 e1fcdb66be61bcc5d7c5ca9adc05860aec3b17cc (commit) via 674dc0b33566b433b6ac5751f965b7d0ff952e73 (commit) from 698baeca7519b75caa4958f187bc57e32da63aad (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=e1fcdb66be61bcc5d7c5ca9adc05860aec3b17cc commit e1fcdb66be61bcc5d7c5ca9adc05860aec3b17cc Merge: 698baec 674dc0b Author: Domen Vrankar domen.vran...@gmail.com AuthorDate: Fri Aug 28 02:09:41 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Fri Aug 28 02:09:41 2015 -0400 Merge topic 'cpack-config-generation-test' into next 674dc0b3 CPack generator independent tests http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=674dc0b33566b433b6ac5751f965b7d0ff952e73 commit 674dc0b33566b433b6ac5751f965b7d0ff952e73 Author: Roman Donchenko d...@corrigendum.ru AuthorDate: Fri Aug 28 08:07:52 2015 +0200 Commit: Domen Vrankar domen.vran...@gmail.com CommitDate: Fri Aug 28 08:07:52 2015 +0200 CPack generator independent tests CPackConfig.cmake file generation from CMake test suite. Currently it contains only a simple test without special characters in variable value. Test is not part of RunCMake/CPack as those tests are expected to be run for a specified generator. diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt index c274d8f..2955db2 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@ -239,6 +239,7 @@ add_RunCMake_test(CommandLine) add_RunCMake_test(CommandLineTar) add_RunCMake_test(install) +add_RunCMake_test(CPackConfig) add_RunCMake_test(CPackInstallProperties) add_RunCMake_test(ExternalProject) add_RunCMake_test(CTestCommandLine) diff --git a/Tests/RunCMake/CPackConfig/CMakeLists.txt b/Tests/RunCMake/CPackConfig/CMakeLists.txt new file mode 100644 index 000..9a9e7b4 --- /dev/null +++ b/Tests/RunCMake/CPackConfig/CMakeLists.txt @@ -0,0 +1,6 @@ +cmake_minimum_required(VERSION 3.3) + +project(${RunCMake_TEST}) +include(${RunCMake_TEST}.cmake) + +include(CPack) diff --git a/Tests/RunCMake/CPackConfig/RunCMakeTest.cmake b/Tests/RunCMake/CPackConfig/RunCMakeTest.cmake new file mode 100644 index 000..6787eb8 --- /dev/null +++ b/Tests/RunCMake/CPackConfig/RunCMakeTest.cmake @@ -0,0 +1,3 @@ +include(RunCMake) + +run_cmake(Simple) diff --git a/Tests/RunCMake/CPackConfig/Simple-check.cmake b/Tests/RunCMake/CPackConfig/Simple-check.cmake new file mode 100644 index 000..6e0cf6f --- /dev/null +++ b/Tests/RunCMake/CPackConfig/Simple-check.cmake @@ -0,0 +1,3 @@ +include(${RunCMake_SOURCE_DIR}/check.cmake) + +test_variable(CPACK_FOO bar baz;quux) diff --git a/Tests/RunCMake/CPackConfig/Simple.cmake b/Tests/RunCMake/CPackConfig/Simple.cmake new file mode 100644 index 000..c9f6541 --- /dev/null +++ b/Tests/RunCMake/CPackConfig/Simple.cmake @@ -0,0 +1 @@ +set(CPACK_FOO bar baz;quux) diff --git a/Tests/RunCMake/CPackConfig/check.cmake b/Tests/RunCMake/CPackConfig/check.cmake new file mode 100644 index 000..2fc9f11 --- /dev/null +++ b/Tests/RunCMake/CPackConfig/check.cmake @@ -0,0 +1,7 @@ +function(test_variable NAME EXPECTED_VALUE) + if(NOT ${${NAME}} STREQUAL ${EXPECTED_VALUE}) +message(FATAL_ERROR ${NAME}: variable mismatch; expected [${EXPECTED_VALUE}] actual [${${NAME}}]) + endif() +endfunction() + +include(${RunCMake_TEST_BINARY_DIR}/CPackConfig.cmake) --- Summary of changes: Tests/RunCMake/CMakeLists.txt |1 + Tests/RunCMake/{CMP0064 = CPackConfig}/CMakeLists.txt |5 - Tests/RunCMake/CPackConfig/RunCMakeTest.cmake |3 +++ Tests/RunCMake/CPackConfig/Simple-check.cmake |3 +++ Tests/RunCMake/CPackConfig/Simple.cmake|1 + Tests/RunCMake/CPackConfig/check.cmake |7 +++ 6 files changed, 19 insertions(+), 1 deletion(-) copy Tests/RunCMake/{CMP0064 = CPackConfig}/CMakeLists.txt (61%) create mode 100644 Tests/RunCMake/CPackConfig/RunCMakeTest.cmake create mode 100644 Tests/RunCMake/CPackConfig/Simple-check.cmake create mode 100644 Tests/RunCMake/CPackConfig/Simple.cmake create mode 100644 Tests/RunCMake/CPackConfig/check.cmake hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.3.1-2826-gf1b9893
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 f1b98931036d13e03c960fd1616699948821e67a (commit) via 4de7c8126b43d93f781afaf0b990cc8814105017 (commit) from 09ffe6116bd70d779e69b539e555d2baf5475910 (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=f1b98931036d13e03c960fd1616699948821e67a commit f1b98931036d13e03c960fd1616699948821e67a Merge: 09ffe61 4de7c81 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Wed Sep 9 17:58:43 2015 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Wed Sep 9 17:58:43 2015 -0400 Merge topic 'cpack-deb-component-dependencies' into next 4de7c812 CPack/Deb: enable per component setting of dependencies http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4de7c8126b43d93f781afaf0b990cc8814105017 commit 4de7c8126b43d93f781afaf0b990cc8814105017 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Wed Sep 9 23:57:58 2015 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Wed Sep 9 23:57:58 2015 +0200 CPack/Deb: enable per component setting of dependencies diff --git a/Help/release/dev/cpack-deb-component-dependencies.rst b/Help/release/dev/cpack-deb-component-dependencies.rst new file mode 100644 index 000..2714222 --- /dev/null +++ b/Help/release/dev/cpack-deb-component-dependencies.rst @@ -0,0 +1,12 @@ +cpack-deb-component-dependencies + + +* The :module:`CPackDeb` module learned to set package dependencies + per component. See :variable:`CPACK_DEBIAN__PACKAGE_PREDEPENDS`, + :variable:`CPACK_DEBIAN__PACKAGE_ENHANCES`, + :variable:`CPACK_DEBIAN__PACKAGE_BREAKS`, + :variable:`CPACK_DEBIAN__PACKAGE_CONFLICTS`, + :variable:`CPACK_DEBIAN__PACKAGE_PROVIDES`, + :variable:`CPACK_DEBIAN__PACKAGE_REPLACES`, + :variable:`CPACK_DEBIAN__PACKAGE_RECOMMENDS` and + :variable:`CPACK_DEBIAN__PACKAGE_SUGGESTS`. diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index 75e9966..6c94d8e 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -78,6 +78,7 @@ # #set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.3.1-6), libc6 (< 2.4)") # +# # .. variable:: CPACK_DEBIAN_PACKAGE_MAINTAINER # # The Debian package maintainer @@ -164,6 +165,7 @@ # * Default : - # # .. variable:: CPACK_DEBIAN_PACKAGE_PREDEPENDS +# CPACK_DEBIAN__PACKAGE_PREDEPENDS # # Sets the `Pre-Depends` field of the Debian package. # Like :variable:`Depends `, except that it @@ -172,11 +174,16 @@ # pre-dependency. # # * Mandatory : NO -# * Default : - +# * Default : +# +#- An empty string for non-component based installations +#- :variable:`CPACK_DEBIAN_PACKAGE_PREDEPENDS` for component-based +# installations. # # See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps # # .. variable:: CPACK_DEBIAN_PACKAGE_ENHANCES +# CPACK_DEBIAN__PACKAGE_ENHANCES # # Sets the `Enhances` field of the Debian package. # Similar to :variable:`Suggests ` but works @@ -184,11 +191,16 @@ # functionality of another package. # # * Mandatory : NO -# * Default : - +# * Default : +# +#- An empty string for non-component based installations +#- :variable:`CPACK_DEBIAN_PACKAGE_ENHANCES` for component-based +# installations. # # See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps # # .. variable:: CPACK_DEBIAN_PACKAGE_BREAKS +# CPACK_DEBIAN__PACKAGE_BREAKS # # Sets the `Breaks` field of the Debian package. # When a binary package (P) declares that it breaks other packages (B), @@ -199,12 +211,17 @@ # packages (B) cannot be reconfigured again. # # * Mandatory : NO -# * Default : - +# * Default : +# +#- An empty string for non-component based installations +#- :variable:`CPACK_DEBIAN_PACKAGE_BREAKS` for component-based +# installations. # # See https://www.debian.org/doc/debian-policy/ch-relationships.html#s-breaks # # # .. variable:: CPACK_DEBIAN_PACKAGE_CONFLICTS +# CPACK_DEBIAN__PACKAGE_CONFLICTS # # Sets the `Conflicts` field of the Debian package. # When one binary package declares a conflict with another using a `Conflicts` @@ -212,7 +229,11 @@ # the same time. # # * Mandatory : NO -# * Default : - +# * Default : +# +#- An empty string for non-component based installations +#- :variable:`CPACK_DEBIAN_PACKAGE_CONFLICTS` for component-based +# installations. # # See https://www.debian.org/doc/debian-poli
[Cmake-commits] CMake branch, next, updated. v3.3.1-2956-g7b9bab0
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 7b9bab0f445c8d56f4c0e95e5d28edda6df14d99 (commit) via 271bc8d13beb1c24cabc30d4da8e1466825bd3a3 (commit) via e96e8a73a860b987db0387516113c46b13c4aa4a (commit) from bcb5fcebe81f80c4f97e7955617132b4d8bbbe69 (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=7b9bab0f445c8d56f4c0e95e5d28edda6df14d99 commit 7b9bab0f445c8d56f4c0e95e5d28edda6df14d99 Merge: bcb5fce 271bc8d Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Tue Sep 15 18:20:07 2015 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Tue Sep 15 18:20:07 2015 -0400 Merge topic 'cpack-deb-fakeroot-removal' into next 271bc8d1 fixup! cmArchiveWrite: control user/group, permissions e96e8a73 fixup! permissions on control files and strict Debian rules variable http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=271bc8d13beb1c24cabc30d4da8e1466825bd3a3 commit 271bc8d13beb1c24cabc30d4da8e1466825bd3a3 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Wed Sep 16 00:19:13 2015 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Wed Sep 16 00:19:13 2015 +0200 fixup! cmArchiveWrite: control user/group, permissions Fix for variable naming convention and conversion between signed and unsigned values diff --git a/Source/CPack/cmCPackDebGenerator.cxx b/Source/CPack/cmCPackDebGenerator.cxx index 55eeec5..9402689 100644 --- a/Source/CPack/cmCPackDebGenerator.cxx +++ b/Source/CPack/cmCPackDebGenerator.cxx @@ -453,10 +453,8 @@ int cmCPackDebGenerator::createDeb() // uid/gid should be the one of the root user, and this root user has // always uid/gid equal to 0. -data_tar.SetUID(0); -data_tar.SetGID(0); -data_tar.SetUNAME("root"); -data_tar.SetGNAME("root"); +data_tar.SetUIDAndGID(0u, 0u); +data_tar.SetUNAMEAndGNAME("root", "root"); // now add all directories which have to be compressed // collect all top level install dirs for that @@ -571,10 +569,8 @@ int cmCPackDebGenerator::createDeb() "paxr"); // sets permissions and uid/gid for the files -control_tar.SetUID(0); -control_tar.SetGID(0); -control_tar.SetUNAME("root"); -control_tar.SetGNAME("root"); +control_tar.SetUIDAndGID(0u, 0u); +control_tar.SetUNAMEAndGNAME("root", "root"); /* permissions are set according to https://www.debian.org/doc/debian-policy/ch-files.html#s-permissions-owners @@ -623,7 +619,7 @@ int cmCPackDebGenerator::createDeb() strictFiles + sizeof(strictFiles)/sizeof(strictFiles[0])); // default - control_tar.SetPermissions(-1); + control_tar.ClearPermissions(); std::vector controlExtraList; cmSystemTools::ExpandListArgument(controlExtra, controlExtraList); diff --git a/Source/cmArchiveWrite.cxx b/Source/cmArchiveWrite.cxx index f6a1b4f..7946950 100644 --- a/Source/cmArchiveWrite.cxx +++ b/Source/cmArchiveWrite.cxx @@ -84,11 +84,7 @@ cmArchiveWrite::cmArchiveWrite( Archive(archive_write_new()), Disk(archive_read_disk_new()), Verbose(false), -Format(format), -uid(-1), -gid(-1), -permissions(-1), -permissionsMask(-1) +Format(format) { switch (c) { @@ -288,29 +284,29 @@ bool cmArchiveWrite::AddFile(const char* file, } // manages the uid/guid of the entry (if any) - if (this->uid > -1 && this->gid > -1) + if (this->Uid.IsSet() && this->Gid.IsSet()) { -archive_entry_set_uid(e, this->uid); -archive_entry_set_gid(e, this->gid); +archive_entry_set_uid(e, this->Uid.Get()); +archive_entry_set_gid(e, this->Gid.Get()); } - if (this->uname.size() && this->gname.size()) + if (this->Uname.size() && this->Gname.size()) { -archive_entry_set_uname(e, this->uname.c_str()); -archive_entry_set_gname(e, this->gname.c_str()); +archive_entry_set_uname(e, this->Uname.c_str()); +archive_entry_set_gname(e, this->Gname.c_str()); } // manages the permissions - if (this->permissions > -1) + if (this->Permissions.IsSet()) { -archive_entry_set_perm(e, this->permissions); +archive_entry_set_perm(e, this->Permissions.Get()); } - if (this->permissionsMask > -1) + if (this->PermissionsMask.IsSet()) { mode_t perm = archive_en
[Cmake-commits] CMake branch, next, updated. v3.3.1-2931-g664a9b0
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
[Cmake-commits] CMake branch, next, updated. v3.3.1-2958-gb937b17
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 b937b173e28042dbee74f2beeb526e38890a68e3 (commit) via 716f9bf961b3739587d820369ad958a4fca33287 (commit) from 7b9bab0f445c8d56f4c0e95e5d28edda6df14d99 (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=b937b173e28042dbee74f2beeb526e38890a68e3 commit b937b173e28042dbee74f2beeb526e38890a68e3 Merge: 7b9bab0 716f9bf Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Tue Sep 15 18:46:23 2015 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Tue Sep 15 18:46:23 2015 -0400 Merge topic 'cpack-deb-fakeroot-removal' into next 716f9bf9 Revert "fixup! cmArchiveWrite: control user/group, permissions" http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=716f9bf961b3739587d820369ad958a4fca33287 commit 716f9bf961b3739587d820369ad958a4fca33287 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Wed Sep 16 00:44:05 2015 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Wed Sep 16 00:44:05 2015 +0200 Revert "fixup! cmArchiveWrite: control user/group, permissions" This reverts commit 271bc8d13beb1c24cabc30d4da8e1466825bd3a3. diff --git a/Source/CPack/cmCPackDebGenerator.cxx b/Source/CPack/cmCPackDebGenerator.cxx index 9402689..55eeec5 100644 --- a/Source/CPack/cmCPackDebGenerator.cxx +++ b/Source/CPack/cmCPackDebGenerator.cxx @@ -453,8 +453,10 @@ int cmCPackDebGenerator::createDeb() // uid/gid should be the one of the root user, and this root user has // always uid/gid equal to 0. -data_tar.SetUIDAndGID(0u, 0u); -data_tar.SetUNAMEAndGNAME("root", "root"); +data_tar.SetUID(0); +data_tar.SetGID(0); +data_tar.SetUNAME("root"); +data_tar.SetGNAME("root"); // now add all directories which have to be compressed // collect all top level install dirs for that @@ -569,8 +571,10 @@ int cmCPackDebGenerator::createDeb() "paxr"); // sets permissions and uid/gid for the files -control_tar.SetUIDAndGID(0u, 0u); -control_tar.SetUNAMEAndGNAME("root", "root"); +control_tar.SetUID(0); +control_tar.SetGID(0); +control_tar.SetUNAME("root"); +control_tar.SetGNAME("root"); /* permissions are set according to https://www.debian.org/doc/debian-policy/ch-files.html#s-permissions-owners @@ -619,7 +623,7 @@ int cmCPackDebGenerator::createDeb() strictFiles + sizeof(strictFiles)/sizeof(strictFiles[0])); // default - control_tar.ClearPermissions(); + control_tar.SetPermissions(-1); std::vector controlExtraList; cmSystemTools::ExpandListArgument(controlExtra, controlExtraList); diff --git a/Source/cmArchiveWrite.cxx b/Source/cmArchiveWrite.cxx index 7946950..f6a1b4f 100644 --- a/Source/cmArchiveWrite.cxx +++ b/Source/cmArchiveWrite.cxx @@ -84,7 +84,11 @@ cmArchiveWrite::cmArchiveWrite( Archive(archive_write_new()), Disk(archive_read_disk_new()), Verbose(false), -Format(format) +Format(format), +uid(-1), +gid(-1), +permissions(-1), +permissionsMask(-1) { switch (c) { @@ -284,29 +288,29 @@ bool cmArchiveWrite::AddFile(const char* file, } // manages the uid/guid of the entry (if any) - if (this->Uid.IsSet() && this->Gid.IsSet()) + if (this->uid > -1 && this->gid > -1) { -archive_entry_set_uid(e, this->Uid.Get()); -archive_entry_set_gid(e, this->Gid.Get()); +archive_entry_set_uid(e, this->uid); +archive_entry_set_gid(e, this->gid); } - if (this->Uname.size() && this->Gname.size()) + if (this->uname.size() && this->gname.size()) { -archive_entry_set_uname(e, this->Uname.c_str()); -archive_entry_set_gname(e, this->Gname.c_str()); +archive_entry_set_uname(e, this->uname.c_str()); +archive_entry_set_gname(e, this->gname.c_str()); } // manages the permissions - if (this->Permissions.IsSet()) + if (this->permissions > -1) { -archive_entry_set_perm(e, this->Permissions.Get()); +archive_entry_set_perm(e, this->permissions); } - if (this->PermissionsMask.IsSet()) + if (this->permissionsMask > -1) { mode_t perm = archive_entry_perm(e); -archive_entry_set_perm(e, perm & this->PermissionsMask.Get()); +archive_entry_set_perm(e, perm &
[Cmake-commits] CMake branch, next, updated. v3.3.1-2993-g0cb936d
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 0cb936d7f3c97311dc1516c2eeb310d42aa3539b (commit) via ec1e2920551647fd08407b26ef9fc5561061e238 (commit) from 35ee6832faf64aaadd78d4b7af47b5d949683a17 (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=0cb936d7f3c97311dc1516c2eeb310d42aa3539b commit 0cb936d7f3c97311dc1516c2eeb310d42aa3539b Merge: 35ee683 ec1e292 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Wed Sep 16 11:47:15 2015 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Wed Sep 16 11:47:15 2015 -0400 Merge topic 'cpack-deb-fakeroot-removal' into next ec1e2920 fixup! cmArchiveWrite: control user/group, permissions http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ec1e2920551647fd08407b26ef9fc5561061e238 commit ec1e2920551647fd08407b26ef9fc5561061e238 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Wed Sep 16 07:57:36 2015 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Wed Sep 16 07:57:36 2015 +0200 fixup! cmArchiveWrite: control user/group, permissions Fix for variable naming convention and conversion between signed and unsigned values diff --git a/Source/CPack/cmCPackDebGenerator.cxx b/Source/CPack/cmCPackDebGenerator.cxx index 55eeec5..9402689 100644 --- a/Source/CPack/cmCPackDebGenerator.cxx +++ b/Source/CPack/cmCPackDebGenerator.cxx @@ -453,10 +453,8 @@ int cmCPackDebGenerator::createDeb() // uid/gid should be the one of the root user, and this root user has // always uid/gid equal to 0. -data_tar.SetUID(0); -data_tar.SetGID(0); -data_tar.SetUNAME("root"); -data_tar.SetGNAME("root"); +data_tar.SetUIDAndGID(0u, 0u); +data_tar.SetUNAMEAndGNAME("root", "root"); // now add all directories which have to be compressed // collect all top level install dirs for that @@ -571,10 +569,8 @@ int cmCPackDebGenerator::createDeb() "paxr"); // sets permissions and uid/gid for the files -control_tar.SetUID(0); -control_tar.SetGID(0); -control_tar.SetUNAME("root"); -control_tar.SetGNAME("root"); +control_tar.SetUIDAndGID(0u, 0u); +control_tar.SetUNAMEAndGNAME("root", "root"); /* permissions are set according to https://www.debian.org/doc/debian-policy/ch-files.html#s-permissions-owners @@ -623,7 +619,7 @@ int cmCPackDebGenerator::createDeb() strictFiles + sizeof(strictFiles)/sizeof(strictFiles[0])); // default - control_tar.SetPermissions(-1); + control_tar.ClearPermissions(); std::vector controlExtraList; cmSystemTools::ExpandListArgument(controlExtra, controlExtraList); diff --git a/Source/cmArchiveWrite.cxx b/Source/cmArchiveWrite.cxx index f6a1b4f..7946950 100644 --- a/Source/cmArchiveWrite.cxx +++ b/Source/cmArchiveWrite.cxx @@ -84,11 +84,7 @@ cmArchiveWrite::cmArchiveWrite( Archive(archive_write_new()), Disk(archive_read_disk_new()), Verbose(false), -Format(format), -uid(-1), -gid(-1), -permissions(-1), -permissionsMask(-1) +Format(format) { switch (c) { @@ -288,29 +284,29 @@ bool cmArchiveWrite::AddFile(const char* file, } // manages the uid/guid of the entry (if any) - if (this->uid > -1 && this->gid > -1) + if (this->Uid.IsSet() && this->Gid.IsSet()) { -archive_entry_set_uid(e, this->uid); -archive_entry_set_gid(e, this->gid); +archive_entry_set_uid(e, this->Uid.Get()); +archive_entry_set_gid(e, this->Gid.Get()); } - if (this->uname.size() && this->gname.size()) + if (this->Uname.size() && this->Gname.size()) { -archive_entry_set_uname(e, this->uname.c_str()); -archive_entry_set_gname(e, this->gname.c_str()); +archive_entry_set_uname(e, this->Uname.c_str()); +archive_entry_set_gname(e, this->Gname.c_str()); } // manages the permissions - if (this->permissions > -1) + if (this->Permissions.IsSet()) { -archive_entry_set_perm(e, this->permissions); +archive_entry_set_perm(e, this->Permissions.Get()); } - if (this->permissionsMask > -1) + if (this->PermissionsMask.IsSet()) { mode_t perm = archive_entry_perm(e); -archive_entry_set_perm(e, perm & this->permissionsMask ); +archive_entry_set_perm(e, perm & this->Permissi
[Cmake-commits] CMake branch, next, updated. v3.3.2-3047-g3b099fd
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 3b099fd3eddbe1775d0cc1360704a0e824532c80 (commit) via 8954f8fa8a8d28cb06abdf1630e1229ea818b596 (commit) via 437b8acb6c501f736fdba6b26bfa6122581e198e (commit) via 5a8e53453a4bef49663723fec57cb22253c7c34f (commit) from 41547e3a5d045d4cc549f8e2202bdea1ff002c29 (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=3b099fd3eddbe1775d0cc1360704a0e824532c80 commit 3b099fd3eddbe1775d0cc1360704a0e824532c80 Merge: 41547e3 8954f8f Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Thu Sep 17 15:09:29 2015 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Thu Sep 17 15:09:29 2015 -0400 Merge topic 'cpack-deb-fakeroot-removal' into next 8954f8fa CPack/DEB: test preserve extra config file permissions 437b8acb CPackDeb: use of libarchive and removal of fakeroot 5a8e5345 cmArchiveWrite: control user/group, permissions and recursive file adding http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8954f8fa8a8d28cb06abdf1630e1229ea818b596 commit 8954f8fa8a8d28cb06abdf1630e1229ea818b596 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Mon Sep 14 22:44:00 2015 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Thu Sep 17 21:05:53 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_} +DES
[Cmake-commits] CMake branch, next, updated. v3.3.2-3416-gb82ae22
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 b82ae22bf8d81ce4abfe340c52fdde41e9fe3776 (commit) via 55653c8be853c2bcbae9595dcf278fa27e2cf37e (commit) from 239d0e025739f5885d49304e93fc896aa27928ba (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b82ae22bf8d81ce4abfe340c52fdde41e9fe3776 commit b82ae22bf8d81ce4abfe340c52fdde41e9fe3776 Merge: 239d0e0 55653c8 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Wed Sep 30 16:15:29 2015 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Wed Sep 30 16:15:29 2015 -0400 Merge topic 'cpack-tests-fix' into next 55653c8b CPack: fix TGZ test missing compiler errors https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=55653c8be853c2bcbae9595dcf278fa27e2cf37e commit 55653c8be853c2bcbae9595dcf278fa27e2cf37e Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Wed Sep 30 22:13:12 2015 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Wed Sep 30 22:13:12 2015 +0200 CPack: fix TGZ test missing compiler errors diff --git a/Tests/RunCMake/CPack/CPackTestHelpers.cmake b/Tests/RunCMake/CPack/CPackTestHelpers.cmake index 7ea2a24..153ff50 100644 --- a/Tests/RunCMake/CPack/CPackTestHelpers.cmake +++ b/Tests/RunCMake/CPack/CPackTestHelpers.cmake @@ -10,47 +10,14 @@ function(run_cpack_test TEST_NAME types build) file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}") # execute cmake -execute_process( - COMMAND "${CMAKE_COMMAND}" -DRunCMake_TEST=${TEST_NAME} - -DGENERATOR_TYPE=${TEST_TYPE} "${RunCMake_SOURCE_DIR}" - WORKING_DIRECTORY "${RunCMake_TEST_BINARY_DIR}" - RESULT_VARIABLE res - OUTPUT_FILE "${RunCMake_TEST_BINARY_DIR}/test_output.txt" - ERROR_FILE "${RunCMake_TEST_BINARY_DIR}/test_error.txt" - ) - -if(res) - run_cmake_command( -${TEST_TYPE}/${TEST_NAME} -"${CMAKE_COMMAND}" - -DRunCMake_TEST_STEP=configure - -Dreturn_code=${res} - "-Dbin_dir=${RunCMake_TEST_BINARY_DIR}" - -P "${RunCMake_SOURCE_DIR}/PreTestError.cmake" -) - return() -endif() +unset(RunCMake_TEST_COMMAND) +set(RunCMake_TEST_OPTIONS "-DGENERATOR_TYPE=${TEST_TYPE}") +run_cmake(${TEST_NAME}) # execute optional build step if(build) - execute_process( -COMMAND "${CMAKE_COMMAND}" --build "${RunCMake_TEST_BINARY_DIR}" -RESULT_VARIABLE res -OUTPUT_FILE "${RunCMake_TEST_BINARY_DIR}/test_output.txt" -ERROR_FILE "${RunCMake_TEST_BINARY_DIR}/test_error.txt" -) -endif() - -if(res) - run_cmake_command( -${TEST_TYPE}/${TEST_NAME} -"${CMAKE_COMMAND}" - -DRunCMake_TEST_STEP=build - -Dreturn_code=${res} - "-Dbin_dir=${RunCMake_TEST_BINARY_DIR}" - -P "${RunCMake_SOURCE_DIR}/PreTestError.cmake" -) - return() + set(RunCMake_TEST_COMMAND "${CMAKE_COMMAND}" --build "${RunCMake_TEST_BINARY_DIR}") + run_cmake(${TEST_NAME}) endif() # execute cpack diff --git a/Tests/RunCMake/CPack/PreTestError.cmake b/Tests/RunCMake/CPack/PreTestError.cmake deleted file mode 100644 index f88f2e8..000 --- a/Tests/RunCMake/CPack/PreTestError.cmake +++ /dev/null @@ -1,7 +0,0 @@ -file(READ "${bin_dir}/test_output.txt" output) -file(READ "${bin_dir}/test_error.txt" error) - -message(FATAL_ERROR "Error in pre-test phase '${RunCMake_TEST_STEP}'!\n" -"Return code: '${return_code}'\n" -"Info output: '${output}'\n" -"Error output: '${error}'") diff --git a/Tests/RunCMake/CPack/TGZ/Helpers.cmake b/Tests/RunCMake/CPack/TGZ/Helpers.cmake index f14d532..4ce2590 100644 --- a/Tests/RunCMake/CPack/TGZ/Helpers.cmake +++ b/Tests/RunCMake/CPack/TGZ/Helpers.cmake @@ -1,7 +1,7 @@ set(ALL_FILES_GLOB "*.tar.gz") function(getPackageContent FILE RESULT_VAR) - execute_process(COMMAND ${CMAKE_COMMAND} -E tar -ztvf ${FILE} + execute_process(COMMAND ${TAR_EXECUTABLE} -ztvf ${FILE} OUTPUT_VARIABLE package_content_ ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) diff --git a/Tests/RunCMake/CPack/TGZ/Prerequirements.cmake b/Tests/RunCMake/CPack/TGZ/Prerequirements.cmake index dbaf682..c244984 100644 --- a/Tests/RunCMake/CPack/TGZ/Prerequire
[Cmake-commits] CMake branch, next, updated. v3.3.2-3366-g27271a2
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 27271a21256bf7013efd013f711ac48589f82bc7 (commit) via 43cd3b6e7df6601d592add614cc7d3048b7aeaaa (commit) via bc94797f57c070c631ac5b4a67103f3a5105ab8c (commit) via fa69fe931bc9de62f2e118d31e9b60d6e17d8a6e (commit) via 1cbe7f404c787738f87e13e7474ad171e6074398 (commit) via ab7387a0cd50b18557af244095e23e1b682b674c (commit) via b6c030bb1e2d6cda878311e496f63585569277ef (commit) via 252d45e8929105b15b87983428ae4f7a0b8b1a9b (commit) via 5b97fe36ac3549ba3508d5b2b179ffb43752dd45 (commit) via 5fc32440df1f11d2b393a5d80c16a9d69ad82e06 (commit) via 24b0c9811a3a2400cdbec5ec714807053e021ea3 (commit) via ac6cbeec793a5b2ca0e95a8b374fc2b02e1519a3 (commit) from 6207fca3c8248dc11103deb0a0a9bc354b8da3d6 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=27271a21256bf7013efd013f711ac48589f82bc7 commit 27271a21256bf7013efd013f711ac48589f82bc7 Merge: 6207fca 43cd3b6 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Mon Sep 28 18:54:44 2015 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Mon Sep 28 18:54:44 2015 -0400 Merge topic 'cpack-package-empty-dirs' into next 43cd3b6e CPack: allow packaging of empty directories bc94797f SystemTools: time operations on directories fa69fe93 SystemTools: set time file permissions 1cbe7f40 CPackDeb: allow empty directories in component packages ab7387a0 VS: Remove impossible condition. b6c030bb cmMakefile: Remove Configured state. 252d45e8 cmCommand: Remove IsDiscouraged interface. 5b97fe36 cmSetCommand: Re-use local named variable. 5fc32440 cmSetCommand: Fix typo in comment. 24b0c981 cmGlobalGenerator: Devirtualize method. ac6cbeec Ninja: Remove unused variable. https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=43cd3b6e7df6601d592add614cc7d3048b7aeaaa commit 43cd3b6e7df6601d592add614cc7d3048b7aeaaa Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Mon Sep 28 22:50:15 2015 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Tue Sep 29 00:52:02 2015 +0200 CPack: allow packaging of empty directories diff --git a/Help/release/dev/cpack-package-empty-dirs.rts b/Help/release/dev/cpack-package-empty-dirs.rts new file mode 100644 index 000..1f56e1a --- /dev/null +++ b/Help/release/dev/cpack-package-empty-dirs.rts @@ -0,0 +1,4 @@ +cpack-package-empty-dirs + + +* The :module:`CPack` module learned to package empty directories. diff --git a/Source/CPack/cmCPackArchiveGenerator.cxx b/Source/CPack/cmCPackArchiveGenerator.cxx index 58bd947..70de757 100644 --- a/Source/CPack/cmCPackArchiveGenerator.cxx +++ b/Source/CPack/cmCPackArchiveGenerator.cxx @@ -78,7 +78,7 @@ int cmCPackArchiveGenerator::addOneComponentToArchive(cmArchiveWrite& archive, std::string rp = filePrefix + *fileIt; cmCPackLogger(cmCPackLog::LOG_DEBUG,"Adding file: " << rp << std::endl); -archive.Add(rp); +archive.Add(rp, 0, 0, false); if (!archive) { cmCPackLogger(cmCPackLog::LOG_ERROR, "ERROR while packaging files: " @@ -284,7 +284,7 @@ int cmCPackArchiveGenerator::PackageFiles() // Get the relative path to the file std::string rp = cmSystemTools::RelativePath(toplevel.c_str(), fileIt->c_str()); -archive.Add(rp); +archive.Add(rp, 0, 0, false); if(!archive) { cmCPackLogger(cmCPackLog::LOG_ERROR, "Problem while adding file< " diff --git a/Source/CPack/cmCPackGenerator.cxx b/Source/CPack/cmCPackGenerator.cxx index 92a4b2b..def9fc7 100644 --- a/Source/CPack/cmCPackGenerator.cxx +++ b/Source/CPack/cmCPackGenerator.cxx @@ -367,6 +367,7 @@ int cmCPackGenerator::InstallProjectViaInstalledDirectories( cmCPackLogger(cmCPackLog::LOG_OUTPUT, "- Install directory: " << top << std::endl); gl.RecurseOn(); + gl.SetRecurseListDirs(true); if ( !gl.FindFiles(findExpr) ) { cmCPackLogger(cmCPackLog::LOG_ERROR, @@ -379,7 +380,11 @@ int cmCPackGenerator::InstallProjectViaInstalledDirectories( for ( gfit = files.begin(); gfit != files.end(); ++ gfit ) { bool skip = false; -std::string = *gfit; +std::string inFile = *gfit; +if(cmSystemTools::FileIsDirectory(*gfit)) + { + inFile += '/'; + }
[Cmake-commits] CMake branch, next, updated. v3.3.2-3371-gc92b688
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 c92b688866ea491b20e5f0b48aeaba95f8ff971b (commit) via 9298f56dcedb888ff140b6b1aab90be91162d50f (commit) via ecd71c9c1a0735cb84234344387f4138a1853fa5 (commit) via 19c6f4eefce4f58538dd750af5d014bba23192f3 (commit) via 749a140a0c635dca69e03245bfd6e0f2f4f43753 (commit) from 27271a21256bf7013efd013f711ac48589f82bc7 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c92b688866ea491b20e5f0b48aeaba95f8ff971b commit c92b688866ea491b20e5f0b48aeaba95f8ff971b Merge: 27271a2 9298f56 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Mon Sep 28 19:19:06 2015 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Mon Sep 28 19:19:06 2015 -0400 Merge topic 'cpack-package-empty-dirs' into next 9298f56d CPack: allow packaging of empty directories ecd71c9c SystemTools: time operations on directories 19c6f4ee SystemTools: set time file permissions 749a140a CPackDeb: allow empty directories in component packages https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9298f56dcedb888ff140b6b1aab90be91162d50f commit 9298f56dcedb888ff140b6b1aab90be91162d50f Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Mon Sep 28 22:50:15 2015 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Tue Sep 29 01:18:18 2015 +0200 CPack: allow packaging of empty directories diff --git a/Help/release/dev/cpack-package-empty-dirs.rts b/Help/release/dev/cpack-package-empty-dirs.rts new file mode 100644 index 000..1f56e1a --- /dev/null +++ b/Help/release/dev/cpack-package-empty-dirs.rts @@ -0,0 +1,4 @@ +cpack-package-empty-dirs + + +* The :module:`CPack` module learned to package empty directories. diff --git a/Source/CPack/cmCPackArchiveGenerator.cxx b/Source/CPack/cmCPackArchiveGenerator.cxx index 58bd947..70de757 100644 --- a/Source/CPack/cmCPackArchiveGenerator.cxx +++ b/Source/CPack/cmCPackArchiveGenerator.cxx @@ -78,7 +78,7 @@ int cmCPackArchiveGenerator::addOneComponentToArchive(cmArchiveWrite& archive, std::string rp = filePrefix + *fileIt; cmCPackLogger(cmCPackLog::LOG_DEBUG,"Adding file: " << rp << std::endl); -archive.Add(rp); +archive.Add(rp, 0, 0, false); if (!archive) { cmCPackLogger(cmCPackLog::LOG_ERROR, "ERROR while packaging files: " @@ -284,7 +284,7 @@ int cmCPackArchiveGenerator::PackageFiles() // Get the relative path to the file std::string rp = cmSystemTools::RelativePath(toplevel.c_str(), fileIt->c_str()); -archive.Add(rp); +archive.Add(rp, 0, 0, false); if(!archive) { cmCPackLogger(cmCPackLog::LOG_ERROR, "Problem while adding file< " diff --git a/Source/CPack/cmCPackGenerator.cxx b/Source/CPack/cmCPackGenerator.cxx index 92a4b2b..def9fc7 100644 --- a/Source/CPack/cmCPackGenerator.cxx +++ b/Source/CPack/cmCPackGenerator.cxx @@ -367,6 +367,7 @@ int cmCPackGenerator::InstallProjectViaInstalledDirectories( cmCPackLogger(cmCPackLog::LOG_OUTPUT, "- Install directory: " << top << std::endl); gl.RecurseOn(); + gl.SetRecurseListDirs(true); if ( !gl.FindFiles(findExpr) ) { cmCPackLogger(cmCPackLog::LOG_ERROR, @@ -379,7 +380,11 @@ int cmCPackGenerator::InstallProjectViaInstalledDirectories( for ( gfit = files.begin(); gfit != files.end(); ++ gfit ) { bool skip = false; -std::string = *gfit; +std::string inFile = *gfit; +if(cmSystemTools::FileIsDirectory(*gfit)) + { + inFile += '/'; + } for ( regIt= ignoreFilesRegex.begin(); regIt!= ignoreFilesRegex.end(); ++ regIt) @@ -869,6 +874,7 @@ int cmCPackGenerator::InstallProjectViaInstallCMakeProjects( cmsys::Glob glB; findExpr += "/*"; glB.RecurseOn(); + glB.SetRecurseListDirs(true); glB.FindFiles(findExpr); filesBefore = glB.GetFiles(); std::sort(filesBefore.begin(),filesBefore.end()); @@ -908,6 +914,7 @@ int cmCPackGenerator::InstallProjectViaInstallCMakeProjects( { cmsys::Glob glA; glA.RecurseOn(); + glA.SetRecurseListDirs(true); glA.FindFiles(findExpr); std::vector filesAfter = glA.GetFiles(); std::sort(filesAfter.begi
[Cmake-commits] CMake branch, next, updated. v3.3.1-2824-g09ffe61
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 09ffe6116bd70d779e69b539e555d2baf5475910 (commit) via 2a7772ff4ca88319d65e025a49883ef2f2487aeb (commit) from 34141ce58174d8180359bd95389c25255e8cf2b7 (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=09ffe6116bd70d779e69b539e555d2baf5475910 commit 09ffe6116bd70d779e69b539e555d2baf5475910 Merge: 34141ce 2a7772f Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Wed Sep 9 16:23:22 2015 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Wed Sep 9 16:23:22 2015 -0400 Merge topic 'cpack-cmake-special-characters-mangling' into next 2a7772ff CPack: don't mangle CMake-special characters when applying default settings http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2a7772ff4ca88319d65e025a49883ef2f2487aeb commit 2a7772ff4ca88319d65e025a49883ef2f2487aeb Author: Roman Donchenko <d...@corrigendum.ru> AuthorDate: Wed Sep 9 22:21:07 2015 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Wed Sep 9 22:21:07 2015 +0200 CPack: don't mangle CMake-special characters when applying default settings Mangling is prevented by using a function instead of a macro for setting default value of some CPack variables. Function is meant for internal use in CPack.cmake only. Old macro is deprecated but kept for backwards compatibility - was intended for internal use only as it can't be used for CPack after CPack.cmake script is included. Patch removes local workarounds that were required by old macro, fixes default setting of variables that by default inherit value from another variable that already went through old default setting macro (e.g. value of CPACK_PACKAGE_INSTALL_REGISTRY_KEY caused error for wrong escapes if CPACK_PACKAGE_INSTALL_DIRECTORY contained escaped back slashes) and provides a test for correct escaping of characters. diff --git a/Help/release/dev/CPack-updates.rst b/Help/release/dev/CPack-updates.rst new file mode 100644 index 000..7ac1ed7 --- /dev/null +++ b/Help/release/dev/CPack-updates.rst @@ -0,0 +1,6 @@ +CPack-updates +- + +* The :module:`CPack` module no longer mangles settings with CMake-special + characters when they're used as defaults for other settings. The macro + ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. diff --git a/Modules/CPack.cmake b/Modules/CPack.cmake index e223286..7d6d54c 100644 --- a/Modules/CPack.cmake +++ b/Modules/CPack.cmake @@ -299,10 +299,10 @@ endif() include(CPackComponent) # Macro for setting values if a user did not overwrite them +# Mangles CMake-special characters. Only kept for backwards compatibility. macro(cpack_set_if_not_set name value) - if(NOT DEFINED "${name}") -set(${name} "${value}") - endif() + message(DEPRECATION "cpack_set_if_not_set is obsolete; do not use.") + _cpack_set_default("${name}" "${value}") endmacro() # cpack_encode_variables - Macro to encode variables for the configuration file @@ -321,27 +321,34 @@ macro(cpack_encode_variables) endforeach() endmacro() +# Internal use functions +function(_cpack_set_default name value) + if(NOT DEFINED "${name}") +set("${name}" "${value}" PARENT_SCOPE) + endif() +endfunction() + # Set the package name -cpack_set_if_not_set(CPACK_PACKAGE_NAME "${CMAKE_PROJECT_NAME}") -cpack_set_if_not_set(CPACK_PACKAGE_VERSION_MAJOR "0") -cpack_set_if_not_set(CPACK_PACKAGE_VERSION_MINOR "1") -cpack_set_if_not_set(CPACK_PACKAGE_VERSION_PATCH "1") -cpack_set_if_not_set(CPACK_PACKAGE_VERSION +_cpack_set_default(CPACK_PACKAGE_NAME "${CMAKE_PROJECT_NAME}") +_cpack_set_default(CPACK_PACKAGE_VERSION_MAJOR "0") +_cpack_set_default(CPACK_PACKAGE_VERSION_MINOR "1") +_cpack_set_default(CPACK_PACKAGE_VERSION_PATCH "1") +_cpack_set_default(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") -cpack_set_if_not_set(CPACK_PACKAGE_VENDOR "Humanity") -cpack_set_if_not_set(CPACK_PACKAGE_DESCRIPTION_SUMMARY +_cpack_set_default(CPACK_PACKAGE_VENDOR "Humanity") +_cpack_set_default(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${CMAKE_PROJECT_NAME} built using CMake") -cpack_set_if_not_set(CPACK_PACKAGE_DESCRIPTION_FILE +_cpack_set_default(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_ROOT}/Tem
[Cmake-commits] CMake branch, next, updated. v3.3.2-3106-g9cdf5f2
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 9cdf5f2afd6bd40fa73bf88a17484c7229ffb850 (commit) via da295f450da2781e82632b6a5df29df6fbf7daad (commit) via 7c7874c86ef14f2866d38d5ee85709db6e71d217 (commit) from 77201729619377b7ece124e1ab4347038cbbb833 (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=9cdf5f2afd6bd40fa73bf88a17484c7229ffb850 commit 9cdf5f2afd6bd40fa73bf88a17484c7229ffb850 Merge: 7720172 da295f4 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Fri Sep 18 16:32:08 2015 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Fri Sep 18 16:32:08 2015 -0400 Merge topic 'cpack-deb-checksum-on-symlinks' into next da295f45 CPack/Deb: checksum on symlinks release notes 7c7874c8 CPackDeb: preventing md5sum on symlinks http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=da295f450da2781e82632b6a5df29df6fbf7daad commit da295f450da2781e82632b6a5df29df6fbf7daad Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Fri Sep 18 22:31:24 2015 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Fri Sep 18 22:31:24 2015 +0200 CPack/Deb: checksum on symlinks release notes diff --git a/Help/release/dev/cpack-deb-checksum-on-symlinks.rts b/Help/release/dev/cpack-deb-checksum-on-symlinks.rts new file mode 100644 index 000..9bfeded --- /dev/null +++ b/Help/release/dev/cpack-deb-checksum-on-symlinks.rts @@ -0,0 +1,4 @@ +cpack-deb-checksum-on-symlinks +-- + +* The :module:`CPackDeb` module now correctly excludes symlinks during package checksum calculation. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7c7874c86ef14f2866d38d5ee85709db6e71d217 commit 7c7874c86ef14f2866d38d5ee85709db6e71d217 Author: Raffi Enficiaud <raffi.enfici...@mines-paris.org> AuthorDate: Fri Sep 18 22:20:42 2015 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Fri Sep 18 22:20:42 2015 +0200 CPackDeb: preventing md5sum on symlinks - Direct call to cmSystemTools::ComputeFileMD5 - Avoiding hashing symlinks - Tests diff --git a/Source/CPack/cmCPackDebGenerator.cxx b/Source/CPack/cmCPackDebGenerator.cxx index 9402689..5cdab52 100644 --- a/Source/CPack/cmCPackDebGenerator.cxx +++ b/Source/CPack/cmCPackDebGenerator.cxx @@ -524,21 +524,24 @@ int cmCPackDebGenerator::createDeb() packageFiles.begin(); fileIt != packageFiles.end(); ++ fileIt ) { - std::string cmd = "\""; - cmd += cmSystemTools::GetCMakeCommand(); - cmd += "\" -E md5sum \""; - cmd += *fileIt; - cmd += "\""; - - std::string output; - int retval = -1; - int res = cmSystemTools::RunSingleCommand(cmd.c_str(), , , - , toplevel.c_str(), this->GeneratorVerbose, 0); - if ( !res || retval ) + // hash only regular files + if( cmSystemTools::FileIsDirectory(*fileIt) + || cmSystemTools::FileIsSymlink(*fileIt)) { -cmCPackLogger(cmCPackLog::LOG_ERROR, "Problem running cmake -E md5sum " - << cmd << std::endl); +continue; } + + char md5sum[33]; + if(!cmSystemTools::ComputeFileMD5(*fileIt, md5sum)) +{ +cmCPackLogger(cmCPackLog::LOG_ERROR, "Problem computing the md5 of " + << *fileIt << std::endl); +} + + md5sum[32] = 0; + + std::string output(md5sum); + output += " " + *fileIt + "\n"; // debian md5sums entries are like this: // 014f3604694729f3bf19263bac599765 usr/bin/ccmake // thus strip the full path (with the trailing slash) diff --git a/Tests/CPackComponentsDEB/CMakeLists.txt b/Tests/CPackComponentsDEB/CMakeLists.txt index 5a5d626..98ed911 100644 --- a/Tests/CPackComponentsDEB/CMakeLists.txt +++ b/Tests/CPackComponentsDEB/CMakeLists.txt @@ -99,6 +99,25 @@ if(CHMOD_PROG) set(CPACK_DEBIAN_APPLICATIONS_PACKAGE_CONTROL_STRICT_PERMISSION TRUE) endif() +# creates a symbolic link and a directory. Those should not be hashed. +# warning: relocation of the symlink is not supported (symlinks with relative +# paths) +execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink mylibapp symtest) +install(FILES ${CPackComponentsDEB_BINARY_DIR}/symtest +DESTINATION bin +COMPONENT applications) + +if(EXISTS "./dirtest") + execute_process(COMMAND ${CMAKE_COMMAND} -E remove_directory ./dirtest)
[Cmake-commits] CMake branch, next, updated. v3.3.2-3139-g281ecf2
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 281ecf26db4308e41de0eaa3707d216e1806b5a4 (commit) via bc2e54db5516ed884f0affe020e52256f0c8b3d5 (commit) from f820b7d4700407c0adaf92384c8b90505facc403 (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=281ecf26db4308e41de0eaa3707d216e1806b5a4 commit 281ecf26db4308e41de0eaa3707d216e1806b5a4 Merge: f820b7d bc2e54d Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Sun Sep 20 17:45:55 2015 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Sun Sep 20 17:45:55 2015 -0400 Merge topic 'cpack-verbatime-variables' into next bc2e54db Introduction of CPACK_VERBATIM_VARIABLES variable http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bc2e54db5516ed884f0affe020e52256f0c8b3d5 commit bc2e54db5516ed884f0affe020e52256f0c8b3d5 Author: Roman Donchenko <d...@corrigendum.ru> AuthorDate: Sun Sep 20 23:39:03 2015 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Sun Sep 20 23:39:03 2015 +0200 Introduction of CPACK_VERBATIM_VARIABLES variable If variable is set to TRUE, values of all variables prefixed with CPACK_ will be escaped so special characters such as dolar sign, quotes or foreward slash will not be lost. By default variable is treated as set to FALSE for back compatibility. The cpack_encode_variables macro is changed into a function to remove scope pollution. There should be no other effects. diff --git a/Help/release/dev/CPack-updates.rst b/Help/release/dev/CPack-updates.rst index 7ac1ed7..ea0780f 100644 --- a/Help/release/dev/CPack-updates.rst +++ b/Help/release/dev/CPack-updates.rst @@ -4,3 +4,8 @@ CPack-updates * The :module:`CPack` module no longer mangles settings with CMake-special characters when they're used as defaults for other settings. The macro ``cpack_set_if_not_set``, which was responsible for this, is now deprecated. + +* The :module:`CPack` module gained a new setting, ``CPACK_VERBATIM_VARIABLES``, + which can be used to ensure the cpack program receives the settings' values + exactly as they were set, even if they contain CMake-special characters. + For compatibility, it's off by default. diff --git a/Modules/CPack.cmake b/Modules/CPack.cmake index 7d6d54c..5756001 100644 --- a/Modules/CPack.cmake +++ b/Modules/CPack.cmake @@ -182,6 +182,17 @@ # will be a boolean variable which enables stripping of all files (a list # of files evaluates to TRUE in CMake, so this change is compatible). # +# .. variable:: CPACK_VERBATIM_VARIABLES +# +# If set to TRUE, values of variables prefixed with CPACK_ will be escaped +# before being written to the configuration files, so that the cpack program +# receives them exactly as they were specified. If not, characters like quotes +# and backslashes can cause parsing errors or alter the value received by the +# cpack program. Defaults to FALSE for backwards compatibility. +# +# * Mandatory : NO +# * Default : FALSE +# # The following CPack variables are specific to source packages, and # will not affect binary packages: # @@ -305,21 +316,28 @@ macro(cpack_set_if_not_set name value) _cpack_set_default("${name}" "${value}") endmacro() -# cpack_encode_variables - Macro to encode variables for the configuration file +# cpack_encode_variables - Function to encode variables for the configuration file # find any variable that starts with CPACK and create a variable # _CPACK_OTHER_VARIABLES_ that contains SET commands for # each cpack variable. _CPACK_OTHER_VARIABLES_ is then # used as an @ replacment in configure_file for the CPackConfig. -macro(cpack_encode_variables) - set(_CPACK_OTHER_VARIABLES_) +function(cpack_encode_variables) + set(commands "") get_cmake_property(res VARIABLES) foreach(var ${res}) if(var MATCHES "^CPACK") - set(_CPACK_OTHER_VARIABLES_ -"${_CPACK_OTHER_VARIABLES_}\nSET(${var} \"${${var}}\")") + if(CPACK_VERBATIM_VARIABLES) +_cpack_escape_for_cmake(value "${${var}}") + else() +set(value "${${var}}") endif() + + set(commands "${commands}\nSET(${var} \"${value}\")") +endif() endforeach() -endmacro() + + set(_CPACK_OTHER_VARIABLES_ "${commands}" PARENT_SCOPE) +endfunction() # Internal use functions function(_cpack_set_default name value) @@ -328,6 +346,11 @@ function(_cpack_set_default name value) endif() endfunction() +function
[Cmake-commits] CMake branch, next, updated. v3.3.2-3183-g58c4057
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 58c40573e265ae38d64738cf4033373df0f2a6a5 (commit) via b58de9fe2ba4ac3e194403ecd118fd54681ffae8 (commit) via 47b060aee0871bdb5fea63b398a1f1cb07fa3b37 (commit) from 6d9d7045893e99bc713958ec93f30fcf62555b6f (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=58c40573e265ae38d64738cf4033373df0f2a6a5 commit 58c40573e265ae38d64738cf4033373df0f2a6a5 Merge: 6d9d704 b58de9f Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Mon Sep 21 20:10:49 2015 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Mon Sep 21 20:10:49 2015 -0400 Merge topic 'cpack-package-empty-dirs' into next b58de9fe CPack: allow packaging of empty directories 47b060ae CPackDeb: allow empty directories in component packages http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b58de9fe2ba4ac3e194403ecd118fd54681ffae8 commit b58de9fe2ba4ac3e194403ecd118fd54681ffae8 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Tue Sep 22 02:08:26 2015 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Tue Sep 22 02:08:26 2015 +0200 CPack: allow packaging of empty directories diff --git a/Help/release/dev/cpack-package-empty-dirs.rts b/Help/release/dev/cpack-package-empty-dirs.rts new file mode 100644 index 000..1f56e1a --- /dev/null +++ b/Help/release/dev/cpack-package-empty-dirs.rts @@ -0,0 +1,4 @@ +cpack-package-empty-dirs + + +* The :module:`CPack` module learned to package empty directories. diff --git a/Source/CPack/cmCPackGenerator.cxx b/Source/CPack/cmCPackGenerator.cxx index 92a4b2b..aa4f181 100644 --- a/Source/CPack/cmCPackGenerator.cxx +++ b/Source/CPack/cmCPackGenerator.cxx @@ -367,6 +367,8 @@ int cmCPackGenerator::InstallProjectViaInstalledDirectories( cmCPackLogger(cmCPackLog::LOG_OUTPUT, "- Install directory: " << top << std::endl); gl.RecurseOn(); + gl.SetRecurseListDirs(true); +// gl.SetRecurseThroughSymlinks(false); if ( !gl.FindFiles(findExpr) ) { cmCPackLogger(cmCPackLog::LOG_ERROR, @@ -869,6 +871,7 @@ int cmCPackGenerator::InstallProjectViaInstallCMakeProjects( cmsys::Glob glB; findExpr += "/*"; glB.RecurseOn(); + glB.SetRecurseListDirs(true); glB.FindFiles(findExpr); filesBefore = glB.GetFiles(); std::sort(filesBefore.begin(),filesBefore.end()); @@ -908,6 +911,7 @@ int cmCPackGenerator::InstallProjectViaInstallCMakeProjects( { cmsys::Glob glA; glA.RecurseOn(); + glA.SetRecurseListDirs(true); glA.FindFiles(findExpr); std::vector filesAfter = glA.GetFiles(); std::sort(filesAfter.begin(),filesAfter.end()); @@ -1074,6 +1078,7 @@ int cmCPackGenerator::DoPackage() std::string findExpr = tempDirectory; findExpr += "/*"; gl.RecurseOn(); + gl.SetRecurseListDirs(true); gl.SetRecurseThroughSymlinks(false); if ( !gl.FindFiles(findExpr) ) { diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index 2675066..c24b5ea 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -895,12 +895,33 @@ std::string cmSystemTools::FileExistsInParentDirectories(const char* fname, bool cmSystemTools::cmCopyFile(const char* source, const char* destination) { + // FIXME remove if statement once kwsys SystemTools get support for + // source is directory handling in CopyFileAlways function + if(cmSystemTools::FileIsDirectory(source)) +{ +return Superclass::MakeDirectory(destination); +} + return Superclass::CopyFileAlways(source, destination); } bool cmSystemTools::CopyFileIfDifferent(const char* source, const char* destination) { + // FIXME remove if statement once kwsys SystemTools get support for + // source is directory handling in CopyFileIfDifferent function + if(cmSystemTools::FileIsDirectory(source)) +{ +if(SystemTools::FileExists(destination)) + { + return true; + } +else + { + return Superclass::MakeDirectory(destination); + } +} + return Superclass::CopyFileIfDifferent(source, destination); } diff --git a/Tests/RunCMake/CPack/CMakeLists.txt b/Tests/RunCMake/CPack/CMakeLists.txt index 46f1367..449172a 100644 --- a/Tests/RunCMake/CPack/CMakeLists.txt +++ b/Tests/RunCMake/CPack/CMakeLists.txt @@ -8,5 +8,5 @@ if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${GENE
[Cmake-commits] CMake branch, next, updated. v3.3.2-3197-geb99bf2
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 eb99bf2d6861ba6cfc282265a5947453032c68dc (commit) via be4dc65ba74a26d742558a0e05e4748b18f4b4aa (commit) from da0bdab6d9788728bf0671b22a287dd1b5517f42 (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=eb99bf2d6861ba6cfc282265a5947453032c68dc commit eb99bf2d6861ba6cfc282265a5947453032c68dc Merge: da0bdab be4dc65 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Tue Sep 22 11:39:06 2015 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Tue Sep 22 11:39:06 2015 -0400 Merge topic 'cpack-package-empty-dirs-cleanup' into next be4dc65b remove parts that were pushed by accident http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=be4dc65ba74a26d742558a0e05e4748b18f4b4aa commit be4dc65ba74a26d742558a0e05e4748b18f4b4aa Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Tue Sep 22 17:38:31 2015 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Tue Sep 22 17:38:31 2015 +0200 remove parts that were pushed by accident diff --git a/Source/CPack/cmCPackGenerator.cxx b/Source/CPack/cmCPackGenerator.cxx index aa4f181..04b1976 100644 --- a/Source/CPack/cmCPackGenerator.cxx +++ b/Source/CPack/cmCPackGenerator.cxx @@ -368,7 +368,6 @@ int cmCPackGenerator::InstallProjectViaInstalledDirectories( "- Install directory: " << top << std::endl); gl.RecurseOn(); gl.SetRecurseListDirs(true); -// gl.SetRecurseThroughSymlinks(false); if ( !gl.FindFiles(findExpr) ) { cmCPackLogger(cmCPackLog::LOG_ERROR, diff --git a/Tests/RunCMake/CPack/CMakeLists.txt b/Tests/RunCMake/CPack/CMakeLists.txt index 449172a..46f1367 100644 --- a/Tests/RunCMake/CPack/CMakeLists.txt +++ b/Tests/RunCMake/CPack/CMakeLists.txt @@ -8,5 +8,5 @@ if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${GENERATOR_TYPE}/${RunCMake_TEST}-specif include("${GENERATOR_TYPE}/${RunCMake_TEST}-specifics.cmake") endif() -set(CPACK_GENERATOR "${GENERATOR_TYPE};TGZ") +set(CPACK_GENERATOR "${GENERATOR_TYPE}") include(CPack) --- Summary of changes: Source/CPack/cmCPackGenerator.cxx |1 - Tests/RunCMake/CPack/CMakeLists.txt |2 +- 2 files changed, 1 insertion(+), 2 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.3.2-3251-g0fe79c0
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 0fe79c067090dd880826e5334a30af955e15c5e2 (commit) via 98c72cdeccb98017e39438af8186811c8f998197 (commit) via 901dd53403db10b5c88be8c9ccd9fab3eaed1068 (commit) via 39347d38b42e28a53d9fa30cc1b78b6be7866878 (commit) via 480f526a9e9fc79d561cb5daf3b2457d797c0e6d (commit) from 527deefa0a4bede3d45edd867afe2a1a5eb8a7bd (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0fe79c067090dd880826e5334a30af955e15c5e2 commit 0fe79c067090dd880826e5334a30af955e15c5e2 Merge: 527deef 98c72cd Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Thu Sep 24 20:00:30 2015 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Thu Sep 24 20:00:30 2015 -0400 Merge topic 'cpack-empty-dirs-handling-fix' into next 98c72cde CPack: correctly handle directories creation 901dd534 SystemTools: time operations on directories 39347d38 SystemTools: set time file permissions 480f526a SystemTools: reverted handling of directories in copy file functions https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=98c72cdeccb98017e39438af8186811c8f998197 commit 98c72cdeccb98017e39438af8186811c8f998197 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Fri Sep 25 01:35:46 2015 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Fri Sep 25 01:35:46 2015 +0200 CPack: correctly handle directories creation diff --git a/Source/CPack/cmCPackGenerator.cxx b/Source/CPack/cmCPackGenerator.cxx index 04b1976..49f9cb5 100644 --- a/Source/CPack/cmCPackGenerator.cxx +++ b/Source/CPack/cmCPackGenerator.cxx @@ -411,6 +411,33 @@ int cmCPackGenerator::InstallProjectViaInstalledDirectories( symlinkedFiles.push_back(std::pair<std::string, std::string>(targetFile,inFileRelative)); } +else if(cmSystemTools::FileIsDirectory(inFile)) + { + bool dirExists = cmSystemTools::FileExists(filePath); + mode_t perm = 0; + bool perms = cmSystemTools::GetPermissions(inFile, perm); + mode_t destPerm = 0; + bool destPerms = false; + + if(dirExists) +{ +destPerms = cmSystemTools::GetPermissions(filePath, destPerm); +} + + // create only if dir doesn't exist or dirs differ + if(!dirExists || perms != destPerms || perm != destPerm) +{ +if(!cmSystemTools::MakeDirectory(filePath) || +(perms && !cmSystemTools::SetPermissions(filePath, perm)) || +!cmSystemTools::CopyFileTime(inFile.c_str(), filePath.c_str())) + { + cmCPackLogger(cmCPackLog::LOG_ERROR, +"Problem creating directory: " +<< filePath << std::endl); + return 0; + } +} + } /* If it is not a symlink then do a plain copy */ else if (!( cmSystemTools::CopyFileIfDifferent(inFile.c_str(),filePath.c_str()) https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=901dd53403db10b5c88be8c9ccd9fab3eaed1068 commit 901dd53403db10b5c88be8c9ccd9fab3eaed1068 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Fri Sep 25 01:25:42 2015 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Fri Sep 25 01:33:10 2015 +0200 SystemTools: time operations on directories On windows FILE_FLAG_BACKUP_SEMANTICS enables us to read/write time both on files and directories. diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index fa84478..d3c1f16 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -2045,10 +2045,11 @@ bool cmSystemTools::CopyFileTime(const char* fromFile, const char* toFile) cmSystemToolsWindowsHandle hFrom = CreateFileW(SystemTools::ConvertToWindowsExtendedPath(fromFile).c_str(), GENERIC_READ, FILE_SHARE_READ, 0, -OPEN_EXISTING, 0, 0); +OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0); cmSystemToolsWindowsHandle hTo = CreateFileW(SystemTools::ConvertToWindowsExtendedPath(toFile).c_str(), -FILE_WRITE_ATTRIBUTES, 0, 0, OPEN_EXISTING, 0, 0); +FILE_WRITE_ATTRIBUTES, 0, 0, OPEN_EXISTING, +FILE_FLAG_BACKUP_SEMANTICS, 0); if(!hFrom || !hTo) { return false; @@ -2100,7 +2101,8 @@ bool cmSystemTools::FileTimeGet(const c
[Cmake-commits] CMake branch, next, updated. v3.4.1-1647-g8b8a03f
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 8b8a03fc4a03845c797523d918fc06d408dde2c7 (commit) via 27e6f74f29084fbdee35eb5a8d309d99d39e66d8 (commit) via c926efa1398aa2c4ff273dee173d84d0031bcdf6 (commit) from 88903117356d43bca0ae6e01b5aa3b687bc8a32f (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8b8a03fc4a03845c797523d918fc06d408dde2c7 commit 8b8a03fc4a03845c797523d918fc06d408dde2c7 Merge: 8890311 27e6f74 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Mon Dec 7 14:22:12 2015 -0500 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Mon Dec 7 14:22:12 2015 -0500 Merge topic 'cpack-rpm-percomponent-group-and-name' into next 27e6f74f CPack: Added tests for package name and group controll fields c926efa1 CPackRPM: Configure RPM package group and name per component https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=27e6f74f29084fbdee35eb5a8d309d99d39e66d8 commit 27e6f74f29084fbdee35eb5a8d309d99d39e66d8 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Mon Dec 7 20:13:09 2015 +0100 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Mon Dec 7 20:15:49 2015 +0100 CPack: Added tests for package name and group controll fields diff --git a/Help/release/dev/cpack-rpm-percomponent-group-and-name.rst b/Help/release/dev/cpack-rpm-percomponent-group-and-name.rst new file mode 100644 index 000..146f8ac --- /dev/null +++ b/Help/release/dev/cpack-rpm-percomponent-group-and-name.rst @@ -0,0 +1,7 @@ +cpack-rpm-percomponent-group-and-name +- + +* The :module:`CPackRPM` module learned to set Name and Group + control fields per-component. + See :variable:`CPACK_RPM__PACKAGE_NAME` + and :variable:`CPACK_RPM__PACKAGE_GROUP`. diff --git a/Tests/RunCMake/CPack/DEB/PER_COMPONENT_FIELDS-ExpectedFiles.cmake b/Tests/RunCMake/CPack/DEB/PER_COMPONENT_FIELDS-ExpectedFiles.cmake new file mode 100644 index 000..1f6c11b --- /dev/null +++ b/Tests/RunCMake/CPack/DEB/PER_COMPONENT_FIELDS-ExpectedFiles.cmake @@ -0,0 +1,9 @@ +set(whitespaces_ "[\t\n\r ]*") + +set(EXPECTED_FILES_COUNT "3") +set(EXPECTED_FILE_1 "per_component*-pkg_1.deb") +set(EXPECTED_FILE_CONTENT_1 "^.*/usr/foo${whitespaces_}.*/usr/foo/CMakeLists.txt$") +set(EXPECTED_FILE_2 "per_component*-pkg_2.deb") +set(EXPECTED_FILE_CONTENT_2 "^.*/usr/foo${whitespaces_}.*/usr/foo/CMakeLists.txt$") +set(EXPECTED_FILE_3 "per_component*-pkg_3.deb") +set(EXPECTED_FILE_CONTENT_3 "^.*/usr/foo${whitespaces_}.*/usr/foo/CMakeLists.txt$") diff --git a/Tests/RunCMake/CPack/DEB/PER_COMPONENT_FIELDS-VerifyResult.cmake b/Tests/RunCMake/CPack/DEB/PER_COMPONENT_FIELDS-VerifyResult.cmake new file mode 100644 index 000..55293be --- /dev/null +++ b/Tests/RunCMake/CPack/DEB/PER_COMPONENT_FIELDS-VerifyResult.cmake @@ -0,0 +1,18 @@ +function(checkPackageInfo_ TYPE FILE REGEX) + set(whitespaces_ "[\t\n\r ]*") + + getPackageInfo("${FILE}" "FILE_INFO_") + if(NOT FILE_INFO_ MATCHES "${REGEX}") +message(FATAL_ERROR "Unexpected ${TYPE} in '${FILE}'; file info: '${FILE_INFO_}'") + endif() +endfunction() + +# check package name +checkPackageInfo_("name" "${FOUND_FILE_1}" ".*Package${whitespaces_}:${whitespaces_}per_component-pkg_1") +checkPackageInfo_("name" "${FOUND_FILE_2}" ".*Package${whitespaces_}:${whitespaces_}second") +checkPackageInfo_("name" "${FOUND_FILE_3}" ".*Package${whitespaces_}:${whitespaces_}per_component-pkg_3") + +# check package group +checkPackageInfo_("group" "${FOUND_FILE_1}" ".*Section${whitespaces_}:${whitespaces_}default") +checkPackageInfo_("group" "${FOUND_FILE_2}" ".*Section${whitespaces_}:${whitespaces_}second_group") +checkPackageInfo_("group" "${FOUND_FILE_3}" ".*Section${whitespaces_}:${whitespaces_}default") diff --git a/Tests/RunCMake/CPack/DEB/PER_COMPONENT_FIELDS-specifics.cmake b/Tests/RunCMake/CPack/DEB/PER_COMPONENT_FIELDS-specifics.cmake new file mode 100644 index 000..a1da1a3 --- /dev/null +++ b/Tests/RunCMake/CPack/DEB/PER_COMPONENT_FIELDS-specifics.cmake @@ -0,0 +1,6 @@ +set(CPACK_PACKAGE_CONTACT "someone") +set(CPACK_DEB_COMPONENT_INSTALL "ON") + +set(CPACK_DEBIAN_PACKAGE_SECTION "default") +set(CPACK_DEBIAN_PKG_2_PACKAGE_NAME &qu
[Cmake-commits] CMake branch, next, updated. v3.5.2-1619-gb133045
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 b13304569f05d26976ab92a973e000a3eda1a3f5 (commit) via 35998cba3771984b9923cb20a71a1abc1928bbcf (commit) from db87c9ddc46e8da39e282d5f1670584368aafb7e (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b13304569f05d26976ab92a973e000a3eda1a3f5 commit b13304569f05d26976ab92a973e000a3eda1a3f5 Merge: db87c9d 35998cb Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Tue May 31 16:07:23 2016 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Tue May 31 16:07:23 2016 -0400 Merge topic 'cpack-documentation-improvements' into next 35998cba CPackRPM and CPackDeb documentation improvements https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=35998cba3771984b9923cb20a71a1abc1928bbcf commit 35998cba3771984b9923cb20a71a1abc1928bbcf Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Tue May 31 22:06:39 2016 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Tue May 31 22:06:39 2016 +0200 CPackRPM and CPackDeb documentation improvements diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index ebeb387..866e275 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -2,29 +2,33 @@ # CPackDeb # # -# The builtin (binary) CPack Deb generator (Unix only) +# The built in (binary) CPack Deb generator (Unix only) # # Variables specific to CPack Debian (DEB) generator # ^^ # -# CPackDeb may be used to create Deb package using CPack. -# CPackDeb is a CPack generator thus it uses the ``CPACK_XXX`` variables -# used by CPack : https://cmake.org/Wiki/CMake:CPackConfiguration. -# CPackDeb generator should work on any linux host but it will produce -# better deb package when Debian specific tools 'dpkg-xxx' are usable on +# CPackDeb may be used to create Deb package using :module:`CPack`. +# CPackDeb is a :module:`CPack` generator thus it uses the ``CPACK_XXX`` +# variables used by :module:`CPack`. +# +# CPackDeb generator should work on any Linux host but it will produce +# better deb package when Debian specific tools ``dpkg-xxx`` are usable on # the build system. # # CPackDeb has specific features which are controlled by the specifics # :code:`CPACK_DEBIAN_XXX` variables. # # :code:`CPACK_DEBIAN__` variables may be used in order to have -# **component** specific values. Note however that refers to the -# **grouping name** written in upper case. It may be either a component name or -# a component GROUP name. +# **component** specific values. Note however that refers to +# the **grouping name** written in upper case. It may be either a component name +# or a component GROUP name. +# +# Here are some CPackDeb wiki resources that are here for historic reasons and +# are no longer maintained but may still prove useful: +# https://cmake.org/Wiki/CMake:CPackConfiguration +# https://cmake.org/Wiki/CMake:CPackPackageGenerators#DEB_.28UNIX_only.29 # -# You'll find a detailed usage on the wiki: -# https://cmake.org/Wiki/CMake:CPackPackageGenerators#DEB_.28UNIX_only.29 . -# However as a handy reminder here comes the list of specific variables: +# List of CPackRPM specific variables: # # .. variable:: CPACK_DEBIAN_PACKAGE_NAME # CPACK_DEBIAN__PACKAGE_NAME @@ -55,7 +59,7 @@ # # _-_.deb # -# Alternatively provided package file name must end with ".deb" suffix. +# Alternatively provided package file name must end with ``.deb`` suffix. # # .. note:: # @@ -98,7 +102,6 @@ # * Default : Output of :code:`dpkg --print-architecture` (or :code:`i386` #if :code:`dpkg` is not found) # -# # .. variable:: CPACK_DEBIAN_PACKAGE_DEPENDS # CPACK_DEBIAN__PACKAGE_DEPENDS # @@ -141,7 +144,6 @@ # * Mandatory : YES # * Default : :code:`CPACK_PACKAGE_CONTACT` # -# # .. variable:: CPACK_DEBIAN_PACKAGE_DESCRIPTION # CPACK_COMPONENT__DESCRIPTION # @@ -160,19 +162,22 @@ # Set Section control field e.g. admin, devel, doc, ... # # * Mandatory : YES -# * Default : 'devel' +# * Default : "devel" # # See https://www.debian.org/doc/debian-policy/ch-archive.html#s-subsections # -# # .. variable:: CPACK_DEBIAN_COMPRESSION_TYPE # # The compression used for creating the Debian package. -# Possible values are: lzma, xz, bzip2 and gzip. +# Possible values are: # -# * Mandatory : YES -# * Default : 'gzip' +# - lzma +# - xz +# - bzip2 +# - gzip # +# * Mand
[Cmake-commits] CMake branch, next, updated. v3.5.2-1621-gd975bf0
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 d975bf0ecbf8e10f745585f82397f07aa161fdf9 (commit) via e9985b3c34609f1385123768f9bb44ce314d51b8 (commit) from b13304569f05d26976ab92a973e000a3eda1a3f5 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d975bf0ecbf8e10f745585f82397f07aa161fdf9 commit d975bf0ecbf8e10f745585f82397f07aa161fdf9 Merge: b133045 e9985b3 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Tue May 31 16:30:32 2016 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Tue May 31 16:30:32 2016 -0400 Merge topic 'cpack-documentation-improvements' into next e9985b3c fixup! CPackRPM and CPackDeb documentation improvements https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e9985b3c34609f1385123768f9bb44ce314d51b8 commit e9985b3c34609f1385123768f9bb44ce314d51b8 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Tue May 31 22:30:16 2016 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Tue May 31 22:30:16 2016 +0200 fixup! CPackRPM and CPackDeb documentation improvements diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index 866e275..30b65c2 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -25,8 +25,9 @@ # # Here are some CPackDeb wiki resources that are here for historic reasons and # are no longer maintained but may still prove useful: -# https://cmake.org/Wiki/CMake:CPackConfiguration -# https://cmake.org/Wiki/CMake:CPackPackageGenerators#DEB_.28UNIX_only.29 +# +# - https://cmake.org/Wiki/CMake:CPackConfiguration +# - https://cmake.org/Wiki/CMake:CPackPackageGenerators#DEB_.28UNIX_only.29 # # List of CPackRPM specific variables: # @@ -380,7 +381,7 @@ # * Default : OFF # # Allows to generate shlibs control file automatically. Compatibility is defined by -# CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY variable value. +# :variable:`CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY` variable value. # # .. note:: # @@ -390,6 +391,8 @@ # # .. variable:: CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY # +# Compatibility policy for auto-generated shlibs control file. +# # * Mandatory : NO # * Default : "=" # diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake index 4e68555..8c51b45 100644 --- a/Modules/CPackRPM.cmake +++ b/Modules/CPackRPM.cmake @@ -36,8 +36,9 @@ # # Here are some CPackRPM wiki resources that are here for historic reasons and # are no longer maintained but may still prove useful: -# https://cmake.org/Wiki/CMake:CPackConfiguration -# https://cmake.org/Wiki/CMake:CPackPackageGenerators#RPM_.28Unix_Only.29 +# +# - https://cmake.org/Wiki/CMake:CPackConfiguration +# - https://cmake.org/Wiki/CMake:CPackPackageGenerators#RPM_.28Unix_Only.29 # # List of CPackRPM specific variables: # @@ -375,6 +376,8 @@ # # .. variable:: CPACK_RPM_SPEC_INSTALL_POST # +# Deprecated - use :variable:`CPACK_RPM_POST_INSTALL_SCRIPT_FILE` instead. +# # * Mandatory : NO # * Default : - # * Deprecated: YES @@ -438,6 +441,8 @@ # .. variable:: CPACK_RPM_PRE_INSTALL_SCRIPT_FILE # CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE # +# Path to file containing pre (un)install script. +# # * Mandatory : NO # * Default : - # @@ -455,6 +460,8 @@ # .. variable:: CPACK_RPM_POST_INSTALL_SCRIPT_FILE # CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE # +# Path to file containing post (un)install script. +# # * Mandatory : NO # * Default : - # @@ -520,6 +527,8 @@ # # .. variable:: CPACK_RPM_RELOCATION_PATHS # +# Packages relocation paths list. +# # * Mandatory : NO # * Default : - # @@ -541,15 +550,19 @@ # # .. variable:: CPACK_RPM__PACKAGE_PREFIX # +# Per component relocation path install prefix. +# # * Mandatory : NO # * Default : CPACK_PACKAGING_INSTALL_PREFIX # -# May be used to set per component CPACK_PACKAGING_INSTALL_PREFIX for -# relocatable RPM packages. +# May be used to set per component :variable:`CPACK_PACKAGING_INSTALL_PREFIX` +# for relocatable RPM packages. # # .. variable:: CPACK_RPM_NO_INSTALL_PREFIX_RELOCATION # CPACK_RPM_NO__INSTALL_PREFIX_RELOCATION # +# Removal of default install prefix from relocation paths list. +# # * Mandatory : NO # * Default : CPACK_PACKAGING_INSTALL_PREFIX or CPACK_RPM__PACKAGE_PREFIX #are treated as one of relocation paths --- Summary of changes: Modules/CPackDeb.cmake |9 ++--- Modules/CPackRPM
[Cmake-commits] CMake branch, next, updated. v3.5.2-1623-gd85aa58
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 d85aa5879305fb82da613028dbda41ac66f08c93 (commit) via 6d7243240c0a1ad807207c6bfd3d6392a658f7ef (commit) from d975bf0ecbf8e10f745585f82397f07aa161fdf9 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d85aa5879305fb82da613028dbda41ac66f08c93 commit d85aa5879305fb82da613028dbda41ac66f08c93 Merge: d975bf0 6d72432 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Tue May 31 17:06:17 2016 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Tue May 31 17:06:17 2016 -0400 Merge topic 'cpack-documentation-improvements' into next 6d724324 fixup! CPackRPM and CPackDeb documentation improvements https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6d7243240c0a1ad807207c6bfd3d6392a658f7ef commit 6d7243240c0a1ad807207c6bfd3d6392a658f7ef Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Tue May 31 23:05:50 2016 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Tue May 31 23:05:50 2016 +0200 fixup! CPackRPM and CPackDeb documentation improvements diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index 30b65c2..300d710 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -170,6 +170,10 @@ # .. variable:: CPACK_DEBIAN_COMPRESSION_TYPE # # The compression used for creating the Debian package. +# +# * Mandatory : YES +# * Default : "gzip" +# # Possible values are: # # - lzma @@ -177,9 +181,6 @@ # - bzip2 # - gzip # -# * Mandatory : YES -# * Default : "gzip" -# # .. variable:: CPACK_DEBIAN_PACKAGE_PRIORITY # CPACK_DEBIAN__PACKAGE_PRIORITY # --- Summary of changes: Modules/CPackDeb.cmake |7 --- 1 file changed, 4 insertions(+), 3 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.5.2-1625-ge4bfebd
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 e4bfebdd3f8433b47c265020ab042ebe639765fd (commit) via 7f7326ebd77d9471d0f4c496f7214c118bc8260d (commit) from d85aa5879305fb82da613028dbda41ac66f08c93 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e4bfebdd3f8433b47c265020ab042ebe639765fd commit e4bfebdd3f8433b47c265020ab042ebe639765fd Merge: d85aa58 7f7326e Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Tue May 31 17:08:01 2016 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Tue May 31 17:08:01 2016 -0400 Merge topic 'cpack-documentation-improvements' into next 7f7326eb CPackRPM and CPackDeb documentation improvements https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7f7326ebd77d9471d0f4c496f7214c118bc8260d commit 7f7326ebd77d9471d0f4c496f7214c118bc8260d Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Tue May 31 22:06:39 2016 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Tue May 31 23:06:38 2016 +0200 CPackRPM and CPackDeb documentation improvements diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index ebeb387..300d710 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -2,29 +2,34 @@ # CPackDeb # # -# The builtin (binary) CPack Deb generator (Unix only) +# The built in (binary) CPack Deb generator (Unix only) # # Variables specific to CPack Debian (DEB) generator # ^^ # -# CPackDeb may be used to create Deb package using CPack. -# CPackDeb is a CPack generator thus it uses the ``CPACK_XXX`` variables -# used by CPack : https://cmake.org/Wiki/CMake:CPackConfiguration. -# CPackDeb generator should work on any linux host but it will produce -# better deb package when Debian specific tools 'dpkg-xxx' are usable on +# CPackDeb may be used to create Deb package using :module:`CPack`. +# CPackDeb is a :module:`CPack` generator thus it uses the ``CPACK_XXX`` +# variables used by :module:`CPack`. +# +# CPackDeb generator should work on any Linux host but it will produce +# better deb package when Debian specific tools ``dpkg-xxx`` are usable on # the build system. # # CPackDeb has specific features which are controlled by the specifics # :code:`CPACK_DEBIAN_XXX` variables. # # :code:`CPACK_DEBIAN__` variables may be used in order to have -# **component** specific values. Note however that refers to the -# **grouping name** written in upper case. It may be either a component name or -# a component GROUP name. +# **component** specific values. Note however that refers to +# the **grouping name** written in upper case. It may be either a component name +# or a component GROUP name. +# +# Here are some CPackDeb wiki resources that are here for historic reasons and +# are no longer maintained but may still prove useful: +# +# - https://cmake.org/Wiki/CMake:CPackConfiguration +# - https://cmake.org/Wiki/CMake:CPackPackageGenerators#DEB_.28UNIX_only.29 # -# You'll find a detailed usage on the wiki: -# https://cmake.org/Wiki/CMake:CPackPackageGenerators#DEB_.28UNIX_only.29 . -# However as a handy reminder here comes the list of specific variables: +# List of CPackRPM specific variables: # # .. variable:: CPACK_DEBIAN_PACKAGE_NAME # CPACK_DEBIAN__PACKAGE_NAME @@ -55,7 +60,7 @@ # # _-_.deb # -# Alternatively provided package file name must end with ".deb" suffix. +# Alternatively provided package file name must end with ``.deb`` suffix. # # .. note:: # @@ -98,7 +103,6 @@ # * Default : Output of :code:`dpkg --print-architecture` (or :code:`i386` #if :code:`dpkg` is not found) # -# # .. variable:: CPACK_DEBIAN_PACKAGE_DEPENDS # CPACK_DEBIAN__PACKAGE_DEPENDS # @@ -141,7 +145,6 @@ # * Mandatory : YES # * Default : :code:`CPACK_PACKAGE_CONTACT` # -# # .. variable:: CPACK_DEBIAN_PACKAGE_DESCRIPTION # CPACK_COMPONENT__DESCRIPTION # @@ -160,19 +163,23 @@ # Set Section control field e.g. admin, devel, doc, ... # # * Mandatory : YES -# * Default : 'devel' +# * Default : "devel" # # See https://www.debian.org/doc/debian-policy/ch-archive.html#s-subsections # -# # .. variable:: CPACK_DEBIAN_COMPRESSION_TYPE # # The compression used for creating the Debian package. -# Possible values are: lzma, xz, bzip2 and gzip. # # * Mandatory : YES -# * Default : 'gzip' +# * Default : "gzip" +# +# Possible values are:
[Cmake-commits] CMake branch, next, updated. v3.5.2-1627-g2fdaa20
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 2fdaa209e13e01fff7186d55c1f11901262534b4 (commit) via 285d4d0a88b83e8ea46d315ed6d60c954e26e661 (commit) from e4bfebdd3f8433b47c265020ab042ebe639765fd (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2fdaa209e13e01fff7186d55c1f11901262534b4 commit 2fdaa209e13e01fff7186d55c1f11901262534b4 Merge: e4bfebd 285d4d0 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Tue May 31 17:26:23 2016 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Tue May 31 17:26:23 2016 -0400 Merge topic 'cpack-documentation-improvements' into next 285d4d0a fixup! CPackRPM and CPackDeb documentation improvements https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=285d4d0a88b83e8ea46d315ed6d60c954e26e661 commit 285d4d0a88b83e8ea46d315ed6d60c954e26e661 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Tue May 31 23:25:59 2016 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Tue May 31 23:25:59 2016 +0200 fixup! CPackRPM and CPackDeb documentation improvements diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index 300d710..c9678d6 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -31,6 +31,16 @@ # # List of CPackRPM specific variables: # +# .. variable:: CPACK_DEB_PACKAGE_COMPONENT +# +# Enable component packaging for CPackRPM +# +# * Mandatory : NO +# * Default : OFF +# +# If enabled (ON) multiple packages are generated. By default a single package +# containing files of all components is generated. +# # .. variable:: CPACK_DEBIAN_PACKAGE_NAME # CPACK_DEBIAN__PACKAGE_NAME # diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake index 8c51b45..d231ff0 100644 --- a/Modules/CPackRPM.cmake +++ b/Modules/CPackRPM.cmake @@ -42,6 +42,16 @@ # # List of CPackRPM specific variables: # +# .. variable:: CPACK_RPM_PACKAGE_COMPONENT +# +# Enable component packaging for CPackRPM +# +# * Mandatory : NO +# * Default : OFF +# +# If enabled (ON) multiple packages are generated. By default a single package +# containing files of all components is generated. +# # .. variable:: CPACK_RPM_PACKAGE_SUMMARY # CPACK_RPM__PACKAGE_SUMMARY # @@ -410,6 +420,7 @@ # cpack -D CPACK_RPM_PACKAGE_DEBUG=1 -G RPM # # .. variable:: CPACK_RPM_USER_BINARY_SPECFILE +# CPACK_RPM__USER_BINARY_SPECFILE # # A user provided spec file. # @@ -419,8 +430,6 @@ # May be set by the user in order to specify a USER binary spec file # to be used by CPackRPM instead of generating the file. # The specified file will be processed by configure_file( @ONLY). -# One can provide a component specific file by setting -# :variable:`CPACK_RPM__USER_BINARY_SPECFILE`. # # .. variable:: CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE # @@ -449,7 +458,7 @@ # May be used to embed a pre (un)installation script in the spec file. # The referred script file (or both) will be read and directly # put after the ``%pre`` or ``%preun`` section -# If :variable:`CPACK_RPM_COMPONENT_INSTALL` is set to ON the (un)install +# If :variable:`CPACK_RPM_PACKAGE_COMPONENT` is set to ON the (un)install # script for each component can be overridden with # ``CPACK_RPM__PRE_INSTALL_SCRIPT_FILE`` and # ``CPACK_RPM__PRE_UNINSTALL_SCRIPT_FILE``. @@ -468,7 +477,7 @@ # May be used to embed a post (un)installation script in the spec file. # The referred script file (or both) will be read and directly # put after the ``%post`` or ``%postun`` section. -# If :variable:`CPACK_RPM_COMPONENT_INSTALL` is set to ON the (un)install +# If :variable:`CPACK_RPM_PACKAGE_COMPONENT` is set to ON the (un)install # script for each component can be overridden with # ``CPACK_RPM__POST_INSTALL_SCRIPT_FILE`` and # ``CPACK_RPM__POST_UNINSTALL_SCRIPT_FILE``. --- Summary of changes: Modules/CPackDeb.cmake | 10 ++ Modules/CPackRPM.cmake | 17 + 2 files changed, 23 insertions(+), 4 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.6.0-rc2-418-gb661d4a
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 b661d4a77011f4407b4770a7ee166b557b61893e (commit) via 4a104822359a60795f237f848ec00c736638eac9 (commit) via 5c6ffd2d6dcc1954966638ee0044f4481fb47cb6 (commit) via d6378091361623a9018925b9cfb2708f6a0183f4 (commit) from 828c035c635523af3348082650c2a47d53619239 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b661d4a77011f4407b4770a7ee166b557b61893e commit b661d4a77011f4407b4770a7ee166b557b61893e Merge: 828c035 4a10482 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Sun Jun 19 16:36:55 2016 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Sun Jun 19 16:36:55 2016 -0400 Merge topic 'cpack-deb-test-fixes' into next 4a104822 CPack/Deb test regex variable name was invalid and did not test preinst script 5c6ffd2d CPack/Deb fix tests for SELinux-enabled systems d6378091 CMake Nightly Date Stamp https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4a104822359a60795f237f848ec00c736638eac9 commit 4a104822359a60795f237f848ec00c736638eac9 Author: Patrick mail6543210 <mail6543...@yahoo.com.tw> AuthorDate: Sun Jun 19 22:28:19 2016 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Sun Jun 19 22:36:05 2016 +0200 CPack/Deb test regex variable name was invalid and did not test preinst script diff --git a/Tests/RunCMake/CPack/DEB/DEB_EXTRA-VerifyResult.cmake b/Tests/RunCMake/CPack/DEB/DEB_EXTRA-VerifyResult.cmake index 5b6ae73..85e137f 100644 --- a/Tests/RunCMake/CPack/DEB/DEB_EXTRA-VerifyResult.cmake +++ b/Tests/RunCMake/CPack/DEB/DEB_EXTRA-VerifyResult.cmake @@ -6,13 +6,13 @@ 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_preinst_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_preinst_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") https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5c6ffd2d6dcc1954966638ee0044f4481fb47cb6 commit 5c6ffd2d6dcc1954966638ee0044f4481fb47cb6 Author: Patrick mail6543210 <mail6543...@yahoo.com.tw> AuthorDate: Sun Jun 19 22:19:56 2016 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Sun Jun 19 22:35:42 2016 +0200 CPack/Deb fix tests for SELinux-enabled systems diff --git a/Tests/RunCMake/CPack/DEB/DEB_EXTRA-VerifyResult.cmake b/Tests/RunCMake/CPack/DEB/DEB_EXTRA-VerifyResult.cmake index 5f929ff..5b6ae73 100644 --- a/Tests/RunCMake/CPack/DEB/DEB_EXTRA-VerifyResult.cmake +++ b/Tests/RunCMake/CPack/DEB/DEB_EXTRA-VerifyResult.cmake @@ -1,17 +1,18 @@ set(foo_preinst "^echo default_preinst$") -set(foo_preinst_permissions_regex "-rwxr-xr-x .*") +# NOTE: optional dot at the end of permissions regex is for SELinux enabled systems +set(foo_preinst_permissions_regex "-rwxr-xr-x\.? .*") set(foo_prerm "^echo default_prerm$") -set(foo_prerm_permissions_regex "-rwxr-xr-x .*") +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_permissions_regex "-rwx--\.? .*") set(bar_prerm "^echo bar_prerm$") -set(bar_prerm_permissions_regex "-rwx-- .*") +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_permissions_regex "-rwxr-xr-x\.? .*") set(bas_prerm "^echo default_prerm$") -set(bas_prerm_permissions_regex "-rwxr-xr-x .*") +set(bas_prerm_permissions_regex "-rwxr-xr-x\
[Cmake-commits] CMake branch, next, updated. v3.5.0-rc3-208-g98ac047
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 98ac0479f2d634c6feb224e2094198587efce9b2 (commit) via e8daee5bd0b68936b89a26e565b010f3387dc158 (commit) from 35e17466e259b1692860454746029cad86a705de (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=98ac0479f2d634c6feb224e2094198587efce9b2 commit 98ac0479f2d634c6feb224e2094198587efce9b2 Merge: 35e1746 e8daee5 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Thu Feb 18 19:43:28 2016 -0500 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Thu Feb 18 19:43:28 2016 -0500 Merge topic 'cpack-deb-autodep-ORIGIN-RPATH' into next e8daee5b CPack/Deb $ORIGIN handling in rpath https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e8daee5bd0b68936b89a26e565b010f3387dc158 commit e8daee5bd0b68936b89a26e565b010f3387dc158 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Fri Feb 19 01:42:19 2016 +0100 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Fri Feb 19 01:42:19 2016 +0100 CPack/Deb $ORIGIN handling in rpath Release not for fix of bug 12431 diff --git a/Help/release/dev/cpack-deb-autodep-ORIGIN-RPATH.rst b/Help/release/dev/cpack-deb-autodep-ORIGIN-RPATH.rst new file mode 100644 index 000..b0d6196 --- /dev/null +++ b/Help/release/dev/cpack-deb-autodep-ORIGIN-RPATH.rst @@ -0,0 +1,6 @@ +cpack-deb-autodep-ORIGIN-RPATH + + +* The "CPackDeb" module learned how to handle ``$ORIGIN`` + in ``CMAKE_INSTALL_RPATH`` when :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` + is used for dependency auto detection. --- Summary of changes: Help/release/dev/cpack-deb-autodep-ORIGIN-RPATH.rst |6 ++ 1 file changed, 6 insertions(+) create mode 100644 Help/release/dev/cpack-deb-autodep-ORIGIN-RPATH.rst hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.5.0-rc2-132-gb7388f1
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 b7388f1342b591056e513338f23097ed4a8b983c (commit) via 7c7efd1ed92e3c423f463c0249e1c05a33ff8049 (commit) from 26ab8b8e7deb6a583de55edc80d59eb91e74a8cd (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b7388f1342b591056e513338f23097ed4a8b983c commit b7388f1342b591056e513338f23097ed4a8b983c Merge: 26ab8b8 7c7efd1 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Fri Feb 12 20:11:34 2016 -0500 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Fri Feb 12 20:11:34 2016 -0500 Merge topic 'cpack-rpm-upper-cased-components' into next 7c7efd1e CPack/RPM support for upper cased component variables https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7c7efd1ed92e3c423f463c0249e1c05a33ff8049 commit 7c7efd1ed92e3c423f463c0249e1c05a33ff8049 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Sat Feb 13 02:09:32 2016 +0100 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Sat Feb 13 02:09:32 2016 +0100 CPack/RPM support for upper cased component variables CPACK_* variables expect component name in upper case. CPACK_RPM_* variables expected component name to be in same case as component name. This patch adds support for CPACK_RPM_* variables with upper case component names to match the convention with CPACK_* variables and also preserves same case component names for back compatibility. diff --git a/Help/release/dev/cpack-rpm-upper-cased-components.rst b/Help/release/dev/cpack-rpm-upper-cased-components.rst new file mode 100644 index 000..a5fb233 --- /dev/null +++ b/Help/release/dev/cpack-rpm-upper-cased-components.rst @@ -0,0 +1,15 @@ +cpack-rpm-upper-cased-components + + +* The "CPackRPM" module now supports upper cased component name + in per component CPackRPM specific variables. + E.g. component named ``foo`` now expects component specific + variable to be ``CPACK_RPM_FOO_PACKAGE_NAME`` while before + it expected ``CPACK_RPM_foo_PACKAGE_NAME``. + Upper cased component name part in variables is compatible + with convention used for other CPack variables. + For back compatibility old format of variables is still valid + and prefered if both versions of variable are set, but the + preferred future use is upper cased component names in variables. + New variables that will be added to CPackRPM in later versions + will only support upper cased component variable format. diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake index 7fb11c3..7ffec13 100644 --- a/Modules/CPackRPM.cmake +++ b/Modules/CPackRPM.cmake @@ -7,25 +7,35 @@ # Variables specific to CPack RPM generator # ^ # -# CPackRPM may be used to create RPM package using CPack. CPackRPM is a -# CPack generator thus it uses the CPACK_XXX variables used by CPack : -# https://cmake.org/Wiki/CMake:CPackConfiguration -# -# However CPackRPM has specific features which are controlled by the -# specifics CPACK_RPM_XXX variables. CPackRPM is a component aware -# generator so when CPACK_RPM_COMPONENT_INSTALL is ON some more -# CPACK_RPM__ variables may be used in order to have -# component specific values. Note however that refers -# to the **grouping name**. This may be either a component name or a -# component GROUP name. Usually those vars correspond to RPM spec file -# entities, one may find information about spec files here -# http://www.rpm.org/wiki/Docs. You'll find a detailed usage of -# CPackRPM on the wiki: -# -# :: +# CPackRPM may be used to create RPM package using CPack. +# CPackRPM is a CPack generator thus it uses the ``CPACK_XXX`` variables +# used by CPack : https://cmake.org/Wiki/CMake:CPackConfiguration. # -# https://cmake.org/Wiki/CMake:CPackPackageGenerators#RPM_.28Unix_Only.29 +# CPackRPM has specific features which are controlled by the specifics +# :code:`CPACK_RPM_XXX` variables. # +# :code:`CPACK_RPM__` variables may be used in order to have +# **component** specific values. Note however that refers to the +# **grouping name** written in upper case. It may be either a component name or +# a component GROUP name. Usually those vars correspond to RPM spec file +# entities, one may find information about spec files here +# http://www.rpm.org/wiki/Docs +# +# .. note:: +# +# `` part of variables is prefered to be in upper case (for e.g. if +# component is named `foo` then use `CPACK_RPM_FOO_` variable name format)
[Cmake-commits] CMake branch, next, updated. v3.5.1-673-gae8dbb9
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 ae8dbb9d619d83104c5afa9029b084064ae8c566 (commit) via 1fe004eac3c5b905cb620580c3258ca3bd455c18 (commit) from 2d932b45dc63e8fb0f43fdcb9f69a6d020e553da (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ae8dbb9d619d83104c5afa9029b084064ae8c566 commit ae8dbb9d619d83104c5afa9029b084064ae8c566 Merge: 2d932b4 1fe004e Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Mon Mar 28 18:52:25 2016 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Mon Mar 28 18:52:25 2016 -0400 Merge topic 'cpack-rpm-default-user-and-group' into next 1fe004ea cpack rpm setting of defattr https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1fe004eac3c5b905cb620580c3258ca3bd455c18 commit 1fe004eac3c5b905cb620580c3258ca3bd455c18 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Tue Mar 29 00:51:18 2016 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Tue Mar 29 00:51:18 2016 +0200 cpack rpm setting of defattr RPM supports setting of default user, group, file and directory permissions that will be applied for files in package unless specified per file/dir with attr setting This is related to bug report 14714 diff --git a/Help/release/dev/cpack-rpm-default-user-and-group.rst b/Help/release/dev/cpack-rpm-default-user-and-group.rst new file mode 100644 index 000..7667c7f --- /dev/null +++ b/Help/release/dev/cpack-rpm-default-user-and-group.rst @@ -0,0 +1,9 @@ +cpack-rpm-default-user-and-group + + +* The "CPackRPM" module learned how to set default values for owning user/group + and file/directory permissions of package content. + See :variable:`CPACK_RPM_DEFAULT_USER`, :variable:`CPACK_RPM_DEFAULT_GROUP`, + :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`, + :variable:`CPACK_RPM_DEFAULT_DIR_PERMISSIONS` and their per component + counterparts. diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake index 7ffec13..ae51dc1 100644 --- a/Modules/CPackRPM.cmake +++ b/Modules/CPackRPM.cmake @@ -531,6 +531,54 @@ # - /usr/share/doc/.*/man/man.* # - /usr/lib/.*/man/man.* # +# .. variable:: CPACK_RPM_DEFAULT_USER +# CPACK_RPM__DEFAULT_USER +# +# default user ownership of RPM content +# +# * Mandatory : NO +# * Default : root +# +# Value should be user name and not UID. +# Note that must be in upper-case. +# +# .. variable:: CPACK_RPM_DEFAULT_GROUP +# CPACK_RPM__DEFAULT_GROUP +# +# default group ownership of RPM content +# +# * Mandatory : NO +# * Default : root +# +# Value should be group name and not GID. +# Note that must be in upper-case. +# +# .. variable:: CPACK_RPM_DEFAULT_FILE_PERMISSIONS +# CPACK_RPM__DEFAULT_FILE_PERMISSIONS +# +# default permissions used for packaged files +# +# * Mandatory : NO +# * Default : - (system default) +# +# Accepted values are lists with PERMISSIONS. Valid permissions +# are OWNER_READ, OWNER_WRITE, OWNER_EXECUTE, GROUP_READ, +# GROUP_WRITE, GROUP_EXECUTE, WORLD_READ, WORLD_WRITE and WORLD_EXECUTE. +# Note that must be in upper-case. +# +# .. variable:: CPACK_RPM_DEFAULT_DIR_PERMISSIONS +# CPACK_RPM__DEFAULT_DIR_PERMISSIONS +# +# default permissions used for packaged directories +# +# * Mandatory : NO +# * Default : - (system default) +# +# Accepted values are lists with PERMISSIONS. Valid permissions +# are OWNER_READ, OWNER_WRITE, OWNER_EXECUTE, GROUP_READ, +# GROUP_WRITE, GROUP_EXECUTE, WORLD_READ, WORLD_WRITE and WORLD_EXECUTE. +# Note that must be in upper-case. +# # Packaging of Symbolic Links # ^^^ # @@ -581,6 +629,35 @@ # Author: Eric Noulard with the help of Alexander Neundorf. +function(get_unix_permissions_octal_notation PERMISSIONS_VAR RETURN_VAR) + set(PERMISSIONS ${${PERMISSIONS_VAR}}) + list(LENGTH PERMISSIONS PERM_LEN_PRE) + list(REMOVE_DUPLICATES PERMISSIONS) + list(LENGTH PERMISSIONS PERM_LEN_POST) + + if(NOT ${PERM_LEN_PRE} EQUAL ${PERM_LEN_POST}) +message(FATAL_ERROR "${PERMISSIONS_VAR} contains duplicate values.") + endif() + + foreach(PERMISSION_TYPE "OWNER" "GROUP" "WORLD") +set(${PERMISSION_TYPE}_PERMISSIONS 0) + +foreach(PERMISSION ${PERMISSIONS}) + if("${PERMISSION}" STREQUAL "${PERMISSION_TYPE}_READ") +math(EXPR ${PERMISSION_TYPE}_PERMISSIONS "${${PERMISSION_TYPE}_PERMISSIONS} + 4") +
[Cmake-commits] CMake branch, next, updated. v3.5.1-704-g77220f1
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 77220f1ad6bf349e51f83d251c2a3a738b2c772a (commit) via 44eb6c235df7344b60bd85062604b187c9754d07 (commit) via b290ddf925aee7dca25396035b1b53223d37e9e5 (commit) via 00e4d1220bb9f3c43bd3d339b0114d2074480bd7 (commit) from 24d322015972bac129ee752fb45edc485fb17a45 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=77220f1ad6bf349e51f83d251c2a3a738b2c772a commit 77220f1ad6bf349e51f83d251c2a3a738b2c772a Merge: 24d3220 44eb6c2 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Thu Mar 31 01:49:14 2016 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Thu Mar 31 01:49:14 2016 -0400 Merge topic 'cpack-rpm-external-symlink-handling' into next 44eb6c23 CPack/RPM external symlink handling b290ddf9 CMake Nightly Date Stamp 00e4d122 CMake Nightly Date Stamp https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=44eb6c235df7344b60bd85062604b187c9754d07 commit 44eb6c235df7344b60bd85062604b187c9754d07 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Thu Mar 31 07:48:38 2016 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Thu Mar 31 07:48:38 2016 +0200 CPack/RPM external symlink handling Symbolic links that point to external location no longer cause cmake to fail with string out of bounds error but are instead packaged as non relocatable symlinks and print out a warning message. diff --git a/Help/release/dev/cpack-rpm-external-symlink-handling.rst b/Help/release/dev/cpack-rpm-external-symlink-handling.rst new file mode 100644 index 000..d9a3d8c --- /dev/null +++ b/Help/release/dev/cpack-rpm-external-symlink-handling.rst @@ -0,0 +1,5 @@ +cpack-rpm-external-symlink-handling + + +* The "CPackRPM" module learned how to correctly handle symlinks + that are pointing outside generated packages. diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake index ae51dc1..5c51fac 100644 --- a/Modules/CPackRPM.cmake +++ b/Modules/CPackRPM.cmake @@ -599,9 +599,10 @@ # while determining if symlink should be either created or present in a # post install script - depending on relocation paths. # -# Currenty there are a few limitations though: +# Symbolic links that point to locations outside packaging path produce a +# warning and are treated as non relocatable permanent symbolic links. # -# * Only symbolic links with relative path can be packaged. +# Currenty there are a few limitations though: # # * For component based packaging component interdependency is not checked # when processing symbolic links. Symbolic links pointing to content of @@ -1068,13 +1069,28 @@ function(cpack_rpm_prepare_install_files INSTALL_FILES_LIST WDIR PACKAGE_PREFIXE get_filename_component(SYMLINK_POINT_ "${SYMLINK_LOCATION_}/${SYMLINK_POINT_}" ABSOLUTE) endif() -string(SUBSTRING "${SYMLINK_POINT_}" ${WDR_LEN_} -1 SYMLINK_POINT_WD_) +# recalculate path length after conversion to canonical form +string(LENGTH "${SYMLINK_POINT_}" SYMLINK_POINT_LENGTH_) -cpack_rpm_symlink_get_relocation_prefixes("${F}" "${PACKAGE_PREFIXES}" "SYMLINK_RELOCATIONS") -cpack_rpm_symlink_get_relocation_prefixes("${SYMLINK_POINT_WD_}" "${PACKAGE_PREFIXES}" "POINT_RELOCATIONS") +if(SYMLINK_POINT_ MATCHES "${WDIR}/.*") + # only symlinks that are pointing inside the packaging structure should be checked for relocation + string(SUBSTRING "${SYMLINK_POINT_}" ${WDR_LEN_} -1 SYMLINK_POINT_WD_) + cpack_rpm_symlink_get_relocation_prefixes("${F}" "${PACKAGE_PREFIXES}" "SYMLINK_RELOCATIONS") + cpack_rpm_symlink_get_relocation_prefixes("${SYMLINK_POINT_WD_}" "${PACKAGE_PREFIXES}" "POINT_RELOCATIONS") -list(LENGTH SYMLINK_RELOCATIONS SYMLINK_RELOCATIONS_COUNT) -list(LENGTH POINT_RELOCATIONS POINT_RELOCATIONS_COUNT) + list(LENGTH SYMLINK_RELOCATIONS SYMLINK_RELOCATIONS_COUNT) + list(LENGTH POINT_RELOCATIONS POINT_RELOCATIONS_COUNT) +else() + # location pointed to is ouside WDR so it should be treated as a permanent symlink + set(SYMLINK_POINT_WD_ "${SYMLINK_POINT_}") + + unset(SYMLINK_RELOCATIONS) + unset(POINT_RELOCATIONS) +
[Cmake-commits] CMake branch, next, updated. v3.5.1-728-g35bc416
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 35bc416eff0a51f23c6cea368fb2f70d49969b64 (commit) via 5e5d0abdf2c4b09a5674bd37a8608dbf27707a47 (commit) from 782205d95d50934d6b493201996459614f2193be (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=35bc416eff0a51f23c6cea368fb2f70d49969b64 commit 35bc416eff0a51f23c6cea368fb2f70d49969b64 Merge: 782205d 5e5d0ab Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Thu Mar 31 11:25:53 2016 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Thu Mar 31 11:25:53 2016 -0400 Merge topic 'cpack-rpm-external-symlink-handling' into next 5e5d0abd CPack/RPM external symlink handling https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5e5d0abdf2c4b09a5674bd37a8608dbf27707a47 commit 5e5d0abdf2c4b09a5674bd37a8608dbf27707a47 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Thu Mar 31 07:48:38 2016 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Thu Mar 31 17:23:13 2016 +0200 CPack/RPM external symlink handling Symbolic links that point to external location no longer cause cmake to fail with string out of bounds error but are instead packaged as non relocatable symlinks and print out a warning message. diff --git a/Help/release/dev/cpack-rpm-external-symlink-handling.rst b/Help/release/dev/cpack-rpm-external-symlink-handling.rst new file mode 100644 index 000..d9a3d8c --- /dev/null +++ b/Help/release/dev/cpack-rpm-external-symlink-handling.rst @@ -0,0 +1,5 @@ +cpack-rpm-external-symlink-handling + + +* The "CPackRPM" module learned how to correctly handle symlinks + that are pointing outside generated packages. diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake index ae51dc1..713b938 100644 --- a/Modules/CPackRPM.cmake +++ b/Modules/CPackRPM.cmake @@ -599,9 +599,10 @@ # while determining if symlink should be either created or present in a # post install script - depending on relocation paths. # -# Currenty there are a few limitations though: +# Symbolic links that point to locations outside packaging path produce a +# warning and are treated as non relocatable permanent symbolic links. # -# * Only symbolic links with relative path can be packaged. +# Currenty there are a few limitations though: # # * For component based packaging component interdependency is not checked # when processing symbolic links. Symbolic links pointing to content of @@ -1068,13 +1069,28 @@ function(cpack_rpm_prepare_install_files INSTALL_FILES_LIST WDIR PACKAGE_PREFIXE get_filename_component(SYMLINK_POINT_ "${SYMLINK_LOCATION_}/${SYMLINK_POINT_}" ABSOLUTE) endif() -string(SUBSTRING "${SYMLINK_POINT_}" ${WDR_LEN_} -1 SYMLINK_POINT_WD_) +# recalculate path length after conversion to canonical form +string(LENGTH "${SYMLINK_POINT_}" SYMLINK_POINT_LENGTH_) -cpack_rpm_symlink_get_relocation_prefixes("${F}" "${PACKAGE_PREFIXES}" "SYMLINK_RELOCATIONS") -cpack_rpm_symlink_get_relocation_prefixes("${SYMLINK_POINT_WD_}" "${PACKAGE_PREFIXES}" "POINT_RELOCATIONS") +if(SYMLINK_POINT_ MATCHES "${WDIR}/.*") + # only symlinks that are pointing inside the packaging structure should be checked for relocation + string(SUBSTRING "${SYMLINK_POINT_}" ${WDR_LEN_} -1 SYMLINK_POINT_WD_) + cpack_rpm_symlink_get_relocation_prefixes("${F}" "${PACKAGE_PREFIXES}" "SYMLINK_RELOCATIONS") + cpack_rpm_symlink_get_relocation_prefixes("${SYMLINK_POINT_WD_}" "${PACKAGE_PREFIXES}" "POINT_RELOCATIONS") -list(LENGTH SYMLINK_RELOCATIONS SYMLINK_RELOCATIONS_COUNT) -list(LENGTH POINT_RELOCATIONS POINT_RELOCATIONS_COUNT) + list(LENGTH SYMLINK_RELOCATIONS SYMLINK_RELOCATIONS_COUNT) + list(LENGTH POINT_RELOCATIONS POINT_RELOCATIONS_COUNT) +else() + # location pointed to is ouside WDR so it should be treated as a permanent symlink + set(SYMLINK_POINT_WD_ "${SYMLINK_POINT_}") + + unset(SYMLINK_RELOCATIONS) + unset(POINT_RELOCATIONS) + unset(SYMLINK_RELOCATIONS_COUNT) + unset(POINT_RELOCATIONS_COUNT) + + message(AUTHOR_WARNING "CPackRPM:Warning: Symbolic link '${F}' points to location that is outside packag
[Cmake-commits] CMake branch, next, updated. v3.5.1-726-g782205d
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 782205d95d50934d6b493201996459614f2193be (commit) via d0b28e32628df9191289608f114244042c63a0df (commit) from 079f8c06e92872f0e59c97733408319504e95326 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=782205d95d50934d6b493201996459614f2193be commit 782205d95d50934d6b493201996459614f2193be Merge: 079f8c0 d0b28e3 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Thu Mar 31 11:22:06 2016 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Thu Mar 31 11:22:06 2016 -0400 Merge topic 'cpack-rpm-external-symlink-handling' into next d0b28e32 fixup: cpack-rpm-external-symlink-handling https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d0b28e32628df9191289608f114244042c63a0df commit d0b28e32628df9191289608f114244042c63a0df Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Thu Mar 31 17:21:30 2016 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Thu Mar 31 17:21:30 2016 +0200 fixup: cpack-rpm-external-symlink-handling logging consistency fix diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake index 5c51fac..713b938 100644 --- a/Modules/CPackRPM.cmake +++ b/Modules/CPackRPM.cmake @@ -1089,7 +1089,7 @@ function(cpack_rpm_prepare_install_files INSTALL_FILES_LIST WDIR PACKAGE_PREFIXE unset(SYMLINK_RELOCATIONS_COUNT) unset(POINT_RELOCATIONS_COUNT) - message(WARNING "Symbolic link '${F}' points to location that is outside packaging path! Link will not be relocatable.") + message(AUTHOR_WARNING "CPackRPM:Warning: Symbolic link '${F}' points to location that is outside packaging path! Link will possibly not be relocatable.") endif() if(SYMLINK_RELOCATIONS_COUNT AND POINT_RELOCATIONS_COUNT) --- Summary of changes: Modules/CPackRPM.cmake |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.5.2-1525-g3565b58
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 3565b58ea8f6f54c9c8d3f6187361def72944672 (commit) via adbd3985f89f19d9de867a75321465d6e181908d (commit) from cd153d4e1865c3e1d5ac30277d6a0c15447a7bf8 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3565b58ea8f6f54c9c8d3f6187361def72944672 commit 3565b58ea8f6f54c9c8d3f6187361def72944672 Merge: cd153d4 adbd398 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Mon May 23 13:57:36 2016 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Mon May 23 13:57:36 2016 -0400 Merge topic 'cpack-deb-different-package-names' into next adbd3985 CPack/Deb possibility to change package name https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=adbd3985f89f19d9de867a75321465d6e181908d commit adbd3985f89f19d9de867a75321465d6e181908d Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Mon May 23 19:51:33 2016 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Mon May 23 19:55:46 2016 +0200 CPack/Deb possibility to change package name This patch preserves backward compatibility of deb package names with previous CMake versions but similarly to CPack/RPM allows to change package name format and supports DEB-DEFAULT setting that produces proper Debian package names. diff --git a/Help/release/dev/cpack-deb-imporvements.rst b/Help/release/dev/cpack-deb-imporvements.rst index 4fd35b8..d3cb52c 100644 --- a/Help/release/dev/cpack-deb-imporvements.rst +++ b/Help/release/dev/cpack-deb-imporvements.rst @@ -13,15 +13,19 @@ cpack-deb-imporvements :variable:`CPACK_COMPONENT__DEPENDS` variables are set. This breaks compatibility with previous versions. -* The :module:`CPackDeb` module learned how to set the package release number - (``DebianRevisionNumber`` in package file name). See - :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`. - -* The :module:`CPackDeb` module now generates properly-named Debian packages:: +* The :module:`CPackDeb` module learned how to set custom package file names + including how to generate properly-named Debian packages:: _-_.deb - This breaks compatibility with previous versions. + For backward compatibility this feature is disabled by default. See + :variable:`CPACK_DEBIAN_FILE_NAME` and + :variable:`CPACK_DEBIAN__FILE_NAME`. + +* The :module:`CPackDeb` module learned how to set the package release number + (``DebianRevisionNumber`` in package file name when used in combination with + ``DEB-DEFAULT`` value set by :variable:`CPACK_DEBIAN_FILE_NAME`). See + :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`. * The :module:`CPackDeb` module learned how to set the package architecture per-component. See :variable:`CPACK_DEBIAN__PACKAGE_ARCHITECTURE`. diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index d93d924..f7cd7aa 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -42,6 +42,32 @@ # # See https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Source # +# .. variable:: CPACK_DEBIAN_FILE_NAME +# CPACK_DEBIAN__FILE_NAME +# +# Package file name. +# +# * Mandatory : YES +# * Default : ``[-].deb`` +# +# This may be set to ``DEB-DEFAULT`` to allow CPackDeb to generate package file +# name by itself in deb format:: +# +# _-_.deb +# +# Alternatively provided package file name must end with ".deb" suffix. +# +# .. note:: +# +#Preferred setting of this variable is ``DEB-DEFAULT`` but for backward +#compatibility with CPackDeb in CMake prior to version 3.6 this feature +#is disabled by default. +# +# .. note:: +# +#By using non default filenames duplicate names may occur. Duplicate files +#get overwritten and it is up to the packager to set the variables in a +#manner that will prevent such errors. # # .. variable:: CPACK_DEBIAN_PACKAGE_VERSION # @@ -466,6 +492,17 @@ if(NOT UNIX) message(FATAL_ERROR "CPackDeb.cmake may only be used under UNIX.") endif() +function(cpack_deb_variable_fallback OUTPUT_VAR_NAME) + set(FALLBACK_VAR_NAMES ${ARGN}) + + foreach(variable_name IN LISTS FALLBACK_VAR_NAMES) +if(${variable_name}) + set(${OUTPUT_VAR_NAME} "${${variable_name}}" PARENT_SCOPE) + break() +endif() + endforeach() +endfunction() + function(get_component_package_name var component) string(TOUPPER "${component}" component_upcase) if(CPACK_DEBIAN_${component_upcase}_PACKAGE_NAME) @@ -878,13 +915,32 @@ function(cpack_deb_prepare_pack
[Cmake-commits] CMake branch, next, updated. v3.5.2-1527-g75f46e9
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 75f46e9143a5022405dffb5c1abd10355b4fee09 (commit) via 4f3b97063f724f5e0a2902e8d2c104012b52b7f5 (commit) from 3565b58ea8f6f54c9c8d3f6187361def72944672 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=75f46e9143a5022405dffb5c1abd10355b4fee09 commit 75f46e9143a5022405dffb5c1abd10355b4fee09 Merge: 3565b58 4f3b970 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Mon May 23 14:24:15 2016 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Mon May 23 14:24:15 2016 -0400 Merge topic 'cpack-deb-component-depends' into next 4f3b9706 CPack/Deb prevent accidental component dependencies diff --cc Help/release/dev/cpack-deb-imporvements.rst index d3cb52c,9e45aa5..63312b5 --- a/Help/release/dev/cpack-deb-imporvements.rst +++ b/Help/release/dev/cpack-deb-imporvements.rst @@@ -11,10 -11,14 +11,11 @@@ cpack-deb-imporvement * The :module:`CPackDeb` module learned how to generate dependencies between Debian packages if multi-component setup is used and :variable:`CPACK_COMPONENT__DEPENDS` variables are set. - This breaks compatibility with previous versions. + For backward compatibility this feature is disabled by default. See + :variable:`CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS`. -* The :module:`CPackDeb` module learned how to set the package release number - (``DebianRevisionNumber`` in package file name). See - :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`. - -* The :module:`CPackDeb` module now generates properly-named Debian packages:: +* The :module:`CPackDeb` module learned how to set custom package file names + including how to generate properly-named Debian packages:: _-_.deb https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4f3b97063f724f5e0a2902e8d2c104012b52b7f5 commit 4f3b97063f724f5e0a2902e8d2c104012b52b7f5 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Mon May 23 20:21:32 2016 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Mon May 23 20:21:32 2016 +0200 CPack/Deb prevent accidental component dependencies Prevent accidental inter component dependency setting since this is a breaking feature in situations where another CPack module is already using the feature. It should be enabled if desired since it can cause issues when upgrading only one of the components for e.g. configuration instead of all the components at once. diff --git a/Help/release/dev/cpack-deb-imporvements.rst b/Help/release/dev/cpack-deb-imporvements.rst index 4fd35b8..9e45aa5 100644 --- a/Help/release/dev/cpack-deb-imporvements.rst +++ b/Help/release/dev/cpack-deb-imporvements.rst @@ -11,7 +11,8 @@ cpack-deb-imporvements * The :module:`CPackDeb` module learned how to generate dependencies between Debian packages if multi-component setup is used and :variable:`CPACK_COMPONENT__DEPENDS` variables are set. - This breaks compatibility with previous versions. + For backward compatibility this feature is disabled by default. See + :variable:`CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS`. * The :module:`CPackDeb` module learned how to set the package release number (``DebianRevisionNumber`` in package file name). See diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index d93d924..70bf81d 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -100,6 +100,13 @@ # #set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.3.1-6), libc6 (< 2.4)") # +# .. variable:: CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS +# +# Sets inter component dependencies if listed with +# :variable:`CPACK_COMPONENT__DEPENDS` variables. +# +# * Mandatory : NO +# * Default : - # # .. variable:: CPACK_DEBIAN_PACKAGE_MAINTAINER # @@ -713,20 +720,23 @@ function(cpack_deb_prepare_package_vars) endif() endif() endforeach() -set(COMPONENT_DEPENDS "") -foreach (_PACK ${CPACK_COMPONENT_${_local_component_name}_DEPENDS}) - get_component_package_name(_PACK_NAME "${_PACK}") + +if(CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS) + set(COMPONENT_DEPENDS "") + foreach (_PACK ${CPACK_COMPONENT_${_local_component_name}_DEPENDS}) +get_component_package_name(_PACK_NAME "${_PACK}") +if(COMPONENT_DEPENDS) + set(COMPONENT_DEPENDS "${_PACK_NAME} (= ${CPACK_DEBIAN_PACKAGE_VERSION}), ${COMPONENT_DEPENDS}") +else() + set(COMPONENT_DEPENDS "${_PACK_NAME} (= ${CPACK_
[Cmake-commits] CMake branch, next, updated. v3.5.2-1319-ga71b39e
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 a71b39e545bdc32fbc9779aa257b331ee36ea1b0 (commit) via be6a0b5f29ea47a9750d062f4a7197b266f7727a (commit) via 16ddd0c28c2e855d813032a36c82326ea73c8c96 (commit) via cba0f70d95de1d637a2e30a05601e4659ff208b0 (commit) via a6362d8026264e33f2dbc93e2a859e497b8e14f1 (commit) via f732f307cadb44b458f48cdc5f9e85092726ae1c (commit) via 2c123998a9d50c0af09c357473f23e97f3c5a0b5 (commit) via 1f0ae548aa786e0519b0b64f89f948715598beed (commit) via 3a6d946ee6bf4d6aa8897e81e20ba3676aafd59c (commit) via fbb72f3befe09b0aa03f0c87cb0eb8de4ba8eca8 (commit) via 5fdd7d21f432e7a43a0cfa1a26da2d92217c7a60 (commit) from f39d60ee1b0c19745a58f2861f63a390a1909036 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a71b39e545bdc32fbc9779aa257b331ee36ea1b0 commit a71b39e545bdc32fbc9779aa257b331ee36ea1b0 Merge: f39d60e be6a0b5 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Tue May 10 14:27:35 2016 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Tue May 10 14:27:35 2016 -0400 Merge topic 'cpack-deb-improvements' into next be6a0b5f CPack/Deb cpack-deb-improvements release notes 16ddd0c2 CPack/Deb test changes due to breaking changes cba0f70d CPack/Deb package release number in file name a6362d80 CPack/Deb proper package file naming f732f307 CPack/Deb per-component package architecture 2c123998 CPack/Deb inter package dependencies 1f0ae548 CPack/Deb proper component packages file naming 3a6d946e CPack/Deb generation of postinst and postrm ldconfig files fbb72f3b CPack/Deb generation of DEBIAN/shlibs control file 5fdd7d21 CMake Nightly Date Stamp https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=be6a0b5f29ea47a9750d062f4a7197b266f7727a commit be6a0b5f29ea47a9750d062f4a7197b266f7727a Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Tue May 10 20:20:38 2016 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Tue May 10 20:20:38 2016 +0200 CPack/Deb cpack-deb-improvements release notes diff --git a/Help/release/dev/cpack-deb-imporvements.rst b/Help/release/dev/cpack-deb-imporvements.rst new file mode 100644 index 000..dc07474 --- /dev/null +++ b/Help/release/dev/cpack-deb-imporvements.rst @@ -0,0 +1,23 @@ +cpack-deb-imporvements +-- + +* The "CPackDeb" module learned how to generate DEBIAN/shlibs contorl file + when package contains shared libraries. + +* The "CPackDeb" module learned how to generate DEBIAN/postinst and + DEBIAN/postrm files if package installs libraries in ldconfig controlled + location (/lib/, /usr/lib/). + +* The "CPackDeb" module learned how to generate dependencies between Debian + packages if multi-component setup is used and :variable:`CPACK_COMPONENT__DEPENDS` + variables are set (breaks compatibility with previous versions). + +* The "CPackDeb" module learned how to set package release number + (DebianRevisionNumber in package file name). See :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`. + +* The "CPackDeb" module learned how to generate proper debian package names + with format ``_-_.deb`` + (breaks compatibility with previous versions). + +* The "CPackDeb" module learned how to set package architecture per-component. + See :variable:`CPACK_DEBIAN__PACKAGE_ARCHITECTURE`. https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=16ddd0c28c2e855d813032a36c82326ea73c8c96 commit 16ddd0c28c2e855d813032a36c82326ea73c8c96 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Tue May 10 15:40:48 2016 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Tue May 10 20:18:03 2016 +0200 CPack/Deb test changes due to breaking changes New CPack/Deb tests and changes to old tests as package file names and inter component dependency detection was changed. diff --git a/Tests/CPackComponentsDEB/RunCPackVerifyResult-components-depend1.cmake b/Tests/CPackComponentsDEB/RunCPackVerifyResult-components-depend1.cmake index 26ab19e..70d6edf 100644 --- a/Tests/CPackComponentsDEB/RunCPackVerifyResult-components-depend1.cmake +++ b/Tests/CPackComponentsDEB/RunCPackVerifyResult-components-depend1.cmake @@ -6,7 +6,7 @@ include(${CPackComponentsDEB_SOURCE_DIR}/RunCPackVerifyResult.cmake) # expected results -set(expected_file_mask "${CPackComponentsDEB_BINARY_DIR}/MyLib-*.deb") +set(exp
[Cmake-commits] CMake branch, next, updated. v3.5.2-1341-g232917e
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 232917e9e311ef44e472aa8b72bb4468f170e9e7 (commit) via be6e9b384caf5c56887a8eb538fa4af7a9f74c02 (commit) via 74c32123440a8de96b25d038ec7ac447a78ee769 (commit) from 0823297845024f9fd0a47a3e8b7b5abbdd647100 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=232917e9e311ef44e472aa8b72bb4468f170e9e7 commit 232917e9e311ef44e472aa8b72bb4468f170e9e7 Merge: 0823297 be6e9b3 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Wed May 11 18:35:19 2016 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Wed May 11 18:35:19 2016 -0400 Merge topic 'cpack-deb-improvements' into next be6e9b38 fixup! CPack/Deb test changes due to breaking changes 74c32123 fixup! CPack/Deb generation of DEBIAN/shlibs control file https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=be6e9b384caf5c56887a8eb538fa4af7a9f74c02 commit be6e9b384caf5c56887a8eb538fa4af7a9f74c02 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Wed May 11 22:47:43 2016 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Thu May 12 00:24:37 2016 +0200 fixup! CPack/Deb test changes due to breaking changes diff --git a/Tests/RunCMake/CPack/CPackTestHelpers.cmake b/Tests/RunCMake/CPack/CPackTestHelpers.cmake index aef1086..7bf42f9 100644 --- a/Tests/RunCMake/CPack/CPackTestHelpers.cmake +++ b/Tests/RunCMake/CPack/CPackTestHelpers.cmake @@ -9,6 +9,20 @@ function(run_cpack_test TEST_NAME types build) file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}") file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}") +if(EXISTS "${RunCMake_SOURCE_DIR}/${TEST_TYPE}/${TEST_NAME}-Prerequirements.cmake") + include("${RunCMake_SOURCE_DIR}/${TEST_TYPE}/${TEST_NAME}-Prerequirements.cmake") + + set(FOUND_PREREQUIREMENTS false) + get_test_prerequirements("FOUND_PREREQUIREMENTS" + "${TEST_CONFIG_DIR}/${type}_config.cmake") + + # skip the test if prerequirements are not met + if(NOT FOUND_PREREQUIREMENTS) +message(STATUS "${TEST_NAME} - SKIPPED") +return() + endif() +endif() + # execute cmake set(RunCMake_TEST_OPTIONS "-DGENERATOR_TYPE=${TEST_TYPE}") run_cmake(${TEST_NAME}) diff --git a/Tests/RunCMake/CPack/DEB/DEB_GENERATE_SHLIBS-Prerequirements.cmake b/Tests/RunCMake/CPack/DEB/DEB_GENERATE_SHLIBS-Prerequirements.cmake new file mode 100644 index 000..b98065a --- /dev/null +++ b/Tests/RunCMake/CPack/DEB/DEB_GENERATE_SHLIBS-Prerequirements.cmake @@ -0,0 +1,7 @@ +function(get_test_prerequirements found_var) + find_program(READELF_EXECUTABLE NAMES readelf) + + if(READELF_EXECUTABLE) +set(${found_var} true PARENT_SCOPE) + endif() +endfunction() diff --git a/Tests/RunCMake/CPack/DEB/DEB_GENERATE_SHLIBS-specifics.cmake b/Tests/RunCMake/CPack/DEB/DEB_GENERATE_SHLIBS-specifics.cmake deleted file mode 100644 index b87b6ba..000 --- a/Tests/RunCMake/CPack/DEB/DEB_GENERATE_SHLIBS-specifics.cmake +++ /dev/null @@ -1,5 +0,0 @@ -set(CPACK_PACKAGE_CONTACT "someone") -set(CPACK_DEB_COMPONENT_INSTALL "ON") - -set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS "ON") -set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS "ON") diff --git a/Tests/RunCMake/CPack/DEB/DEB_GENERATE_SHLIBS_LDCONFIG-Prerequirements.cmake b/Tests/RunCMake/CPack/DEB/DEB_GENERATE_SHLIBS_LDCONFIG-Prerequirements.cmake new file mode 100644 index 000..b98065a --- /dev/null +++ b/Tests/RunCMake/CPack/DEB/DEB_GENERATE_SHLIBS_LDCONFIG-Prerequirements.cmake @@ -0,0 +1,7 @@ +function(get_test_prerequirements found_var) + find_program(READELF_EXECUTABLE NAMES readelf) + + if(READELF_EXECUTABLE) +set(${found_var} true PARENT_SCOPE) + endif() +endfunction() diff --git a/Tests/RunCMake/CPack/DEB/DEB_GENERATE_SHLIBS_LDCONFIG-specifics.cmake b/Tests/RunCMake/CPack/DEB/DEB_GENERATE_SHLIBS_LDCONFIG-specifics.cmake deleted file mode 100644 index 8b1cc37..000 --- a/Tests/RunCMake/CPack/DEB/DEB_GENERATE_SHLIBS_LDCONFIG-specifics.cmake +++ /dev/null @@ -1,6 +0,0 @@ -set(CPACK_PACKAGE_CONTACT "someone") -set(CPACK_DEB_COMPONENT_INSTALL "ON") - -set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS "ON") -set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS "ON") -set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY ">=") diff --git a/Tests/RunCMake/CPack/DEB/Helpers.cmake b/Tests/RunCMake/CPack/DEB/Helpers.cmake index f490130..82dbd15 100644 --- a
[Cmake-commits] CMake branch, next, updated. v3.5.2-1407-gd758f12
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 d758f127cf059e974f9e88c9e0e70a1db352bef3 (commit) via f5089cfccd96f2c94838faa1736fa452ae4bb853 (commit) via f7003a60557e828f08ee893c5da78b24423b5223 (commit) from 35e272d8abbedcaa2ea60db978fcb4b458d14777 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d758f127cf059e974f9e88c9e0e70a1db352bef3 commit d758f127cf059e974f9e88c9e0e70a1db352bef3 Merge: 35e272d f5089cf Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Sat May 14 14:22:35 2016 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Sat May 14 14:22:35 2016 -0400 Merge topic 'cpack-rpm-adding-dist-to-release-tag' into next f5089cfc CPack/RPM adding dist to release tag test f7003a60 CPack/RPM release dist tag support diff --cc Tests/RunCMake/CPack/RunCMakeTest.cmake index 2e358f0,7f756c4..f143150 --- a/Tests/RunCMake/CPack/RunCMakeTest.cmake +++ b/Tests/RunCMake/CPack/RunCMakeTest.cmake @@@ -11,6 -11,5 +11,7 @@@ run_cpack_test(DEPENDENCIES "RPM;DEB" t run_cpack_test(EMPTY_DIR "RPM;DEB;TGZ" true) run_cpack_test(COMPONENTS_EMPTY_DIR "RPM;DEB;TGZ" true) run_cpack_test(PER_COMPONENT_FIELDS "RPM;DEB" false) + run_cpack_test(RPM_DIST "RPM" false) run_cpack_test(INSTALL_SCRIPTS "RPM" false) +run_cpack_test(DEB_GENERATE_SHLIBS "DEB" true) +run_cpack_test(DEB_GENERATE_SHLIBS_LDCONFIG "DEB" true) https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f5089cfccd96f2c94838faa1736fa452ae4bb853 commit f5089cfccd96f2c94838faa1736fa452ae4bb853 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Wed May 11 21:14:26 2016 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Sat May 14 20:21:32 2016 +0200 CPack/RPM adding dist to release tag test Tests and release notes diff --git a/Help/release/dev/cpack-rpm-adding-dist-to-release-tag.rst b/Help/release/dev/cpack-rpm-adding-dist-to-release-tag.rst new file mode 100644 index 000..42599a9 --- /dev/null +++ b/Help/release/dev/cpack-rpm-adding-dist-to-release-tag.rst @@ -0,0 +1,7 @@ +cpack-rpm-adding-dist-to-release-tag + + +* The :module:`CPackRPM` module learned how to set RPM ``dist`` tag as part of + RPM ``Release:`` tag when enabled (mandatory on some Linux distributions for + e.g. on Fedora). + See :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`. diff --git a/Tests/RunCMake/CPack/RPM/RPM_DIST-ExpectedFiles.cmake b/Tests/RunCMake/CPack/RPM/RPM_DIST-ExpectedFiles.cmake new file mode 100644 index 000..3b5a347 --- /dev/null +++ b/Tests/RunCMake/CPack/RPM/RPM_DIST-ExpectedFiles.cmake @@ -0,0 +1,5 @@ +set(whitespaces_ "[\t\n\r ]*") + +set(EXPECTED_FILES_COUNT "1") +set(EXPECTED_FILE_1 "rpm_dist*.rpm") +set(EXPECTED_FILE_CONTENT_1 "^/usr/foo${whitespaces_}/usr/foo/CMakeLists.txt$") diff --git a/Tests/RunCMake/CPack/RPM/RPM_DIST-VerifyResult.cmake b/Tests/RunCMake/CPack/RPM/RPM_DIST-VerifyResult.cmake new file mode 100644 index 000..7375ecc --- /dev/null +++ b/Tests/RunCMake/CPack/RPM/RPM_DIST-VerifyResult.cmake @@ -0,0 +1,11 @@ +execute_process(COMMAND ${RPMBUILD_EXECUTABLE} -E %{?dist} +OUTPUT_VARIABLE DIST_TAG +ERROR_QUIET +OUTPUT_STRIP_TRAILING_WHITESPACE) + +set(whitespaces_ "[\t\n\r ]*") + +getPackageInfo("${FOUND_FILE_1}" "FILE_INFO_") +if(NOT FILE_INFO_ MATCHES ".*Release${whitespaces_}:${whitespaces_}1${DIST_TAG}") + message(FATAL_ERROR "Unexpected Release in '${FOUND_FILE_1}'; file info: '${FILE_INFO_}'") +endif() diff --git a/Tests/RunCMake/CPack/RPM_DIST.cmake b/Tests/RunCMake/CPack/RPM_DIST.cmake new file mode 100644 index 000..eb2a123 --- /dev/null +++ b/Tests/RunCMake/CPack/RPM_DIST.cmake @@ -0,0 +1,4 @@ +install(FILES CMakeLists.txt DESTINATION foo COMPONENT test) + +set(CPACK_RPM_PACKAGE_RELEASE_DIST ON) +set(CPACK_PACKAGE_NAME "rpm_dist") diff --git a/Tests/RunCMake/CPack/RunCMakeTest.cmake b/Tests/RunCMake/CPack/RunCMakeTest.cmake index ee4112d..7f756c4 100644 --- a/Tests/RunCMake/CPack/RunCMakeTest.cmake +++ b/Tests/RunCMake/CPack/RunCMakeTest.cmake @@ -11,4 +11,5 @@ run_cpack_test(DEPENDENCIES "RPM;DEB" true) run_cpack_test(EMPTY_DIR "RPM;DEB;TGZ" true) run_cpack_test(COMPONENTS_EMPTY_DIR "RPM;DEB;TGZ" true) run_cpack_test(PER_COMPONENT_FIELDS "RPM;DEB" false) +run_cpack_test(RPM
[Cmake-commits] CMake branch, next, updated. v3.5.2-1409-gbf71c37
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 bf71c37095f7aafb7942386196fdb470a79f13fb (commit) via 44ee2d717a0f0552d4d1d5978c473d60625a0b3c (commit) from d758f127cf059e974f9e88c9e0e70a1db352bef3 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bf71c37095f7aafb7942386196fdb470a79f13fb commit bf71c37095f7aafb7942386196fdb470a79f13fb Merge: d758f12 44ee2d7 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Sat May 14 21:03:04 2016 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Sat May 14 21:03:04 2016 -0400 Merge topic 'cpack-rpm-different-package-names' into next 44ee2d71 CPack/RPM different package names diff --cc Tests/RunCMake/CPack/RunCMakeTest.cmake index f143150,d34e751..759295f --- a/Tests/RunCMake/CPack/RunCMakeTest.cmake +++ b/Tests/RunCMake/CPack/RunCMakeTest.cmake @@@ -10,8 -10,6 +10,9 @@@ run_cpack_test(DEB_EXTRA "DEB" false run_cpack_test(DEPENDENCIES "RPM;DEB" true) run_cpack_test(EMPTY_DIR "RPM;DEB;TGZ" true) run_cpack_test(COMPONENTS_EMPTY_DIR "RPM;DEB;TGZ" true) + run_cpack_test(RPM_CUSTOM_NAMES "RPM" true) run_cpack_test(PER_COMPONENT_FIELDS "RPM;DEB" false) +run_cpack_test(RPM_DIST "RPM" false) run_cpack_test(INSTALL_SCRIPTS "RPM" false) +run_cpack_test(DEB_GENERATE_SHLIBS "DEB" true) +run_cpack_test(DEB_GENERATE_SHLIBS_LDCONFIG "DEB" true) https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=44ee2d717a0f0552d4d1d5978c473d60625a0b3c commit 44ee2d717a0f0552d4d1d5978c473d60625a0b3c Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Sun May 15 03:01:34 2016 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Sun May 15 03:01:34 2016 +0200 CPack/RPM different package names Packagers may now set their own rpm package file names or request that rpmbuild tool chooses one for them. It also supports handing of situations where one spec file may produce multiple rpm packages. diff --git a/Help/release/dev/cpack-rpm-different-package-names.rst b/Help/release/dev/cpack-rpm-different-package-names.rst new file mode 100644 index 000..48679e1 --- /dev/null +++ b/Help/release/dev/cpack-rpm-different-package-names.rst @@ -0,0 +1,9 @@ +cpack-rpm-different-package-names +- + +* The :module:`CPackRPM` module learned how to set user defined package file + names, how to specify that rpmbuild should decide on file name format as + well as handling of multiple rpm packages generated by a single user defined + spec file. + See :variable:`CPACK_RPM_PACKAGE_NAME` and + :variable:`CPACK_RPM__PACKAGE_NAME`. diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake index 768d64f..dca5f00 100644 --- a/Modules/CPackRPM.cmake +++ b/Modules/CPackRPM.cmake @@ -54,6 +54,30 @@ # * Mandatory : YES # * Default : CPACK_PACKAGE_NAME # +# .. variable:: CPACK_RPM_FILE_NAME +# CPACK_RPM__FILE_NAME +# +# Package file name. +# +# * Mandatory : YES +# * Default : ``[-].rpm`` with spaces +#replaced by '-' +# +# This may be set to ``RPM-DEFAULT`` to allow rpmbuild tool to generate package +# file name by itself. +# Alternatively provided package file name must end with ".rpm" suffix. +# +# .. note:: +# +#By using user provided spec file, rpm macro extensions such as for +#generating debuginfo packages or by simply using multiple components more +#than one rpm file may be generated, either from a single spec file or from +#multiple spec files (each component execution produces it's own spec file). +#In such cases duplicate file names may occur as a result of this variable +#setting or spec file content structure. Duplicate files get overwritten +#and it is up to the packager to set the variables in a manner that will +#prevent such errors. +# # .. variable:: CPACK_RPM_PACKAGE_VERSION # # The RPM package version. @@ -1534,8 +1558,6 @@ function(cpack_rpm_generate_package) file(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/SPECS) file(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/SRPMS) - #set(CPACK_RPM_FILE_NAME "${CPACK_RPM_PACKAGE_NAME}-${CPACK_RPM_PACKAGE_VERSION}-${CPACK_RPM_PACKAGE_RELEASE}-${CPACK_RPM_PACKAGE_ARCHITECTURE}.rpm") - set(CPACK_RPM_FILE_NAME "${CPACK_OUTPUT_FILE_NAME}") # it seems rpmbuild can't handle spaces in the path # neither escaping (as below) nor putting quotes around the p
[Cmake-commits] CMake branch, next, updated. v3.5.2-1373-g71fa3a0
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 71fa3a0c2418e3caed26aed3a31bde206c6d7132 (commit) via a54292903ef9814390fcd4f938a890644d80d231 (commit) via 1c06f207b1bfac76e7976754971fd94533214461 (commit) from d33d03fc10466eac6bbbd11fc293604545977ebb (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=71fa3a0c2418e3caed26aed3a31bde206c6d7132 commit 71fa3a0c2418e3caed26aed3a31bde206c6d7132 Merge: d33d03f a542929 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Fri May 13 10:00:00 2016 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Fri May 13 10:00:00 2016 -0400 Merge topic 'cpack-deb-improvements' into next a5429290 fixup! CPack/Deb proper package file naming 1c06f207 fixup! CPack/Deb generation of DEBIAN/shlibs control file https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a54292903ef9814390fcd4f938a890644d80d231 commit a54292903ef9814390fcd4f938a890644d80d231 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Fri May 13 15:52:20 2016 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Fri May 13 15:52:20 2016 +0200 fixup! CPack/Deb proper package file naming Don't set an unneeded variable that can cause problems with package generation (found with CPack/RPM symlink test while porting). diff --git a/Source/CPack/cmCPackDebGenerator.cxx b/Source/CPack/cmCPackDebGenerator.cxx index 24e06fe..aec06b7 100644 --- a/Source/CPack/cmCPackDebGenerator.cxx +++ b/Source/CPack/cmCPackDebGenerator.cxx @@ -205,11 +205,15 @@ int cmCPackDebGenerator::PackageComponentsAllInOne( /* replace the TEMPORARY package file name */ this->SetOption("CPACK_TEMPORARY_PACKAGE_FILE_NAME", packageFileName.c_str()); - // Tell CPackDeb.cmake the path where the component is. - std::string component_path = "/"; - component_path += compInstDirName; - this->SetOption("CPACK_DEB_PACKAGE_COMPONENT_PART_PATH", - component_path.c_str()); + + if(!compInstDirName.empty()) +{ +// Tell CPackDeb.cmake the path where the component is. +std::string component_path = "/"; +component_path += compInstDirName; +this->SetOption("CPACK_DEB_PACKAGE_COMPONENT_PART_PATH", +component_path.c_str()); +} if (!this->ReadListFile("CPackDeb.cmake")) { cmCPackLogger(cmCPackLog::LOG_ERROR, https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1c06f207b1bfac76e7976754971fd94533214461 commit 1c06f207b1bfac76e7976754971fd94533214461 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Fri May 13 15:35:57 2016 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Fri May 13 15:35:57 2016 +0200 fixup! CPack/Deb generation of DEBIAN/shlibs control file Loosen up the regex to correctly parse data from strings with Asian characters diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index 0711238..d93d924 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -487,7 +487,7 @@ function(extract_so_info shared_object libname version) ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) if(result EQUAL 0) - string(REGEX MATCH "\\(SONAME\\) [^\n]*: \\[([^\n]+)\\.so\\.([^\n]*)\\]\n" soname "${output}") + string(REGEX MATCH "\\(SONAME\\)[^\n]*\\[([^\n]+)\\.so\\.([^\n]*)\\]" soname "${output}") set(${libname} "${CMAKE_MATCH_1}" PARENT_SCOPE) set(${version} "${CMAKE_MATCH_2}" PARENT_SCOPE) else() --- Summary of changes: Modules/CPackDeb.cmake |2 +- Source/CPack/cmCPackDebGenerator.cxx | 14 +- 2 files changed, 10 insertions(+), 6 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.6.0-782-gad63450
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 ad634507d0155978a0744b5d3b896e696aecc5e1 (commit) via 49df5d480045ea77295825f2968ec57c4146b5d8 (commit) from 4ba010d93f20335ca5e643c0f1ec196a5a6efc6b (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ad634507d0155978a0744b5d3b896e696aecc5e1 commit ad634507d0155978a0744b5d3b896e696aecc5e1 Merge: 4ba010d 49df5d4 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Mon Jul 11 14:55:21 2016 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Mon Jul 11 14:55:21 2016 -0400 Merge topic 'cpack-rpm-debug-logging-fix' into next 49df5d48 Debug logging should only print if requested for https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=49df5d480045ea77295825f2968ec57c4146b5d8 commit 49df5d480045ea77295825f2968ec57c4146b5d8 Author: Harry Mallon <ha...@codexdigital.com> AuthorDate: Mon Jul 11 20:53:31 2016 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Mon Jul 11 20:53:31 2016 +0200 Debug logging should only print if requested for diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake index 7706bbc..7a1cbef 100644 --- a/Modules/CPackRPM.cmake +++ b/Modules/CPackRPM.cmake @@ -859,7 +859,9 @@ function(cpack_rpm_prepare_content_list) if(NOT DEFINED CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST) set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST /etc /etc/init.d /usr /usr/share /usr/share/doc /usr/bin /usr/lib /usr/lib64 /usr/include) if(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION) - message("CPackRPM:Debug: Adding ${CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION} to builtin omit list.") + if(CPACK_RPM_PACKAGE_DEBUG) +message("CPackRPM:Debug: Adding ${CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION} to builtin omit list.") + endif() list(APPEND CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST "${CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION}") endif() endif() --- Summary of changes: Modules/CPackRPM.cmake |4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.7.2-2285-g69cd1ce
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 69cd1ce190268342cc570569afbba1fc6038822e (commit) via 624709c824a2d7a75a36dc23551377bdc2aee648 (commit) via 1c93eb683b182b1f0bbdcbd39fc50ad48cc57739 (commit) from f6bdf63b18766c59d8ffca0e0383ad7ee14f0ce9 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=69cd1ce190268342cc570569afbba1fc6038822e commit 69cd1ce190268342cc570569afbba1fc6038822e Merge: f6bdf63 624709c Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Sun Jan 22 16:09:08 2017 -0500 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Sun Jan 22 16:09:08 2017 -0500 Merge topic 'cpack-stgz-minimal-test' into next 624709c8 CPack/STGZ: minimalistic packages test 1c93eb68 CPack/STGZ prefer pax for extraction https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=624709c824a2d7a75a36dc23551377bdc2aee648 commit 624709c824a2d7a75a36dc23551377bdc2aee648 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Thu Jan 19 23:02:07 2017 +0100 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Sun Jan 22 22:07:16 2017 +0100 CPack/STGZ: minimalistic packages test diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt index d2465c4..a43e47b 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@ -345,7 +345,7 @@ if("${CMAKE_GENERATOR}" MATCHES "Make|Ninja") add_RunCMake_test(CompilerLauncher) endif() -add_RunCMake_test_group(CPack "DEB;RPM;7Z;TBZ2;TGZ;TXZ;TZ;ZIP") +add_RunCMake_test_group(CPack "DEB;RPM;7Z;TBZ2;TGZ;TXZ;TZ;ZIP;STGZ") # add a test to make sure symbols are exported from a shared library # for MSVC compilers CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS property is used add_RunCMake_test(AutoExportDll) diff --git a/Tests/RunCMake/CPack/RunCMakeTest.cmake b/Tests/RunCMake/CPack/RunCMakeTest.cmake index ebaf792..65399db 100644 --- a/Tests/RunCMake/CPack/RunCMakeTest.cmake +++ b/Tests/RunCMake/CPack/RunCMakeTest.cmake @@ -16,7 +16,7 @@ run_cpack_test(GENERATE_SHLIBS_LDCONFIG "DEB" true "COMPONENT") run_cpack_test(INSTALL_SCRIPTS "RPM" false "COMPONENT") run_cpack_test(LONG_FILENAMES "DEB" false "MONOLITHIC") run_cpack_test_subtests(MAIN_COMPONENT "invalid;found" "RPM" false "COMPONENT") -run_cpack_test(MINIMAL "RPM;DEB;7Z;TBZ2;TGZ;TXZ;TZ;ZIP" false "MONOLITHIC;COMPONENT") +run_cpack_test(MINIMAL "RPM;DEB;7Z;TBZ2;TGZ;TXZ;TZ;ZIP;STGZ" false "MONOLITHIC;COMPONENT") run_cpack_test_subtests(PACKAGE_CHECKSUM "invalid;MD5;SHA1;SHA224;SHA256;SHA384;SHA512" "TGZ" false "MONOLITHIC") run_cpack_test(PARTIALLY_RELOCATABLE_WARNING "RPM" false "COMPONENT") run_cpack_test(PER_COMPONENT_FIELDS "RPM;DEB" false "COMPONENT") diff --git a/Tests/RunCMake/CPack/STGZ/Helpers.cmake b/Tests/RunCMake/CPack/STGZ/Helpers.cmake new file mode 100644 index 000..08224d3 --- /dev/null +++ b/Tests/RunCMake/CPack/STGZ/Helpers.cmake @@ -0,0 +1,64 @@ +set(ALL_FILES_GLOB "*.sh") + +function(getPackageContent FILE RESULT_VAR) + get_filename_component(path_ "${FILE}" DIRECTORY) + file(REMOVE_RECURSE "${path_}/content") + file(MAKE_DIRECTORY "${path_}/content") + execute_process(COMMAND ${FILE} --prefix=${path_}/content --include-subdir + RESULT_VARIABLE extract_result_ + ERROR_VARIABLE extract_error_ + OUTPUT_STRIP_TRAILING_WHITESPACE) + + if(extract_result_) +message(FATAL_ERROR "Extracting STGZ archive failed: '${extract_result_}';" + " '${extract_error_}'.") + endif() + + file(GLOB_RECURSE package_content_ LIST_DIRECTORIES true RELATIVE + "${path_}/content" "${path_}/content/*") + + set(${RESULT_VAR} "${package_content_}" PARENT_SCOPE) +endfunction() + +function(getPackageNameGlobexpr NAME COMPONENT VERSION REVISION FILE_NO RESULT_VAR) + if(COMPONENT) +set(COMPONENT "-${COMPONENT}") + endif() + + set(${RESULT_VAR} "${NAME}-${VERSION}-*${COMPONENT}.sh" PARENT_SCOPE) +endfunction() + +function(getPackageContentList FILE RESULT_VAR) + getPackageContent("${FILE}" package_content_) + + set(${RESULT_VAR} "${package_content_}" PARENT_SCOPE) +endfunction() + +function(toExpectedContentList FILE_NO CONTENT_VAR) + findExpectedFile("${FILE
[Cmake-commits] CMake branch, next, updated. v3.7.2-2278-g639429c
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 639429cb85ed679c38223c7be1c4a0dfd3b3de39 (commit) via 82eb1702d16723c4f997ded593cbe7cb0ca75999 (commit) from bb234a4b50ecca06c00ab4f4cebdd44261f25653 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=639429cb85ed679c38223c7be1c4a0dfd3b3de39 commit 639429cb85ed679c38223c7be1c4a0dfd3b3de39 Merge: bb234a4 82eb170 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Sat Jan 21 03:36:09 2017 -0500 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Sat Jan 21 03:36:09 2017 -0500 Merge topic 'cpack-stgz-minimal-test' into next 82eb1702 fixup! CPack/STGZ: minimalistic packages test https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=82eb1702d16723c4f997ded593cbe7cb0ca75999 commit 82eb1702d16723c4f997ded593cbe7cb0ca75999 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Sat Jan 21 09:34:54 2017 +0100 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Sat Jan 21 09:34:54 2017 +0100 fixup! CPack/STGZ: minimalistic packages test diff --git a/Tests/RunCMake/CPack/STGZ/Helpers.cmake b/Tests/RunCMake/CPack/STGZ/Helpers.cmake index 96be71b..08224d3 100644 --- a/Tests/RunCMake/CPack/STGZ/Helpers.cmake +++ b/Tests/RunCMake/CPack/STGZ/Helpers.cmake @@ -10,15 +10,8 @@ function(getPackageContent FILE RESULT_VAR) OUTPUT_STRIP_TRAILING_WHITESPACE) if(extract_result_) -find_program(TAIL_EXECUTABLE tail) -find_program(PAX_EXECUTABLE pax) -find_program(GTAR_EXECUTABLE gtar) -find_program(TAR_EXECUTABLE tar) -find_program(GUNZIP_EXECUTABLE gunzip) - -message(FATAL_ERROR "Extracting STGZ archive failed: '${extract_error_}';" -"'${TAIL_EXECUTABLE}'; '${PAX_EXECUTABLE}'; '${GTAR_EXECUTABLE}';" -"'${TAR_EXECUTABLE}'; '${GUNZIP_EXECUTABLE}'") +message(FATAL_ERROR "Extracting STGZ archive failed: '${extract_result_}';" + " '${extract_error_}'.") endif() file(GLOB_RECURSE package_content_ LIST_DIRECTORIES true RELATIVE diff --git a/Tests/RunCMake/CPack/STGZ/Prerequirements.cmake b/Tests/RunCMake/CPack/STGZ/Prerequirements.cmake index 46e7757..3b015ca 100644 --- a/Tests/RunCMake/CPack/STGZ/Prerequirements.cmake +++ b/Tests/RunCMake/CPack/STGZ/Prerequirements.cmake @@ -1,6 +1,11 @@ function(get_test_prerequirements found_var config_file) if(EXISTS "/bin/sh") -file(WRITE "${config_file}" "") -set(${found_var} true PARENT_SCOPE) +#gunzip is not part of posix so we should not rely on it being installed +find_program(GUNZIP_EXECUTABLE gunzip) + +if(GUNZIP_EXECUTABLE) + file(WRITE "${config_file}" "") + set(${found_var} true PARENT_SCOPE) +endif() endif() endfunction() --- Summary of changes: Tests/RunCMake/CPack/STGZ/Helpers.cmake | 11 ++- Tests/RunCMake/CPack/STGZ/Prerequirements.cmake |9 +++-- 2 files changed, 9 insertions(+), 11 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.7.2-2270-gb278af8
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 b278af8e08066537fa4eab38b3001e1c0df9f8d8 (commit) via 21de0cc48524e171b19df5f39eaf16543c34c2ae (commit) from 33fbedfbf2858051489c4d5d7cbc04f7cfb8d81e (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b278af8e08066537fa4eab38b3001e1c0df9f8d8 commit b278af8e08066537fa4eab38b3001e1c0df9f8d8 Merge: 33fbedf 21de0cc Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Fri Jan 20 14:45:09 2017 -0500 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Fri Jan 20 14:45:09 2017 -0500 Merge topic 'cpack-stgz-minimal-test' into next 21de0cc4 fixup! CPack/STGZ: minimalistic packages test https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=21de0cc48524e171b19df5f39eaf16543c34c2ae commit 21de0cc48524e171b19df5f39eaf16543c34c2ae Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Fri Jan 20 20:44:39 2017 +0100 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Fri Jan 20 20:44:39 2017 +0100 fixup! CPack/STGZ: minimalistic packages test diff --git a/Modules/CPack.STGZ_Header.sh.in b/Modules/CPack.STGZ_Header.sh.in index dee576f..c615851 100755 --- a/Modules/CPack.STGZ_Header.sh.in +++ b/Modules/CPack.STGZ_Header.sh.in @@ -130,7 +130,10 @@ echo "" use_new_tail_syntax="-n" tail $use_new_tail_syntax +1 "$0" > /dev/null 2> /dev/null || use_new_tail_syntax="" -tail $use_new_tail_syntax +###CPACK_HEADER_LENGTH### "$0" | gunzip | (cd "${toplevel}" && tar xf -) || cpack_echo_exit "Problem unpacking the @CPACK_PACKAGE_FILE_NAME@" +extractor="pax -r" +command -v pax > /dev/null 2> /dev/null || extractor="tar xf -" + +tail $use_new_tail_syntax +###CPACK_HEADER_LENGTH### "$0" | gunzip | (cd "${toplevel}" && ${extractor}) || cpack_echo_exit "Problem unpacking the @CPACK_PACKAGE_FILE_NAME@" echo "Unpacking finished successfully" diff --git a/Tests/RunCMake/CPack/STGZ/Helpers.cmake b/Tests/RunCMake/CPack/STGZ/Helpers.cmake index 75036db..96be71b 100644 --- a/Tests/RunCMake/CPack/STGZ/Helpers.cmake +++ b/Tests/RunCMake/CPack/STGZ/Helpers.cmake @@ -5,9 +5,22 @@ function(getPackageContent FILE RESULT_VAR) file(REMOVE_RECURSE "${path_}/content") file(MAKE_DIRECTORY "${path_}/content") execute_process(COMMAND ${FILE} --prefix=${path_}/content --include-subdir - ERROR_QUIET + RESULT_VARIABLE extract_result_ + ERROR_VARIABLE extract_error_ OUTPUT_STRIP_TRAILING_WHITESPACE) + if(extract_result_) +find_program(TAIL_EXECUTABLE tail) +find_program(PAX_EXECUTABLE pax) +find_program(GTAR_EXECUTABLE gtar) +find_program(TAR_EXECUTABLE tar) +find_program(GUNZIP_EXECUTABLE gunzip) + +message(FATAL_ERROR "Extracting STGZ archive failed: '${extract_error_}';" +"'${TAIL_EXECUTABLE}'; '${PAX_EXECUTABLE}'; '${GTAR_EXECUTABLE}';" +"'${TAR_EXECUTABLE}'; '${GUNZIP_EXECUTABLE}'") + endif() + file(GLOB_RECURSE package_content_ LIST_DIRECTORIES true RELATIVE "${path_}/content" "${path_}/content/*") --- Summary of changes: Modules/CPack.STGZ_Header.sh.in |5 - Tests/RunCMake/CPack/STGZ/Helpers.cmake | 15 ++- 2 files changed, 18 insertions(+), 2 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.7.2-2233-ge9ae0ad
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 e9ae0adbfc45c716d5bafdd9fb8d5d41f8a52983 (commit) via a802ddd628292cf772674d2ee02772ec832d0422 (commit) via f5fae345e4a0f9f54b69424552f7d85aa85ba907 (commit) from cba760da8de27c311918f2d33ff7f27193f6e6af (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e9ae0adbfc45c716d5bafdd9fb8d5d41f8a52983 commit e9ae0adbfc45c716d5bafdd9fb8d5d41f8a52983 Merge: cba760d a802ddd Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Thu Jan 19 17:04:34 2017 -0500 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Thu Jan 19 17:04:34 2017 -0500 Merge topic 'cpack-stgz-minimal-test' into next a802ddd6 CPack/STGZ: minimalistic packages test f5fae345 CMake Nightly Date Stamp https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a802ddd628292cf772674d2ee02772ec832d0422 commit a802ddd628292cf772674d2ee02772ec832d0422 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Thu Jan 19 23:02:07 2017 +0100 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Thu Jan 19 23:02:07 2017 +0100 CPack/STGZ: minimalistic packages test diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt index d2465c4..a43e47b 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@ -345,7 +345,7 @@ if("${CMAKE_GENERATOR}" MATCHES "Make|Ninja") add_RunCMake_test(CompilerLauncher) endif() -add_RunCMake_test_group(CPack "DEB;RPM;7Z;TBZ2;TGZ;TXZ;TZ;ZIP") +add_RunCMake_test_group(CPack "DEB;RPM;7Z;TBZ2;TGZ;TXZ;TZ;ZIP;STGZ") # add a test to make sure symbols are exported from a shared library # for MSVC compilers CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS property is used add_RunCMake_test(AutoExportDll) diff --git a/Tests/RunCMake/CPack/RunCMakeTest.cmake b/Tests/RunCMake/CPack/RunCMakeTest.cmake index ebaf792..65399db 100644 --- a/Tests/RunCMake/CPack/RunCMakeTest.cmake +++ b/Tests/RunCMake/CPack/RunCMakeTest.cmake @@ -16,7 +16,7 @@ run_cpack_test(GENERATE_SHLIBS_LDCONFIG "DEB" true "COMPONENT") run_cpack_test(INSTALL_SCRIPTS "RPM" false "COMPONENT") run_cpack_test(LONG_FILENAMES "DEB" false "MONOLITHIC") run_cpack_test_subtests(MAIN_COMPONENT "invalid;found" "RPM" false "COMPONENT") -run_cpack_test(MINIMAL "RPM;DEB;7Z;TBZ2;TGZ;TXZ;TZ;ZIP" false "MONOLITHIC;COMPONENT") +run_cpack_test(MINIMAL "RPM;DEB;7Z;TBZ2;TGZ;TXZ;TZ;ZIP;STGZ" false "MONOLITHIC;COMPONENT") run_cpack_test_subtests(PACKAGE_CHECKSUM "invalid;MD5;SHA1;SHA224;SHA256;SHA384;SHA512" "TGZ" false "MONOLITHIC") run_cpack_test(PARTIALLY_RELOCATABLE_WARNING "RPM" false "COMPONENT") run_cpack_test(PER_COMPONENT_FIELDS "RPM;DEB" false "COMPONENT") diff --git a/Tests/RunCMake/CPack/STGZ/Helpers.cmake b/Tests/RunCMake/CPack/STGZ/Helpers.cmake new file mode 100644 index 000..75036db --- /dev/null +++ b/Tests/RunCMake/CPack/STGZ/Helpers.cmake @@ -0,0 +1,58 @@ +set(ALL_FILES_GLOB "*.sh") + +function(getPackageContent FILE RESULT_VAR) + get_filename_component(path_ "${FILE}" DIRECTORY) + file(REMOVE_RECURSE "${path_}/content") + file(MAKE_DIRECTORY "${path_}/content") + execute_process(COMMAND ${FILE} --prefix=${path_}/content --include-subdir + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE) + + file(GLOB_RECURSE package_content_ LIST_DIRECTORIES true RELATIVE + "${path_}/content" "${path_}/content/*") + + set(${RESULT_VAR} "${package_content_}" PARENT_SCOPE) +endfunction() + +function(getPackageNameGlobexpr NAME COMPONENT VERSION REVISION FILE_NO RESULT_VAR) + if(COMPONENT) +set(COMPONENT "-${COMPONENT}") + endif() + + set(${RESULT_VAR} "${NAME}-${VERSION}-*${COMPONENT}.sh" PARENT_SCOPE) +endfunction() + +function(getPackageContentList FILE RESULT_VAR) + getPackageContent("${FILE}" package_content_) + + set(${RESULT_VAR} "${package_content_}" PARENT_SCOPE) +endfunction() + +function(toExpectedContentList FILE_NO CONTENT_VAR) + findExpectedFile("${FILE_NO}" "file_") + + get_filename_component(prefix_ "${file_}" NAME) + # NAME_WE removes everything after the dot and dot is in version so replace instead + string(REPLACE ".sh" "" prefix_ "$
[Cmake-commits] CMake branch, next, updated. v3.6.1-1792-ged5cd99
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 ed5cd9993461fabf38e9986dc52b304cd5f2830b (commit) via d3c1b906906bd6abab1d42fc1166e117b7ce8567 (commit) from 8752d765ae63edd5153a0547727989a4efe4d809 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ed5cd9993461fabf38e9986dc52b304cd5f2830b commit ed5cd9993461fabf38e9986dc52b304cd5f2830b Merge: 8752d76 d3c1b90 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Mon Sep 5 17:59:22 2016 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Mon Sep 5 17:59:22 2016 -0400 Merge topic 'cpack-deb-package-description-fallback' into next d3c1b906 cpack-deb-package-description-fallback https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d3c1b906906bd6abab1d42fc1166e117b7ce8567 commit d3c1b906906bd6abab1d42fc1166e117b7ce8567 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Mon Sep 5 23:58:33 2016 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Mon Sep 5 23:58:33 2016 +0200 cpack-deb-package-description-fallback Breaking change of fallback variable precedence for CPACK_DEBIAN_PACKAGE_DESCRIPTION that matches CPackRPM behavior as much as possible. See Issue #16272 diff --git a/Help/release/dev/cpack-deb-package-description-fallback b/Help/release/dev/cpack-deb-package-description-fallback new file mode 100644 index 000..6300dfc --- /dev/null +++ b/Help/release/dev/cpack-deb-package-description-fallback @@ -0,0 +1,11 @@ +cpack-deb-package-description-fallback +-- + +* The :module:`CPackDeb` module learned new package description + override rules to match :module:`CPackRPM` module behavior. + **Breaking change**: If :variable:`CPACK_PACKAGE_DESCRIPTION_FILE` + variable is set to non default location then it is prefered to + :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY` variable. + Also a new :variable:`CPACK_DEBIAN__PACKAGE_DESCRIPTION` + was introduced for component based packaging. + See :variable:`CPACK_DEBIAN_PACKAGE_DESCRIPTION`. diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index c9678d6..cbba186 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -156,16 +156,18 @@ # * Default : :code:`CPACK_PACKAGE_CONTACT` # # .. variable:: CPACK_DEBIAN_PACKAGE_DESCRIPTION -# CPACK_COMPONENT__DESCRIPTION +# CPACK_DEBIAN__PACKAGE_DESCRIPTION # # The Debian package description # # * Mandatory : YES # * Default : # -#- :variable:`CPACK_DEBIAN_PACKAGE_DESCRIPTION` if set or -#- :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY` -# +#- :variable:`CPACK_COMPONENT__DESCRIPTION` (component +# based installers only) if set, +#- :variable:`CPACK_PACKAGE_DESCRIPTION_FILE` if set to non default location, +#- :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY` if set, +#- :variable:`CPACK_PACKAGE_DESCRIPTION_FILE` default location content # # .. variable:: CPACK_DEBIAN_PACKAGE_SECTION # CPACK_DEBIAN__PACKAGE_SECTION @@ -811,24 +813,21 @@ function(cpack_deb_prepare_package_vars) endif() # Description: (mandatory) - if(NOT CPACK_DEB_PACKAGE_COMPONENT) -if(NOT CPACK_DEBIAN_PACKAGE_DESCRIPTION) - if(NOT CPACK_PACKAGE_DESCRIPTION_SUMMARY) -message(FATAL_ERROR "CPackDeb: Debian package requires a summary for a package, set CPACK_PACKAGE_DESCRIPTION_SUMMARY or CPACK_DEBIAN_PACKAGE_DESCRIPTION") - endif() - set(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION_SUMMARY}) + if(CPACK_DEB_PACKAGE_COMPONENT) +if(CPACK_DEBIAN_${_local_component_name}_PACKAGE_DESCRIPTION) + set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "${CPACK_DEBIAN_${_local_component_name}_PACKAGE_DESCRIPTION}") +elseif(CPACK_COMPONENT_${_local_component_name}_DESCRIPTION) + set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "${CPACK_COMPONENT_${_local_component_name}_DESCRIPTION}") endif() - else() -set(component_description_var CPACK_COMPONENT_${_local_component_name}_DESCRIPTION) - -# component description overrides package description -if(${component_description_var}) - set(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${${component_description_var}}) -elseif(NOT CPACK_DEBIAN_PACKAGE_DESCRIPTION) - if(NOT CPACK_PACKAGE_DESCRIPTION_SUMMARY) -message(FATAL_ERROR "CPackDeb: Debian package requires a summary for a package, set CPACK_PACKAGE_DESCRIPTION_SUMMARY or CPACK_DEBIAN_PACKAGE_DESCRIPTION or ${component_descript
[Cmake-commits] CMake branch, next, updated. v3.6.1-1794-gd16d98e
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 d16d98e86a084508666fd9768b779ae0ce96763a (commit) via 87a944984abeacbc984e3197f7bcfe54faf6aaad (commit) from ed5cd9993461fabf38e9986dc52b304cd5f2830b (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d16d98e86a084508666fd9768b779ae0ce96763a commit d16d98e86a084508666fd9768b779ae0ce96763a Merge: ed5cd99 87a9449 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Mon Sep 5 18:24:15 2016 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Mon Sep 5 18:24:15 2016 -0400 Merge topic 'cpack-deb-package-description-fallback' into next 87a94498 fixup! cpack-deb-package-description-fallback https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=87a944984abeacbc984e3197f7bcfe54faf6aaad commit 87a944984abeacbc984e3197f7bcfe54faf6aaad Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Tue Sep 6 00:23:41 2016 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Tue Sep 6 00:23:41 2016 +0200 fixup! cpack-deb-package-description-fallback Default description file path is set by CPack.cmake script so handle the case when that script is not used. diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index cbba186..25c25ae 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -167,7 +167,8 @@ # based installers only) if set, #- :variable:`CPACK_PACKAGE_DESCRIPTION_FILE` if set to non default location, #- :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY` if set, -#- :variable:`CPACK_PACKAGE_DESCRIPTION_FILE` default location content +#- :variable:`CPACK_PACKAGE_DESCRIPTION_FILE` default value if set, +#- or "no package description available" # # .. variable:: CPACK_DEBIAN_PACKAGE_SECTION # CPACK_DEBIAN__PACKAGE_SECTION @@ -826,8 +827,10 @@ function(cpack_deb_prepare_package_vars) file(READ "${CPACK_PACKAGE_DESCRIPTION_FILE}" CPACK_DEBIAN_PACKAGE_DESCRIPTION) elseif(CPACK_PACKAGE_DESCRIPTION_SUMMARY) set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "${CPACK_PACKAGE_DESCRIPTION_SUMMARY}") -else() # use default package description file content +elseif(CPACK_PACKAGE_DESCRIPTION_FILE) # use default package description file content file(READ "${CPACK_PACKAGE_DESCRIPTION_FILE}" CPACK_DEBIAN_PACKAGE_DESCRIPTION) +else() + set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "no package description available") endif() endif() --- Summary of changes: Modules/CPackDeb.cmake |7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.6.1-1815-g345e669
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 345e669b0663a23876c815d46463ea90685bd110 (commit) via 9afe1ed94c46071b5ec0b3ef288493d355de75db (commit) from d7cc6846e9bfce3f59161ee1485b181039276d6a (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=345e669b0663a23876c815d46463ea90685bd110 commit 345e669b0663a23876c815d46463ea90685bd110 Merge: d7cc684 9afe1ed Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Tue Sep 6 13:41:38 2016 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Tue Sep 6 13:41:38 2016 -0400 Merge topic 'cpack-deb-package-description-fallback' into next 9afe1ed9 cpack-deb-package-description-fallback https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9afe1ed94c46071b5ec0b3ef288493d355de75db commit 9afe1ed94c46071b5ec0b3ef288493d355de75db Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Mon Sep 5 23:58:33 2016 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Tue Sep 6 19:39:43 2016 +0200 cpack-deb-package-description-fallback Breaking change of fallback variable precedence for CPACK_DEBIAN_PACKAGE_DESCRIPTION that matches CPackRPM behavior as much as possible. Closes: #16272 diff --git a/Help/release/dev/cpack-deb-package-description-fallback b/Help/release/dev/cpack-deb-package-description-fallback new file mode 100644 index 000..6300dfc --- /dev/null +++ b/Help/release/dev/cpack-deb-package-description-fallback @@ -0,0 +1,11 @@ +cpack-deb-package-description-fallback +-- + +* The :module:`CPackDeb` module learned new package description + override rules to match :module:`CPackRPM` module behavior. + **Breaking change**: If :variable:`CPACK_PACKAGE_DESCRIPTION_FILE` + variable is set to non default location then it is prefered to + :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY` variable. + Also a new :variable:`CPACK_DEBIAN__PACKAGE_DESCRIPTION` + was introduced for component based packaging. + See :variable:`CPACK_DEBIAN_PACKAGE_DESCRIPTION`. diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index 1a7b923..1032dfc 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -156,16 +156,19 @@ # * Default : :code:`CPACK_PACKAGE_CONTACT` # # .. variable:: CPACK_DEBIAN_PACKAGE_DESCRIPTION -# CPACK_COMPONENT__DESCRIPTION +# CPACK_DEBIAN__PACKAGE_DESCRIPTION # # The Debian package description # # * Mandatory : YES # * Default : # -#- :variable:`CPACK_DEBIAN_PACKAGE_DESCRIPTION` if set or -#- :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY` -# +#- :variable:`CPACK_COMPONENT__DESCRIPTION` (component +# based installers only) if set, +#- :variable:`CPACK_PACKAGE_DESCRIPTION_FILE` if set to non default location, +#- :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY` if set, +#- :variable:`CPACK_PACKAGE_DESCRIPTION_FILE` default value if set, +#- or "no package description available" # # .. variable:: CPACK_DEBIAN_PACKAGE_SECTION # CPACK_DEBIAN__PACKAGE_SECTION @@ -829,24 +832,23 @@ function(cpack_deb_prepare_package_vars) endif() # Description: (mandatory) - if(NOT CPACK_DEB_PACKAGE_COMPONENT) -if(NOT CPACK_DEBIAN_PACKAGE_DESCRIPTION) - if(NOT CPACK_PACKAGE_DESCRIPTION_SUMMARY) -message(FATAL_ERROR "CPackDeb: Debian package requires a summary for a package, set CPACK_PACKAGE_DESCRIPTION_SUMMARY or CPACK_DEBIAN_PACKAGE_DESCRIPTION") - endif() - set(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION_SUMMARY}) + if(CPACK_DEB_PACKAGE_COMPONENT) +if(CPACK_DEBIAN_${_local_component_name}_PACKAGE_DESCRIPTION) + set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "${CPACK_DEBIAN_${_local_component_name}_PACKAGE_DESCRIPTION}") +elseif(CPACK_COMPONENT_${_local_component_name}_DESCRIPTION) + set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "${CPACK_COMPONENT_${_local_component_name}_DESCRIPTION}") endif() - else() -set(component_description_var CPACK_COMPONENT_${_local_component_name}_DESCRIPTION) - -# component description overrides package description -if(${component_description_var}) - set(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${${component_description_var}}) -elseif(NOT CPACK_DEBIAN_PACKAGE_DESCRIPTION) - if(NOT CPACK_PACKAGE_DESCRIPTION_SUMMARY) -message(FATAL_ERROR "CPackDeb: Debian package requires a summary for a package, set CPACK_PACKAGE_DESCRIPTION_SUMMARY or
[Cmake-commits] CMake branch, next, updated. v3.6.1-1817-gce7f0cb
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 ce7f0cbce58b4688991df6db0e00b93b53d2 (commit) via a1fc9467271de8614be7c44e4b42613c7e5e2c58 (commit) from 345e669b0663a23876c815d46463ea90685bd110 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ce7f0cbce58b4688991df6db0e00b93b53d2 commit ce7f0cbce58b4688991df6db0e00b93b53d2 Merge: 345e669 a1fc946 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Tue Sep 6 13:49:17 2016 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Tue Sep 6 13:49:17 2016 -0400 Merge topic 'cpack-deb-package-description-fallback' into next a1fc9467 fixup! cpack-deb-package-description-fallback https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a1fc9467271de8614be7c44e4b42613c7e5e2c58 commit a1fc9467271de8614be7c44e4b42613c7e5e2c58 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Tue Sep 6 19:48:36 2016 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Tue Sep 6 19:48:36 2016 +0200 fixup! cpack-deb-package-description-fallback diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index 1032dfc..423bb00 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -163,8 +163,7 @@ # * Mandatory : YES # * Default : # -#- :variable:`CPACK_COMPONENT__DESCRIPTION` (component -# based installers only) if set, +#- :variable:`CPACK_COMPONENT__DESCRIPTION` (component based installers only) if set, #- :variable:`CPACK_PACKAGE_DESCRIPTION_FILE` if set to non default location, #- :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY` if set, #- :variable:`CPACK_PACKAGE_DESCRIPTION_FILE` default value if set, --- Summary of changes: Modules/CPackDeb.cmake |3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.6.1-1819-gea86f38
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 ea86f387bd68596159f38b18863072769cf3df58 (commit) via 25899e8a9dcc633b6e7495a87299354a14cb834a (commit) from ce7f0cbce58b4688991df6db0e00b93b53d2 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ea86f387bd68596159f38b18863072769cf3df58 commit ea86f387bd68596159f38b18863072769cf3df58 Merge: ce7f0cb 25899e8 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Tue Sep 6 13:51:22 2016 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Tue Sep 6 13:51:22 2016 -0400 Merge topic 'cpack-deb-package-description-fallback' into next 25899e8a cpack-deb-package-description-fallback https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=25899e8a9dcc633b6e7495a87299354a14cb834a commit 25899e8a9dcc633b6e7495a87299354a14cb834a Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Mon Sep 5 23:58:33 2016 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Tue Sep 6 19:49:41 2016 +0200 cpack-deb-package-description-fallback Breaking change of fallback variable precedence for CPACK_DEBIAN_PACKAGE_DESCRIPTION that matches CPackRPM behavior as much as possible. Closes: #16272 diff --git a/Help/release/dev/cpack-deb-package-description-fallback b/Help/release/dev/cpack-deb-package-description-fallback new file mode 100644 index 000..6300dfc --- /dev/null +++ b/Help/release/dev/cpack-deb-package-description-fallback @@ -0,0 +1,11 @@ +cpack-deb-package-description-fallback +-- + +* The :module:`CPackDeb` module learned new package description + override rules to match :module:`CPackRPM` module behavior. + **Breaking change**: If :variable:`CPACK_PACKAGE_DESCRIPTION_FILE` + variable is set to non default location then it is prefered to + :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY` variable. + Also a new :variable:`CPACK_DEBIAN__PACKAGE_DESCRIPTION` + was introduced for component based packaging. + See :variable:`CPACK_DEBIAN_PACKAGE_DESCRIPTION`. diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index 1a7b923..423bb00 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -156,16 +156,18 @@ # * Default : :code:`CPACK_PACKAGE_CONTACT` # # .. variable:: CPACK_DEBIAN_PACKAGE_DESCRIPTION -# CPACK_COMPONENT__DESCRIPTION +# CPACK_DEBIAN__PACKAGE_DESCRIPTION # # The Debian package description # # * Mandatory : YES # * Default : # -#- :variable:`CPACK_DEBIAN_PACKAGE_DESCRIPTION` if set or -#- :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY` -# +#- :variable:`CPACK_COMPONENT__DESCRIPTION` (component based installers only) if set, +#- :variable:`CPACK_PACKAGE_DESCRIPTION_FILE` if set to non default location, +#- :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY` if set, +#- :variable:`CPACK_PACKAGE_DESCRIPTION_FILE` default value if set, +#- or "no package description available" # # .. variable:: CPACK_DEBIAN_PACKAGE_SECTION # CPACK_DEBIAN__PACKAGE_SECTION @@ -829,24 +831,23 @@ function(cpack_deb_prepare_package_vars) endif() # Description: (mandatory) - if(NOT CPACK_DEB_PACKAGE_COMPONENT) -if(NOT CPACK_DEBIAN_PACKAGE_DESCRIPTION) - if(NOT CPACK_PACKAGE_DESCRIPTION_SUMMARY) -message(FATAL_ERROR "CPackDeb: Debian package requires a summary for a package, set CPACK_PACKAGE_DESCRIPTION_SUMMARY or CPACK_DEBIAN_PACKAGE_DESCRIPTION") - endif() - set(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION_SUMMARY}) + if(CPACK_DEB_PACKAGE_COMPONENT) +if(CPACK_DEBIAN_${_local_component_name}_PACKAGE_DESCRIPTION) + set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "${CPACK_DEBIAN_${_local_component_name}_PACKAGE_DESCRIPTION}") +elseif(CPACK_COMPONENT_${_local_component_name}_DESCRIPTION) + set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "${CPACK_COMPONENT_${_local_component_name}_DESCRIPTION}") endif() - else() -set(component_description_var CPACK_COMPONENT_${_local_component_name}_DESCRIPTION) - -# component description overrides package description -if(${component_description_var}) - set(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${${component_description_var}}) -elseif(NOT CPACK_DEBIAN_PACKAGE_DESCRIPTION) - if(NOT CPACK_PACKAGE_DESCRIPTION_SUMMARY) -message(FATAL_ERROR "CPackDeb: Debian package requires a summary for a package, set CPACK_PACKAGE_DESCRIPTION_SUMMARY or
[Cmake-commits] CMake branch, next, updated. v3.6.1-1764-g083f180
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 083f1806004094f87741ba58655d7536dc05aa1d (commit) via 0d7c9712e7f60e3c7b7652d3fad45f7b4ffa7e23 (commit) from ed02aa4047c6e5aff30d1cb20ab29678399379c4 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=083f1806004094f87741ba58655d7536dc05aa1d commit 083f1806004094f87741ba58655d7536dc05aa1d Merge: ed02aa4 0d7c971 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Sun Sep 4 17:10:07 2016 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Sun Sep 4 17:10:07 2016 -0400 Merge topic 'cpack-deb-long-filenames' into next 0d7c9712 fixup! cpack-deb-long-filenames https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0d7c9712e7f60e3c7b7652d3fad45f7b4ffa7e23 commit 0d7c9712e7f60e3c7b7652d3fad45f7b4ffa7e23 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Sun Sep 4 23:09:53 2016 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Sun Sep 4 23:09:53 2016 +0200 fixup! cpack-deb-long-filenames diff --git a/Tests/RunCMake/CPack/DEB/LONG_FILENAMES-VerifyResult.cmake b/Tests/RunCMake/CPack/DEB/LONG_FILENAMES-VerifyResult.cmake index 169be1c..0452343 100644 --- a/Tests/RunCMake/CPack/DEB/LONG_FILENAMES-VerifyResult.cmake +++ b/Tests/RunCMake/CPack/DEB/LONG_FILENAMES-VerifyResult.cmake @@ -6,6 +6,9 @@ file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/root_dir/admindir/info") file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/root_dir/admindir/available" "") file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/root_dir/admindir/status" "") +# some programs used by fakeroot require sbin in path so we should not +# leave this to chance (programs: ldconfig and start-stop-daemon) +set(ENV{PATH} "$ENV{PATH}:/usr/local/sbin:/usr/sbin:/sbin") execute_process(COMMAND ${FAKEROOT_EXECUTABLE} ${DPKG_EXECUTABLE} -i --force-not-root --root=${CMAKE_CURRENT_BINARY_DIR}/root_dir --- Summary of changes: Tests/RunCMake/CPack/DEB/LONG_FILENAMES-VerifyResult.cmake |3 +++ 1 file changed, 3 insertions(+) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.6.1-1762-ged02aa4
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 ed02aa4047c6e5aff30d1cb20ab29678399379c4 (commit) via e42a39918f784d671ce7f51d9269cc754e263e44 (commit) from b8ececb4b62f0fe2bb3fa7000bf00df327d76de5 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ed02aa4047c6e5aff30d1cb20ab29678399379c4 commit ed02aa4047c6e5aff30d1cb20ab29678399379c4 Merge: b8ececb e42a399 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Sun Sep 4 15:15:09 2016 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Sun Sep 4 15:15:09 2016 -0400 Merge topic 'cpack-deb-long-filenames' into next e42a3991 cpack-deb-long-filenames https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e42a39918f784d671ce7f51d9269cc754e263e44 commit e42a39918f784d671ce7f51d9269cc754e263e44 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Sun Sep 4 21:13:24 2016 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Sun Sep 4 21:13:24 2016 +0200 cpack-deb-long-filenames Support for long filenames in deb packages. See Issue #14332 diff --git a/Help/release/dev/cpack-deb-long-filenames.rst b/Help/release/dev/cpack-deb-long-filenames.rst new file mode 100644 index 000..6113eaf --- /dev/null +++ b/Help/release/dev/cpack-deb-long-filenames.rst @@ -0,0 +1,6 @@ +cpack-deb-long-filenames + + +* The :module:`CPackDeb` module learned to support long file names + when archive format is set to GNU tar. + See :variable:`CPACK_DEBIAN_ARCHIVE_TYPE` diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake index c9678d6..1a7b923 100644 --- a/Modules/CPackDeb.cmake +++ b/Modules/CPackDeb.cmake @@ -177,6 +177,24 @@ # # See https://www.debian.org/doc/debian-policy/ch-archive.html#s-subsections # +# .. variable:: CPACK_DEBIAN_ARCHIVE_TYPE +# +# The archive format used for creating the Debian package. +# +# * Mandatory : YES +# * Default : "paxr" +# +# Possible values are: +# +# - paxr +# - gnutar +# +# .. note:: +# +#Default pax archive format is the most portable format and generates +#packages that do not treat sparse files specially. +#GNU tar format on the other hand supports longer filenames. +# # .. variable:: CPACK_DEBIAN_COMPRESSION_TYPE # # The compression used for creating the Debian package. @@ -842,12 +860,24 @@ function(cpack_deb_prepare_package_vars) set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional") endif() + if(CPACK_DEBIAN_ARCHIVE_TYPE) +set(archive_types_ "paxr;gnutar") +cmake_policy(PUSH) + cmake_policy(SET CMP0057 NEW) + if(NOT CPACK_DEBIAN_ARCHIVE_TYPE IN_LIST archive_types_) +message(FATAL_ERROR "CPACK_DEBIAN_ARCHIVE_TYPE set to unsupported" + "type ${CPACK_DEBIAN_ARCHIVE_TYPE}") + endif() +cmake_policy(POP) + else() +set(CPACK_DEBIAN_ARCHIVE_TYPE "paxr") + endif() + # Compression: (recommended) if(NOT CPACK_DEBIAN_COMPRESSION_TYPE) set(CPACK_DEBIAN_COMPRESSION_TYPE "gzip") endif() - # Recommends: # You should set: CPACK_DEBIAN_PACKAGE_RECOMMENDS @@ -1000,6 +1030,7 @@ function(cpack_deb_prepare_package_vars) set(GEN_CPACK_DEBIAN_PACKAGE_MAINTAINER "${CPACK_DEBIAN_PACKAGE_MAINTAINER}" PARENT_SCOPE) set(GEN_CPACK_DEBIAN_PACKAGE_DESCRIPTION "${CPACK_DEBIAN_PACKAGE_DESCRIPTION}" PARENT_SCOPE) set(GEN_CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}" PARENT_SCOPE) + set(GEN_CPACK_DEBIAN_ARCHIVE_TYPE "${CPACK_DEBIAN_ARCHIVE_TYPE}" PARENT_SCOPE) set(GEN_CPACK_DEBIAN_COMPRESSION_TYPE "${CPACK_DEBIAN_COMPRESSION_TYPE}" PARENT_SCOPE) set(GEN_CPACK_DEBIAN_PACKAGE_RECOMMENDS "${CPACK_DEBIAN_PACKAGE_RECOMMENDS}" PARENT_SCOPE) set(GEN_CPACK_DEBIAN_PACKAGE_SUGGESTS "${CPACK_DEBIAN_PACKAGE_SUGGESTS}" PARENT_SCOPE) diff --git a/Source/CPack/cmCPackDebGenerator.cxx b/Source/CPack/cmCPackDebGenerator.cxx index 1f3ac51..b960c0a 100644 --- a/Source/CPack/cmCPackDebGenerator.cxx +++ b/Source/CPack/cmCPackDebGenerator.cxx @@ -419,6 +419,12 @@ int cmCPackDebGenerator::createDeb() << debian_compression_type << std::endl); } + const char* debian_archive_type = +this->GetOption("GEN_CPACK_DEBIAN_ARCHIVE_TYPE"); + if (!debian_archive_type) { +debian_archive_type = "paxr"; + } + std::string filename_data_tar = strGenWDIR + "/data.tar
[Cmake-commits] CMake branch, next, updated. v3.6.2-2463-ge4d7820
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 e4d782024d3c654c216bbd32d6ad80f43dde5c29 (commit) via 3c63947c9d645a7b9763b116610cc2c58024f5ab (commit) from d1bc55fd7228dd433eb457ec2d2dd38721694151 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e4d782024d3c654c216bbd32d6ad80f43dde5c29 commit e4d782024d3c654c216bbd32d6ad80f43dde5c29 Merge: d1bc55f 3c63947 Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Sun Sep 25 17:55:29 2016 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Sun Sep 25 17:55:29 2016 -0400 Merge topic 'cpack-rpm-debuginfo-sources' into next 3c63947c fixup! CPack/RPM debuginfo packages must contain sources https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3c63947c9d645a7b9763b116610cc2c58024f5ab commit 3c63947c9d645a7b9763b116610cc2c58024f5ab Author: Domen Vrankar <domen.vran...@gmail.com> AuthorDate: Sun Sep 25 23:54:53 2016 +0200 Commit: Domen Vrankar <domen.vran...@gmail.com> CommitDate: Sun Sep 25 23:54:53 2016 +0200 fixup! CPack/RPM debuginfo packages must contain sources diff --git a/Tests/RunCMake/CPack/DEBUGINFO.cmake b/Tests/RunCMake/CPack/DEBUGINFO.cmake index e8d1c85..ead7ad1 100644 --- a/Tests/RunCMake/CPack/DEBUGINFO.cmake +++ b/Tests/RunCMake/CPack/DEBUGINFO.cmake @@ -1,11 +1,5 @@ set(CMAKE_BUILD_WITH_INSTALL_RPATH 1) -# PGI compiler doesn't add build id to binaries by default -if(CMAKE_CXX_COMPILER_ID STREQUAL "PGI") - string(APPEND CMAKE_EXE_LINKER_FLAGS "--build-id") - string(APPEND CMAKE_SHARED_LINKER_FLAGS "--build-id") -endif() - set(CPACK_RPM_COMPONENT_INSTALL "ON") set(CMAKE_BUILD_TYPE Debug) diff --git a/Tests/RunCMake/CPack/RPM/DEBUGINFO-Prerequirements.cmake b/Tests/RunCMake/CPack/RPM/DEBUGINFO-Prerequirements.cmake new file mode 100644 index 000..fea8db5 --- /dev/null +++ b/Tests/RunCMake/CPack/RPM/DEBUGINFO-Prerequirements.cmake @@ -0,0 +1,8 @@ +function(get_test_prerequirements found_var) + # for now PGI compiler is not supported as it doesn't set --build-id + # required by debuginfo rpm packages + + if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "PGI") +set(${found_var} true PARENT_SCOPE) + endif() +endfunction() --- Summary of changes: Tests/RunCMake/CPack/DEBUGINFO.cmake |6 -- Tests/RunCMake/CPack/RPM/DEBUGINFO-Prerequirements.cmake |8 2 files changed, 8 insertions(+), 6 deletions(-) create mode 100644 Tests/RunCMake/CPack/RPM/DEBUGINFO-Prerequirements.cmake hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits