Package hacking

Package types may define various command line defines and options to help support certain features or practices that best fit with releng-tool’s staged processing. In some advanced scenarios, developers may wish to override these defines/options due to corner cases or preferences. Developers can perform overrides by hinting in configurations for things to remove.

For example, Make-based packages will include a PREFIX variable assignment based on the project’s or package’s configured prefix. This can result in the following installation command to be invoked:

make DESTDIR=<output>/target install PREFIX=/usr

If the assignment of PREFIX causes issues for a package, a developer can hint to remove such an option by configuring LIBFOO_INSTALL_DEFS to be as follows:

LIBFOO_INSTALL_DEFS = {
    'PREFIX': None,
}

This will then result in the following installation command for the package:

make DESTDIR=<output>/target install

Overrides are typically support on each configuration, build and install-related configurations. Not all defines/options can be overridden. As such overrides are advanced, developers are recommended to refer to the implementation for specifics. Developers can also use the --debug argument to see explicit commands invoked:

releng-tool --debug