Compare commits

...

2 Commits
epel9 ... i10ce

24
.gitignore vendored

@ -1,23 +1 @@
netcdf-4.1.1.tar.gz
/netcdf-4.1.2.tar.gz
/netcdf-4.1.3.tar.gz
/netcdf-4.2-rc1.tar.gz
/netcdf-4.2-rc2.tar.gz
/netcdf-4.2.tar.gz
/netcdf-4.2.1-rc1.tar.gz
/netcdf-4.2.1.tar.gz
/netcdf-4.2.1.1.tar.gz
/netcdf-4.3.0.tar.gz
/v4.3.1.1.tar.gz
/netcdf-4.3.2.tar.gz
/netcdf-4.3.3.tar.gz
/netcdf-4.3.3.1.tar.gz
/netcdf-4.4.0.tar.gz
/netcdf-4.4.1.tar.gz
/netcdf-4.4.1.1.tar.gz
/netcdf-4.6.2.1.tar.gz
/netcdf-4.6.3.tar.gz
/netcdf-4.7.0.tar.gz
/netcdf-4.7.3.tar.gz
/netcdf-4.8.0.tar.gz
/netcdf-4.8.1.tar.gz
SOURCES/netcdf-4.9.2.tar.gz

@ -0,0 +1 @@
0eb6fdcbd725bd53bb9e98405a2cb15f3c511ce2 SOURCES/netcdf-4.9.2.tar.gz

@ -0,0 +1,37 @@
From d73830f682c243e25a5bcfb34ecaff4b66bda536 Mon Sep 17 00:00:00 2001
From: Orion Poplawski <orion@nwra.com>
Date: Fri, 16 Dec 2022 20:53:48 -0700
Subject: [PATCH] Avoid soname versions for plugins
---
plugins/Makefile.am | 17 +----------------
1 file changed, 1 insertion(+), 16 deletions(-)
diff --git a/plugins/Makefile.am b/plugins/Makefile.am
index 762da932d9..f2a034db66 100644
--- a/plugins/Makefile.am
+++ b/plugins/Makefile.am
@@ -4,22 +4,7 @@
# Put Together AM_CPPFLAGS and AM_LDFLAGS
include $(top_srcdir)/lib_flags.am
-# This linker flag specifies libtool version info.
-# See http://www.gnu.org/software/libtool/manual/libtool.html#Libtool-versioning
-# for information regarding incrementing `-version-info`.
-plugin_version_info = -version-info 0:0:0
-
-AM_LDFLAGS += -module -shared -export-dynamic $(NOUNDEFINED)
-
-if ISMINGW
- AM_LDFLAGS += -avoid-version
-else !ISMINGW
-if ISCYGWIN
-AM_LDFLAGS += -avoid-version
-else !ISCYGWIN
-AM_LDFLAGS += $(plugin_version_info)
-endif !ISCYGWIN
-endif !ISMINGW
+AM_LDFLAGS += -module -avoid-version -shared -export-dynamic $(NOUNDEFINED)
# Create an alternate directory if not installing or for noinst installs.
ALTPLUGINDIR = ${abs_top_builddir}/plugins/plugindir

