Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disable hl tools by default #2313

Merged
merged 5 commits into from
Dec 17, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -833,6 +833,7 @@ AC_LANG_POP(C++)
## library is disabled.
AC_SUBST([HDF5_HL])
AC_SUBST([HDF5_HL_TOOLS])
AC_SUBST([HDF5_HL_GIF_TOOLS])

## The high-level library and high-level tools are enabled unless the build mode
## is clean.
Expand Down Expand Up @@ -888,6 +889,21 @@ else
AC_MSG_RESULT([no])
fi

AC_MSG_CHECKING([if the high-level GIF tools are enabled])
AC_ARG_ENABLE([hltools],
[AS_HELP_STRING([--enable-hlgiftools],
[Enable the high-level GIF tools.
[default=no]
])],
[HDF5_HL_GIF_TOOLS=$enableval])

if test "X${HDF5_GIF_HL}" = "Xyes" -a "X-$HDF5_HL_TOOLS" = "X-yes" -a "X-$HDF5_HL_GIF_TOOLS" = "X-yes"; then
AC_MSG_RESULT([yes])
HL_GIF_TOOLS="tools"
else
AC_MSG_RESULT([no])
fi


## ----------------------------------------------------------------------
## Enable new references for dimension scales
Expand Down Expand Up @@ -3907,6 +3923,7 @@ 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_TOOLS_HL_GIF_CONDITIONAL], [test "X$HDF5_HL_GIF_TOOLS" = "Xyes"])
AM_CONDITIONAL([BUILD_DOXYGEN_CONDITIONAL], [test "X$HDF5_DOXYGEN" = "Xyes"])

## ----------------------------------------------------------------------
Expand Down
10 changes: 9 additions & 1 deletion hl/tools/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
cmake_minimum_required (VERSION 3.18)
project (HDF5_HL_TOOLS C)

add_subdirectory (gif2h5)
#-----------------------------------------------------------------------------
#-- Option to build the High level GIF Tools
#-----------------------------------------------------------------------------
if (EXISTS "${HDF5_HL_SOURCE_DIR}/gif2h5" AND IS_DIRECTORY "${HDF5_HL_SOURCE_DIR}/gif2h5")
option (HDF5_BUILD_HL_GIF_TOOLS "Build HDF5 HL GIF Tools" OFF)
if (HDF5_BUILD_HL_GIF_TOOLS)
add_subdirectory (gif2h5)
endif ()
endif ()

add_subdirectory (h5watch)
8 changes: 7 additions & 1 deletion hl/tools/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,13 @@

include $(top_srcdir)/config/commence.am

if BUILD_TOOLS_HL_GIF_CONDITIONAL
TOOLS_GIF_DIR = gif2h5
else
TOOLS_GIF_DIR =
endif

# All subdirectories
SUBDIRS=gif2h5 h5watch
SUBDIRS=$(TOOLS_DIR) h5watch

include $(top_srcdir)/config/conclude.am
1 change: 1 addition & 0 deletions release_docs/INSTALL_CMake.txt
Original file line number Diff line number Diff line change
Expand Up @@ -741,6 +741,7 @@ 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_BUILD_HL_GIF_TOOLS "Build HIGH Level HDF5 GIF Tools" OFF

---------------- HDF5 Folder Build Options ---------------------
Defaults relative to $<INSTALL_PREFIX>
Expand Down
18 changes: 14 additions & 4 deletions release_docs/RELEASE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -301,6 +301,16 @@ Bug Fixes since HDF5-1.13.3 release

Configuration
-------------
- Change the default for building the high-level tools
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if it might be good to call out which tools are getting disabled here by default since I imagine some folks would want to know that building of h5watch is opt-in after this.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree. The tools are gif2hdf and hdf2gif as well as h5watch

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done


The gif2hdf5 and hdf2gif high-level tools are deprecated and will be removed
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The gif2hdf5 and hdf2gif high-level tools are deprecated and will be removed
The gif2h5 and h52gif high-level tools are deprecated and will be removed

in a future release. The default build setting for them have been changed from enabled
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
in a future release. The default build setting for them have been changed from enabled
in a future release. The default build setting for them has been changed from enabled

to disabled. A user can enable the build of these tools if needed.
autotools: --enable-hlgiftools
cmake: HDF5_BUILD_HL_GIF_TOOLS=ON

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The gif2h5 and h52gif tools were previously enabled or disabled by the --enable-hltools / HDF5_BUILD_HL_TOOLS option. That option also controlled building and installing the h5watch tool, which will continue to be built and installed by default but may be disabled using that option.

(ADB - 2022/12/16)

- Change the settings of the *pc files to use the correct format

The pkg-config files generated by CMake uses incorrect syntax for the 'Requires'
Expand Down Expand Up @@ -583,7 +593,7 @@ The issues with the gif tool are:
HDFFV-10592 CVE-2018-17433
HDFFV-10593 CVE-2018-17436
HDFFV-11048 CVE-2020-10809
These CVE issues have not yet been addressed and can be avoided by not building
the gif tool. Disable building the High-Level tools with these options:
autotools: --disable-hltools
cmake: HDF5_BUILD_HL_TOOLS=OFF
These CVE issues have not yet been addressed and are avoided by not building
the gif tool by default. Enable building the High-Level tools with these options:
autotools: --enable-hltools
cmake: HDF5_BUILD_HL_TOOLS=ON