2.3 (2025-05-04)

Extended support Make/SCons utilizing a configuration stage

For both Make and SCons, there is no default configuration stage invoked. Users have the ability to define command line options in LIBFOO_CONF_OPTS to help trigger an invoke of the respective tooling if configured; useful for packages which support a pre-build event.

However, if a package only utilized LIBFOO_CONF_DEFS or LIBFOO_CONF_ENV (or a combination), the configuration stage would not be invoked since LIBFOO_CONF_OPTS was not configured. With this release, if any package configuration setting is set, the configuration stage will be invoked for the package.

Interpreter configuration for generated Python package launchers

As of v2.0, all Python packages use Python’s installer module to install packages into a staging/target area. If a package defines project scripts, the installer module would generate launcher scripts based on the running interpreter of releng-tool. While functional for host packages, the results may be unexpected for target installs (e.g. if releng-tool is running from a virtualized environment).

In this release, releng-tool will now use fixed/“common“ interpreter paths to be used during launcher generation:

Type

Value

Non-Windows

/usr/bin/python

Windows

python.exe

Developers looking to tailor the interpreter used can utilize the new option LIBFOO_PYTHON_INSTALLER_INTERPRETER. For example:

LIBFOO_PYTHON_INSTALLER_INTERPRETER = '/opt/custom/python'

Introducing releng_path helper script function

To help the user experience for developers wishing to easily create pathlib.Path instances without needing to define an import, a new script helper releng_path has been introduced.

For example, instead of needing to invoke:

from pathlib import Path

mypath = Path('example')

The following may be performed in a releng-tool script:

mypath = releng_path('example')

Support for environment-configured parallel/job count

Users of a build can use the --jobs <jobs> argument to explicitly configure the number of jobs to use for a run. However, using the command line may not be preferred over trying to configure with an environment variable instead. To be flexible for such scenarios, the RELENG_PARALLEL_LEVEL environment option has been introduced as an alternative way to configure the job count.