From 961298d27d7a18293c39bd8bf7d0307018d2776b Mon Sep 17 00:00:00 2001 From: Kaleb S. KEITHLEY Date: Nov 03 2022 17:52:31 +0000 Subject: cmake-3.24.2 for ceph builds. file:///home/kkeithle/Downloads/devops-54424-2.pdf https://bugzilla.redhat.com/show_bug.cgi?id=2059188 --- diff --git a/.cmake.metadata b/.cmake.metadata index 2d0abdd..fb9ec03 100644 --- a/.cmake.metadata +++ b/.cmake.metadata @@ -1 +1 @@ -0c0c76bd90092bbc36288ffd25d8e7f7ebc3c2e5 SOURCES/cmake-3.20.2.tar.gz +c2441ed6e00ba2c5ad0b7cd06afa8057769b9c1b SOURCES/cmake-3.24.2.tar.gz diff --git a/SOURCES/cmake-findruby.patch b/SOURCES/cmake-findruby.patch index 97ac43a..72a8b25 100644 --- a/SOURCES/cmake-findruby.patch +++ b/SOURCES/cmake-findruby.patch @@ -1,7 +1,8 @@ -diff -Naur cmake-3.18.2.orig/Modules/FindRuby.cmake cmake-3.18.2/Modules/FindRuby.cmake ---- cmake-3.18.2.orig/Modules/FindRuby.cmake 2020-09-08 13:30:51.129086854 +0000 -+++ cmake-3.18.2/Modules/FindRuby.cmake 2020-09-10 07:10:56.679302608 +0000 -@@ -300,14 +300,8 @@ +Index: cmake-3.23.0-rc2/Modules/FindRuby.cmake +=================================================================== +--- cmake-3.23.0-rc2.orig/Modules/FindRuby.cmake ++++ cmake-3.23.0-rc2/Modules/FindRuby.cmake +@@ -315,14 +315,9 @@ if(Ruby_EXECUTABLE AND NOT Ruby_VERSION_ _RUBY_CONFIG_VAR("sitearchdir" Ruby_SITEARCH_DIR) _RUBY_CONFIG_VAR("sitelibdir" Ruby_SITELIB_DIR) @@ -13,8 +14,9 @@ diff -Naur cmake-3.18.2.orig/Modules/FindRuby.cmake cmake-3.18.2/Modules/FindRub - _RUBY_CONFIG_VAR("vendorlibdir" Ruby_VENDORLIB_DIR) - _RUBY_CONFIG_VAR("vendorarchdir" Ruby_VENDORARCH_DIR) - endif() -+ _RUBY_CONFIG_VAR("vendorlibdir" RUBY_VENDORLIB_DIR) -+ _RUBY_CONFIG_VAR("vendorarchdir" RUBY_VENDORARCH_DIR) ++ # vendor_ruby ++ _RUBY_CONFIG_VAR("vendorlibdir" Ruby_VENDORLIB_DIR) ++ _RUBY_CONFIG_VAR("vendorarchdir" Ruby_VENDORARCH_DIR) # save the results in the cache so we don't have to run ruby the next time again set(Ruby_VERSION_MAJOR ${Ruby_VERSION_MAJOR} CACHE PATH "The Ruby major version" FORCE) diff --git a/SOURCES/cmake-mingw-dl.patch b/SOURCES/cmake-mingw-dl.patch index dadbff4..9934788 100644 --- a/SOURCES/cmake-mingw-dl.patch +++ b/SOURCES/cmake-mingw-dl.patch @@ -1,16 +1,18 @@ -diff -Naur cmake-3.18.2.orig/Modules/Platform/Windows-GNU.cmake cmake-3.18.2/Modules/Platform/Windows-GNU.cmake ---- cmake-3.18.2.orig/Modules/Platform/Windows-GNU.cmake 2020-09-08 13:30:51.186087690 +0000 -+++ cmake-3.18.2/Modules/Platform/Windows-GNU.cmake 2020-09-10 07:42:22.458698539 +0000 -@@ -28,9 +28,11 @@ - set(CMAKE_FIND_LIBRARY_SUFFIXES ".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() +Index: cmake-3.23.0-rc2/Modules/Platform/Windows-GNU.cmake +=================================================================== +--- cmake-3.23.0-rc2.orig/Modules/Platform/Windows-GNU.cmake ++++ cmake-3.23.0-rc2/Modules/Platform/Windows-GNU.cmake +@@ -24,11 +24,11 @@ set(CMAKE_STATIC_LIBRARY_SUFFIX ".a") + set(CMAKE_EXTRA_LINK_EXTENSIONS ".lib") # MinGW can also link to a MS .lib + + 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 "") ++set(CMAKE_DL_LIBS "dl") 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 diff --git a/SOURCES/macros.cmake b/SOURCES/macros.cmake index b8a5182..54598ee 100644 --- a/SOURCES/macros.cmake +++ b/SOURCES/macros.cmake @@ -7,13 +7,13 @@ %_cmake_version @@CMAKE_VERSION@@ %__cmake /usr/bin/cmake %__ctest /usr/bin/ctest -%__cmake_in_source_build 1 %__cmake_builddir %{!?__cmake_in_source_build:%{_vpath_builddir}}%{?__cmake_in_source_build:.} # - Set default compile flags # - CMAKE_*_FLAGS_RELEASE are added *after* the *FLAGS environment variables # and default to -O3 -DNDEBUG. Strip the -O3 so we can override with *FLAGS # - Turn on verbose makefiles so we can see and verify compile flags +# - Turn off stripping by default so RPM can do it separately # - Set default install prefixes and library install directories # - Turn on shared libraries by default %cmake \ @@ -33,6 +33,7 @@ -DCMAKE_CXX_FLAGS_RELEASE:STRING="-DNDEBUG" \\\ -DCMAKE_Fortran_FLAGS_RELEASE:STRING="-DNDEBUG" \\\ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \\\ + -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF \\\ -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \\\ -DINCLUDE_INSTALL_DIR:PATH=%{_includedir} \\\ -DLIB_INSTALL_DIR:PATH=%{_libdir} \\\ diff --git a/SPECS/cmake.spec b/SPECS/cmake.spec index af1ecd3..a8518e5 100644 --- a/SPECS/cmake.spec +++ b/SPECS/cmake.spec @@ -48,6 +48,9 @@ # Enable X11 tests %bcond_without X11_test +# Do not build non-lto objects to reduce build time significantly. +%global optflags %(echo '%{optflags}' | sed -e 's!-ffat-lto-objects!-fno-fat-lto-objects!g') + # Place rpm-macros into proper location %global rpm_macros_dir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) @@ -58,14 +61,14 @@ %{!?_vpath_builddir:%global _vpath_builddir %{_target_platform}} %global major_version 3 -%global minor_version 20 +%global minor_version 24 # Set to RC version if building RC, else %%{nil} -#global rcsuf rc1 +#global rcsuf %%{nil} %{?rcsuf:%global relsuf .%{rcsuf}} %{?rcsuf:%global versuf -%{rcsuf}} # For handling bump release by rpmdev-bumpspec and mass rebuild -%global baserelease 4 +%global baserelease 1 # Uncomment if building for EPEL #global name_suffix %%{major_version} @@ -106,9 +109,6 @@ Patch101: %{name}-fedora-flag_release.patch # 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 # Patch for renaming on EPEL %if 0%{?name_suffix:1} @@ -145,7 +145,7 @@ Provides: bundled(jsoncpp) BuildRequires: jsoncpp-devel %endif %if 0%{?fedora} || 0%{?rhel} >= 7 -BuildRequires: libarchive-devel >= 3.3.3 +BuildRequires: libarchive-devel %else BuildRequires: libarchive3-devel %endif @@ -237,9 +237,6 @@ This package contains common data-files for %{name}. Summary: Documentation for %{name} BuildArch: noarch -# license files moved from the doc package to main package. -Conflicts: %{name} <= 3.20.1 - %description doc This package contains documentation for %{name}. @@ -305,8 +302,10 @@ FCFLAGS="${FCFLAGS:-%optflags%{?_fmoddir: -I%_fmoddir}}" ; export FCFLAGS SRCDIR="$(/usr/bin/pwd)" mkdir %{_vpath_builddir} pushd %{_vpath_builddir} -$SRCDIR/bootstrap --prefix=%{_prefix} --datadir=/share/%{name} \ - --docdir=/share/doc/%{name} --mandir=/share/man \ +$SRCDIR/bootstrap --prefix=%{_prefix} \ + --datadir=/share/%{name} \ + --docdir=/share/doc/%{name} \ + --mandir=/share/man \ --%{?with_bootstrap:no-}system-libs \ --parallel="$(echo %{?_smp_mflags} | sed -e 's|-j||g')" \ %if %{with bundled_rhash} @@ -321,9 +320,14 @@ $SRCDIR/bootstrap --prefix=%{_prefix} --datadir=/share/%{name} \ --sphinx-build=%{_bindir}/false \ %endif --%{!?with_gui:no-}qt-gui \ -; + -- \ + -DCMAKE_C_FLAGS_RELEASE:STRING="-O2 -g -DNDEBUG" \ + -DCMAKE_CXX_FLAGS_RELEASE:STRING="-O2 -g -DNDEBUG" \ + -DCMAKE_Fortran_FLAGS_RELEASE:STRING="-O2 -g -DNDEBUG" \ + -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \ + -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF popd -%make_build -C %{_vpath_builddir} VERBOSE=1 +%make_build -C %{_vpath_builddir} %install @@ -439,20 +443,16 @@ find %{buildroot}%{_bindir} -type f -or -type l -or -xtype l | \ %if %{with test} %check pushd %{_vpath_builddir} -# CTestTestUpload require internet access +# CTestTestUpload, BundleUtilities, ExternalProject, and CTest.UpdateGIT require internet access # CPackComponentsForAll-RPM-IgnoreGroup failing wih rpm 4.15 - https://gitlab.kitware.com/cmake/cmake/issues/19983 -NO_TEST="CTestTestUpload|CPackComponentsForAll-RPM-IgnoreGroup|CPack_RPM.DEBUGINFO" +NO_TEST="CTestTestUpload|BundleUtilities|ExternalProject|CTest.UpdateGIT" +# Likely failing for GCC 12 +NO_TEST="$NO_TEST|CustomCommand|CMakeLib.testCTestResourceAllocator" +NO_TEST="$NO_TEST|CMakeLib.testCTestResourceSpec|RunCMake.PositionIndependentCode" # kwsys.testProcess-{4,5} are flaky on s390x. %ifarch s390x NO_TEST="$NO_TEST|kwsys.testProcess-4|kwsys.testProcess-5" %endif - -# RunCMake.PrecompileHeaders test uses precompiled file presumably compiled with different compiler -# that one of RHEL8 (GCC-8.3.1). See https://bugzilla.redhat.com/show_bug.cgi?id=1721553#c4 -%if 0%{?rhel} && 0%{?rhel} > 7 -NO_TEST="$NO_TEST|RunCMake.PrecompileHeaders" -%endif - # curl test may fail during bootstrap %if %{with bootstrap} NO_TEST="$NO_TEST|curl" @@ -529,47 +529,235 @@ popd %changelog -* Fri Jul 09 2021 sguelton@redhat.com - 3.20.2-4 -- Fix update (rhbz#1964407) +* Sat Oct 29 2022 Björn Esser - 3.24.2-1 +- cmake-3.24.2 + +* Thu Aug 18 2022 Björn Esser - 3.24.1-1 +- cmake-3.24.1 + +* Fri Aug 05 2022 Leigh Scott - 3.24.0-1 +- cmake-3.24.0 + +* Fri Jul 29 2022 Leigh Scott - 3.23.3-1 +- cmake-3.23.3 + +* Wed Jul 20 2022 Fedora Release Engineering - 3.23.0-0.2.rc2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed Feb 23 2022 Björn Esser - 3.23.0-0.1.rc2 +- cmake-3.23.0-rc2 + Fixes rhbz#2052100 + +* Tue Jan 25 2022 Björn Esser - 3.22.2-1 +- cmake-3.22.2 + Fixes rhbz#2045074 + +* Thu Jan 20 2022 Björn Esser - 3.22.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jan 19 2022 Björn Esser - 3.22.1-6 +- Add patch to fix compatibility of FortranCInterface with GCC gfortran 12 LTO + Fixes rhbz#2041904 +- Skip tests failing with GCC 12 + +* Sun Dec 26 2021 Björn Esser - 3.22.1-5 +- Backport two patches fixing regressions in FindBoost and FindGLUT + +* Fri Dec 17 2021 Björn Esser - 3.22.1-4 +- Backport patch to add support for Python >= 3.10 in FindBoost.cmake + +* Thu Dec 16 2021 Björn Esser - 3.22.1-3 +- Backport patch to add Boost 1.78 support + +* Thu Dec 16 2021 Tomáš Hrnčiar - 3.22.1-2 +- Backport patch to add Python 3.11 support + +* Tue Dec 07 2021 Björn Esser - 3.22.1-1 +- cmake-3.22.1 + Fixes rhbz#2029974 + +* Thu Dec 02 2021 Stephan Bergmann - 3.22.0-4 +- Fixes RPATH_CHANGE fails when shared object is a GNU ld script + +* Wed Dec 01 2021 Björn Esser - 3.22.0-3 +- Update fix for rhbz#2027118 with upstream solution + +* Sun Nov 28 2021 Björn Esser - 3.22.0-2 +- Add patch to partially revert incompatible changes in GNUInstallDirs.cmake + Fixes rhbz#2027118 + +* Thu Nov 18 2021 Rex Dieter - 3.22.0-1 +- cmake-3.22.0 (#2024712) + +* Fri Nov 12 2021 Björn Esser - 3.22.0-0.6.rc3 +- cmake-3.22.0-rc3 + Fixes rhbz#2022785 + +* Wed Nov 03 2021 Björn Esser - 3.22.0-0.5.rc2 +- Disable bootstrap build for jsoncpp + +* Wed Nov 03 2021 Björn Esser - 3.22.0-0.4.rc2 +- Rebuild (jsoncpp) + +* Thu Oct 28 2021 Björn Esser - 3.22.0-0.3.rc2 +- cmake-3.22.0-rc2 + Fixes rhbz#2018235 +- Remove debug compiler flag in macros.cmake (CMAKE_Fortran_FLAGS_RELEASE) + Fixes rhbz#2017942 + +* Thu Oct 28 2021 Björn Esser - 3.22.0-0.2.rc1 +- Revert previous changes to macros.cmake (-O2 -g) + Fixes rhbz#2017942 + +* Thu Oct 14 2021 Björn Esser - 3.22.0-0.1.rc1 +- cmake-3.22.0-rc1 + Fixes rhbz#2014190 +- Do not build non-lto objects to reduce build time significantly +- Explicitly force optimization level 2 and debuginfo for release builds + +* Mon Sep 20 2021 Björn Esser - 3.21.3-1 +- cmake-3.21.3 + Fixes rhbz#2006054 + +* Wed Aug 25 2021 Björn Esser - 3.21.2-1 +- cmake-3.21.2 + Fixes rhbz#1997708 -* Thu Jun 17 2021 sguelton@redhat.com - 3.20.2-3 -- Fix rhbz#1964392 and rhbz#1964407 +* Tue Jul 27 2021 Björn Esser - 3.21.1-1 +- cmake-3.21.1 + Fixes rhbz#1986449 -* Fri Jun 04 2021 sguelton@redhat.com - 3.20.2-2 -- Minimal libarchive req +* Wed Jul 21 2021 Fedora Release Engineering - 3.21.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild -* Thu May 20 2021 sguelton@redhat.com - 3.20.2-1 -- Sync with Fedora rawhide. (#1957947) +* Thu Jul 15 2021 Björn Esser - 3.21.0-5 +- cmake-3.21.0 -* Mon Jan 25 2021 Tom Stellard - 3.18.2-9 -- Sync macros from Fedora +* Thu Jul 08 2021 Björn Esser - 3.21.0-4.rc3 +- cmake-3.21.0-rc3 -* Wed Oct 28 2020 sguelton@redhat.com - 3.18.2-8 -- External libarchive dependency +* Mon Jul 05 2021 Björn Esser - 3.21.0-3.rc2 +- cmake-3.21.0-rc2 +- Drop libdl patch for glibc >= 2.34, as it is upstreamed -* Mon Sep 21 2020 sguelton@redhat.com - 3.18.2-7 -- Call update-desktop-database upon install +* Tue Jun 29 2021 Björn Esser - 3.21.0-2.rc1 +- Rebuilt with upstreamed cmake-3.20.4-glibc_libdl.patch -* Sat Sep 12 2020 sguelton@redhat.com - 3.18.2-6 -- Declare conflict with cmake due to license files +* Wed Jun 23 2021 Björn Esser - 3.21.0-1.rc1 +- cmake-3.21.0-rc1 (#1975377) -* Fri Sep 11 2020 sguelton@redhat.com - 3.18.2-5 -- Declare conflict with cmake-doc due to license files +* Mon Jun 21 2021 Björn Esser - 3.20.5-1 +- cmake-3.20.5 (#1942118) -* Fri Sep 11 2020 sguelton@redhat.com - 3.18.2-4 -- Build on all arches -- Restore license file location -- Restore previous appdata name +* Fri Jun 18 2021 Rex Dieter - 3.20.4-1 +- cmake-3.20.4 (#1942118) +- workaround libdl-related FTBFS (#1972535) -* Fri Sep 11 2020 sguelton@redhat.com - 3.18.2-3 -- Fix bash-completion installation -- keep license files in base location +* Sun May 30 2021 Rex Dieter - 3.20.3-1 +- cmake-3.20.3 -* Fri Sep 11 2020 sguelton@redhat.com - 3.18.2-2 -- Declare cmake vs old cmake-doc conflict +* Thu Apr 29 2021 Rex Dieter - 3.20.2-1 +- cmake-3.20.2 (#1942118) +- bash-completion fixes (#1924340) +- Release build type optimization options differ from upstream package (#1751155) +- parse parallel build from %%_smp_mflags instead of _NPROCESSORS_ONLN +- drop old dist references (rhel6) + +* Mon Mar 15 2021 Rex Dieter - 3.19.7-1 +- cmake-3.19.7 + +* Thu Feb 25 2021 Rex Dieter - 3.19.6-2 +- cmake-3.19.6 + +* Sat Feb 06 2021 Rex Dieter - 3.19.4-2 +- CMake warning when searching for Boost 1.75 (#1925355) + +* Thu Jan 28 2021 Rex Dieter - 3.19.4-1 +- cmake-3.19.4 + +* Tue Jan 26 2021 Fedora Release Engineering - 3.19.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jan 13 2021 Rex Dieter - 3.19.3-1 +- cmake-3.19.3 + +* Mon Jan 11 2021 Cristian Morales Vega - 3.19.2-1 +- Update to 3.19.2 + +* Tue Dec 15 2020 Tom Stellard - 3.18.4-4 +- Update BuildRequires for eln + +* Fri Nov 20 2020 Neal Gompa - 3.18.4-3 +- Ensure CMake does not strip binaries with package builds + +* Mon Nov 09 2020 Miro Hrončok - 3.18.4-2 +- Add support for Python 3.10 + +* Tue Oct 13 2020 Björn Esser - 3.18.4-1 +- Update to 3.18.4 + +* Wed Sep 30 2020 Björn Esser - 3.18.3-1 +- Update to 3.18.3 +- Explicitly require make +- Add patch to support FlexiBLAS + +* Tue Sep 29 2020 Christoph Junghans - 3.18.2-2 +- Make %ctest non-verbose by default + +* Thu Aug 20 2020 Björn Esser - 3.18.2-1 +- Update to 3.18.2 + +* Sat Aug 01 2020 Björn Esser - 3.18.1-1 +- Update to 3.18.1 + +* Wed Jul 29 2020 Orion Poplawski - 3.18.0-5 +- Handle arguments for ctest3 macro + +* Mon Jul 27 2020 Fedora Release Engineering - 3.18.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jul 22 2020 Björn Esser - 3.18.0-3 +- Default to --verbose for ctest as well + +* Sun Jul 19 2020 Neal Gompa - 3.18.0-2 +- Make in-source builds behave like before + +* Sat Jul 18 2020 Igor Raits - 3.18.0-1.1 +- Enable out-of-source builds by default + +* Thu Jul 16 2020 Björn Esser - 3.18.0-1 +- Update to 3.18.0 + +* Sat Jul 04 2020 Björn Esser - 3.18.0-0.8.rc3 +- Update to 3.18.0-rc3 + +* Fri Jul 03 2020 Neal Gompa - 3.18.0-0.7.rc2 +- Switch to implementation that is backwards compatible to older RPM +- Change control macro for in-source/out-of-source to %%__cmake_in_source_build + +* Fri Jul 03 2020 Igor Raits - 3.18.0-0.6.rc2 +- Add out-of-source builds controlled by a macro (%%__cmake_out_of_source_build) + +* Wed Jul 01 2020 Igor Raits - 3.18.0-0.5.rc2 +- Undo out-of-source-builds + +* Tue Jun 30 2020 Tom Callaway - 3.18.0-0.4.rc2 +- fix FindLua to support lua 5.4 + +* Mon Jun 29 2020 Björn Esser - 3.18.0-0.3.rc2 +- Apply change: CMake to do out-of-source builds (#1852036) + +* Sat Jun 20 2020 Björn Esser - 3.18.0-0.2.rc2 +- Update to 3.18.0-rc2 + +* Fri Jun 12 2020 Björn Esser - 3.18.0-0.1.rc1 +- Update to 3.18.0-rc1 + +* Sat May 30 2020 Björn Esser - 3.17.3-2 +- Rebuild (jsoncpp) -* Thu Sep 10 2020 sguelton@redhat.com - 3.18.2-1 -- Update to cmake-3.18.2 +* Fri May 29 2020 Björn Esser - 3.17.3-1 +- Update to cmake-3.17.3 * Tue Apr 28 2020 Björn Esser - 3.17.2-1 - Update to cmake-3.17.2