import CS cmake-3.26.5-2.el9

This commit is contained in:
eabdullin 2024-03-28 09:52:58 +00:00
parent d1febea998
commit b52afc6d02
7 changed files with 23 additions and 153 deletions

View File

@ -1 +1 @@
0c0c76bd90092bbc36288ffd25d8e7f7ebc3c2e5 SOURCES/cmake-3.20.2.tar.gz 76bca3fc4614d72e32768d9cd6a88967c694ab5d SOURCES/cmake-3.26.5.tar.gz

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/cmake-3.20.2.tar.gz SOURCES/cmake-3.26.5.tar.gz

View File

@ -1,41 +0,0 @@
From f72734ff7712d6aae837f940a45d6e7508bb182c Mon Sep 17 00:00:00 2001
From: Brad King <brad.king@kitware.com>
Date: Thu, 20 Oct 2022 13:38:20 -0400
Subject: [PATCH] Tests: Explicitly allow usage of git file-based protocol in
test cases
Due to CVE-2022-39253, Git 2.30.6 sets `protocol.file.allow=user` by
default. The change has also been backported to other Git versions by
distros. This breaks some of our test cases that use the file-based
protocol locally to simulate real workflows without requiring network
access. In these cases the file protocol is safe, so explicitly enable
it in the tests.
(cherry picked from commit 79ce0f434e916684d734e136b92e14f472a9d14a)
---
Tests/CMakeLists.txt | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
index 8e7c04fbd0..d011020f99 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
@@ -1540,6 +1540,7 @@ if(BUILD_TESTING)
)
list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/ExternalProject")
set_tests_properties(ExternalProject PROPERTIES
+ ENVIRONMENT GIT_ALLOW_PROTOCOL=file
RUN_SERIAL 1
TIMEOUT ${CMAKE_LONG_TEST_TIMEOUT})
@@ -2653,6 +2654,7 @@ if(BUILD_TESTING)
-P "${CMake_BINARY_DIR}/Tests/CTestUpdateGIT.cmake"
)
list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateGIT_DIR}")
+ set_property(TEST CTest.UpdateGIT PROPERTY ENVIRONMENT GIT_ALLOW_PROTOCOL=file)
endif()
# Test CTest Update with HG
--
2.31.1

View File

@ -1,11 +0,0 @@
diff -up cmake-3.20.0/Tests/RunCMake/CPack/tests/THREADED_ALL/test.cmake.CPACK_THREADS cmake-3.20.0/Tests/RunCMake/CPack/tests/THREADED_ALL/test.cmake
--- cmake-3.20.0/Tests/RunCMake/CPack/tests/THREADED_ALL/test.cmake.CPACK_THREADS 2021-03-23 10:43:17.000000000 -0500
+++ cmake-3.20.0/Tests/RunCMake/CPack/tests/THREADED_ALL/test.cmake 2021-03-23 13:29:14.539434722 -0500
@@ -1,6 +1,6 @@
install(FILES CMakeLists.txt DESTINATION foo COMPONENT test)
-set(CPACK_THREADS 0)
+set(CPACK_THREADS 4)
if(PACKAGING_TYPE STREQUAL "COMPONENT")
set(CPACK_COMPONENTS_ALL test)

View File

