mirror of
https://github.com/reactos/CMake.git
synced 2025-03-05 02:17:05 +00:00
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
This commit is contained in:
parent
9f37f94d63
commit
4ba065b22b
@ -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()
|
||||
|
@ -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()
|
||||
|
||||
|
@ -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_}")
|
||||
|
Loading…
x
Reference in New Issue
Block a user