2.6 (2025-08-03)

Adjustments to local-sources interaction

Two adjustments have been made for user’s who utilize local-sources mode. First, when running releng-tool configured for a local-sources mode, paths of any configured local-source overrides are now always printed at the start of a releng-tool run.

The second improvement is the handling of provided local-sources paths on the command line. Supported paths would include explicit directories; however, if a trailing slash was provided in the path, the mapping to the package may not work. This is not ideal for users utilizing path expansion in their shells which typically end in trailing slashes. releng-tool has been updated to now accept trailing-slashed paths.

Rework of provided staging/target/host paths for CMake projects

CMake-based projects are provided locations for various include, library and module paths in their configuration stages. This is to help hint at assets generated by packages that can be found by other packages that locally depend on them. However, some limitations have existed in how releng-tool configured a project, especially for environments which used strict CMAKE_FIND_ROOT_PATH_MODE_* modes.

While projects are invoked with CMAKE_INCLUDE_PATH, CMAKE_LIBRARY_PATH, etc. to help find various resources; a CMAKE_FIND_ROOT_PATH path was never provided. This could be problematic for builds that may be configured with, for example, CMAKE_FIND_ROOT_PATH_MODE_INCLUDE set to ONLY and options like CMAKE_INCLUDE_PATH are ignored.

Toolchain configurations should be configuring CMAKE_SYSROOT and ideally allow CMAKE_FIND_ROOT_PATH to be tailored (if a caller can provide extended sysroot paths). Since releng-tool now provides CMAKE_FIND_ROOT_PATH, toolchain configurations should be able to support the base toolchain sysroot and additional staged/target files prepared by a releng-tool project.

Example toolchain configuration should ideally support either:

list(APPEND CMAKE_FIND_ROOT_PATH "INTERNAL_SDK_PATH")

Or:

if(NOT DEFINED CMAKE_FIND_ROOT_PATH)
    set(CMAKE_FIND_ROOT_PATH "INTERNAL_SDK_PATH")
endif()

Before the use of CMAKE_FIND_ROOT_PATH, releng-tool used to configure CMAKE_PREFIX_PATH to help projects find content in the staging/target area. This resulted in some undesired side effects as it could result in program finding to try to find/use staged/target executables in the host environment. Defining the prefix path is not required with the proper find-related configurations; therefore, releng-tool will no longer explicitly configure CMAKE_PREFIX_PATH.

SPDX license database updated

The internally managed copy of the SPDX license identifiers has been updated to the most recent version (v3.27).