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

1.14 sync with develop #3660

Merged
merged 540 commits into from
Oct 12, 2023
Merged

1.14 sync with develop #3660

merged 540 commits into from
Oct 12, 2023

Conversation

jhendersonHDF
Copy link
Collaborator

Please look over this and let me know if there's anything that shouldn't be merged into the 1.14 branch.

@byrnHDF it was easiest to sync everything from develop, including the gzip and szip changes. If those weren't supposed to come to 1.14, please let me know so I can revert whichever commits are relevant.

byrnHDF and others added 30 commits June 12, 2023 20:05
* Add workspace path
* add debug
* Make one job so workspace files are available
* Put doxygen docs under docs folder in gh-pages
The compiler complains about using integers instead of size_t
for some sizes.
Removes H5detect and H5make_libsettings from the build and replaces
their functionality with things that don't affect cross-compiling.

H5detect --> floating-point types are now detected on library load
H5make_libsettings --> Moved functionality to a new H5build_settings.c template file
src/H5system.c:1293:13: warning: Dereference of null pointer
[clang-analyzer-core.NullDereference]
src/H5trace.c:4048:17: warning: Passed-by-value struct argument contains
uninitialized data (e.g., via the field chain: 'initial.user')
[clang-analyzer-core.CallAndMessage]
This script was used to ensure that all non-HDF5 calls were prefixed
with 'HD'. We are removing this scheme so this script is no longer
needed.
* Remove unused HD macros
The library prefixes most C and POSIX API calls with 'HD'. We are
going to start removing these so the code looks like normal C.

This PR removes most of the unused HD markup macros.

* Replace ntohl/ntohs
* Remove dead code
* Replace mybzero with memset
* Replace hbool_t/TRUE/FALSE with bool/true/false
* Revert "Remove long double conversion work-arounds (HDFGroup#3097)"

This reverts commit 1e1dac1.

* Update comments to reflect newer systems
* Add java options to build scripts

Previously, cmakehdf5 turned on compiling of the java interface
by default due to a value set in cacheinit.cmake.

Now, consistent with how Fortran and CPP interfaces are handled,
the script overwrites this default value to disable the libraries,
fixing HDFGroup#2958.

I also implemented the --enable-java/--disable java options for
cmakehdf5, and -java for buildhdf5.

Allen said these scripts should mention that
compilers are to be specified in environment variables, but missing
compilers causes errors at the CMake level, and
CMake's error messages are already pretty informative (See the one
in HDFGroup#2958 about JAVA_COMPILER).
These were last usefully modified in 2004
* Adds semicolons to function-like macros
* Adds a do..while(0) loop to some macros
* Removes semicolons when inappropriate, especially H5E_TRY_BEGIN/END
HDsocket(), etc. Only affects the mirror VFD and its test code.
- Added a cmake variable to the hdf5-config.cmake file which
  indicate if the library has been build with or without the
  read-only S3 functionality.
* Track s3 i/o when S3COMMS_DEBUG enabled
* Add upload url as artifact
* Change doxygen path and comment log-url upload
* zip doxygen files for upload
* add workspace var
POSIX calls (HDstrndup, etc.) are unchanged
* Fixed various -Wmissing-variable-declarations by adding static keyword
* In a few cases, renamed the variable suffix from _g to _s.
* Fixed some -Wmissing-variable-declarations by using different declaration macros
* Fixed various -Wconditional-uninitialized warnings by just initializing variable to zero
* Fixed various -Wcomma warnings
* Fixed clang -Wstrict-prototypes warnings
* Fixed various -Wunused-variable warnings
* Updated some casts to fix the only 3 -Wcast-qual warnings
* Fixed the only -Wsometimes-uninitialized warning
"HDF5_EXAMPLES_COMPRESSED_DIR": {"type": "STRING", "value": "${sourceParentDir}/temp"},
"EXAMPLES_TGZ_ORIGPATH": {"type": "STRING", "value": "https://github.com/HDFGroup/hdf5-examples/archive/refs/tags/"},
"EXAMPLES_TGZ_ORIGNAME": {"type": "STRING", "value": "2.0.4.tar.gz"}
"HDF5_EXAMPLES_COMPRESSED": {"type": "STRING", "value": "hdf5-examples-master.tar.gz"},
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Some of these examples links seemed suspect going from 2.0.4 to master so I didn't know if this was correct or not for 1.14 as opposed to develop

