From aaba86e2c8671acedad4fd0f2b69e5299d701b54 Mon Sep 17 00:00:00 2001 From: wangziliang Date: Fri, 17 May 2024 18:37:17 +0800 Subject: [PATCH] Upgrade to 1.14.0 --- CVE-2018-13867.patch | 96 ------------- CVE-2018-14031.patch | 35 ----- CVE-2018-16438.patch | 34 ----- CVE-2019-8396.patch | 92 ------------- CVE-2020-10812.patch | 43 ------ CVE-2021-37501.patch | 66 --------- add-option-to-build-HL-tools.patch | 149 --------------------- hdf5-1.12.1.tar.bz2 => hdf5-1.14.0.tar.bz2 | Bin 9724309 -> 15709493 bytes hdf5-LD_LIBRARY_PATH.patch | 28 ++-- hdf5-build.patch | 12 +- hdf5-gfortran12.patch | 37 ----- hdf5-wrappers.patch | 22 +-- hdf5.spec | 23 ++-- 13 files changed, 29 insertions(+), 608 deletions(-) delete mode 100644 CVE-2018-13867.patch delete mode 100644 CVE-2018-14031.patch delete mode 100644 CVE-2018-16438.patch delete mode 100644 CVE-2019-8396.patch delete mode 100644 CVE-2020-10812.patch delete mode 100644 CVE-2021-37501.patch delete mode 100644 add-option-to-build-HL-tools.patch rename hdf5-1.12.1.tar.bz2 => hdf5-1.14.0.tar.bz2 (45%) delete mode 100644 hdf5-gfortran12.patch diff --git a/CVE-2018-13867.patch b/CVE-2018-13867.patch deleted file mode 100644 index 26fe5a2..0000000 --- a/CVE-2018-13867.patch +++ /dev/null @@ -1,96 +0,0 @@ -From: Egbert Eich -Date: Mon Oct 10 08:43:44 2022 +0200 -Subject: Validate location (offset) of the accumulated metadata when comparing -Patch-mainline: Not yet -Git-repo: ssh://eich@192.168.122.1:/home/eich/sources/HPC/hdf5 -Git-commit: 2cf9918ae66f023a2b6d44eb591ee2ac479a6e53 -References: - -Initially, the accumulated metadata location is initialized to HADDR_UNDEF -- the highest available address. Bogus input files may provide a location -or size matching this value. Comparing this address against such bogus -values may provide false positives. This make sure, the value has been -initilized or fail the comparison early and let other parts of the -code deal with the bogus address/size. -Note: To avoid unnecessary checks, we have assumed that if the 'dirty' -member in the same structure is true the location is valid. - -This fixes CVE-2018-13867. - -Signed-off-by: Egbert Eich -Signed-off-by: Egbert Eich ---- - src/H5Faccum.c | 19 +++++++++++++------ - 1 file changed, 13 insertions(+), 6 deletions(-) -diff --git a/src/H5Faccum.c b/src/H5Faccum.c -index aed5812e63..73bd4b811e 100644 ---- a/src/H5Faccum.c -+++ b/src/H5Faccum.c -@@ -48,6 +48,7 @@ - #define H5F_ACCUM_THROTTLE 8 - #define H5F_ACCUM_THRESHOLD 2048 - #define H5F_ACCUM_MAX_SIZE (1024 * 1024) /* Max. accum. buf size (max. I/Os will be 1/2 this size) */ -+#define H5F_LOC_VALID(x) (x != HADDR_UNDEF) - - /******************/ - /* Local Typedefs */ -@@ -126,8 +127,9 @@ H5F__accum_read(H5F_shared_t *f_sh, H5FD_mem_t map_type, haddr_t addr, size_t si - HDassert(!accum->buf || (accum->alloc_size >= accum->size)); - - /* Current read adjoins or overlaps with metadata accumulator */ -- if (H5F_addr_overlap(addr, size, accum->loc, accum->size) || ((addr + size) == accum->loc) || -- (accum->loc + accum->size) == addr) { -+ if (H5F_LOC_VALID(accum->loc) && -+ (H5F_addr_overlap(addr, size, accum->loc, accum->size) || ((addr + size) == accum->loc) || -+ (accum->loc + accum->size) == addr)) { - size_t amount_before; /* Amount to read before current accumulator */ - haddr_t new_addr; /* New address of the accumulator buffer */ - size_t new_size; /* New size of the accumulator buffer */ -@@ -439,7 +441,8 @@ H5F__accum_write(H5F_shared_t *f_sh, H5FD_mem_t map_type, haddr_t addr, size_t s - /* Check if there is already metadata in the accumulator */ - if (accum->size > 0) { - /* Check if the new metadata adjoins the beginning of the current accumulator */ -- if ((addr + size) == accum->loc) { -+ if (H5F_LOC_VALID(accum->loc) -+ && (addr + size) == accum->loc) { - /* Check if we need to adjust accumulator size */ - if (H5F__accum_adjust(accum, file, H5F_ACCUM_PREPEND, size) < 0) - HGOTO_ERROR(H5E_IO, H5E_CANTRESIZE, FAIL, "can't adjust metadata accumulator") -@@ -464,7 +467,8 @@ H5F__accum_write(H5F_shared_t *f_sh, H5FD_mem_t map_type, haddr_t addr, size_t s - accum->dirty_off = 0; - } /* end if */ - /* Check if the new metadata adjoins the end of the current accumulator */ -- else if (addr == (accum->loc + accum->size)) { -+ else if (H5F_LOC_VALID(accum->loc) && -+ addr == (accum->loc + accum->size)) { - /* Check if we need to adjust accumulator size */ - if (H5F__accum_adjust(accum, file, H5F_ACCUM_APPEND, size) < 0) - HGOTO_ERROR(H5E_IO, H5E_CANTRESIZE, FAIL, "can't adjust metadata accumulator") -@@ -485,7 +489,8 @@ H5F__accum_write(H5F_shared_t *f_sh, H5FD_mem_t map_type, haddr_t addr, size_t s - accum->size += size; - } /* end if */ - /* Check if the piece of metadata being written overlaps the metadata accumulator */ -- else if (H5F_addr_overlap(addr, size, accum->loc, accum->size)) { -+ else if (H5F_LOC_VALID(accum->loc) && -+ H5F_addr_overlap(addr, size, accum->loc, accum->size)) { - size_t add_size; /* New size of the accumulator buffer */ - - /* Check if the new metadata is entirely within the current accumulator */ -@@ -745,7 +750,8 @@ H5F__accum_write(H5F_shared_t *f_sh, H5FD_mem_t map_type, haddr_t addr, size_t s - /* (Note that this could be improved by updating the accumulator - * with [some of] the information just read in. -QAK) - */ -- if (H5F_addr_overlap(addr, size, accum->loc, accum->size)) { -+ if (H5F_LOC_VALID(accum->loc) && -+ H5F_addr_overlap(addr, size, accum->loc, accum->size)) { - /* Check for write starting before beginning of accumulator */ - if (H5F_addr_le(addr, accum->loc)) { - /* Check for write ending within accumulator */ -@@ -868,6 +874,7 @@ H5F__accum_free(H5F_shared_t *f_sh, H5FD_mem_t H5_ATTR_UNUSED type, haddr_t addr - - /* Adjust the metadata accumulator to remove the freed block, if it overlaps */ - if ((f_sh->feature_flags & H5FD_FEAT_ACCUMULATE_METADATA) && -+ H5F_LOC_VALID(accum->loc) && - H5F_addr_overlap(addr, size, accum->loc, accum->size)) { - size_t overlap_size; /* Size of overlap with accumulator */ - diff --git a/CVE-2018-14031.patch b/CVE-2018-14031.patch deleted file mode 100644 index be28038..0000000 --- a/CVE-2018-14031.patch +++ /dev/null @@ -1,35 +0,0 @@ -From: Egbert Eich -Date: Wed Sep 28 14:54:58 2022 +0200 -Subject: H5O_dtype_decode_helper: Parent of enum needs to have same size as enum itself -Patch-mainline: Not yet -Git-repo: ssh://eich@192.168.122.1:/home/eich/sources/HPC/hdf5 -Git-commit: d39a27113ef75058f236b0606a74b4af5767c4e7 -References: - -The size of the enumeration values is determined by the size of the parent. -Functions accessing the enumeration values use the size of the enumartion -to determine the size of each element and how much data to copy. Thus the -size of the enumeration and its parent need to match. -Check here to avoid unpleasant surprises later. - -This fixes CVE-2018-14031. - -Signed-off-by: Egbert Eich -Signed-off-by: Egbert Eich ---- - src/H5Odtype.c | 3 +++ - 1 file changed, 3 insertions(+) -diff --git a/src/H5Odtype.c b/src/H5Odtype.c -index 9af79f4e9a..dc2b904362 100644 ---- a/src/H5Odtype.c -+++ b/src/H5Odtype.c -@@ -472,6 +472,9 @@ H5O__dtype_decode_helper(unsigned *ioflags /*in,out*/, const uint8_t **pp, H5T_t - if (H5O__dtype_decode_helper(ioflags, pp, dt->shared->parent) < 0) - HGOTO_ERROR(H5E_DATATYPE, H5E_CANTDECODE, FAIL, "unable to decode parent datatype") - -+ if (dt->shared->parent->shared->size != dt->shared->size) -+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTDECODE, FAIL, "ENUM size does not match parent") -+ - /* Check if the parent of this enum has a version greater than the - * enum itself. */ - H5O_DTYPE_CHECK_VERSION(dt, version, dt->shared->parent->shared->version, ioflags, "enum", FAIL) diff --git a/CVE-2018-16438.patch b/CVE-2018-16438.patch deleted file mode 100644 index 85504b6..0000000 --- a/CVE-2018-16438.patch +++ /dev/null @@ -1,34 +0,0 @@ -From: Egbert Eich -Date: Sun Oct 9 08:07:23 2022 +0200 -Subject: Make sure info block for external links has at least 3 bytes -Patch-mainline: Not yet -Git-repo: ssh://eich@192.168.122.1:/home/eich/sources/HPC/hdf5 -Git-commit: 082bfe392b04b1137da9eabd1ecac76c212ab385 -References: - -According to the specification, the information block for external links -contains 1 byte of version/flag information and two 0 terminated strings -for the object linked to and the full path. -Although not very useful, the minimum string length for each would be one -byte. - -This fixes CVE-2018-16438. - -Signed-off-by: Egbert Eich -Signed-off-by: Egbert Eich ---- - src/H5Olink.c | 2 ++ - 1 file changed, 2 insertions(+) -diff --git a/src/H5Olink.c b/src/H5Olink.c -index 51c44a36b0..074744b022 100644 ---- a/src/H5Olink.c -+++ b/src/H5Olink.c -@@ -241,6 +241,8 @@ H5O__link_decode(H5F_t *f, H5O_t H5_ATTR_UNUSED *open_oh, unsigned H5_ATTR_UNUSE - /* A UD link. Get the user-supplied data */ - UINT16DECODE(p, len) - lnk->u.ud.size = len; -+ if (lnk->type == H5L_TYPE_EXTERNAL && len < 3) -+ HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "external link information lenght < 3") - if (len > 0) { - /* Make sure that length doesn't exceed buffer size, which could - occur when the file is corrupted */ diff --git a/CVE-2019-8396.patch b/CVE-2019-8396.patch deleted file mode 100644 index 8cba0d6..0000000 --- a/CVE-2019-8396.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 8e5d36c7465699671b89023f752a378f5ee8b7cb Mon Sep 17 00:00:00 2001 -From: starlet-dx <15929766099@163.com> -Date: Tue, 28 Mar 2023 17:31:29 +0800 -Subject: [PATCH 1/1] H5O__pline_decode() Make more resilient to out-of-bounds read (#2210) - -Malformed hdf5 files may have trunkated content which does not match the expected size. When this function attempts to decode these it may read past the end of the allocated space leading to heap overflows as bounds checking is incomplete. -Make sure each element is within bounds before reading. - -This fixes CVE-2019-8396 / HDFFV-10712 / github bug #2209. - -Signed-off-by: Egbert Eich - -Signed-off-by: Egbert Eich ---- - src/H5Opline.c | 17 +++++++++++++++-- - src/H5private.h | 3 +++ - 2 files changed, 18 insertions(+), 2 deletions(-) - -diff --git a/src/H5Opline.c b/src/H5Opline.c -index 4b76da9..eacf81a 100644 ---- a/src/H5Opline.c -+++ b/src/H5Opline.c -@@ -110,6 +110,7 @@ H5FL_DEFINE(H5O_pline_t); - * - *------------------------------------------------------------------------- - */ -+ - static void * - H5O__pline_decode(H5F_t H5_ATTR_UNUSED *f, H5O_t H5_ATTR_UNUSED *open_oh, unsigned H5_ATTR_UNUSED mesg_flags, - unsigned H5_ATTR_UNUSED *ioflags, size_t p_size, const uint8_t *p) -@@ -131,6 +132,9 @@ H5O__pline_decode(H5F_t H5_ATTR_UNUSED *f, H5O_t H5_ATTR_UNUSED *open_oh, unsign - HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed") - - /* Version */ -+ if (p + 4 - 1 > p_end) /* 4 byte is minimum for all versions */ -+ HGOTO_ERROR(H5E_OHDR, H5E_NOSPACE, NULL, "ran off the end of the buffer: current p = %p, p_end = %p", -+ p + 4, p_end) - pline->version = *p++; - if (pline->version < H5O_PLINE_VERSION_1 || pline->version > H5O_PLINE_VERSION_LATEST) - HGOTO_ERROR(H5E_PLINE, H5E_CANTLOAD, NULL, "bad version number for filter pipeline message") -@@ -159,6 +163,9 @@ H5O__pline_decode(H5F_t H5_ATTR_UNUSED *f, H5O_t H5_ATTR_UNUSED *open_oh, unsign - /* Decode filters */ - for (i = 0, filter = &pline->filter[0]; i < pline->nused; i++, filter++) { - /* Filter ID */ -+ if (p + 6 - 1 > p_end) /* 6 bytes minimum */ -+ HGOTO_ERROR(H5E_OHDR, H5E_NOSPACE, NULL, -+ "ran off the end of the buffer: current p = %p, p_end = %p", p + 6, p_end) - UINT16DECODE(p, filter->id); - - /* Length of filter name */ -@@ -168,6 +175,9 @@ H5O__pline_decode(H5F_t H5_ATTR_UNUSED *f, H5O_t H5_ATTR_UNUSED *open_oh, unsign - UINT16DECODE(p, name_length); - if (pline->version == H5O_PLINE_VERSION_1 && name_length % 8) - HGOTO_ERROR(H5E_PLINE, H5E_CANTLOAD, NULL, "filter name length is not a multiple of eight") -+ if (p + 4 - 1 > p_end) /* with name_length 4 bytes to go */ -+ HGOTO_ERROR(H5E_OHDR, H5E_NOSPACE, NULL, -+ "ran off the end of the buffer: current p = %p, p_end = %p", p + 4, p_end) - } /* end if */ - - /* Filter flags */ -@@ -179,9 +189,12 @@ H5O__pline_decode(H5F_t H5_ATTR_UNUSED *f, H5O_t H5_ATTR_UNUSED *open_oh, unsign - /* Filter name, if there is one */ - if (name_length) { - size_t actual_name_length; /* Actual length of name */ -- -+ size_t len = (size_t)(p_end - p + 1); - /* Determine actual name length (without padding, but with null terminator) */ -- actual_name_length = HDstrlen((const char *)p) + 1; -+ actual_name_length = HDstrnlen((const char *)p, len); -+ if (actual_name_length == len) -+ HGOTO_ERROR(H5E_OHDR, H5E_NOSPACE, NULL, "filter name not null terminated") -+ actual_name_length += 1; /* include \0 byte */ - HDassert(actual_name_length <= name_length); - - /* Allocate space for the filter name, or use the internal buffer */ -diff --git a/src/H5private.h b/src/H5private.h -index 56ded14..58ccfef 100644 ---- a/src/H5private.h -+++ b/src/H5private.h -@@ -1444,6 +1444,9 @@ H5_DLL void HDsrand(unsigned int seed); - #ifndef HDstrlen - #define HDstrlen(S) strlen(S) - #endif /* HDstrlen */ -+#ifndef HDstrnlen -+#define HDstrnlen(S, L) strnlen(S, L) -+#endif - #ifndef HDstrncat - #define HDstrncat(X, Y, Z) strncat(X, Y, Z) - #endif /* HDstrncat */ --- -2.30.0 - diff --git a/CVE-2020-10812.patch b/CVE-2020-10812.patch deleted file mode 100644 index f3ad1fe..0000000 --- a/CVE-2020-10812.patch +++ /dev/null @@ -1,43 +0,0 @@ -From: Egbert Eich -Date: Wed Oct 5 09:44:02 2022 +0200 -Subject: Hot fix for CVE-2020-10812 -Patch-mainline: Not yet -Git-repo: ssh://eich@192.168.122.1:/home/eich/sources/HPC/hdf5 -Git-commit: 2465fc41d208d57eb0d7d025286a81664148fbaf -References: - -CVE-2020-10812 unveils a more fundamental design flaw in H5F__dest(): -this function returns FAIL if one of multiple operations fail (in this -case H5AC_prep_for_file_close()) while it still proceeds to prepare the -close operation, free the 'shared' member in struct H5F_t and ulimately -deallocate the structure itself. -When H5F__dest() signals back FAIL to the caller, the caller itself -(H5F_try_close() in this case) will fail. This failure is signalled -up the stack, thus the file will not be considered closed and another -attempt will be made to close it - latest in the exit handler. -The next attempt to close will however need the already deallocated -H5F_t structure and the H5T_shared_t structure in its 'shared' member, -however. -This fix papers over the failure of H5AC_prep_for_file_close() by not -changing the return status of H5F__dest() to fail. There are numerous -other opportunities where this will happen. -This may call for a more fundamental solution. - -Signed-off-by: Egbert Eich -Signed-off-by: Egbert Eich ---- - src/H5Fint.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/src/H5Fint.c b/src/H5Fint.c -index 9b5613972f..01faf33495 100644 ---- a/src/H5Fint.c -+++ b/src/H5Fint.c -@@ -1413,7 +1413,7 @@ H5F__dest(H5F_t *f, hbool_t flush) - */ - if (H5AC_prep_for_file_close(f) < 0) - /* Push error, but keep going */ -- HDONE_ERROR(H5E_FILE, H5E_CANTFLUSH, FAIL, "metadata cache prep for close failed") -+ HDONE_ERROR(H5E_FILE, H5E_CANTFLUSH, ret_value, "metadata cache prep for close failed") - - /* Flush at this point since the file will be closed (phase 2). - * Only try to flush the file if it was opened with write access, and if diff --git a/CVE-2021-37501.patch b/CVE-2021-37501.patch deleted file mode 100644 index 11ac938..0000000 --- a/CVE-2021-37501.patch +++ /dev/null @@ -1,66 +0,0 @@ -From: Egbert Eich -Date: Sat Feb 11 13:54:17 2023 +0100 -Subject: Check for overflow when calculating on-disk attribute data size (#2459) -Patch-mainline: Not yet -Git-repo: https://github.com/HDFGroup/hdf5 -Git-commit: 0d026daa13a81be72495872f651c036fdc84ae5e -References: - -A bogus hdf5 file may contain dataspace messages with sizes -which lead to the on-disk data sizes to exceed what is addressable. -When calculating the size, make sure, the multiplication does not -overflow. -The test case was crafted in a way that the overflow caused the -size to be 0. - -This fixes CVE-2021-37501 / Bug #2458. - -Signed-off-by: Egbert Eich -Signed-off-by: Egbert Eich ---- - src/H5Oattr.c | 3 +++ - src/H5private.h | 18 ++++++++++++++++++ - 2 files changed, 21 insertions(+) -diff --git a/src/H5Oattr.c b/src/H5Oattr.c -index 4dee7aa187..3ef0b99aa4 100644 ---- a/src/H5Oattr.c -+++ b/src/H5Oattr.c -@@ -235,6 +235,9 @@ H5O_attr_decode(H5F_t *f, H5O_t *open_oh, unsigned H5_ATTR_UNUSED mesg_flags, un - - /* Compute the size of the data */ - H5_CHECKED_ASSIGN(attr->shared->data_size, size_t, ds_size * (hsize_t)dt_size, hsize_t); -+ H5_CHECK_MUL_OVERFLOW(attr->shared->data_size, ds_size, dt_size, -+ HGOTO_ERROR(H5E_RESOURCE, H5E_OVERFLOW, NULL, -+ "data size exceeds addressable range")) - - /* Go get the data */ - if (attr->shared->data_size) { -diff --git a/src/H5private.h b/src/H5private.h -index 931d7b9046..a115aee1a4 100644 ---- a/src/H5private.h -+++ b/src/H5private.h -@@ -1605,6 +1605,24 @@ H5_DLL int HDvasprintf(char **bufp, const char *fmt, va_list _ap); - #define H5_CHECK_OVERFLOW(var, vartype, casttype) - #endif /* NDEBUG */ - -+/* -+ * A macro for checking whether a multiplication has overflown -+ * r is assumed to be the result of a prior multiplication of a and b -+ */ -+#define H5_CHECK_MUL_OVERFLOW(r, a, b, err) \ -+ { \ -+ bool mul_overflow = false; \ -+ if (r != 0) { \ -+ if (r / a != b) \ -+ mul_overflow = true; \ -+ } else { \ -+ if (a != 0 && b != 0) \ -+ mul_overflow = true; \ -+ } \ -+ if (mul_overflow) \ -+ err \ -+ } -+ - /* - * A macro for detecting over/under-flow when assigning between types - */ diff --git a/add-option-to-build-HL-tools.patch b/add-option-to-build-HL-tools.patch deleted file mode 100644 index 77c800e..0000000 --- a/add-option-to-build-HL-tools.patch +++ /dev/null @@ -1,149 +0,0 @@ -From c9c85080e9c9ba2f98cd7bf0ca69775529e280e4 Mon Sep 17 00:00:00 2001 -From: Allen Byrne <50328838+byrnHDF@users.noreply.github.com> -Date: Fri, 17 Sep 2021 11:01:26 -0500 -Subject: [PATCH] Merge HDFFV-11266 - add option to build HL tools #1018 - (#1020) - -Origin: https://github.com/HDFGroup/hdf5/commit/c9c85080e9c9ba2f98cd7bf0ca69775529e280e4 - ---- - config/cmake/hdf5-config.cmake.in | 1 + - config/cmake/libhdf5.settings.cmake.in | 1 + - configure.ac | 20 ++++++++++++++++++++ - hl/CMakeLists.txt | 12 ++++++++++-- - hl/Makefile.am | 4 ++++ - release_docs/INSTALL_CMake.txt | 1 + - release_docs/RELEASE.txt | 8 ++++++++ - 7 files changed, 45 insertions(+), 2 deletions(-) - -diff --git a/config/cmake/hdf5-config.cmake.in b/config/cmake/hdf5-config.cmake.in -index 4d02c9c5ff2..8faa2fe2ba2 100644 ---- a/config/cmake/hdf5-config.cmake.in -+++ b/config/cmake/hdf5-config.cmake.in -@@ -38,6 +38,7 @@ set (${HDF5_PACKAGE_NAME}_BUILD_CPP_LIB @HDF5_BUILD_CPP_LIB@) - set (${HDF5_PACKAGE_NAME}_BUILD_JAVA @HDF5_BUILD_JAVA@) - set (${HDF5_PACKAGE_NAME}_BUILD_TOOLS @HDF5_BUILD_TOOLS@) - set (${HDF5_PACKAGE_NAME}_BUILD_HL_LIB @HDF5_BUILD_HL_LIB@) -+set (${HDF5_PACKAGE_NAME}_BUILD_HL_TOOLS @HDF5_BUILD_HL_TOOLS@) - set (${HDF5_PACKAGE_NAME}_ENABLE_THREADSAFE @HDF5_ENABLE_THREADSAFE@) - set (${HDF5_PACKAGE_NAME}_ENABLE_PLUGIN_SUPPORT @HDF5_ENABLE_PLUGIN_SUPPORT@) - set (${HDF5_PACKAGE_NAME}_ENABLE_Z_LIB_SUPPORT @HDF5_ENABLE_Z_LIB_SUPPORT@) -diff --git a/config/cmake/libhdf5.settings.cmake.in b/config/cmake/libhdf5.settings.cmake.in -index dd345b4cd5c..e5b150409c5 100644 ---- a/config/cmake/libhdf5.settings.cmake.in -+++ b/config/cmake/libhdf5.settings.cmake.in -@@ -70,6 +70,7 @@ Parallel Filtered Dataset Writes: @PARALLEL_FILTERED_WRITES@ - High-level library: @HDF5_BUILD_HL_LIB@ - Build HDF5 Tests: @BUILD_TESTING@ - Build HDF5 Tools: @HDF5_BUILD_TOOLS@ -+ Build High-level HDF5 Tools: @HDF5_BUILD_HL_TOOLS@ - Threadsafety: @HDF5_ENABLE_THREADSAFE@ (recursive RW locks: @HDF5_USE_RECURSIVE_RW_LOCKS@) - Default API mapping: @DEFAULT_API_VERSION@ - With deprecated public symbols: @HDF5_ENABLE_DEPRECATED_SYMBOLS@ -diff --git a/configure.ac b/configure.ac -index df0cec59fe5..7b4c3f56647 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -806,6 +806,7 @@ AC_LANG_POP(C++) - ## This needs to be exposed for the library info file even if the HL - ## library is disabled. - AC_SUBST([HDF5_HL]) -+AC_SUBST([HDF5_HL_TOOLS]) - - ## The high-level library is enabled unless the build mode is clean. - if test "X-$BUILD_MODE" = "X-clean" ; then -@@ -822,6 +823,9 @@ HL="" - ## Fortran high-level library - AC_SUBST(HL_FOR) - HL_FOR="" -+## Tools high-level library -+AC_SUBST(HL_TOOLS) -+HL_TOOLS="" - - AC_MSG_CHECKING([if the high-level library is enabled]) - AC_ARG_ENABLE([hl], -@@ -840,6 +844,21 @@ else - AC_MSG_RESULT([no]) - fi - -+AC_MSG_CHECKING([if the high-level tools are enabled]) -+AC_ARG_ENABLE([hltools], -+ [AS_HELP_STRING([--enable-hltools], -+ [Enable the high-level tools. -+ [default=yes)] -+ ])], -+ [HDF5_HL_TOOLS=$enableval]) -+ -+if test "X${HDF5_HL}" = "Xyes" -a "X-$HDF5_HL_TOOLS" = "X-yes"; then -+ AC_MSG_RESULT([yes]) -+ HL_TOOLS="tools" -+else -+ AC_MSG_RESULT([no]) -+fi -+ - - ## ---------------------------------------------------------------------- - ## Check which archiving tool to use. This needs to be done before -@@ -3992,6 +4011,7 @@ AM_CONDITIONAL([BUILD_HDF5_HL_CONDITIONAL], [test "X$HDF5_HL" = "Xyes"]) - AM_CONDITIONAL([BUILD_TESTS_CONDITIONAL], [test "X$HDF5_TESTS" = "Xyes"]) - AM_CONDITIONAL([BUILD_TESTS_PARALLEL_CONDITIONAL], [test -n "$TESTPARALLEL"]) - AM_CONDITIONAL([BUILD_TOOLS_CONDITIONAL], [test "X$HDF5_TOOLS" = "Xyes"]) -+AM_CONDITIONAL([BUILD_TOOLS_HL_CONDITIONAL], [test "X$HDF5_HL_TOOLS" = "Xyes"]) - AM_CONDITIONAL([BUILD_DOXYGEN_CONDITIONAL], [test "X$HDF5_DOXYGEN" = "Xyes"]) - - ## ---------------------------------------------------------------------- -diff --git a/hl/CMakeLists.txt b/hl/CMakeLists.txt -index 083c60eb39e..5061c6c5a47 100644 ---- a/hl/CMakeLists.txt -+++ b/hl/CMakeLists.txt -@@ -7,9 +7,17 @@ project (HDF5_HL C) - - add_subdirectory (src) - --#-- Build the High level Tools -+# Build HDF5 Tools - if (HDF5_BUILD_TOOLS) -- add_subdirectory (tools) -+ #----------------------------------------------------------------------------- -+ #-- Option to build the High level Tools -+ #----------------------------------------------------------------------------- -+ if (EXISTS "${HDF5_HL_SOURCE_DIR}/tools" AND IS_DIRECTORY "${HDF5_HL_SOURCE_DIR}/tools") -+ option (HDF5_BUILD_HL_TOOLS "Build HDF5 HL Tools" ON) -+ if (HDF5_BUILD_HL_TOOLS) -+ add_subdirectory (tools) -+ endif () -+ endif () - endif () - - #-- Add High Level Examples -diff --git a/hl/Makefile.am b/hl/Makefile.am -index 80ef66a2a2c..ad035fe5073 100644 ---- a/hl/Makefile.am -+++ b/hl/Makefile.am -@@ -37,10 +37,14 @@ else - TEST_DIR = - endif - if BUILD_TOOLS_CONDITIONAL -+if BUILD_TOOLS_HL_CONDITIONAL - TOOLS_DIR = tools - else - TOOLS_DIR = - endif -+else -+ TOOLS_DIR = -+endif - - ## Don't recurse into any subdirectories if HDF5 is not configured to - ## use the HL library -diff --git a/release_docs/INSTALL_CMake.txt b/release_docs/INSTALL_CMake.txt -index 84044c7ee7e..adceb702aea 100644 ---- a/release_docs/INSTALL_CMake.txt -+++ b/release_docs/INSTALL_CMake.txt -@@ -740,6 +740,7 @@ HDF5_BUILD_FORTRAN "Build FORTRAN support" OFF - HDF5_BUILD_JAVA "Build JAVA support" OFF - HDF5_BUILD_HL_LIB "Build HIGH Level HDF5 Library" ON - HDF5_BUILD_TOOLS "Build HDF5 Tools" ON -+HDF5_BUILD_HL_TOOLS "Build HIGH Level HDF5 Tools" ON - - ---------------- HDF5 Advanced Options --------------------- - ONLY_SHARED_LIBS "Only Build Shared Libraries" OFF diff --git a/hdf5-1.12.1.tar.bz2 b/hdf5-1.14.0.tar.bz2 similarity index 45% rename from hdf5-1.12.1.tar.bz2 rename to hdf5-1.14.0.tar.bz2 index 2c3ea6d95ea967ba90b8ee2a9979b67b8bcdf1e9..abf18c3d65ddc1a7b73260aa716d712deba617b3 100644 GIT binary patch literal 15709493 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