diff --git a/.gitignore b/.gitignore index 264accb..e66b05a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,18 +1,4 @@ -/eccodes-2.26.0-Source.tar.gz -/eccodes_test_data_20220526.tar.gz -/eccodes-2.27.0-Source.tar.gz -/eccodes-2.27.1-Source.tar.gz -/eccodes-2.28.0-Source.tar.gz -/eccodes-2.29.0-Source.tar.gz -/eccodes-2.30.0-Source.tar.gz -/eccodes-2.31.0-Source.tar.gz -/eccodes-2.32.1-Source.tar.gz -/eccodes_test_data_20231101.tar.gz -/eccodes-2.33.0-Source.tar.gz -/eccodes_test_data_20231216.tar.gz -/eccodes-2.34.1-Source.tar.gz -/eccodes_test_data_20240217.tar.gz -/eccodes-2.35.0-Source.tar.gz -/eccodes-2.36.0-Source.tar.gz -/eccodes-2.38.0-Source.tar.gz -/eccodes_test_data_20240928.tar.gz +/eccodes_test_data_20250202.tar.gz +/eccodes-2.40.0-Source.tar.gz +/eccodes-2.42.0-Source.tar.gz +/eccodes-2.44.0-Source.tar.gz diff --git a/eccodes-soversion.patch b/eccodes-soversion.patch index 76aa97c..fd4b224 100644 --- a/eccodes-soversion.patch +++ b/eccodes-soversion.patch @@ -1,5 +1,5 @@ ---- eccodes-2.38.0-Source.unchanged/fortran/CMakeLists.txt 2024-09-24 10:08:57.000000000 +0200 -+++ eccodes-2.38.0-Source/fortran/CMakeLists.txt 2024-09-29 11:08:52.296043336 +0200 +--- eccodes-2.44.0-Source.unchanged/fortran/CMakeLists.txt 2025-10-06 11:49:11.000000000 +0200 ++++ eccodes-2.44.0-Source/fortran/CMakeLists.txt 2025-11-07 11:33:03.765320420 +0100 @@ -46,7 +46,8 @@ if( HAVE_FORTRAN ) GENERATED grib_f90.f90 eccodes_f90.f90 PUBLIC_INCLUDES $ @@ -10,13 +10,13 @@ if( DEFINED ecbuild_VERSION AND NOT ${ecbuild_VERSION} VERSION_LESS 3.1 ) # Installed module directory is not in the PUBLIC INCLUDES! ---- eccodes-2.38.0-Source.unchanged/src/CMakeLists.txt 2024-09-24 10:08:57.000000000 +0200 -+++ eccodes-2.38.0-Source/src/CMakeLists.txt 2024-09-29 11:08:52.296043336 +0200 -@@ -416,6 +416,8 @@ ecbuild_add_library( TARGET eccodes +--- eccodes-2.44.0-Source.unchanged/src/eccodes/CMakeLists.txt 2025-10-06 11:49:11.000000000 +0200 ++++ eccodes-2.44.0-Source/src/eccodes/CMakeLists.txt 2025-11-07 11:33:03.784437554 +0100 +@@ -447,6 +447,8 @@ ecbuild_add_library( TARGET eccodes PRIVATE_LIBS ${ECCODES_EXTRA_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${AEC_LIBRARIES} ${PNG_LIBRARIES} PUBLIC_LIBS ${CMATH_LIBRARIES} ${THREADS_LIBRARIES} TEMPLATES ${eccodes_extra_src_files} -+ SOVERSION ${ECCODES_SOVERSION} ++ SOVERSION ${ECCODES_SOVERSION} + INSTALL_HEADERS_LIST grib_api.h diff --git a/eccodes.spec b/eccodes.spec index dc62c3a..bed4797 100644 --- a/eccodes.spec +++ b/eccodes.spec @@ -3,15 +3,10 @@ %endif Name: eccodes -Version: 2.38.0 -Release: 1%{?dist} +Version: 2.44.0 +Release: 2%{?dist} Summary: WMO data format decoding and encoding -# NOTE: dont use version 2.34.0 -# This has some code issues when compiled with the g++ flag "-flto=auto" -# (which is default at the moment) and this makes the library and tools -# unusable. - # force the shared libraries to have these so versions %global so_version 0.1 %global so_version_f90 0.1 @@ -19,7 +14,7 @@ Summary: WMO data format decoding and encoding # note that the test_data package provided on the ECMWF version # is unversioned, so use the download date to discriminate # between different versions. -%global datapack_date 20240928 +%global datapack_date 20250202 # latest fedora-38/rawhide grib_api version is 1.27.0-18 # but this version number is to be updated as soon as we know @@ -65,7 +60,7 @@ Patch1: eccodes-soversion.patch # https://jira.ecmwf.int/browse/SUP-2073 # (and again, unfortunately this issue is not public) -BuildRequires: cmake3 +BuildRequires: cmake3 >= 3.18 BuildRequires: gcc-c++ BuildRequires: gcc-gfortran BuildRequires: /usr/bin/git @@ -174,6 +169,74 @@ both the official WMO tables and a number of often used local definitions by ECMWF and other meteorological centers. ##################################################### +# include a LUA scriptlet as suggested on: +# https://docs.fedoraproject.org/en-US/packaging-guidelines/Directory_Replacement/ +# to assist in replacing a directory by a symlink + +%pretrans -n eccodes-data -p + +-- This should solve a problem where directories were replaced +-- by symbolic links when upgrading eccodes from 2.41.0 to 2.42.0 + +problematic_dirs = { + "/usr/share/eccodes/definitions/bufr/tables/0/local/8/78/1", + "/usr/share/eccodes/definitions/bufr/tables/0/local/8/78/110", + "/usr/share/eccodes/definitions/bufr/tables/0/local/8/78/174", + "/usr/share/eccodes/definitions/bufr/tables/0/local/8/78/2", + "/usr/share/eccodes/definitions/bufr/tables/0/local/8/78/20", + "/usr/share/eccodes/definitions/bufr/tables/0/local/8/78/21", + "/usr/share/eccodes/definitions/bufr/tables/0/local/8/78/221", + "/usr/share/eccodes/definitions/bufr/tables/0/local/8/78/222", + "/usr/share/eccodes/definitions/bufr/tables/0/local/8/78/223", + "/usr/share/eccodes/definitions/bufr/tables/0/local/8/78/225", + "/usr/share/eccodes/definitions/bufr/tables/0/local/8/78/226", + "/usr/share/eccodes/definitions/bufr/tables/0/local/8/78/227", + "/usr/share/eccodes/definitions/bufr/tables/0/local/8/78/228", + "/usr/share/eccodes/definitions/bufr/tables/0/local/8/78/229", + "/usr/share/eccodes/definitions/bufr/tables/0/local/8/78/230", + "/usr/share/eccodes/definitions/bufr/tables/0/local/8/78/231", + "/usr/share/eccodes/definitions/bufr/tables/0/local/8/78/232", + "/usr/share/eccodes/definitions/bufr/tables/0/local/8/78/233", + "/usr/share/eccodes/definitions/bufr/tables/0/local/8/78/234", + "/usr/share/eccodes/definitions/bufr/tables/0/local/8/78/235", + "/usr/share/eccodes/definitions/bufr/tables/0/local/8/78/236", + "/usr/share/eccodes/definitions/bufr/tables/0/local/8/78/237", + "/usr/share/eccodes/definitions/bufr/tables/0/local/8/78/31", + "/usr/share/eccodes/definitions/bufr/tables/0/local/8/78/41", + "/usr/share/eccodes/definitions/bufr/tables/0/local/8/78/42", + "/usr/share/eccodes/definitions/bufr/tables/0/local/8/78/64", + "/usr/share/eccodes/definitions/bufr/tables/0/wmo/10", + "/usr/share/eccodes/definitions/bufr/tables/0/wmo/11", + "/usr/share/eccodes/definitions/bufr/tables/0/wmo/12", + "/usr/share/eccodes/definitions/bufr/tables/0/wmo/7", + "/usr/share/eccodes/definitions/bufr/tables/0/wmo/8", + "/usr/share/eccodes/definitions/bufr/tables/0/wmo/9"} + +for index, path in ipairs(problematic_dirs) do + print("handling path:" .. index .. ":" .. path) + st = posix.stat(path) + if st and st.type == "directory" then + status = os.rename(path, path .. ".rpmmoved") + if status then + print("renamed:" .. path .. " to " .. path .. ".rpmmoved") + end + if not status then + suffix = 0 + while not status do + suffix = suffix + 1 + status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix) + if status then + print("renamed:" .. path .. ".rpmmoved to " .. path .. ".rpmmoved." .. suffix) + end + end + os.rename(path, path .. ".rpmmoved") + print("renamed:" .. path .. " to " .. path .. ".rpmmoved") + end + end +end + +--##################################################### + %package doc Summary: Documentation and example code BuildArch: noarch @@ -197,6 +260,8 @@ tar xf %SOURCE1 popd %build +# TODO: Please submit an issue to upstream (rhbz#2380563) +export CMAKE_POLICY_VERSION_MINIMUM=3.5 #-- The following features are disabled by default and not switched on: # @@ -316,6 +381,8 @@ sed -i 's|^libs=.*$|libs=-L${libdir} -leccodes_f90 -leccodes|g' %{buildroot}/%{_ %ldconfig_scriptlets + +##################################################### %check cd %{_vpath_builddir} @@ -336,7 +403,7 @@ ctest3 -V %{?_smp_mflags} %files %license LICENSE -%doc README.md ChangeLog AUTHORS NEWS NOTICE +%doc ChangeLog AUTHORS NEWS NOTICE %{_bindir}/* %{_libdir}/*.so.* %{_mandir}/man1/*.1* @@ -356,11 +423,86 @@ ctest3 -V %{?_smp_mflags} %{_datadir}/%{name}/definitions/ %{_datadir}/%{name}/samples/ %{_datadir}/%{name}/ifs_samples/ +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/local/8/78/1.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/local/8/78/110.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/local/8/78/174.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/local/8/78/2.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/local/8/78/20.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/local/8/78/21.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/local/8/78/221.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/local/8/78/222.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/local/8/78/223.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/local/8/78/225.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/local/8/78/226.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/local/8/78/227.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/local/8/78/228.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/local/8/78/229.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/local/8/78/230.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/local/8/78/231.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/local/8/78/232.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/local/8/78/233.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/local/8/78/234.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/local/8/78/235.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/local/8/78/236.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/local/8/78/237.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/local/8/78/31.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/local/8/78/41.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/local/8/78/42.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/local/8/78/64.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/wmo/10.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/wmo/11.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/wmo/12.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/wmo/7.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/wmo/8.rpmmoved +%ghost %{_datadir}/%{name}/definitions/bufr/tables/0/wmo/9.rpmmoved %files doc %doc %{_datadir}/doc/%{name}/ %changelog + +* Mon Nov 10 2025 Cristian Le - 2.44.0-2 +- Allow to build with CMake 4.0 (rhbz#2380563) + +* Fri Nov 07 2025 Jos de Kloe - 2.44.0-1 +- Update to 2.44.0 + +* Fri Aug 22 2025 Orion Poplawski - 2.42.0-6 +- Rebuild for netcdf 4.9.3 soname bump + +* Mon Aug 11 2025 Jos de Kloe - 2.42.0-5 +- Forgot to update the changelog date for the previous commit, so fixed this + with this update. +- Also fix a typo in the ghost definitions. + +* Mon Aug 11 2025 Jos de Kloe - 2.42.0-4 +- Add a LUA script in a pretrans section to assist in replacing a directory + by a symlink (this removes the need for the python script added in + the previous commit) + +* Wed Jul 30 2025 Jos de Kloe - 2.42.0-3 +- Add calling a little python script in the install stage to revert + the (upstream) replacing of directories by a symlinks + which causes upgrade problems with rpm for the data package. + +* Wed Jul 23 2025 Fedora Release Engineering - 2.42.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sat Jul 19 2025 Jos de Kloe - 2.42.0-1 +- Update to 2.42.0 (2.41.0 was skipped due to an upstream build bug) + +* Sat Mar 22 2025 Jos de Kloe - 2.40.0-1 +- Update to 2.40.0 + +* Sun Feb 02 2025 Jos de Kloe - 2.39.0-1 +- Update to 2.39.0 + +* Thu Jan 16 2025 Fedora Release Engineering - 2.38.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sun Oct 20 2024 Jos de Kloe - 2.38.3-1 +- Update to 2.38.3 + * Sun Sep 29 2024 Jos de Kloe - 2.38.0-1 - Update to 2.38.0 diff --git a/sources b/sources index a617e71..4dc5dc6 100644 --- a/sources +++ b/sources @@ -1,8 +1,4 @@ -SHA512 (eccodes-2.33.0-Source.tar.gz) = 4afc2a9e59da54093eb318a1447904faac7371df980a57ce21e04ef98d1d7e02f10ef363a497d29f086b1f17a86ba4e46bf14898cd227eae8bbe0297c62b4183 -SHA512 (eccodes_test_data_20231216.tar.gz) = 86767a308841849c7ece006e9f6c68123dc07d8640b038e25529b91ab495d3f10ad5356e9100ef238de6756c67917be13a676f4ab0708fb381021c746e00183e -SHA512 (eccodes-2.34.1-Source.tar.gz) = 3757f051fd80dd381c6687c404c835c6a890341052ded3b72a6802dde5d2d8fd83be4a8d6ec3d19592ca0c5f4211c46f1ba125ba0ef0be9cc45cac6bd3d37c1e -SHA512 (eccodes_test_data_20240217.tar.gz) = c495a71f18ea01aa480b0920fbfce8d370574d412c95eb04823d0d4544fed0e2dba8e98d63e2be0a3c33a127840e7262d391373fab9304a773e9764457ade5a7 -SHA512 (eccodes-2.35.0-Source.tar.gz) = 0828b33aa0a9dda1db8bbd683eeccf49a0c2df5cdc79e34684981bb59d47dd913552460d7b64bfed05d568f30a7210a1091c9431fa21378ef6fb187829fd65a9 -SHA512 (eccodes-2.36.0-Source.tar.gz) = c18df75593af6461dfa64d717ec5a6af9492bc5a851b87f13ca759343abfbf21ec6e3e5978654f95641e86429b9b105bceb9414f8d925275d2a1b305441905d0 -SHA512 (eccodes-2.38.0-Source.tar.gz) = 2e582f392bfda78ba703f772a7acb66f9dcb6a3e9ff20ed79c17eb5f8049a2ddc302a76a69974129e381b302b9e60b4e4574d588ee995b28b22c70d3957004d9 -SHA512 (eccodes_test_data_20240928.tar.gz) = 736d093f501115ee9d33780eec99cd0d8bdc10a559af70b861d3bee89fbb09bdb6dfdf905dfe4551b5d71761947cfefb414dfff475a06754e09e2d486708515f +SHA512 (eccodes_test_data_20250202.tar.gz) = 8b4c7159dd7ed0e1e69068ec7dcabe94064f0d2abf9eac4fca2a9c730d500999e8edf1e7eeebba6fb12ae99b223c1b0843e31414538333c52f2508cb2d410151 +SHA512 (eccodes-2.40.0-Source.tar.gz) = 39b09da398a864888f1b7da867adae63da9e512a865807c1dd0f4b76e242c46d6ec75f7db3a554c01c4fb60dd9677cd8b77bc03dac89931cbdf461c607b100c8 +SHA512 (eccodes-2.42.0-Source.tar.gz) = 205246b250762ab6e7ac3050726ac5ce67ab689c8c393b153e7c084fb71edc40d64ee04e2fb32b3ad2a1426e65581126c0c8288e9088c27a7468f6b534f29b58 +SHA512 (eccodes-2.44.0-Source.tar.gz) = 63f81db07103ab3c6c0497ca3d0bae5b8a0841ed83a2b88831ddce756489a84aa394af7673c1438e2ea7a55107970cf87b8222da31321ef70ecc55cc99a3ddf5