releng-tool aims to provide a way for developers to tailor the building of multiple software components to help prepare packages for desired runtime environments (e.g. cross-platform portable packages, embedded targets, etc.). When building a package, assets may be located in multiple locations and may require various methods to extract, build and more. releng-tool allows developers to define a set of packages, specifying where resources should be fetched from, how packages should be extracted and the processes for patching, configuring, building and installing each package for a target sysroot.

overview

The structure of a package depends on the specific project. The simplest type is a script-based package, where users can define custom scripts for various stages. A package does not need to handle every stage. Helper package types are available (e.g. autotools, Cargo, CMake, Make, Meson, various Python types, and SCons) for projects using common build systems.

For detailed information on releng-tool, please see releng-tool’s documentation.

Requirements

Host tools such as Git, scp, etc. may be required depending on the project being processed (e.g. if a package’s sources fetch from a Git source, a Git client tool is required to perform said fetch).

Installation

This tool can be installed using pipx:

pipx install releng-tool

Alternatively, this tool can be installed or updated using pip:

pip install -U releng-tool

If the pip entry point is not available on the host system, this tool can be installed/updated as follows:

python -m pip install -U releng-tool

This package is also available on:

Usage

A user can invoke a project build using the following:

releng-tool

If the releng-tool entry point is not available on the host system, the tool can be invoked as follows:

python -m releng-tool

Examples

Examples of releng-tool projects can be found in releng-tool’s examples repository.