[Cmake-commits] CMake branch, next, updated. v3.7.0-rc3-931-g838fd5c
Domen Vrankar
domen.vrankar at gmail.com
Sat Nov 5 07:00:42 EDT 2016
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 838fd5c3ecc961323affd2a890ff3421edc82f08 (commit)
via b34c045736384fc3ba8574b33211bd75082bc07b (commit)
via cd0423300bea21a5c0747a6aeaefbae24c10ecd8 (commit)
via 228280d8334f2bcac346e5f0d3ea802af7f22862 (commit)
via d8e83ab979b0ccfc4887dbf48c088a72dffb2e96 (commit)
via f52bcc2ac1b3dddeca2320d8320a9406101c732d (commit)
from 996e95b07cd311e88c77d245d5f532d1b6c7fbd4 (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=838fd5c3ecc961323affd2a890ff3421edc82f08
commit 838fd5c3ecc961323affd2a890ff3421edc82f08
Merge: 996e95b b34c045
Author: Domen Vrankar <domen.vrankar at gmail.com>
AuthorDate: Sat Nov 5 07:00:35 2016 -0400
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Sat Nov 5 07:00:35 2016 -0400
Merge topic 'cpack-rpm-omit-unsupported-tags' into next
b34c0457 Release text for omitting unsupported tags topic
cd042330 CPack/RPM test for Suggests tag
228280d8 CPack/RPM prevent special tags from being removed
d8e83ab9 CPack/RPM omit unsupported tags
f52bcc2a CMake Nightly Date Stamp
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b34c045736384fc3ba8574b33211bd75082bc07b
commit b34c045736384fc3ba8574b33211bd75082bc07b
Author: Domen Vrankar <domen.vrankar at gmail.com>
AuthorDate: Sat Nov 5 11:52:30 2016 +0100
Commit: Domen Vrankar <domen.vrankar at gmail.com>
CommitDate: Sat Nov 5 11:53:30 2016 +0100
Release text for omitting unsupported tags topic
diff --git a/Help/release/dev/cpack-rpm-omit-unsupported-tags.rst b/Help/release/dev/cpack-rpm-omit-unsupported-tags.rst
new file mode 100644
index 0000000..abcb7a6
--- /dev/null
+++ b/Help/release/dev/cpack-rpm-omit-unsupported-tags.rst
@@ -0,0 +1,8 @@
+cpack-rpm-omit-unsupported-tags
+-------------------------------
+
+* The :module:`CPackRPM` module learned to omit
+ tags that are not supported by provided
+ rpmbuild tool. If unsupported tags are set
+ they are ignored and a developer warning is
+ printed out.
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cd0423300bea21a5c0747a6aeaefbae24c10ecd8
commit cd0423300bea21a5c0747a6aeaefbae24c10ecd8
Author: Alexander Adam <alexander.adam at megware.com>
AuthorDate: Sat Nov 5 11:36:12 2016 +0100
Commit: Domen Vrankar <domen.vrankar at gmail.com>
CommitDate: Sat Nov 5 11:44:32 2016 +0100
CPack/RPM test for Suggests tag
Suggests tag was not present in older versions
of rpmbuild so we test that the rpm package is
always generated either with Suggests tag present
or skipped if not supported.
diff --git a/Tests/RunCMake/CPack/RPM/RPM_SUGGESTS-ExpectedFiles.cmake b/Tests/RunCMake/CPack/RPM/RPM_SUGGESTS-ExpectedFiles.cmake
new file mode 100644
index 0000000..02ebb44
--- /dev/null
+++ b/Tests/RunCMake/CPack/RPM/RPM_SUGGESTS-ExpectedFiles.cmake
@@ -0,0 +1,5 @@
+set(whitespaces_ "[\t\n\r ]*")
+
+set(EXPECTED_FILES_COUNT "1")
+set(EXPECTED_FILE_1 "rpm_suggests*.rpm")
+set(EXPECTED_FILE_CONTENT_1 "^/usr/foo${whitespaces_}/usr/foo/CMakeLists.txt$")
diff --git a/Tests/RunCMake/CPack/RPM/RPM_SUGGESTS-VerifyResult.cmake b/Tests/RunCMake/CPack/RPM/RPM_SUGGESTS-VerifyResult.cmake
new file mode 100644
index 0000000..32cc6d1
--- /dev/null
+++ b/Tests/RunCMake/CPack/RPM/RPM_SUGGESTS-VerifyResult.cmake
@@ -0,0 +1,31 @@
+execute_process(COMMAND ${RPMBUILD_EXECUTABLE} --querytags
+ OUTPUT_VARIABLE RPMBUILD_CAPS
+ RESULT_VARIABLE RPMBUILD_CAPS_RESULT)
+
+if(NOT RPMBUILD_CAPS_RESULT)
+ string(REPLACE "\n" ";" RPMBUILD_CAPS "${RPMBUILD_CAPS}")
+ cmake_policy(PUSH)
+ cmake_policy(SET CMP0057 NEW)
+ if(SUGGESTS IN_LIST RPMBUILD_CAPS)
+ set(should_contain_suggests_tag_ true)
+ endif()
+ cmake_policy(POP)
+endif()
+
+# Only verify that suggests tag is present only if that tag is supported.
+# If it is not supported the rpm package was corretly generated by ignoring
+# that tag and that was already checked by expected files test.
+if(should_contain_suggests_tag_)
+ execute_process(COMMAND ${RPM_EXECUTABLE} -q --suggests -p "${FOUND_FILE_1}"
+ WORKING_DIRECTORY "${CPACK_TEMPORARY_DIRECTORY}"
+ RESULT_VARIABLE rpm_result_
+ OUTPUT_VARIABLE rpm_output_
+ ERROR_VARIABLE error_variable_
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+ if(rpm_result_ OR NOT rpm_output_ STREQUAL "libsuggested")
+ message(FATAL_ERROR "RPM_SUGGESTED package error: no suggested packages"
+ " (result: '${rpm_result_}'; output: '${rpm_output_}';"
+ " error: '${error_variable_}')")
+ endif()
+endif()
diff --git a/Tests/RunCMake/CPack/RPM_SUGGESTS.cmake b/Tests/RunCMake/CPack/RPM_SUGGESTS.cmake
new file mode 100644
index 0000000..e6e0c1f
--- /dev/null
+++ b/Tests/RunCMake/CPack/RPM_SUGGESTS.cmake
@@ -0,0 +1,4 @@
+install(FILES CMakeLists.txt DESTINATION foo)
+
+set(CPACK_RPM_PACKAGE_SUGGESTS "libsuggested")
+set(CPACK_PACKAGE_NAME "rpm_suggests")
diff --git a/Tests/RunCMake/CPack/RunCMakeTest.cmake b/Tests/RunCMake/CPack/RunCMakeTest.cmake
index 474ee33..38bd0ea 100644
--- a/Tests/RunCMake/CPack/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CPack/RunCMakeTest.cmake
@@ -15,6 +15,7 @@ run_cpack_test(CUSTOM_NAMES "RPM;DEB" true)
run_cpack_test_subtests(MAIN_COMPONENT "invalid;found" "RPM" false)
run_cpack_test(PER_COMPONENT_FIELDS "RPM;DEB" false)
run_cpack_test(RPM_DIST "RPM" false)
+run_cpack_test(RPM_SUGGESTS "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=228280d8334f2bcac346e5f0d3ea802af7f22862
commit 228280d8334f2bcac346e5f0d3ea802af7f22862
Author: Domen Vrankar <domen.vrankar at gmail.com>
AuthorDate: Sat Nov 5 11:26:48 2016 +0100
Commit: Domen Vrankar <domen.vrankar at gmail.com>
CommitDate: Sat Nov 5 11:44:32 2016 +0100
CPack/RPM prevent special tags from being removed
Some tags are not listed by rpmbuild querytags
even though they are supported. Ignore those
tags during the removal of unsupported tags.
diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake
index 20005ed..39697f0 100644
--- a/Modules/CPackRPM.cmake
+++ b/Modules/CPackRPM.cmake
@@ -1868,7 +1868,11 @@ function(cpack_rpm_generate_package)
if(DEFINED CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER})
cmake_policy(PUSH)
cmake_policy(SET CMP0057 NEW)
- if(NOT _RPM_SPEC_HEADER IN_LIST RPMBUILD_TAG_LIST)
+ # Prefix can be replaced by Prefixes but the old version stil works so we'll ignore it for now
+ # Requires* is a special case because it gets transformed to Requires(pre/post/preun/postun)
+ # Auto* is a special case because the tags can not be queried by querytags rpmbuild flag
+ set(special_case_tags_ PREFIX REQUIRES_PRE REQUIRES_POST REQUIRES_PREUN REQUIRES_POSTUN AUTOPROV AUTOREQ AUTOREQPROV)
+ if(NOT _RPM_SPEC_HEADER IN_LIST RPMBUILD_TAG_LIST AND NOT _RPM_SPEC_HEADER IN_LIST special_case_tags_)
cmake_policy(POP)
message(AUTHOR_WARNING "CPackRPM:Warning: ${_RPM_SPEC_HEADER} not "
"supported in provided rpmbuild. Tag will not be used.")
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d8e83ab979b0ccfc4887dbf48c088a72dffb2e96
commit d8e83ab979b0ccfc4887dbf48c088a72dffb2e96
Author: Alexander Adam <alexander.adam at megware.com>
AuthorDate: Sat Nov 5 11:08:52 2016 +0100
Commit: Domen Vrankar <domen.vrankar at gmail.com>
CommitDate: Sat Nov 5 11:42:08 2016 +0100
CPack/RPM omit unsupported tags
Omit tags that are not supported by provided rpmbuild
as some tags get added/removed in later versions of
the tool.
Closes: #13423
diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake
index 2483a13..20005ed 100644
--- a/Modules/CPackRPM.cmake
+++ b/Modules/CPackRPM.cmake
@@ -1844,6 +1844,12 @@ function(cpack_rpm_generate_package)
set(CPACK_RPM_PACKAGE_RELOCATABLE FALSE) # disable relocatable option if building source RPM
endif()
+ execute_process(
+ COMMAND "${RPMBUILD_EXECUTABLE}" --querytags
+ OUTPUT_VARIABLE RPMBUILD_TAG_LIST
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ string(REPLACE "\n" ";" RPMBUILD_TAG_LIST "${RPMBUILD_TAG_LIST}")
+
# Check if additional fields for RPM spec header are given
# There may be some COMPONENT specific variables as well
# If component specific var is not provided we use the global one
@@ -1852,6 +1858,7 @@ function(cpack_rpm_generate_package)
if(CPACK_RPM_PACKAGE_DEBUG)
message("CPackRPM:Debug: processing ${_RPM_SPEC_HEADER}")
endif()
+
if(CPACK_RPM_PACKAGE_COMPONENT)
cpack_rpm_variable_fallback("CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}"
"CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_${_RPM_SPEC_HEADER}"
@@ -1859,9 +1866,20 @@ function(cpack_rpm_generate_package)
endif()
if(DEFINED CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER})
+ cmake_policy(PUSH)
+ cmake_policy(SET CMP0057 NEW)
+ if(NOT _RPM_SPEC_HEADER IN_LIST RPMBUILD_TAG_LIST)
+ cmake_policy(POP)
+ message(AUTHOR_WARNING "CPackRPM:Warning: ${_RPM_SPEC_HEADER} not "
+ "supported in provided rpmbuild. Tag will not be used.")
+ continue()
+ endif()
+ cmake_policy(POP)
+
if(CPACK_RPM_PACKAGE_DEBUG)
message("CPackRPM:Debug: using CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}")
endif()
+
set(CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}_TMP ${CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}})
endif()
@@ -2416,6 +2434,7 @@ Vendor: \@CPACK_RPM_PACKAGE_VENDOR\@
\@TMP_RPM_PROVIDES\@
\@TMP_RPM_OBSOLETES\@
\@TMP_RPM_CONFLICTS\@
+\@TMP_RPM_SUGGESTS\@
\@TMP_RPM_AUTOPROV\@
\@TMP_RPM_AUTOREQ\@
\@TMP_RPM_AUTOREQPROV\@
@@ -2470,6 +2489,7 @@ Vendor: \@CPACK_RPM_PACKAGE_VENDOR\@
\@TMP_RPM_PROVIDES\@
\@TMP_RPM_OBSOLETES\@
\@TMP_RPM_CONFLICTS\@
+\@TMP_RPM_SUGGESTS\@
\@TMP_RPM_AUTOPROV\@
\@TMP_RPM_AUTOREQ\@
\@TMP_RPM_AUTOREQPROV\@
-----------------------------------------------------------------------
Summary of changes:
.../dev/cpack-rpm-omit-unsupported-tags.rst | 8 +++++
Modules/CPackRPM.cmake | 24 +++++++++++++++
Source/CMakeVersion.cmake | 2 +-
...iles.cmake => RPM_SUGGESTS-ExpectedFiles.cmake} | 2 +-
.../CPack/RPM/RPM_SUGGESTS-VerifyResult.cmake | 31 ++++++++++++++++++++
Tests/RunCMake/CPack/RPM_SUGGESTS.cmake | 4 +++
Tests/RunCMake/CPack/RunCMakeTest.cmake | 1 +
7 files changed, 70 insertions(+), 2 deletions(-)
create mode 100644 Help/release/dev/cpack-rpm-omit-unsupported-tags.rst
copy Tests/RunCMake/CPack/RPM/{MINIMAL-ExpectedFiles.cmake => RPM_SUGGESTS-ExpectedFiles.cmake} (77%)
create mode 100644 Tests/RunCMake/CPack/RPM/RPM_SUGGESTS-VerifyResult.cmake
create mode 100644 Tests/RunCMake/CPack/RPM_SUGGESTS.cmake
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list