0.17 (2023-08-06)

Configure environment variables across configure, build and install stages

Packages performing configuration, building and installation stages have the ability to forward configured environment variables for each stage (using LIBFOO_CONF_ENV, LIBFOO_BUILD_ENV and LIBFOO_INSTALL_ENV). This requires some duplication if a developer wanted to define an environment variable to apply to all of these stages. With the introduction of the LIBFOO_ENV option, this can now be achieving as follows:

LIBFOO_ENV = {
    'OPTION': 'VALUE',
}

Option to explicitly override CMAKE_BUILD_TYPE

When building with CMake in releng-tool, the default build type is configured for RelWithDebInfo. Developers can now override this for a package by using the newly added LIBFOO_CMAKE_BUILD_TYPE option (alternatively, over defining a CMAKE_BUILD_TYPE override in a configuration define dictionary).

Improvements for development and local-sources modes

A series of changes have been made to help improve usability when taking advantage of development or local-sources modes. A new action state has been added to allow users to query active modes without having to manually inspect file flags or perform active run of releng-tool:

$ releng-tool state
...
Development mode: Enabled
Local-sources mode: Disabled

When disabling development or local-sources mode, users would originally have to invoke a mrproper call or manually clear file flags. With this release, users can pass in a - value for these modes when attempting to unconfigure. For example, to unconfigure development mode:

$ releng-tool --development -
...
(warn) development mode has been unconfigured

Or remove a local-source mapping:

$ releng-tool --local-sources pkg-a:-
...
(warn) local-sources mode has been unconfigured

Additional changes include:

  • Relative paths are now properly handled when provided into a local-sources command line argument.

  • When listing configured local-sources for a project, releng-tool will inform users if the configured directory does not exist.

Support for Perforce sites

With this release, releng-tool now supports cloning from Perforce depots. In a host environment with Git and Perforce client utilities installed, releng-tool runs can download a copy of depot file specification when processing a package:

LIBFOO_SITE = 'perforce+<host> <depot-file-spec>'