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>'