@ -0,0 +1,88 @@
From 7a2813be7242f736e73f6c84c539ca06048be169 Mon Sep 17 00:00:00 2001
From: JohnD <john.donoghue@ieee.org>
Date: Tue, 12 Dec 2023 18:16:31 -0500
Subject: [PATCH] Add H5FD_http_finalize function and call on hdf5 finalize
Fixes Unidata#2617
---
libhdf5/H5FDhttp.c | 28 +++++++++++++++++++++++++---
libhdf5/H5FDhttp.h | 2 ++
libhdf5/hdf5dispatch.c | 3 +++
3 files changed, 30 insertions(+), 3 deletions(-)
diff --git a/libhdf5/H5FDhttp.c b/libhdf5/H5FDhttp.c
index c6658f46f2..d48aeb8c3e 100644
--- a/libhdf5/H5FDhttp.c
+++ b/libhdf5/H5FDhttp.c
@@ -239,6 +239,31 @@ H5FD_http_init(void)
return H5FD_HTTP_g;
} /* end H5FD_http_init() */
+
+/*-------------------------------------------------------------------------
+ * Function: H5FD_http_finalize
+ *
+ * Purpose: Free this driver by unregistering the driver with the
+ * library.
+ *
+ * Returns: Non-negative on success or negative on failure
+ *
+ * Programmer: John Donoghue
+ * Tuesday, December 12, 2023
+ *
+ *-------------------------------------------------------------------------
+ */
+EXTERNL hid_t
+H5FD_http_finalize(void)
+{
+ /* Reset VFL ID */
+ if (H5FD_HTTP_g)
+ H5FDunregister(H5FD_HTTP_g);
+ H5FD_HTTP_g = 0;
+
+ return H5FD_HTTP_g;
+} /* end H5FD_http_finalize() */
+
/*---------------------------------------------------------------------------
* Function: H5FD_http_term
@@ -256,9 +281,6 @@ H5FD_http_init(void)
static herr_t
H5FD_http_term(void)
{
- /* Reset VFL ID */
- H5FD_HTTP_g = 0;
-
return 0;
} /* end H5FD_http_term() */
#endif
diff --git a/libhdf5/H5FDhttp.h b/libhdf5/H5FDhttp.h
index f3c46dca59..ee3d283705 100644
--- a/libhdf5/H5FDhttp.h
+++ b/libhdf5/H5FDhttp.h
@@ -44,9 +44,11 @@ extern "C" {
#if 0
H5_DLL hid_t H5FD_http_init(void);
+H5_DLL hid_t H5FD_http_finalize(void);
H5_DLL herr_t H5Pset_fapl_http(hid_t fapl_id);
#else
EXTERNL hid_t H5FD_http_init(void);
+EXTERNL hid_t H5FD_http_finalize(void);
EXTERNL herr_t H5Pset_fapl_http(hid_t fapl_id);
#endif
diff --git a/libhdf5/hdf5dispatch.c b/libhdf5/hdf5dispatch.c
index 130f0f0766..1e8f980daa 100644
--- a/libhdf5/hdf5dispatch.c
+++ b/libhdf5/hdf5dispatch.c
@@ -142,6 +142,9 @@ NC_HDF5_initialize(void)
int
NC_HDF5_finalize(void)
{
+#ifdef ENABLE_BYTERANGE
+ (void)H5FD_http_finalize();
+#endif
(void)nc4_hdf5_finalize();
return NC_NOERR;
}

@ -0,0 +1,36 @@
From 07134b9581e27db1fbf44495c05f7e4a57a82be3 Mon Sep 17 00:00:00 2001
From: Orion Poplawski <orion@nwra.com>
Date: Mon, 29 Jan 2024 22:05:11 -0700
Subject: [PATCH] Fix some variable types. Resolves #2849
---
libhdf4/hdf4file.c | 2 +-
ncgen/ncgen.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/libhdf4/hdf4file.c b/libhdf4/hdf4file.c
index 3fd198a375..7fb0b3d103 100644
--- a/libhdf4/hdf4file.c
+++ b/libhdf4/hdf4file.c
@@ -485,7 +485,7 @@ hdf4_read_var(NC_FILE_INFO_T *h5, int v)
int32 sdsid;
int contiguous;
int d, a;
- int flag;
+ int32 flag;
char name[NC_MAX_HDF4_NAME+1];
int xtype;
char type_name[NC_MAX_NAME + 1];
diff --git a/ncgen/ncgen.h b/ncgen/ncgen.h
index 765543d043..f7f901671d 100644
--- a/ncgen/ncgen.h
+++ b/ncgen/ncgen.h
@@ -173,7 +173,7 @@ typedef struct Typeinfo {
int hasvlen; /* 1 => this type contains a vlen*/
nc_type typecode;
unsigned long offset; /* fields in struct*/
- unsigned long alignment;/* fields in struct*/
+ size_t alignment;/* fields in struct*/
NCConstant* econst; /* for enum values*/
Dimset dimset; /* for NC_VAR/NC_FIELD/NC_ATT*/
size_t size; /* for opaque, compound, etc.*/

@ -0,0 +1,12 @@
diff -up netcdf-c-4.9.1/nc_test4/tst_specific_filters.sh.tst-blosc netcdf-c-4.9.1/nc_test4/tst_specific_filters.sh
--- netcdf-c-4.9.1/nc_test4/tst_specific_filters.sh.tst-blosc 2023-02-03 13:49:17.000000000 -0700
+++ netcdf-c-4.9.1/nc_test4/tst_specific_filters.sh 2023-02-12 13:06:51.942354853 -0700
@@ -15,7 +15,7 @@ if test "x$TESTNCZARR" = x1 ; then
BLOSCARGS="32001,0,0,0,256,5,1,1"
BLOSCCODEC='[{\"id\": \"blosc\",\"clevel\": 5,\"blocksize\": 256,\"cname\": \"lz4\",\"shuffle\": 1}]'
else
-BLOSCARGS="32001,0,0,4,256,5,1,1"
+BLOSCARGS="32001,2,2,4,256,5,1,1"
BLOSCCODEC='[{\"id\": \"blosc\",\"clevel\": 5,\"blocksize\": 256,\"cname\": \"lz4\",\"shuffle\": 1}]'
fi

@ -1,22 +1,35 @@
%global sover 19
Name: netcdf
Version: 4.8.1
Release: 2%{?dist}
Version: 4.9.2
Release: 6%{?dist}
Summary: Libraries for the Unidata network Common Data Form
License: NetCDF
License: BSD-3-Clause
URL: http://www.unidata.ucar.edu/software/netcdf/
Source0: https://github.com/Unidata/netcdf-c/archive/v%{version}/%{name}-%{version}.tar.gz
# Remove sonames from plugins
Patch0: https://patch-diff.githubusercontent.com/raw/Unidata/netcdf-c/pull/2431.patch
# Fix blosc test - https://github.com/Unidata/netcdf-c/issues/2572
Patch1: netcdf-tst-blosc.patch
# Fix segfault in octave-netcdf on exit
Patch2: https://github.com/Unidata/netcdf-c/pull/2827.patch
# Fix incompatible types
Patch3: https://github.com/Unidata/netcdf-c/pull/2850.patch
BuildRequires: make
BuildRequires: libtool
BuildRequires: make
BuildRequires: chrpath
BuildRequires: doxygen
BuildRequires: blosc-devel
BuildRequires: bzip2-devel
BuildRequires: hdf-static
BuildRequires: hdf5-devel
BuildRequires: gawk
BuildRequires: libcurl-devel
BuildRequires: libxml2-devel
BuildRequires: libzip-devel
BuildRequires: libzstd-devel
BuildRequires: m4
BuildRequires: zlib-devel
%ifarch %{valgrind_arches}
@ -27,8 +40,17 @@ BuildRequires: valgrind
BuildRequires: openssh-clients
Requires: hdf5%{?_isa} = %{_hdf5_version}
%global with_mpich 1
%global with_openmpi 1
%global with_mpich %{undefined flatpak}
%if 0%{?fedora} >= 40
%ifarch %{ix86}
# No OpenMPI support on these arches
%global with_openmpi 0
%else
%global with_openmpi %{undefined flatpak}
%endif
%else
%global with_openmpi %{undefined flatpak}
%endif
%if %{with_mpich}
%global mpi_list mpich
@ -37,6 +59,13 @@ Requires: hdf5%{?_isa} = %{_hdf5_version}
%global mpi_list %{?mpi_list} openmpi
%endif
# mpich parallel tests are hanging on s390x
%ifarch s390x
%bcond_with parallel_tests
%else
%bcond_without parallel_tests
%endif
%description
NetCDF (network Common Data Form) is an interface for array-oriented
data access and a freely-distributed collection of software libraries
@ -160,6 +189,8 @@ NetCDF parallel openmpi static libraries
%prep
%autosetup -p1 -n %{name}-c-%{version}
# For Patch0
./bootstrap
%build
@ -173,7 +204,7 @@ export CFLAGS="%{optflags} -fno-strict-aliasing"
--enable-netcdf-4 \\\
--enable-dap \\\
--enable-extra-example-tests \\\
CPPFLAGS="-I%{_includedir}/hdf -DH5_USE_110_API" \\\
CPPFLAGS="-I%{_includedir}/hdf" \\\
LIBS="-ltirpc" \\\
--enable-hdf4 \\\
--disable-dap-remote-tests \\\
@ -183,12 +214,19 @@ export CFLAGS="%{optflags} -fno-strict-aliasing"
mkdir build
pushd build
ln -s ../configure .
%configure %{configure_opts}
%configure %{configure_opts} \
--with-plugin-dir=%{_libdir}/hdf5/plugin
# Get rid of undesirable hardcoded rpaths; workaround libtool reordering
# -Wl,--as-needed after all the libraries.
sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
-e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' \
-e 's|CC="\(.*g..\)"|CC="\1 -Wl,--as-needed"|' \
-i libtool
%make_build
popd
# MPI builds
for mpi in %{mpi_list}
for mpi in %{?mpi_list}
do
mkdir $mpi
pushd $mpi
@ -203,7 +241,14 @@ do
--includedir=%{_includedir}/$mpi-%{_arch} \
--datarootdir=%{_libdir}/$mpi/share \
--mandir=%{_libdir}/$mpi/share/man \
--enable-parallel-tests
--with-plugin-dir=%{_libdir}/$mpi/hdf5/plugin \
%{?with_parallel_tests:--enable-parallel-tests}
# Get rid of undesirable hardcoded rpaths; workaround libtool reordering
# -Wl,--as-needed after all the libraries.
sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
-e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' \
-e 's|CC="\(.*g..\)"|CC="\1 -Wl,--as-needed"|' \
-i libtool
%make_build
module purge
popd
@ -212,17 +257,16 @@ done
%install
make -C build install DESTDIR=${RPM_BUILD_ROOT}
/bin/rm -f ${RPM_BUILD_ROOT}%{_libdir}/*.la
chrpath --delete ${RPM_BUILD_ROOT}/%{_bindir}/nc{copy,dump,gen,gen3}
/bin/rm -f ${RPM_BUILD_ROOT}%{_infodir}/dir
for mpi in %{mpi_list}
for mpi in %{?mpi_list}
do
module load mpi/$mpi-%{_arch}
make -C $mpi install DESTDIR=${RPM_BUILD_ROOT}
rm $RPM_BUILD_ROOT/%{_libdir}/$mpi/lib/*.la
chrpath --delete ${RPM_BUILD_ROOT}/%{_libdir}/$mpi/bin/nc{copy,dump,gen,gen3}
module purge
done
find $RPM_BUILD_ROOT/%{_libdir} -name \*.la -delete
%check
@ -239,9 +283,11 @@ fail=1
make -C build check || ( cat build/*/test-suite.log && exit $fail )
# Allow openmpi to run with more processes than cores
export OMPI_MCA_rmaps_base_oversubscribe=1
# openmpi 5+
export PRTE_MCA_rmaps_default_mapping_policy=:oversubscribe
# openmpi test hangs on armv7hl in h5_test after tst_h_rename
%ifnarch armv7hl
for mpi in %{mpi_list}
for mpi in %{?mpi_list}
do
module load mpi/$mpi-%{_arch}
make -C $mpi check || ( cat $mpi/*/test-suite.log && exit $fail )
@ -262,6 +308,15 @@ done
%{_bindir}/ncgen3
%{_bindir}/nc4print
%{_bindir}/ocprint
%{_libdir}/hdf5/plugin/lib__nch5deflate.so
%{_libdir}/hdf5/plugin/lib__nch5shuffle.so
%{_libdir}/hdf5/plugin/lib__nch5bzip2.so
%{_libdir}/hdf5/plugin/lib__nch5zstd.so
%{_libdir}/hdf5/plugin/lib__nch5szip.so
%{_libdir}/hdf5/plugin/lib__nczhdf5filters.so
%{_libdir}/hdf5/plugin/lib__nczstdfilters.so
%{_libdir}/hdf5/plugin/lib__nch5fletcher32.so
%{_libdir}/hdf5/plugin/lib__nch5blosc.so
%{_libdir}/*.so.%{sover}*
%{_mandir}/man1/*
@ -273,6 +328,8 @@ done
%{_includedir}/netcdf_dispatch.h
%{_includedir}/netcdf_filter.h
%{_includedir}/netcdf_filter_build.h
%{_includedir}/netcdf_filter_hdf5_build.h
%{_includedir}/netcdf_json.h
%{_includedir}/netcdf_meta.h
%{_includedir}/netcdf_mem.h
%{_libdir}/libnetcdf.settings
@ -293,6 +350,7 @@ done
%{_libdir}/mpich/bin/ncgen3
%{_libdir}/mpich/bin/nc4print
%{_libdir}/mpich/bin/ocprint
%{_libdir}/mpich/hdf5/plugin/*
%{_libdir}/mpich/lib/*.so.%{sover}*
%doc %{_libdir}/mpich/share/man/man1/*.1*
@ -303,6 +361,8 @@ done
%{_includedir}/mpich-%{_arch}/netcdf_dispatch.h
%{_includedir}/mpich-%{_arch}/netcdf_filter.h
%{_includedir}/mpich-%{_arch}/netcdf_filter_build.h
%{_includedir}/mpich-%{_arch}/netcdf_filter_hdf5_build.h
%{_includedir}/mpich-%{_arch}/netcdf_json.h
%{_includedir}/mpich-%{_arch}/netcdf_meta.h
%{_includedir}/mpich-%{_arch}/netcdf_mem.h
%{_includedir}/mpich-%{_arch}/netcdf_par.h
@ -325,6 +385,7 @@ done
%{_libdir}/openmpi/bin/ncgen3
%{_libdir}/openmpi/bin/nc4print
%{_libdir}/openmpi/bin/ocprint
%{_libdir}/openmpi/hdf5/plugin/*
%{_libdir}/openmpi/lib/*.so.%{sover}*
%doc %{_libdir}/openmpi/share/man/man1/*.1*
@ -335,6 +396,8 @@ done
%{_includedir}/openmpi-%{_arch}/netcdf_dispatch.h
%{_includedir}/openmpi-%{_arch}/netcdf_filter.h
%{_includedir}/openmpi-%{_arch}/netcdf_filter_build.h
%{_includedir}/openmpi-%{_arch}/netcdf_filter_hdf5_build.h
%{_includedir}/openmpi-%{_arch}/netcdf_json.h
%{_includedir}/openmpi-%{_arch}/netcdf_meta.h
%{_includedir}/openmpi-%{_arch}/netcdf_mem.h
%{_includedir}/openmpi-%{_arch}/netcdf_par.h
@ -349,6 +412,55 @@ done
%changelog
* Sat Dec 28 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 4.9.2-6
- Rebuilt for MSVSphere 10
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.9.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Tue Jan 30 2024 Orion Poplawski <orion@nwra.com> - 4.9.2-5
- Add patch to fix compilation on i668 (FTBFS bz#2261400)
- Update license to BSD-3-Clause (SPDX)
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.9.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.9.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Dec 20 2023 Orion Poplawski <orion@nwra.com> - 4.9.2-2
- Add upstream patch to fix octave-netcdf segfault on exit
* Wed Nov 08 2023 Orion Poplawski <orion@nwra.com> - 4.9.2-1
- Update to 4.9.2
- Drop -DH5_USE_110_API
* Wed Nov 08 2023 Orion Poplawski <orion@nwra.com> - 4.9.0-7
- Rebuild with openmpi 5.0.0 - drops i686
- Disable parallel tests on s390x - mpich test is hanging
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.9.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.9.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Mon Dec 19 2022 Orion Poplawski <orion@nwra.com> - 4.9.0-4
- Apply upstream patch to fix infinite loop in file inferencing
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.9.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Tue Jun 28 2022 Orion Poplawski <orion@nwra.com> - 4.9.0-2
- Build with libzstd-devel
* Sun Jun 26 2022 Orion Poplawski <orion@nwra.com> - 4.9.0-1
- Update to 4.9.0
- Make -Wl,--as-needed work
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.8.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Sun Nov 21 2021 Orion Poplawski <orion@nwra.com> - 4.8.1-2
- Rebuild for hdf5 1.12.1

@ -1 +0,0 @@
SHA512 (netcdf-4.8.1.tar.gz) = c97207867abf10d414abf34624268710f5b812c26c38f97e73afe00558b3f07917331fbc7fdb9e70b09813acf15a9a09bae2c432a3266ce10a791b9472f87a42
Loading…
Cancel
Save