diff --git a/.gitignore b/.gitignore index 6c2ecc4..e66b05a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,15 +1,4 @@ -/eccodes_test_data.tar.gz -/eccodes_test_data_20181010.tar.gz -/eccodes-2.12.0-Source.tar.gz -/eccodes-2.12.5-Source.tar.gz -/eccodes-2.13.0-Source.tar.gz -/eccodes-2.14.1-Source.tar.gz -/eccodes-2.15.0-Source.tar.gz -/eccodes-2.16.0-Source.tar.gz -/eccodes-2.17.0-Source.tar.gz -/eccodes-2.18.0-Source.tar.gz -/eccodes_test_data_20200626.tar.gz -/eccodes-2.19.0-Source.tar.gz -/eccodes-2.19.1-Source.tar.gz -/eccodes-2.20.0-Source.tar.gz -/eccodes-2.21.0-Source.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-32bit.patch b/eccodes-32bit.patch deleted file mode 100644 index 8bf6d79..0000000 --- a/eccodes-32bit.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- eccodes-2.19.0-Source.unchanged/src/grib_api_prototypes.h 2020-10-15 13:21:34.000000000 +0200 -+++ eccodes-2.19.0-Source/src/grib_api_prototypes.h 2020-10-16 08:52:25.171175169 +0200 -@@ -859,8 +859,8 @@ double grib_ieeefloat_error(double x); - double grib_long_to_ieee(unsigned long x); - int grib_nearest_smaller_ieee_float(double a, double* x); - unsigned long grib_ieee_to_long(double x); --unsigned long grib_ieee64_to_long(double x); --double grib_long_to_ieee64(unsigned long x); -+uint64_t grib_ieee64_to_long(double x); -+double grib_long_to_ieee64(uint64_t x); - int grib_ieee_decode_array(grib_context* c, unsigned char* buf, size_t nvals, int bytes, double* val); - int grib_ieee_decode_array(grib_context* c, unsigned char* buf, size_t nvals, int bytes, double* val); - int grib_ieee_encode_array(grib_context* c, double* val, size_t nvals, int bytes, unsigned char* buf); ---- eccodes-2.19.0-Source.unchanged/src/grib_ieeefloat.c 2020-10-15 13:21:34.000000000 +0200 -+++ eccodes-2.19.0-Source/src/grib_ieeefloat.c 2020-10-16 09:01:37.712934707 +0200 -@@ -442,7 +442,7 @@ unsigned long grib_ieee_to_long(double x - * Byte swapping is actually implemented in grib_decode_unsigned_long and - * grib_encode_unsigned_long. - */ --unsigned long grib_ieee64_to_long(double x) -+uint64_t grib_ieee64_to_long(double x) - { - unsigned long lval; - DebugAssert(sizeof(double) == sizeof(long)); -@@ -450,7 +450,7 @@ unsigned long grib_ieee64_to_long(double - return lval; - } - --double grib_long_to_ieee64(unsigned long x) -+double grib_long_to_ieee64(uint64_t x) - { - double dval; - DebugAssert(sizeof(double) == sizeof(long)); diff --git a/eccodes-soversion.patch b/eccodes-soversion.patch index b1c351a..fd4b224 100644 --- a/eccodes-soversion.patch +++ b/eccodes-soversion.patch @@ -1,22 +1,23 @@ ---- eccodes-2.21.0-Source.unchanged/fortran/CMakeLists.txt 2021-03-24 12:58:39.000000000 +0100 -+++ eccodes-2.21.0-Source/fortran/CMakeLists.txt 2021-03-28 11:10:48.975174329 +0200 -@@ -49,7 +49,8 @@ if( HAVE_FORTRAN ) +--- 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 $ $ -- PRIVATE_LIBS eccodes ) -+ PRIVATE_LIBS eccodes +- PRIVATE_LIBS eccodes ${ECCODES_PTHREADS_LIBRARIES} ) ++ PRIVATE_LIBS eccodes ${ECCODES_PTHREADS_LIBRARIES} + SOVERSION ${ECCODES_SOVERSION_F90}) if( DEFINED ecbuild_VERSION AND NOT ${ecbuild_VERSION} VERSION_LESS 3.1 ) # Installed module directory is not in the PUBLIC INCLUDES! ---- eccodes-2.21.0-Source.unchanged/src/CMakeLists.txt 2021-03-24 12:58:39.000000000 +0100 -+++ eccodes-2.21.0-Source/src/CMakeLists.txt 2021-03-28 11:10:48.977174277 +0200 -@@ -445,6 +445,7 @@ 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 ${grib_api_extra_srcs} + TEMPLATES ${eccodes_extra_src_files} + SOVERSION ${ECCODES_SOVERSION} ++ INSTALL_HEADERS_LIST grib_api.h eccodes.h diff --git a/eccodes.rpmlintrc b/eccodes.rpmlintrc deleted file mode 100644 index 60064d2..0000000 --- a/eccodes.rpmlintrc +++ /dev/null @@ -1,56 +0,0 @@ -# use like this: -# rpmlint --file eccodes.rpmlintrc *.rpm -# example: addFilter ("^foo-.*regex-match-for-rpmlint-warning") - -# these are invalid spelling warnings. GRIB and BUFR are correct, since these are -# the names of the data files that this software handles. -# the description itself is a 1-to-1 copy of what the (UK-based) upstream -# writes, and I am not going to translate this to US spelling ... -addFilter ("W: spelling-error %description -l en_US behaviour -> behavior") -addFilter ("W: spelling-error %description -l en_US grib ->") -addFilter ("W: spelling-error %description -l en_US bufr ->") - -# this data file with wrong line ending has been added to the software on purpose -# for testing purposes, so this is no mistake -addFilter ("eccodes-doc.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/eccodes/examples/python/flight_data.csv") - -# these data files are no scripts. The dataformat just has an unfortunate first line -# starting with #! so it resembles a shebang line. -# see also comment #3 in the review request at https://bugzilla.redhat.com/show_bug.cgi?id=1508950 -addFilter ("^eccodes-data.noarch: E: wrong-script-interpreter /usr/share/eccodes/definitions/grib1/local.82.0.def") -addFilter ("^eccodes-data.noarch: E: non-executable-script /usr/share/eccodes/definitions/grib1/local.82.0.def") -addFilter ("^eccodes-data.noarch: E: wrong-script-interpreter /usr/share/eccodes/definitions/grib1/local.82.83.def") -addFilter ("^eccodes-data.noarch: E: non-executable-script /usr/share/eccodes/definitions/grib1/local.82.83.def") - -# this is a false error (its an rpmlint bug). -# the spec file now uses %ldconfig_scriptlets in stead of the old ldconfig-postin/postun -# see also comment #18 in the review request at https://bugzilla.redhat.com/show_bug.cgi?id=1508950 -addFilter ("^eccodes.x86_64: E: library-without-ldconfig-postin /usr/lib64/libeccodes.so.0.1") -addFilter ("^eccodes.x86_64: E: library-without-ldconfig-postun /usr/lib64/libeccodes.so.0.1") -addFilter ("^eccodes.x86_64: E: library-without-ldconfig-postin /usr/lib64/libeccodes_f90.so.0.1") -addFilter ("^eccodes.x86_64: E: library-without-ldconfig-postun /usr/lib64/libeccodes_f90.so.0.1") - -# this is an rpmlint bug -# see also comment #8 in the review request at https://bugzilla.redhat.com/show_bug.cgi?id=1508950 -addFilter ("eccodes-debuginfo.x86_64: E: useless-provides debuginfo\(build-id\)") - -# there is no full compatibility between the old grib_api and the new eccodes -# so only obsoletes can be used bu no provides. -# see also comment #21 in the review request at https://bugzilla.redhat.com/show_bug.cgi?id=1508950 -addFilter ("^eccodes.x86_64: W: obsolete-not-provided grib_api") -addFilter ("^eccodes-devel.x86_64: W: obsolete-not-provided grib_api-devel") -addFilter ("^eccodes-devel.x86_64: W: only-non-binary-in-usr-lib") - -# documentation is in a dedicated doc subpackage, -# so these warnings have no merit -addFilter ("python2-eccodes.x86_64: W: no-documentation") -addFilter ("eccodes-debugsource.x86_64: W: no-documentation") -addFilter ("eccodes-devel.x86_64: W: no-documentation") -addFilter ("eccodes-data.noarch: W: no-documentation") - -# temporary disable the man page warning, since it obscures other problems that -# may be more important, and it has already been reported upstream -# see also comment #3 in the review request at https://bugzilla.redhat.com/show_bug.cgi?id=1508950 -addFilter ("eccodes.x86_64: W: no-manual-page-for-binary") - -# addFilter ("") diff --git a/eccodes.spec b/eccodes.spec index e592ed4..bed4797 100644 --- a/eccodes.spec +++ b/eccodes.spec @@ -1,69 +1,85 @@ +%if 0%{?el8} +%undefine __cmake_in_source_build +%endif + Name: eccodes -Version: 2.21.0 -Release: 1%{?dist} +Version: 2.44.0 +Release: 2%{?dist} Summary: WMO data format decoding and encoding # force the shared libraries to have these so versions %global so_version 0.1 %global so_version_f90 0.1 -%global datapack_date 20200626 -# latest fedora-33 grib_api version is 1.27.0-9 +# 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 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 # what the final release of grib_api by upstream will be. # latest upstream grib_api release is 1.28.0 (05-Dec-2018) -# is was written on https://confluence.ecmwf.int/display/GRIB/Home +# as was written on https://confluence.ecmwf.int/display/GRIB/Home # (Note that this page is no longer available, 17-Oct-2020) %global final_grib_api_version 1.28.1-1%{?dist} -%ifarch i686 ppc64 s390x armv7hl +%ifarch i686 ppc64 armv7hl %global obsolete_grib_api 0 %else %global obsolete_grib_api 1 %endif # license remarks: -# Most of eccodes is licensed ASL 2.0 but a special case must be noted. +# Most of eccodes is licensed ASL 2.0 (which is identical to the SPDX +# identifier Apache-2.0) but a special case must be noted. # These 2 files: # src/grib_yacc.c # src/grib_yacc.h # contain a special exception clause that allows them to be # relicensed if they are included in a larger project -License: ASL 2.0 +License: Apache-2.0 + +URL: https://confluence.ecmwf.int/display/ECC/ecCodes+Home +Source0: https://confluence.ecmwf.int/download/attachments/45757960/eccodes-%{version}-Source.tar.gz -URL: https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home -Source0: https://software.ecmwf.int/wiki/download/attachments/45757960/eccodes-%{version}-Source.tar.gz # note: this data package is unversioned upstream but still it is updated # now and then so rename the datapack using the download date # to make it versioned in fedora -Source1: http://download.ecmwf.org/test-data/eccodes/eccodes_test_data.tar.gz#/eccodes_test_data_%{datapack_date}.tar.gz +Source1: https://get.ecmwf.int/repository/test-data/eccodes/eccodes_test_data.tar.gz#/eccodes_test_data_%{datapack_date}.tar.gz + +# a custom script to create man pages +Source2: eccodes_create_man_pages.sh # Add soversion to the shared libraries, since upstream refuses to do so -# https://software.ecmwf.int/issues/browse/SUP-1809 +# https://jira.ecmwf.int/browse/SUP-1809 Patch1: eccodes-soversion.patch # note that the requests to make the other issues public are filed here: -# https://software.ecmwf.int/issues/browse/SUP-2073 +# https://jira.ecmwf.int/browse/SUP-2073 # (and again, unfortunately this issue is not public) -BuildRequires: cmake3 -BuildRequires: gcc +BuildRequires: cmake3 >= 3.18 +BuildRequires: gcc-c++ BuildRequires: gcc-gfortran BuildRequires: /usr/bin/git BuildRequires: jasper-devel -BuildRequires: libjpeg-devel +BuildRequires: openjpeg2-devel >= 2.5.2 BuildRequires: libpng-devel BuildRequires: netcdf-devel -BuildRequires: openjpeg2-devel +BuildRequires: libaec-devel # For tests BuildRequires: perl(Getopt::Long) BuildRequires: perl(Test::More) BuildRequires: perl(File::Compare) -# the data is needed by the library and all tools provided in the main package -# the other way around, the data package could be installed without +# For creation of man pages +BuildRequires: help2man + +# The data is needed by the library and all tools provided in the main package. +# The other way around, the data package could be installed without # installing the base package. It will probably be pretty useless, # unless a user wishes to read and study all these grib and bufr # file format definitions. @@ -92,10 +108,6 @@ Obsoletes: grib_api < %{final_grib_api_version} # as explained in bugzilla #1562066 ExcludeArch: i686 -# as explained in bugzilla #1562076 -ExcludeArch: s390x -# as explained in bugzilla #1562084 -ExcludeArch: armv7hl %description ecCodes is a package developed by ECMWF which provides an application @@ -157,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 @@ -179,18 +259,12 @@ pushd %{_vpath_builddir} tar xf %SOURCE1 popd -# remove executable permissions from c files -chmod 644 tigge/*.c -chmod 644 tools/*.c - -# remove executable permissions from the authors and license file -chmod 644 AUTHORS LICENSE - %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: # -# * AEC , support for Adaptive Entropy Coding # * MEMFS , Memory based access to definitions/samples # * MEMORY_MANAGEMENT , enable memory management # * ALIGN_MEMORY , enable memory alignment @@ -210,26 +284,12 @@ chmod 644 AUTHORS LICENSE # * ENABLE_NETCDF # NetCDF is only needed to create the grib_to_netcdf convert tool # -# * ENABLE_PYTHON has value AUTO as default, so if python2 is available -# during a package build it will build an interface for it. -# To make sure it does not do so, explicitely switch it off. -# Python3 support has been moved to an additional project now, -# so python handling has been removed completely from this spec file. -# #-- Also add an explicit option to not use rpath # # Note: -DINSTALL_LIB_DIR=%%{_lib} is needed because otherwise # the library so files get installed in /usr/lib in stead # of /usr/lib64 on x86_64. -# Build with -fallow-argument-mismatch for gcc 10 compatibility -# otherwise the fortran interface fails to compile -# (thanks for the hint Orion) -# Reported upstream at https://jira.ecmwf.int/browse/SUP-3081 -# note that setting FCFLAGS is not sufficient, i.e. this doesn't work: -# export FCFLAGS="%%{build_fflags} -fallow-argument-mismatch" -# defining the -DCMAKE_Fortran_FLAGS for camke is required to let it compile. - # added -DCMAKE_Fortran_FLAGS="-fPIC" # because the koji build crashes with the error that it needs this setting # when I try to build for armv7hl (other archs do not complain ......) @@ -245,11 +305,7 @@ chmod 644 AUTHORS LICENSE -DCMAKE_SKIP_INSTALL_RPATH=TRUE \ -DECCODES_SOVERSION=%{so_version} \ -DECCODES_SOVERSION_F90=%{so_version_f90} \ - -DCMAKE_Fortran_FLAGS="-fPIC" \ - -DENABLE_PYTHON=OFF - -# not needed anymore (solved in the cmake file now) -# -DCMAKE_Fortran_FLAGS="-fallow-argument-mismatch" + -DCMAKE_Fortran_FLAGS="-fPIC" # note the final '..' is no longer needed to the cmake3 call. # this is now hidden in the %%cmake3 macro @@ -275,8 +331,6 @@ rm %{buildroot}%{_datadir}/%{name}/definitions/installDefinitions.sh # copy the html documentation to the install directory mkdir -p %{buildroot}%{_datadir}/doc/%{name}/ cp -r html %{buildroot}%{_datadir}/doc/%{name}/ -# and remove an unneeded Makefile from the html directory -rm %{buildroot}%{_datadir}/doc/%{name}/html/Makefile.am # copy the example scripts/programs to the install directory # but dont copy the shell scripts and Makefiles, since these @@ -290,6 +344,21 @@ cp examples/C/*.c %{buildroot}%{_datadir}/doc/%{name}/examples/C mkdir -p %{buildroot}%{_datadir}/doc/%{name}/examples/F90 cp examples/F90/*.f90 %{buildroot}%{_datadir}/doc/%{name}/examples/F90 +# create man pages for the tools that support the --help option +# since upstream does not provide them. +# Source2 points to the script eccodes_create_man_pages.sh +# used to generate the man pages. +LD_LIBRARY_PATH=%{buildroot}/%{_libdir} \ +%{SOURCE2} %{_vpath_builddir}/bin \ + %{_vpath_builddir}/man + +# copy the created man pages to the install directory +mkdir -p %{buildroot}%{_datadir}/man/man1 +cp %{_vpath_builddir}/man/*.1 %{buildroot}%{_datadir}/man/man1 + +# Fix permissions +chmod 644 AUTHORS LICENSE + # also not needed for x86_64 # maybe they fixed it for all archs? #%%ifarch i686 armv7hl @@ -312,6 +381,8 @@ sed -i 's|^libs=.*$|libs=-L${libdir} -leccodes_f90 -leccodes|g' %{buildroot}/%{_ %ldconfig_scriptlets + +##################################################### %check cd %{_vpath_builddir} @@ -332,9 +403,10 @@ 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* %files devel %{_includedir}/* @@ -351,11 +423,195 @@ 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 + +* Wed Jul 24 2024 Jos de Kloe - 2.36.0-1 +- Update to 2.36.0 + +* Wed Jul 17 2024 Fedora Release Engineering - 2.35.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sat May 04 2024 Jos de Kloe - 2.35.0-1 +- Update to 2.35.0 + +* Mon Mar 04 2024 Jos de Kloe - 2.34.1-2 +- Require openjpeg2-devel >= 2.5.2 (needed to build for f40) + +* Tue Feb 27 2024 Jos de Kloe - 2.34.1-1 +- Update to 2.34.1 + +* Wed Jan 24 2024 Fedora Release Engineering - 2.33.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 2.33.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Dec 17 2023 Orion Poplawski - 2.33.0-1 +- Update to 2.33.0 + +* Sun Nov 26 2023 Jos de Kloe - 2.32.1-2 +- rebuild after so name jump of libjasper + +* Thu Nov 02 2023 Jos de Kloe - 2.32.1-1 +- Upgrade to upstream version 2.32.1 and add updated test_data package + +* Thu Jul 27 2023 Jos de Kloe - 2.31.0-1 +- Upgrade to upstream version 2.31.0 + +* Wed Jul 19 2023 Fedora Release Engineering - 2.30.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sun Apr 16 2023 Jos de Kloe - 2.30.0-1 +- Upgrade to upstream version 2.30.0 + +* Sun Mar 26 2023 Jos de Kloe - 2.29.0-1 +- Upgrade to upstream version 2.29.0 + Note that the source code now uses g++ in stead of gcc for compilation. + +* Sun Feb 12 2023 Jos de Kloe - 2.28.0-1 +- Upgrade to upstream version 2.28.0 + +* Thu Jan 19 2023 Fedora Release Engineering - 2.27.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Dec 10 2022 Jos de Kloe - 2.27.1-1 +- Upgrade to upstream version 2.27.1 and SPDX migration + +* Wed Sep 14 2022 Jos de Kloe - 2.27.0-2 +- fix problem with use of _sourcedir + +* Mon Aug 29 2022 Jos de Kloe - 2.27.0-1 +- Upgrade to upstream version 2.27.0 +- Added generation of man pages for tools that support the --help option + +* Thu Jul 21 2022 Fedora Release Engineering - 2.26.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu May 26 2022 Jos de Kloe - 2.26.0-1 +- Upgrade to upstream version 2.26.0 + +* Fri May 20 2022 Sandro Mani - 2.25.0-2 +- Rebuild for gdal-3.5.0 and/or openjpeg-2.5.0 + +* Sun Mar 06 2022 Jos de Kloe - 2.25.0-1 +- Upgrade to upstream version 2.25.0 +- Add new BR libaec-devel + +* Mon Feb 14 2022 Mamoru TASAKA - 2.24.0-4 +- jasper3: use wrapper entry point for jpeg2000 decoder + +* Sun Feb 13 2022 Josef Ridky - 2.24.0-3 +- Rebuilt for libjasper.so.6 + +* Thu Jan 20 2022 Fedora Release Engineering - 2.24.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Dec 09 2021 Jos de Kloe - 2.24.0-1 +- Upgrade to upstream version 2.24.0 +- Remove no longer needed patch2 (grib_to_netcdf test fix) + +* Wed Dec 1 2021 Mamoru TASAKA - 2.23.0-2 +- Patch grib_api_internal.h for big endian test suite issue (upstream bug SUP-2410) + +* Thu Sep 02 2021 Jos de Kloe - 2.23.0-1 +- Upgrade to upstream version 2.23.0 + +* Wed Aug 11 2021 Orion Poplawski - 2.22.1-4 +- Rebuild for netcdf 4.8.0 + +* Tue Aug 10 2021 Orion Poplawski - 2.22.1-3 +- Rebuild for netcdf 4.8.0 + +* Wed Jul 21 2021 Fedora Release Engineering - 2.22.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Sat Jun 19 2021 Jos de Kloe - 2.22.1-1 +- Upgrade to upstream version 2.22.1 + +* Mon May 24 2021 Jos de Kloe - 2.22.0-1 +- Upgrade to upstream version 2.22.0 + * Sun Mar 28 2021 Jos de Kloe - 2.21.0-1 - Upgrade to upstream version 2.21.0 @@ -473,7 +729,7 @@ ctest3 -V %{?_smp_mflags} - Implement so version because upstream refuses to do so - Add fix for test failure 184 and ldconfig_scriptlets and move unversioned so file to devel package - as suggested by Robert-André Mauchin + as suggested by Robert-Andre Mauchin - Add a documentation and a data sub-package - Change the license and add a note explaining why this was done diff --git a/eccodes_create_man_pages.sh b/eccodes_create_man_pages.sh new file mode 100755 index 0000000..6ca4bfe --- /dev/null +++ b/eccodes_create_man_pages.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +# a simple script to create man pages for tools +# provided in the bin dir after installation of eccodes. +# +# Written by: J. de Kloe, 2022. + +BINDIR=$1 +DESTDIR=$2 + +if [ ! -e "$DESTDIR" ] ; then + mkdir -p "$DESTDIR" +fi + +for TOOL in "$BINDIR"/* +do + BASENAME=$(basename "$TOOL") + help2man --no-info --output="${DESTDIR}/${BASENAME}.1" "${TOOL}" +done + +# currently (29-Aug-2022) help2man fails on these 5 tools: +# help2man: can't get `--help' info from ../bin/bufr_count +# help2man: can't get `--help' info from ../bin/codes_count +# help2man: can't get `--help' info from ../bin/grib2ppm +# help2man: can't get `--help' info from ../bin/grib_count +# help2man: can't get `--help' info from ../bin/gts_count + +echo "done" diff --git a/sources b/sources index c14dedb..4dc5dc6 100644 --- a/sources +++ b/sources @@ -1,3 +1,4 @@ -SHA512 (eccodes_test_data_20200626.tar.gz) = 553eb69f3664c2f847c5ee7a84066e814ef03b3148ae2c13d845891038336daca815673650f1d06efee4f4a1ddaa4326f2ddfbe81d29382e3f25608b249b8d9e -SHA512 (eccodes-2.20.0-Source.tar.gz) = ea2953987c4713b230e6d75ad5ae1dbbeea2633d1caf60614ececfe2fabe07d7c794baf120f5df82716f37b2540f7f6a6cd82f04070a78bf65dc7d499ca50dc0 -SHA512 (eccodes-2.21.0-Source.tar.gz) = f2ba8361b99800646a92f5f5beb7ec2facf2ee3b8a3f7985d9681a23b2faae778004c8c688ebe4b3a8492e99c76422c66ecc8943d12d3342d5bc1d38362ccf06 +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