90 lines
4.6 KiB
Diff
90 lines
4.6 KiB
Diff
|
From 4ba065b22b544a509c76e497306b65e2dc0d5ee7 Mon Sep 17 00:00:00 2001
|
||
|
From: Domen Vrankar <domen.vrankar@gmail.com>
|
||
|
Date: Sat, 25 Mar 2017 19:13:08 +0100
|
||
|
Subject: [PATCH] CPack/RPM tests: handle build-id links
|
||
|
|
||
|
Build id links generation was introduced
|
||
|
in rpm 4.13.0.1 so files related to them
|
||
|
should be ignored as they are not relevant
|
||
|
for the tests.
|
||
|
|
||
|
Fixes #16710
|
||
|
---
|
||
|
Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake | 8 ++++----
|
||
|
Tests/RunCMake/CPack/RPM/Helpers.cmake | 4 ++++
|
||
|
Tests/RunCMake/CPack/tests/SOURCE_PACKAGE/VerifyResult.cmake | 4 +++-
|
||
|
3 files changed, 11 insertions(+), 5 deletions(-)
|
||
|
|
||
|
diff --git a/Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake b/Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake
|
||
|
index fc90d09..a5b38fd 100644
|
||
|
--- a/Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake
|
||
|
+++ b/Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake
|
||
|
@@ -205,14 +205,14 @@ if(CPackGen MATCHES "RPM")
|
||
|
/usr/foo/bar/non_relocatable/depth_two
|
||
|
/usr/foo/bar/non_relocatable/depth_two/symlink_from_non_relocatable_path
|
||
|
/usr/foo/bar/other_relocatable
|
||
|
-/usr/foo/bar/other_relocatable/depth_two$")
|
||
|
+/usr/foo/bar/other_relocatable/depth_two(\n.*\.build-id.*)*$")
|
||
|
elseif(check_file_headers_match)
|
||
|
set(check_file_match_expected_summary ".*${CPACK_RPM_HEADERS_PACKAGE_SUMMARY}.*")
|
||
|
set(check_file_match_expected_description ".*${CPACK_RPM_HEADERS_PACKAGE_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 "noarch")
|
||
|
set(spec_regex "*headers*")
|
||
|
- set(check_content_list "^/usr/foo/bar\n/usr/foo/bar/include\n/usr/foo/bar/include/mylib.h$")
|
||
|
+ set(check_content_list "^/usr/foo/bar\n/usr/foo/bar/include\n/usr/foo/bar/include/mylib.h(\n.*\.build-id.*)*$")
|
||
|
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}.*")
|
||
|
@@ -221,7 +221,7 @@ if(CPackGen MATCHES "RPM")
|
||
|
set(spec_regex "*applications*")
|
||
|
set(check_content_list "^/usr/foo/bar
|
||
|
/usr/foo/bar/bin
|
||
|
-/usr/foo/bar/bin/mylibapp$")
|
||
|
+/usr/foo/bar/bin/mylibapp(\n.*\.build-id.*)*$")
|
||
|
elseif(check_file_Unspecified_match)
|
||
|
set(check_file_match_expected_summary ".*${CPACK_RPM_PACKAGE_SUMMARY}.*")
|
||
|
set(check_file_match_expected_description ".*DESCRIPTION.*")
|
||
|
@@ -241,7 +241,7 @@ if(CPackGen MATCHES "RPM")
|
||
|
/usr/foo/bar/share/man/mylib/man3
|
||
|
/usr/foo/bar/share/man/mylib/man3/mylib.1
|
||
|
/usr/foo/bar/share/man/mylib/man3/mylib.1/mylib
|
||
|
-/usr/foo/bar/share/man/mylib/man3/mylib.1/mylib2$")
|
||
|
+/usr/foo/bar/share/man/mylib/man3/mylib.1/mylib2(\n.*\.build-id.*)*$")
|
||
|
else()
|
||
|
message(FATAL_ERROR "error: unexpected rpm package '${check_file}'")
|
||
|
endif()
|
||
|
diff --git a/Tests/RunCMake/CPack/RPM/Helpers.cmake b/Tests/RunCMake/CPack/RPM/Helpers.cmake
|
||
|
index bbc358c..d8012b1 100644
|
||
|
--- a/Tests/RunCMake/CPack/RPM/Helpers.cmake
|
||
|
+++ b/Tests/RunCMake/CPack/RPM/Helpers.cmake
|
||
|
@@ -36,6 +36,10 @@ function(getPackageContentList FILE RESULT_VAR)
|
||
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||
|
string(REGEX REPLACE "\n" ";" package_content_ "${package_content_}")
|
||
|
|
||
|
+ # never versions of rpmbuild (introduced in rpm 4.13.0.1) add build_id links
|
||
|
+ # to packages - tests should ignore them
|
||
|
+ list(FILTER package_content_ EXCLUDE REGEX ".*\.build-id.*")
|
||
|
+
|
||
|
set(${RESULT_VAR} "${package_content_}" PARENT_SCOPE)
|
||
|
endfunction()
|
||
|
|
||
|
diff --git a/Tests/RunCMake/CPack/tests/SOURCE_PACKAGE/VerifyResult.cmake b/Tests/RunCMake/CPack/tests/SOURCE_PACKAGE/VerifyResult.cmake
|
||
|
index bc54d79..73d7481 100644
|
||
|
--- a/Tests/RunCMake/CPack/tests/SOURCE_PACKAGE/VerifyResult.cmake
|
||
|
+++ b/Tests/RunCMake/CPack/tests/SOURCE_PACKAGE/VerifyResult.cmake
|
||
|
@@ -21,7 +21,9 @@ execute_process(COMMAND ${RPMBUILD_EXECUTABLE} --define "_topdir ${CMAKE_CURRENT
|
||
|
set(output_error_message_
|
||
|
"\n${RPMBUILD_EXECUTABLE} error: '${error_}';\nresult: '${result_}';\n${output_error_message}")
|
||
|
|
||
|
-set(EXPECTED_FILE_CONTENT_ "^/foo${whitespaces_}/foo/test_prog$")
|
||
|
+# expected file content are test_prog and optional build-id links that are
|
||
|
+# generated by rpmbuild (introduced in rpm 4.13.0.1)
|
||
|
+set(EXPECTED_FILE_CONTENT_ "^/foo${whitespaces_}/foo/test_prog(${whitespaces_}.*\.build-id.*)*$")
|
||
|
|
||
|
file(GLOB_RECURSE FOUND_FILE_ RELATIVE "${CMAKE_CURRENT_BINARY_DIR}/test_rpm/RPMS" "${CMAKE_CURRENT_BINARY_DIR}/test_rpm/RPMS/*.rpm")
|
||
|
list(APPEND foundFiles_ "${FOUND_FILE_}")
|
||
|
--
|
||
|
libgit2 0.24.0
|
||
|
|