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

Add stanza for Release Candidate 1 in Release Notes #2934

Merged
merged 25 commits into from
Aug 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
7b610e2
Add stanza for Release Candidate 1 in Release Notes
WardF Jun 11, 2024
4cf768e
Merge branch 'main' into v4.9.3-rc1-prep.wif
WardF Jun 11, 2024
a63060c
Bump SO version according to https://www.gnu.org/software/libtool/man…
WardF Jun 11, 2024
f29cff2
Bumped to next version.
WardF Jun 18, 2024
76ad6de
Merge branch 'main' into v4.9.3-rc1-prep.wif
WardF Jul 1, 2024
7bf9078
Correct an issue using internal S3 API/SDK, reworked options so that …
WardF Jul 2, 2024
78bb39d
Correct typo.
WardF Jul 2, 2024
f5a7560
Correct an issue when linking when large file tests are enabled.
WardF Jul 10, 2024
46953ba
Merge branch 'main' into v4.9.3-rc1-prep.wif
WardF Jul 15, 2024
f699273
Merge branch 'main' into v4.9.3-rc1-prep.wif
WardF Jul 16, 2024
ca36d99
Merge branch 'main' into v4.9.3-rc1-prep.wif
WardF Jul 16, 2024
6aacb1b
Bump expected cache threshhold for systems with larger default pagesi…
WardF Jul 17, 2024
7b06f79
Re-added NCSTAT to the list of software using netCDF.
WardF Jul 17, 2024
661da9d
Update release date for RC1.
WardF Jul 24, 2024
d2f9e86
Add auth.md back in to doxyge, in support of https://github.com/Unida…
WardF Jul 24, 2024
dda1174
Correct warnings in auth.md being treated as errors.
WardF Jul 25, 2024
c47eb6f
A few additional changes to authorization document.
WardF Jul 25, 2024
c9c2e8b
Added missing quote
WardF Jul 25, 2024
8f331b7
Bump release by one day to incorporate final changes.
WardF Jul 25, 2024
ebcecef
Made changes so that doxygen configuration file is updated to comply …
WardF Jul 26, 2024
9c602e1
Add doxygen-related fix to autoconf-based builds.
WardF Jul 26, 2024
04e6e4c
Update .gitignore
WardF Jul 26, 2024
8ec7e72
Update .gitignore.
WardF Jul 26, 2024
e3e1491
Restore header and footer files.
WardF Jul 26, 2024
d18a606
Finalize doxygen fix for autotools.
WardF Jul 26, 2024
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
60 changes: 35 additions & 25 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,27 @@ project(netCDF
VERSION 4.9.3
)

#####
# Version Info:
#
# Release Version
# Library Version
# SO Version
#
# SO Version is computed from library version. See:
# http://www.gnu.org/software/libtool/manual/libtool.html#Libtool-versioning
#####

set(NC_VERSION_NOTE "-rc1")
set(netCDF_VERSION ${PROJECT_VERSION}${NC_VERSION_NOTE})
set(VERSION ${netCDF_VERSION})
set(NC_VERSION ${netCDF_VERSION})
set(PACKAGE_VERSION ${VERSION})

# These values should match those in configure.ac
set(netCDF_LIB_VERSION 22)
set(netCDF_SO_VERSION 22)

#Add custom CMake Module
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules" "${PROJECT_SOURCE_DIR}/cmake")

Expand Down Expand Up @@ -51,26 +72,7 @@ endif()
add_library(netcdf)
add_library(netCDF::netcdf ALIAS netcdf)

#####
# Version Info:
#
# Release Version
# Library Version
# SO Version
#
# SO Version is computed from library version. See:
# http://www.gnu.org/software/libtool/manual/libtool.html#Libtool-versioning
#####

set(NC_VERSION_NOTE "-development")
set(netCDF_VERSION ${PROJECT_VERSION}${NC_VERSION_NOTE})
set(VERSION ${netCDF_VERSION})
set(NC_VERSION ${netCDF_VERSION})
set(PACKAGE_VERSION ${VERSION})

# These values should match those in configure.ac
set(netCDF_LIB_VERSION 19)
set(netCDF_SO_VERSION 19)

# Version of the dispatch table. This must match the value in
# configure.ac.
Expand Down Expand Up @@ -736,13 +738,18 @@ if(NOT WIN32)
endif()

