From 3e5e7a4aee926aeab4555796598d5fee9fe08485 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Mon, 27 Mar 2017 09:05:49 -0600 Subject: [PATCH] Update to 3.8.0-rc3 Add upstream patch to support rpm build-id dirs --- .gitignore | 1 + ...65b22b544a509c76e497306b65e2dc0d5ee7.patch | 89 +++++++++++++++++++ cmake.spec | 11 ++- sources | 2 +- 4 files changed, 100 insertions(+), 3 deletions(-) create mode 100644 4ba065b22b544a509c76e497306b65e2dc0d5ee7.patch diff --git a/.gitignore b/.gitignore index 8dcc6fd..916cc79 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,4 @@ /cmake-3.7.1.tar.gz /cmake-3.7.2.tar.gz /cmake-3.8.0-rc2.tar.gz +/cmake-3.8.0-rc3.tar.gz diff --git a/4ba065b22b544a509c76e497306b65e2dc0d5ee7.patch b/4ba065b22b544a509c76e497306b65e2dc0d5ee7.patch new file mode 100644 index 0000000..561d48a --- /dev/null +++ b/4ba065b22b544a509c76e497306b65e2dc0d5ee7.patch @@ -0,0 +1,89 @@ +From 4ba065b22b544a509c76e497306b65e2dc0d5ee7 Mon Sep 17 00:00:00 2001 +From: Domen Vrankar +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 + diff --git a/cmake.spec b/cmake.spec index 2e459c9..080ff30 100644 --- a/cmake.spec +++ b/cmake.spec @@ -35,7 +35,7 @@ %global major_version 3 %global minor_version 8 # Set to RC version if building RC, else %{nil} -%global rcver rc2 +%global rcver rc3 # Uncomment if building for EPEL #global name_suffix %{major_version} @@ -43,7 +43,7 @@ Name: %{orig_name}%{?name_suffix} Version: %{major_version}.%{minor_version}.0 -Release: 0.1%{?rcver:.%{rcver}}%{?dist} +Release: 0.2%{?rcver:.%{rcver}}%{?dist} Summary: Cross-platform make system # most sources are BSD @@ -60,6 +60,8 @@ Source2: macros.%{name} Source3: %{name}.attr Source4: %{name}.prov +# Support rpm 4.13 build-id +Patch0: https://gitlab.kitware.com/cmake/cmake/commit/4ba065b22b544a509c76e497306b65e2dc0d5ee7.patch # Patch to fix RindRuby vendor settings # http://public.kitware.com/Bug/view.php?id=12965 # https://bugzilla.redhat.com/show_bug.cgi?id=822796 @@ -167,6 +169,7 @@ The %{name}-gui package contains the Qt based GUI for %{name}. %prep %setup -qn %{orig_name}-%{version}%{?rcver:-%rcver} +%patch0 -p1 # Apply renaming on EPEL before all other patches %if 0%{?name_suffix:1} @@ -400,6 +403,10 @@ update-mime-database %{?fedora:-n} %{_datadir}/mime &> /dev/null || : %changelog +* Mon Mar 27 2017 Orion Poplawski - 3.8.0-0.2.rc3 +- Update to 3.8.0-rc3 +- Add upstream patch to support rpm build-id dirs + * Mon Mar 20 2017 Orion Poplawski - 3.8.0-0.1.rc2 - Update to 3.8.0-rc2 diff --git a/sources b/sources index ec943c2..ceb0579 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cmake-3.8.0-rc2.tar.gz) = 4ca4ea7f941e3fa9c80614e9873044425b9b5970e94885deace6750d3e0eb19c4e6b82c6d82e3c666971e523311584814e95d0787c978238b17b3d8138aaa3ee +SHA512 (cmake-3.8.0-rc3.tar.gz) = faffcecade4fa9a1ac942a392a0ee753bec2468971e10b59fc330a465cfd4bc5361379d1dedc34a9e21a060b76e0f16563250ff892c5a04b318fadb504fdbea5