Compare commits

...
Sign in to create a new pull request.

14 commits

Author SHA1 Message Date
Jos de Kloe
89b392c3f7 update to version 2.36.0 2024-09-01 12:01:19 +02:00
Jos de Kloe
96505a78ad import rawhide changes 2023-12-29 13:56:50 +01:00
Jos de Kloe
d9c099ee71 Upgrade to upstream version 2.31.0. See user request bg2236797 2023-09-09 15:27:49 +02:00
Jos de Kloe
cdfb8e01cc upgrade to new upstream version 2.30.0, and ensure AEC is enabled, and SPDX license migration. 2023-05-18 17:14:46 +02:00
Jos de Kloe
b12b53ab4b add eccodes-test-grib_to_netcdf.patch 2021-10-11 20:50:04 +02:00
Jos de Kloe
8f1bff3caf update to version 2.23.0 for epel8 2021-10-11 20:38:37 +02:00
Troy Dawson
dc5f405a24 remove package.cfg per new epel-playground policy 2020-09-24 17:06:37 +00:00
Jos de Kloe
e37933b64a updated sources file 2020-06-27 15:02:09 +02:00
Jos de Kloe
a9b3d7b5ad adapt to epel8 2020-06-27 14:20:30 +02:00
Jos de Kloe
9c3a270a4f Merge branch 'master' into epel8 2020-06-27 14:19:35 +02:00
Jos de Kloe
9d279afcae updated sources list 2019-10-27 15:52:56 +01:00
Jos de Kloe
82b0b3cbf1 first epel8 version 2019-10-27 15:48:06 +01:00
Orion Poplawski
da55441954 Merge branch 'master' into epel8 2019-09-17 09:09:28 -06:00
Gwyn Ciesla
1b35c600b0 "Adding package.cfg file" 2019-09-17 09:45:57 -05:00
10 changed files with 334 additions and 187 deletions

15
.gitignore vendored
View file

@ -1,11 +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.33.0-Source.tar.gz
/eccodes_test_data_20231216.tar.gz
/eccodes-2.36.0-Source.tar.gz
/eccodes_test_data_20240217.tar.gz

View file

@ -12,3 +12,18 @@ messages in the following formats:
For further details see:
https://confluence.ecmwf.int/display/ECC/What+is+ecCodes
Note for end users:
epel policy is to keep software versions stable for a given epel version
unless there is a strong reason why an update is needed
(for example security issues or malfunction).
Since eccodes depends on a large collection of table definitions
that are included in the package, after some time these tables
(holding the WMO file format definitions for GRIB and BUFR files,
which are updated every 6 months) will become outdated, and new files
using these formats can not be used.
If this is a problem for you, please raise the issue in bugzilla.
Since this is a malfunction from user perspective this is a
reason to update the package.

View file