# Options for S3 Support
option(NETCDF_ENABLE_S3 "Enable S3 support." OFF)
#option(NETCDF_ENABLE_S3 "Enable S3 support." OFF)
option(NETCDF_ENABLE_S3_AWS "Enable S3 support via AWS-CPP-SDK" OFF)
option(NETCDF_ENABLE_S3_INTERNAL "Enable S3 Internal support." OFF)
option(NETCDF_ENABLE_NCZARR_S3 "Enable NCZarr S3 support; Deprecated in favor of NETCDF_ENABLE_S3" OFF)

cmake_dependent_option(NETCDF_ENABLE_S3 "Enable S3 Support" ON "NETCDF_ENABLE_S3_AWS OR NETCDF_ENABLE_S3_INTERNAL" OFF)

option(NETCDF_ENABLE_NCZARR_S3 "Enable NCZarr S3 support; Deprecated in favor of NETCDF_ENABLE_S3" ${NETCDF_ENABLE_S3})

if(NOT NETCDF_ENABLE_REMOTE_FUNCTIONALITY)
set(NETCDF_ENABLE_S3 OFF CACHE BOOL "" FORCE)
set(NETCDF_ENABLE_S3_INTERNAL OFF CACHE BOOL "" FORCE)
set(NETCDF_ENABLE_S3_AWS OFF CACHE BOOL "" FORCE)
set(NETCDF_ENABLE_NCZARR_S3 OFF CACHE BOOL "" FORCE)
endif()

Expand Down Expand Up @@ -1531,10 +1538,7 @@ endif()
# STATIC_DEFINE netcdf_BUILT_AS_STATIC
#)

#####
# Build doxygen documentation, if need be.
#####
add_subdirectory(docs)


##
# Brute force, grab all of the dlls from the dependency directory,
Expand Down Expand Up @@ -1805,6 +1809,12 @@ set(abs_top_builddir "${CMAKE_CURRENT_BINARY_DIR}")
set(abs_top_srcdir "${CMAKE_CURRENT_SOURCE_DIR}")
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/test_common.in ${CMAKE_CURRENT_BINARY_DIR}/test_common.sh @ONLY NEWLINE_STYLE LF)

#####
# Build doxygen documentation, if need be.
# This must come after setting top_builddir, etc.
#####
add_subdirectory(docs)

####
# Build s3cleanup.sh and s3gc.sh
#####
Expand Down
3 changes: 3 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@ This file contains a high-level description of this package's evolution. Release

## 4.9.3 - TBD

### Release Candidate 1 - July 26, 2024