@ -1,62 +0,0 @@
From 635ab930f6185d1ec3e4d99109e2edf0533b0d00 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= <besser82@fedoraproject.org>
Date: Wed, 23 Jun 2021 21:03:15 +0200
Subject: [PATCH] testDynamicLoader: Use LIBDL_SO macro if defined.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Starting with glibc v2.34 there is no external version of libdl.so
anymore. It has been merged into the glibc libc.so.
Assuming libdl.so will be present will break the test, thus the
LIBDL_SO macro should be used. If the macro is not defined on
the system, we ensure it will be defined using the previously
hardcoded value.
Signed-off-by: Björn Esser <besser82@fedoraproject.org>
---
cmake-3.20.4/Source/kwsys/testDynamicLoader.cxx | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
Index: cmake-3.21.0-rc1/Source/kwsys/testDynamicLoader.cxx
===================================================================
--- cmake-3.21.0-rc1.orig/Source/kwsys/testDynamicLoader.cxx
+++ cmake-3.21.0-rc1/Source/kwsys/testDynamicLoader.cxx
@@ -8,6 +8,25 @@
# include <be/kernel/OS.h> /* disable_debugger() API. */
#endif
+// Needed for __GLIBC__ test macro.
+#ifdef __linux__
+# include <features.h>
+#endif
+
+// Will define LIBDL_SO macro on systems with glibc.
+#ifdef __GLIBC__
+# include <gnu/lib-names.h>
+// Define to LIBC_SO, if not defined by above header.
+# ifndef LIBDL_SO
+# define LIBDL_SO LIBC_SO
+# endif
+#endif
+
+// Define the LIBDL_SO macro, if not defined above.
+#ifndef LIBDL_SO
+# define LIBDL_SO "libdl.so"
+#endif
+
// Work-around CMake dependency scanning limitation. This must
// duplicate the above list of headers.
#if 0
@@ -107,8 +126,8 @@ int testDynamicLoader(int argc, char* ar
// This one is actually fun to test, since dlopen is by default
// loaded...wonder why :)
res += TestDynamicLoader("foobar.lib", "dlopen", 0, 1, 0);
- res += TestDynamicLoader("libdl.so", "dlopen", 1, 1, 1);
- res += TestDynamicLoader("libdl.so", "TestDynamicLoader", 1, 0, 1);
+ res += TestDynamicLoader(LIBDL_SO, "dlopen", 1, 1, 1);
+ res += TestDynamicLoader(LIBDL_SO, "TestDynamicLoader", 1, 0, 1);
#endif
// Now try on the generated library
std::string libname = GetLibName(KWSYS_NAMESPACE_STRING "TestDynload");

View File

@ -1,21 +0,0 @@
Index: cmake-3.17.0-rc1/Modules/Platform/Windows-GNU.cmake
===================================================================
--- cmake-3.17.0-rc1.orig/Modules/Platform/Windows-GNU.cmake
+++ cmake-3.17.0-rc1/Modules/Platform/Windows-GNU.cmake
@@ -25,12 +25,14 @@ endif()
if(MINGW)
set(CMAKE_FIND_LIBRARY_PREFIXES "lib" "")
- set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll.a" ".a" ".lib")
+ set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll" ".dll.a" ".a" ".lib")
set(CMAKE_C_STANDARD_LIBRARIES_INIT "-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32")
set(CMAKE_CXX_STANDARD_LIBRARIES_INIT "${CMAKE_C_STANDARD_LIBRARIES_INIT}")
+ set(CMAKE_DL_LIBS "dl")
+else()
+ set(CMAKE_DL_LIBS "")
endif()
-set(CMAKE_DL_LIBS "")
set(CMAKE_LIBRARY_PATH_FLAG "-L")
set(CMAKE_LINK_LIBRARY_FLAG "-l")
set(CMAKE_LINK_DEF_FILE_FLAG "") # Empty string: passing the file is enough

View File

@ -58,21 +58,21 @@
%{!?_vpath_builddir:%global _vpath_builddir %{_target_platform}} %{!?_vpath_builddir:%global _vpath_builddir %{_target_platform}}
%global major_version 3 %global major_version 3
%global minor_version 20 %global minor_version 26
# Set to RC version if building RC, else %%{nil} # Set to RC version if building RC, else %%{nil}
#global rcsuf rc1 #global rcsuf rc1
%{?rcsuf:%global relsuf .%{rcsuf}} %{?rcsuf:%global relsuf .%{rcsuf}}
%{?rcsuf:%global versuf -%{rcsuf}} %{?rcsuf:%global versuf -%{rcsuf}}
# For handling bump release by rpmdev-bumpspec and mass rebuild # For handling bump release by rpmdev-bumpspec and mass rebuild
%global baserelease 8 %global baserelease 2
# Uncomment if building for EPEL # Uncomment if building for EPEL
#global name_suffix %%{major_version} #global name_suffix %%{major_version}
%global orig_name cmake %global orig_name cmake
Name: %{orig_name}%{?name_suffix} Name: %{orig_name}%{?name_suffix}
Version: %{major_version}.%{minor_version}.2 Version: %{major_version}.%{minor_version}.5
Release: %{baserelease}%{?relsuf}%{?dist} Release: %{baserelease}%{?relsuf}%{?dist}
Summary: Cross-platform make system Summary: Cross-platform make system
@ -103,17 +103,6 @@ Patch100: %{name}-findruby.patch
%if 0%{?fedora} && 0%{?fedora} < 34 %if 0%{?fedora} && 0%{?fedora} < 34
Patch101: %{name}-fedora-flag_release.patch Patch101: %{name}-fedora-flag_release.patch
%endif %endif
# Add dl to CMAKE_DL_LIBS on MINGW
# https://gitlab.kitware.com/cmake/cmake/issues/17600
Patch102: %{name}-mingw-dl.patch
# memory-hungry tests when building on koji builders with *lots* of cores
# so limit it to some reasonable number (4)
Patch103: cmake-3.20-CPACK_THREADS.patch
# see rhbz#1975096
Patch104: cmake-3.20.4-glibc_libdl.patch
# rhbz#2162696
Patch105: 0001-Tests-Explicitly-allow-usage-of-git-file-based-proto.patch
# Patch for renaming on EPEL # Patch for renaming on EPEL
%if 0%{?name_suffix:1} %if 0%{?name_suffix:1}
@ -211,6 +200,11 @@ Provides: bundled(md5-deutsch)
# https://fedorahosted.org/fpc/ticket/555 # https://fedorahosted.org/fpc/ticket/555
Provides: bundled(kwsys) Provides: bundled(kwsys)
# The license files are shipped in both the cmake and cmake-doc packages and
# can cause conflicts when updating.
# See https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/JDSG4K2S3IRCSZ37WCUGABY3JA45QMVA/#GEZTXMP5SXNMGAT3JPXDSQM5FPOLUJ5K
Conflicts: cmake-doc < %{version}-%{release}
%description %description
CMake is used to control the software compilation process using simple CMake is used to control the software compilation process using simple
platform and compiler independent configuration files. CMake generates platform and compiler independent configuration files. CMake generates
@ -242,8 +236,10 @@ This package contains common data-files for %{name}.
Summary: Documentation for %{name} Summary: Documentation for %{name}
BuildArch: noarch BuildArch: noarch
# license files moved from the doc package to main package. # The license files are shipped in both the cmake and cmake-doc packages and
Conflicts: %{name} <= 3.20.1 # can cause conflicts when updating.
# See https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/JDSG4K2S3IRCSZ37WCUGABY3JA45QMVA/#GEZTXMP5SXNMGAT3JPXDSQM5FPOLUJ5K
Conflicts: %{name} < %{version}-%{release}
%description doc %description doc
This package contains documentation for %{name}. This package contains documentation for %{name}.
@ -534,6 +530,15 @@ popd
%changelog %changelog
* Fri Nov 03 2023 Tom Stellard <tstellar@redhat.com> - 3.26.5-2
- Fix conflict with license files.
* Thu Oct 26 2023 Tom Stellard <tstellar@redhat.com> - 3.26.5-1
- Update to version 3.26.5-1
* Mon Oct 23 2023 Tom Stellard <tstellar@redhat.com> - 3.20.2-9
- Fix CPack bug with pretrans scriptlet
* Tue Jan 31 2023 Tom Stellard <tstellar@redhat.com> - 3.20.2-8 * Tue Jan 31 2023 Tom Stellard <tstellar@redhat.com> - 3.20.2-8
- Fix test case broken by git fix for CVE-2022-39253 - Fix test case broken by git fix for CVE-2022-39253