@ -1,32 +0,0 @@
--- eccodes-2.18.0-Source.unchanged/src/grib_api_prototypes.h 2020-06-24 11:11:27.000000000 +0200
+++ eccodes-2.18.0-Source/src/grib_api_prototypes.h 2020-06-27 09:23:17.543758993 +0200
@@ -860,8 +860,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.18.0-Source.unchanged/src/grib_ieeefloat.c 2020-06-24 11:11:27.000000000 +0200
+++ eccodes-2.18.0-Source/src/grib_ieeefloat.c 2020-06-27 09:23:17.545758944 +0200
@@ -443,14 +443,14 @@ unsigned long grib_ieee_to_long(double x
* grib_encode_unsigned_long.
*/
-unsigned long grib_ieee64_to_long(double x)
+uint64_t grib_ieee64_to_long(double x)
{
unsigned long lval;
memcpy(&lval, &x, 8);
return lval;
}
-double grib_long_to_ieee64(unsigned long x)
+double grib_long_to_ieee64(uint64_t x)
{
double dval;
memcpy(&dval, &x, 8);

View file

@ -1,23 +1,23 @@
--- eccodes-2.18.0-Source.unchanged/fortran/CMakeLists.txt 2020-06-24 11:11:27.000000000 +0200
+++ eccodes-2.18.0-Source/fortran/CMakeLists.txt 2020-06-27 09:23:33.020376062 +0200
@@ -45,7 +45,9 @@ if( HAVE_FORTRAN )
ecbuild_add_library( TARGET eccodes_f90
SOURCES grib_fortran.c grib_f90.f90 eccodes_f90.f90 grib_kinds.h
GENERATED grib_f90.f90 eccodes_f90.f90
- LIBS eccodes )
+ LIBS eccodes
+ SOVERSION ${ECCODES_SOVERSION_F90})
+
--- eccodes-2.35.0-Source.unchanged/fortran/CMakeLists.txt 2024-04-11 12:13:21.000000000 +0200
+++ eccodes-2.35.0-Source/fortran/CMakeLists.txt 2024-05-04 16:18:42.732436699 +0200
@@ -46,7 +46,8 @@ if( HAVE_FORTRAN )
GENERATED grib_f90.f90 eccodes_f90.f90
PUBLIC_INCLUDES $<BUILD_INTERFACE:${CMAKE_Fortran_MODULE_DIRECTORY}>
$<INSTALL_INTERFACE:${INSTALL_INCLUDE_DIR}>
- 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!
target_include_directories( eccodes_f90 PUBLIC $<INSTALL_INTERFACE:${INSTALL_INCLUDE_DIR}> )
--- eccodes-2.18.0-Source.unchanged/src/CMakeLists.txt 2020-06-24 11:11:27.000000000 +0200
+++ eccodes-2.18.0-Source/src/CMakeLists.txt 2020-06-27 09:27:13.845630950 +0200
@@ -442,6 +442,7 @@ ecbuild_add_library( TARGET eccodes
GENERATED grib_api_version.c
LIBS ${ECCODES_EXTRA_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${CMATH_LIBRARIES}
TEMPLATES ${grib_api_extra_srcs}
+ SOVERSION ${ECCODES_SOVERSION}
--- eccodes-2.35.0-Source.unchanged/src/CMakeLists.txt 2024-04-11 12:13:21.000000000 +0200
+++ eccodes-2.35.0-Source/src/CMakeLists.txt 2024-05-04 16:18:42.733436675 +0200
@@ -416,6 +416,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}
+
INSTALL_HEADERS_LIST
grib_api.h
eccodes.h

View file

@ -0,0 +1,15 @@
--- eccodes-2.23.0-Source.unchanged/tests/grib_to_netcdf.sh 2021-08-25 11:35:41.000000000 +0200
+++ eccodes-2.23.0-Source/tests/grib_to_netcdf.sh 2021-09-02 10:31:33.417295119 +0200
@@ -64,8 +64,10 @@ if [ $ECCODES_ON_WINDOWS -eq 0 ]; then
set -e
if [ $stat -eq 0 ]; then
have_netcdf4=1
- res=`${tools_dir}/grib_get -TA -p identifier,versionNumberOfSuperblock $tempNetcdf`
- [ "$res" = "HDF5 0" ]
+# res=`${tools_dir}/grib_get -TA -p identifier,versionNumberOfSuperblock $tempNetcdf`
+# [ "$res" = "HDF5 0" ]
+ res=`${tools_dir}/grib_get -TA -p identifier $tempNetcdf`
+ [ "$res" = "HDF5" ]
fi
fi

View file

@ -0,0 +1,47 @@
--- eccodes-2.36.0-Source.unchanged/src/accessor/grib_accessor_class_bufr_elements_table.cc 2024-06-24 12:52:58.000000000 +0200
+++ eccodes-2.36.0-Source/src/accessor/grib_accessor_class_bufr_elements_table.cc 2024-07-23 19:38:30.211681092 +0200
@@ -1,4 +1,3 @@
-
/*
* (C) Copyright 2005- ECMWF.
*
@@ -28,7 +27,7 @@ static void thread_init()
static int once = 0;
static omp_nest_lock_t mutex1;
-void thread_init()
+static void thread_init()
{
GRIB_OMP_CRITICAL(lock_grib_accessor_class_bufr_elements_table_c)
{
--- eccodes-2.36.0-Source.unchanged/src/accessor/grib_accessor_class_codetable.cc 2024-06-24 12:52:58.000000000 +0200
+++ eccodes-2.36.0-Source/src/accessor/grib_accessor_class_codetable.cc 2024-07-23 19:38:30.248680436 +0200
@@ -20,7 +20,7 @@ grib_accessor_class* grib_accessor_class
static pthread_once_t once = PTHREAD_ONCE_INIT;
static pthread_mutex_t mutex1 = PTHREAD_MUTEX_INITIALIZER;
-void thread_init()
+static void thread_init()
{
pthread_mutexattr_t attr;
pthread_mutexattr_init(&attr);
@@ -32,7 +32,7 @@ void thread_init()
static int once = 0;
static omp_nest_lock_t mutex1;
-void thread_init()
+static void thread_init()
{
GRIB_OMP_CRITICAL(lock_grib_accessor_class_codetable_c)
{
--- eccodes-2.36.0-Source.unchanged/src/accessor/grib_accessor_class_smart_table.cc 2024-06-24 12:52:58.000000000 +0200
+++ eccodes-2.36.0-Source/src/accessor/grib_accessor_class_smart_table.cc 2024-07-23 19:38:30.248680436 +0200
@@ -30,7 +30,7 @@ static void thread_init()
static int once = 0;
static omp_nest_lock_t mutex;
-void thread_init()
+static void thread_init()
{
GRIB_OMP_CRITICAL(lock_grib_accessor_class_smart_table_c)
{

View file

@ -1,56 +1,13 @@
# 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 ->")
# Disable warning on duplicate files.
# This package uses a huge number (1990 cases at the time of wrinting)
# duplicates in the tables definitions, and patching this is totally
# out of scope for my limited time.
addFilter(r" W: files-duplicate ")
addFilter(r" E: files-duplicated-waste ")
# 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")
# Disable warnings on missing man pages.
# The tools that have --help output have been fixed by using help2man.
# The remaining ones have no help output whatsoever and are not easy to fix.
addFilter(r" W: no-manual-page-for-binary ")
# 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 ("")

View file

@ -1,56 +1,74 @@
%if 0%{?el8}
%undefine __cmake_in_source_build
%endif
Name: eccodes
Version: 2.18.0
Release: 2%{?dist}
Version: 2.36.0
Release: 1%{?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-32 grib_api version is 1.27.0-7
# 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 20240217
# 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)
# see 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
# Support 32-bit
# https://software.ecmwf.int/issues/browse/SUP-1813
# (unfortunately this issue is not public)
Patch1: eccodes-32bit.patch
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
Patch2: eccodes-soversion.patch
# https://jira.ecmwf.int/browse/SUP-1809
Patch1: eccodes-soversion.patch
# Add a patch to solve the multiple definition of thread_init()
# that was introduced in eccodes v2.36.0
# This patch was provided upstream on 22-Jul-2024, see this github commit:
# https://github.com/ecmwf/eccodes/commit/809fb997282dd97058862261b1a36647f919f3b2
Patch2: eccodes-thread-init-fix.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: gcc-c++
BuildRequires: gcc-gfortran
BuildRequires: /usr/bin/git
BuildRequires: jasper-devel
@ -58,14 +76,18 @@ BuildRequires: libjpeg-devel
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.
@ -94,10 +116,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
@ -176,24 +194,15 @@ in C, and Fortran 90.
%autosetup -n %{name}-%{version}-Source -p1
# unpack the test data below build
mkdir build
cd build
mkdir -p %{_vpath_builddir}
pushd %{_vpath_builddir}
tar xf %SOURCE1
# remove executable permissions from c files
cd ..
chmod 644 tigge/*.c
chmod 644 tools/*.c
# remove executable permissions from the authors and license file
chmod 644 AUTHORS LICENSE
popd
%build
cd build
#-- 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
@ -213,25 +222,16 @@ cd build
# * 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 ......)
# I have no idea what causes this difference in behaviour.
%cmake3 -DINSTALL_LIB_DIR=%{_lib} \
-DENABLE_ECCODES_OMP_THREADS=ON \
@ -243,20 +243,20 @@ cd build
-DCMAKE_SKIP_INSTALL_RPATH=TRUE \
-DECCODES_SOVERSION=%{so_version} \
-DECCODES_SOVERSION_F90=%{so_version_f90} \
-DCMAKE_Fortran_FLAGS="-fallow-argument-mismatch" \
-DENABLE_PYTHON=OFF \
..
-DCMAKE_Fortran_FLAGS="-fPIC"
%make_build
# note the final '..' is no longer needed to the cmake3 call.
# this is now hidden in the %%cmake3 macro
%cmake_build
# copy some include files to the build dir
# that are otherwise not found when creating the debugsource subpackage
cd ..
cp fortran/eccodes_constants.h build/fortran/
cp fortran/grib_api_constants.h build/fortran/
# that are otherwise not found when creating the debugsource sub-package
cp fortran/eccodes_constants.h %{_vpath_builddir}/fortran/
cp fortran/grib_api_constants.h %{_vpath_builddir}/fortran/
%install
%make_install -C build
%cmake_install
mkdir -p %{buildroot}%{_fmoddir}
mv %{buildroot}%{_includedir}/*.mod %{buildroot}%{_fmoddir}/
@ -269,8 +269,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
@ -284,6 +282,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
@ -307,7 +320,7 @@ sed -i 's|^libs=.*$|libs=-L${libdir} -leccodes_f90 -leccodes|g' %{buildroot}/%{_
%ldconfig_scriptlets
%check
cd build
cd %{_vpath_builddir}
# notes:
# * the LD_LIBRARY_PATH setting is required to let the tests
@ -317,6 +330,8 @@ cd build
# 'eccodes_t_bufr_dump_(de|en)code_C' tests run.
# These tests compile on the fly generated C code, and
# without this setting the loader does not find the libraries.
# * this is a 'non-standard' use of ctest3 so it does currently not
# work with the %%ctest macro.
LD_LIBRARY_PATH=%{buildroot}/%{_libdir} \
LIBRARY_PATH=%{buildroot}/%{_libdir} \
@ -327,6 +342,7 @@ ctest3 -V %{?_smp_mflags}
%doc README.md ChangeLog AUTHORS NEWS NOTICE
%{_bindir}/*
%{_libdir}/*.so.*
%{_mandir}/man1/*.1*
%files devel
%{_includedir}/*
@ -348,6 +364,120 @@ ctest3 -V %{?_smp_mflags}
%doc %{_datadir}/doc/%{name}/
%changelog
* Sun Sep 01 2024 Jos de Kloe <josdekloe@gmail.com> - 2.36.0-1
- Update to 2.36.0
* Sun Dec 17 2023 Orion Poplawski <orion@nwra.com> - 2.33.0-1
- Update to 2.33.0
* Sun Nov 26 2023 Jos de Kloe <josdekloe@gmail.com> - 2.32.1-2
- rebuild after so name jump of libjasper
* Thu Nov 02 2023 Jos de Kloe <josdekloe@gmail.com> - 2.32.1-1
- Upgrade to upstream version 2.32.1 and add updated test_data package
* Thu Jul 27 2023 Jos de Kloe <josdekloe@gmail.com> - 2.31.0-1
- Upgrade to upstream version 2.31.0
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.30.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Sun Apr 16 2023 Jos de Kloe <josdekloe@gmail.com> - 2.30.0-1
- Upgrade to upstream version 2.30.0
* Sun Mar 26 2023 Jos de Kloe <josdekloe@gmail.com> - 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 <josdekloe@gmail.com> - 2.28.0-1
- Upgrade to upstream version 2.28.0
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.27.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Dec 10 2022 Jos de Kloe <josdekloe@gmail.com> - 2.27.1-1
- Upgrade to upstream version 2.27.1 and SPDX migration
* Wed Sep 14 2022 Jos de Kloe <josdekloe@gmail.com> - 2.27.0-2
- fix problem with use of _sourcedir
* Mon Aug 29 2022 Jos de Kloe <josdekloe@gmail.com> - 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 <releng@fedoraproject.org> - 2.26.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu May 26 2022 Jos de Kloe <josdekloe@gmail.com> - 2.26.0-1
- Upgrade to upstream version 2.26.0
* Fri May 20 2022 Sandro Mani <manisandro@gmail.com> - 2.25.0-2
- Rebuild for gdal-3.5.0 and/or openjpeg-2.5.0
* Sun Mar 06 2022 Jos de Kloe <josdekloe@gmail.com> - 2.25.0-1
- Upgrade to upstream version 2.25.0
- Add new BR libaec-devel
* Mon Feb 14 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 2.24.0-4
- jasper3: use wrapper entry point for jpeg2000 decoder
* Sun Feb 13 2022 Josef Ridky <jridky@redhat.com> - 2.24.0-3
- Rebuilt for libjasper.so.6
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.24.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Dec 09 2021 Jos de Kloe <josdekloe@gmail.com> - 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 <mtasaka@fedoraproject.org> - 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 <josdekloe@gmail.com> - 2.23.0-1
- Upgrade to upstream version 2.23.0
* Wed Aug 11 2021 Orion Poplawski <orion@nwra.com> - 2.22.1-4
- Rebuild for netcdf 4.8.0
* Tue Aug 10 2021 Orion Poplawski <orion@nwra.com> - 2.22.1-3
- Rebuild for netcdf 4.8.0
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.22.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Sat Jun 19 2021 Jos de Kloe <josdekloe@gmail.com> - 2.22.1-1
- Upgrade to upstream version 2.22.1
* Mon May 24 2021 Jos de Kloe <josdekloe@gmail.com> - 2.22.0-1
- Upgrade to upstream version 2.22.0
* Sun Mar 28 2021 Jos de Kloe <josdekloe@gmail.com> - 2.21.0-1
- Upgrade to upstream version 2.21.0
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.20.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Sat Jan 23 2021 Jos de Kloe <josdekloe@gmail.com> - 2.20.0-1
- Upgrade to upstream version 2.20.0
* Fri Nov 13 2020 Jos de Kloe <josdekloe@gmail.com> - 2.19.1-1
- Upgrade to upstream version 2.19.1
* Sat Oct 17 2020 Jos de Kloe <josdekloe@gmail.com> - 2.19.0-1
- Upgrade to upstream version 2.19.0 and remove patch 1
- Add -fpic to the fortran flags (needed for compiling on armv7hl)
* Wed Aug 05 2020 Jos de Kloe <josdekloe@gmail.com> - 2.18.0-5
- Adapt the spec file to use the new style cmake macros
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.18.0-4
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.18.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Sat Jun 27 2020 Jos de Kloe <josdekloe@gmail.com> - 2.18.0-2
- Rebuild after fixing mistake in ExcludeArch statements
@ -439,7 +569,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

28
eccodes_create_man_pages.sh Executable file
View file

@ -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"

14
sources
View file

@ -1,10 +1,4 @@
SHA512 (eccodes_test_data_20181010.tar.gz) = 24c24ec9e01d230cf542abe5c131f05b8e627dd9d170c666628bb5fd8f7b1a6aa11a35456b8d742c59f54c6aabac78658efd68b0c50779d466aba3d35b4a0231
SHA512 (eccodes-2.12.0-Source.tar.gz) = 3dc876bde2a6c81a43bcc64ecb12969f28eae3cfbc8fed7da7797fc722dc8b446ac7be5178f55b7d395653e0718437b842296a7d4d11b372b8692404c76aa4ad
SHA512 (eccodes-2.12.5-Source.tar.gz) = ab1267dffdb3d0dbcdd65f23db2d77bc7bd8f3241083374c75bc62ebf70b7d29d8af9f657d6da05a47e363151c8d995adfadca7bbf95ebb24a27303d80f081a4
SHA512 (eccodes-2.13.0-Source.tar.gz) = bbde1b7092caad20772b21cd06040938f99e763f77a6622820e3cc2fba5c0765178822be4b3c33b41a927757da85f311c0c4f057500ca58d257dde304e7eeca3
SHA512 (eccodes-2.14.1-Source.tar.gz) = 864b530642884baa0c3c56eee646a61af7d659e711c7ed4d08a5cc2d68812ecb96b8efabf40c4c9d5dcb3a0edeb1caddffea2ec3438571d3e90dc9cca1dabebe
SHA512 (eccodes-2.15.0-Source.tar.gz) = 1d906c5889773b4b6c5e9a967c2e20afb4ecc3ce8f4d496ad7b89417eec8783da9a0c8a9c14796f0c9c24b1f156b9d65408bb9a02a5e0c988a45478350aeae65
SHA512 (eccodes-2.16.0-Source.tar.gz) = 6e8768824152d8782c1457cfe79daed32114d1b4694d2843bd02a8aa63c42ccc435b53f7db6942239b3e56999fbaaba4ecef345d39fc5c5f7a5d20ceecf4422a
SHA512 (eccodes-2.17.0-Source.tar.gz) = 362c6ae23c23326a3a969c6ba109bdf96ba449cba899030a69efb03e53870f6c90e3f6dbf9d0d2f94febf3a661e607390e8b16d58e64066c4fa941af554ebee7
SHA512 (eccodes-2.18.0-Source.tar.gz) = 8daf7f2e1aed055ca6402881f5473e4ae90ba24cc779005f57f99adc7468da459c7539e64f455e2122dd83df29992fd7a6dad2700c8331c4083226e091fbb629
SHA512 (eccodes_test_data_20200626.tar.gz) = 553eb69f3664c2f847c5ee7a84066e814ef03b3148ae2c13d845891038336daca815673650f1d06efee4f4a1ddaa4326f2ddfbe81d29382e3f25608b249b8d9e
SHA512 (eccodes-2.33.0-Source.tar.gz) = 4afc2a9e59da54093eb318a1447904faac7371df980a57ce21e04ef98d1d7e02f10ef363a497d29f086b1f17a86ba4e46bf14898cd227eae8bbe0297c62b4183
SHA512 (eccodes_test_data_20231216.tar.gz) = 86767a308841849c7ece006e9f6c68123dc07d8640b038e25529b91ab495d3f10ad5356e9100ef238de6756c67917be13a676f4ab0708fb381021c746e00183e
SHA512 (eccodes-2.36.0-Source.tar.gz) = c18df75593af6461dfa64d717ec5a6af9492bc5a851b87f13ca759343abfbf21ec6e3e5978654f95641e86429b9b105bceb9414f8d925275d2a1b305441905d0
SHA512 (eccodes_test_data_20240217.tar.gz) = c495a71f18ea01aa480b0920fbfce8d370574d412c95eb04823d0d4544fed0e2dba8e98d63e2be0a3c33a127840e7262d391373fab9304a773e9764457ade5a7