* Convert NCZarr V2 to store all netcdf-4 specific info as attributes. This improves interoperability with other Zarr implementations by no longer using non-standard keys. The price to be paid is that lazy attribute reading cannot be supported. See [Github #2836](https://github.com/Unidata/netcdf-c/issues/2936) for more information.

* Cleanup the option code for NETCDF_ENABLE_SET_LOG_LEVEL\[_FUNC\] See [Github #2931](https://github.com/Unidata/netcdf-c/issues/2931) for more information.
* Fix duplicate definition when using aws-sdk-cpp. See [Github #2928](https://github.com/Unidata/netcdf-c/issues/2928) for more information.
* Cleanup various obsolete options and do some code refactoring. See [Github #2926](https://github.com/Unidata/netcdf-c/issues/2926) for more information.
Expand Down
6 changes: 3 additions & 3 deletions cmake/dependencies.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -429,7 +429,7 @@ endif ()
# because for some reason this screws up if we unconditionally test for sdk
# and it is not available. Fix someday
if(NETCDF_ENABLE_S3)
if(NOT NETCDF_ENABLE_S3_INTERNAL)
if(NETCDF_ENABLE_S3_AWS)
# See if aws-s3-sdk is available
find_package(AWSSDK REQUIRED COMPONENTS s3;transfer)
if(AWSSDK_FOUND)
Expand All @@ -441,7 +441,7 @@ if(NETCDF_ENABLE_S3)
else(AWSSDK_FOUND)
set(NETCDF_ENABLE_S3_AWS OFF CACHE BOOL "S3 AWS" FORCE)
endif(AWSSDK_FOUND)
else(NOT NETCDF_ENABLE_S3_INTERNAL)
else(NETCDF_ENABLE_S3_INTERNAL)
# Find crypto libraries required with testing with the internal s3 api.
#find_library(SSL_LIB NAMES ssl openssl)
find_package(OpenSSL REQUIRED)
Expand All @@ -454,7 +454,7 @@ if(NETCDF_ENABLE_S3)
# message(FATAL_ERROR "Can't find a crypto library, required by S3_INTERNAL")
#endif(NOT CRYPTO_LIB)

endif(NOT NETCDF_ENABLE_S3_INTERNAL)
endif(NETCDF_ENABLE_S3_AWS)
else()
set(NETCDF_ENABLE_S3_AWS OFF CACHE BOOL "S3 AWS" FORCE)
endif()
Expand Down
6 changes: 3 additions & 3 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
AC_PREREQ([2.59])

# Initialize with name, version, and support email address.
AC_INIT([netCDF],[4.9.3-development],[support-netcdf@unidata.ucar.edu],[netcdf-c])
AC_INIT([netCDF],[4.9.4-development],[support-netcdf@unidata.ucar.edu],[netcdf-c])

##
# Prefer an empty CFLAGS variable instead of the default -g -O2.
Expand All @@ -21,15 +21,15 @@ AC_INIT([netCDF],[4.9.3-development],[support-netcdf@unidata.ucar.edu],[netcdf-c

AC_SUBST([netCDF_VERSION_MAJOR]) netCDF_VERSION_MAJOR=4
AC_SUBST([netCDF_VERSION_MINOR]) netCDF_VERSION_MINOR=9
AC_SUBST([netCDF_VERSION_PATCH]) netCDF_VERSION_PATCH=3
AC_SUBST([netCDF_VERSION_PATCH]) netCDF_VERSION_PATCH=4
AC_SUBST([NC_VERSION_NOTE]) NC_VERSION_NOTE="-development"

##
# These linker flags specify libtool version info.
# See http://www.gnu.org/software/libtool/manual/libtool.html#Libtool-versioning
# for information regarding incrementing `-version-info`.
# These values should match those in CMakeLists.txt
AC_SUBST([netCDF_SO_VERSION]) netCDF_SO_VERSION=21:2:2
AC_SUBST([netCDF_SO_VERSION]) netCDF_SO_VERSION=22:0:0

#####
# Set some variables used to generate a libnetcdf.settings file,
Expand Down
6 changes: 6 additions & 0 deletions docs/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Doxyfile
custom_style.css
latex_main
man
Doxyfile.bak

4 changes: 3 additions & 1 deletion docs/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,9 @@ IF(NETCDF_ENABLE_DOXYGEN)

# Generate User Documentation
ADD_CUSTOM_TARGET(doc_all ALL
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
COMMAND ${DOXYGEN_EXECUTABLE} -u ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
COMMAND ${DOXYGEN_EXECUTABLE} -w html ${CMAKE_CURRENT_BINARY_DIR}/header.html ${CMAKE_CURRENT_BINARY_DIR}/footer.html ${CMAKE_CURRENT_BINARY_DIR}/custom_stylesheet.html ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/auth.html ${CMAKE_CURRENT_BINARY_DIR}/html
COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/obsolete/fan_utils.html ${CMAKE_CURRENT_BINARY_DIR}/html
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
Expand Down
2 changes: 1 addition & 1 deletion docs/Doxyfile.developer
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ PROJECT_NAME = netCDF-C
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER = 4.9.3-development
PROJECT_NUMBER = 4.9.4-development

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
Expand Down
5 changes: 3 additions & 2 deletions docs/Doxyfile.in
Original file line number Diff line number Diff line change
Expand Up @@ -945,6 +945,7 @@ INPUT = @abs_top_srcdir@/docs/mainpage.dox \
@abs_top_srcdir@/docs/windows-binaries.md \
@abs_top_srcdir@/docs/inmemory.md \
@abs_top_srcdir@/docs/byterange.md \
@abs_top_srcdir@/docs/auth.md \
@abs_top_srcdir@/docs/nczarr.md \
@abs_top_srcdir@/docs/cloud.md \
@abs_top_srcdir@/docs/notes.md \
Expand Down Expand Up @@ -1352,7 +1353,7 @@ HTML_FILE_EXTENSION = .html
# of the possible markers and block names see the documentation.
# This tag requires that the tag GENERATE_HTML is set to YES.

HTML_HEADER = @abs_top_srcdir@/docs/header.html
HTML_HEADER = @abs_top_builddir@/docs/header.html

# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
# generated HTML page. If the tag is left blank doxygen will generate a standard
Expand All @@ -1362,7 +1363,7 @@ HTML_HEADER = @abs_top_srcdir@/docs/header.html
# that doxygen normally uses.
# This tag requires that the tag GENERATE_HTML is set to YES.

HTML_FOOTER = @abs_top_srcdir@/docs/footer.html
HTML_FOOTER = @abs_top_builddir@/docs/footer.html

# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
# sheet that is used by each HTML page. It can be used to fine-tune the look of
Expand Down
6 changes: 5 additions & 1 deletion docs/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,11 @@ endif
# includes them in the documentation.

doxyfile.stamp:
$(DOXYGEN) Doxyfile && cp $(top_srcdir)/docs/auth.md $(top_srcdir)/docs/obsolete/fan_utils.html html
$(DOXYGEN) -u $(top_builddir)/docs/Doxyfile && \
$(DOXYGEN) -w html $(top_builddir)/docs/header.html \
$(top_builddir)/docs/footer.html $(top_builddir)/docs/custom_style.css $(top_builddir)/docs/Doxyfile && \
$(DOXYGEN) $(top_builddir)/docs/Doxyfile && \
cp $(top_srcdir)/docs/auth.md $(top_srcdir)/docs/obsolete/fan_utils.html html

CLEANFILES = doxyfile.stamp

Expand Down
33 changes: 15 additions & 18 deletions docs/auth.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,18 @@
NetCDF Authorization Support
======================================
====================================

<!-- double header is needed to workaround doxygen bug -->

NetCDF Authorization Support {#auth}
====================================

[TOC]

## Introduction {#auth_intro}
## Introduction {#auth}

netCDF can support user authorization using the facilities provided by the curl
library. This includes basic password authentication as well as
certificate-based authorization.
At the moment, this document only applies to DAP2 and DAP4 access.

With some exceptions (e.g. see the section on <a href="#REDIR">redirection</a>)
With some exceptions (e.g. see the section on <a href="#auth_redir">redirection</a>)
The libcurl authorization mechanisms can be accessed in two ways

1. Inserting the username and password into the url, or
Expand All @@ -33,7 +30,7 @@ This username and password will be used if the server asks for
authentication. Note that only simple password authentication
is supported in this format.

Specifically note that [redirection-based](#REDIR)
Specifically note that [redirection-based](#auth_redir)
authorization may work with this but it is a security risk.
This is because the username and password
may be sent to each server in the redirection chain.
Expand Down Expand Up @@ -137,7 +134,7 @@ This is an alternative to setting it in the url.
The value must be of the form "username:password".
See the <a href="#USERPWDESCAPE">password escaping</a> section
to see how this value must escape certain characters.
Also see <a href="#REDIR">redirection authorization</a>
Also see <a href="#auth_redir">redirection authorization</a>
for important additional information.

The pair of keys
Expand All @@ -146,7 +143,7 @@ can be used as an alternative to HTTP.CREDENTIALS.USERPASSWORD
to set the simple password authentication.
If present, they take precedence over HTTP.CREDENTIALS.USERPASSWORD.
The values do not need to be escaped.
See <a href="#REDIR">redirection authorization</a>
See <a href="#auth_redir">redirection authorization</a>
for important additional information.

### Cookie Jar
Expand All @@ -157,7 +154,7 @@ to read cookies (CURLOPT_COOKIEJAR) and also
the file into which to store cookies (CURLOPT_COOKIEFILE).
The same value is used for both CURLOPT values.
It defaults to in-memory storage.
See [redirection authorization](#REDIR)
See [redirection authorization](#auth_redir)
for important additional information.

### Certificate Authentication
Expand Down Expand Up @@ -191,7 +188,7 @@ deprecated; use HTTP.PROXY.SERVER
HTTP.NETRC
specifies the absolute path of the .netrc file,
and causes it to be used instead of username and password.
See [redirection authorization](#REDIR)
See [redirection authorization](#auth_redir)
for information about using *.netrc*.

## Password Escaping {#auth_userpwdescape}
Expand Down Expand Up @@ -289,7 +286,7 @@ machine urs.earthdata.nasa.gov login <user> password <password>

Some systems, notably ESG (Earth System Grid), requires
the use of client-side certificates, as well as being
[re-direction based](#REDIR).
[re-direction based](#auth_redir).
This requires setting the following entries:

- HTTP.COOKIEJAR &mdash; a file path for storing cookies across re-direction.
Expand All @@ -306,7 +303,7 @@ Note that the first two are there to support re-direction based authentication.
1. https://curl.haxx.se/libcurl/c/curl_easy_setopt.html
2. https://curl.haxx.se/docs/ssl-compared.html

## Appendix A. All RC-File Keys {#auth_allkeys}
## Authorization Appendix A. All RC-File Keys {#auth_allkeys}

For completeness, this is the list of all rc-file keys.
If this documentation is out of date with respect to the actual code,
Expand All @@ -333,21 +330,21 @@ the code is definitive.
<tr><td>HTTP.NETRC</td><td>CURLOPT_NETRC,CURLOPT_NETRC_FILE</td>
</table>

## Appendix B. URS Access in Detail {#auth_ursdetail}
## Authorization Appendix B. URS Access in Detail {#auth_ursdetail}

It is possible to use the NASA Earthdata Login System (URS)
with netcdf by using using the process specified in the
[redirection based authorization section](#REDIR).
[redirection based authorization section](#auth_redir).
In order to access URS controlled datasets, however, it is necessary to
register as a user with NASA at this website (subject to change):

https://uat.urs.earthdata.nasa.gov/

## Appendix C. ESG Access in Detail {#auth_esgdetail}
## Authorization Appendix C. ESG Access in Detail {#auth_esgdetail}

It is possible to access Earth Systems Grid (ESG) datasets
from ESG servers through the netCDF API using the techniques
described in the section on [Client-Side Certificates](#CLIENTCERTS).
described in the section on [Client-Side Certificates](#auth_clientcerts).

In order to access ESG datasets, however, it is necessary to
register as a user with ESG and to setup your environment
Expand Down Expand Up @@ -430,7 +427,7 @@ named "truststore"

### Running the C Client

Refer to the section on [Client-Side Certificates](#CLIENTCERTS).
Refer to the section on [Client-Side Certificates](#auth_clientcerts).
The keys specified there must be set in the rc file to support ESG access.

- HTTP.COOKIEJAR=~/.dods_cookies
Expand Down
38 changes: 17 additions & 21 deletions docs/footer.html
Original file line number Diff line number Diff line change
@@ -1,21 +1,17 @@
<!-- HTML footer for doxygen 1.8.17-->
<!-- start footer part -->
<!--BEGIN GENERATE_TREEVIEW-->
<div id="nav-path" class="navpath"> <!-- id is needed for treeview function! -->
<!--END GENERATE_TREEVIEW-->
<!--BEGIN !GENERATE_TREEVIEW-->
<div> <!-- id unnecessary if treeview is not used -->
<!--END !GENERATE_TREEVIEW-->
<hr size="2" />
<address style="text-align: center;">
<a href="https://www.unidata.ucar.edu/software/netcdf/">Return to the Main Unidata NetCDF page.</a><br>
<img src="./$relpath^/uniLogo.png">
</address>

<address style="text-align: right;"><small>
Generated on $datetime for $projectname. NetCDF is
a <a href="https://www.unidata.ucar.edu/">Unidata</a> library.</small>
</address>
</div>
</body>
</html>
<!-- HTML footer for doxygen 1.9.1-->
<!-- start footer part -->
<!--BEGIN GENERATE_TREEVIEW-->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
$navpath
<li class="footer">$generatedby <a href="https://www.doxygen.org/index.html"><img class="footer" src="$relpath^doxygen.svg" width="104" height="31" alt="doxygen"/></a> $doxygenversion </li>
</ul>
</div>
<!--END GENERATE_TREEVIEW-->
<!--BEGIN !GENERATE_TREEVIEW-->
<hr class="footer"/><address class="footer"><small>
$generatedby&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="$relpath^doxygen.svg" width="104" height="31" alt="doxygen"/></a> $doxygenversion
</small></address>
<!--END !GENERATE_TREEVIEW-->
</body>
</html>
Loading
Loading