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.
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
- Python 2.7 or 3.4+
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.