Copy link
Contributor

Choose a reason for hiding this comment

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

This will be gone when examples is moved in

.github/workflows/h5py.yml Outdated Show resolved Hide resolved
# To guarantee Maintained check is occasionally updated. See
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained
schedule:
- cron: '36 22 * * 4'
Copy link
Contributor

@byrnHDF byrnHDF Oct 11, 2023

Choose a reason for hiding this comment

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

Should just remove the schedule item and leave the push?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

yes I think that may have been how it was before. Will revert

@@ -131,7 +119,7 @@ endif ()
#-----------------------------------------------------------------------------
# Option for SzLib support
#-----------------------------------------------------------------------------
option (HDF5_ENABLE_SZIP_SUPPORT "Use SZip Filter" OFF)
option (HDF5_ENABLE_SZIP_SUPPORT "Use SZip Filter" ON)
Copy link
Contributor

Choose a reason for hiding this comment

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

This should probably remain as previously

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Was this change part of other changes or by itself? I can revert the commit or make the individual change; just concerned about getting confused between the state of this between develop and 1.14

Copy link
Contributor

Choose a reason for hiding this comment

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

There were other changes

CMakePlugins.cmake Outdated Show resolved Hide resolved
@byrnHDF
Copy link
Contributor

byrnHDF commented Oct 11, 2023

I'm not sure this is the way to do this - Reviewing will take a long time (it is slow on my computer!)
Maybe we should take it smaller bites?

@jhendersonHDF
Copy link
Collaborator Author

I'm not sure this is the way to do this - Reviewing will take a long time (it is slow on my computer!) Maybe we should take it smaller bites?

The best way of course would be to keep the two branches in sync regularly. Since there are apparently 540 commits not merged from develop, I don't know the best way to go about this. Smaller batches may help, but there are still a ton of changes. Cherry picking out the tools move PR may help, but that will make it harder to do a regular merge of the other files.

@jhendersonHDF
Copy link
Collaborator Author

git merge-base shows that the last common commit between develop and the 1.14 branch is b9f4c001ade4c230f8325080f3dd8181648324ab from December 9. I could start there and pick up things in batches of a hundred commits or so, but the PRs that capture the tools move change and the FALSE -> false, hbool_t -> bool changes will still be huge.

@brtnfld brtnfld added this to the 1.14.3 milestone Oct 11, 2023
@jhendersonHDF jhendersonHDF force-pushed the 1_14_dev_sync branch 5 times, most recently from edfbf5f to a377a27 Compare October 12, 2023 01:04
@lrknox lrknox merged commit ea3f926 into HDFGroup:hdf5_1_14 Oct 12, 2023
39 checks passed
@jhendersonHDF jhendersonHDF deleted the 1_14_dev_sync branch October 18, 2023 01:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component - Build CMake, Autotools Component - C Library Core C library issues (usually in the src directory) Component - C++ C++ wrappers Component - Documentation Doxygen, markdown, etc. Component - Fortran Fortran wrappers Component - High-Level Library Code in the hl directory Component - Java Java wrappers Component - Misc Anything else (CODEOWNERS, etc.) Component - Parallel Parallel HDF5 (NOT thread-safety) Component - Testing Code in test or testpar directories, GitHub workflows Component - Tools Command-line tools like h5dump, includes high-level tools Merge Use this label when a PR is for a downstream merge Priority - 0. Blocker ⛔ This MUST be merged for the release to happen Type - Task Actions that don't fit into any other type category
Projects
None yet
Development

Successfully merging this pull request may close these issues.