toltecmk is a Python tool used to build software packages for the Toltec repository from PKGBUILD-like build recipes.
It automates common tasks such as fetching sources, building artifacts in a reproducible environment, and creating Opkg-compatible archives.
Disclaimer: This is beta-quality software. The recipe format may change at any time in future releases. If you use toltecmk in other projects, it is advised to pin to a specific version.
toltecmk is available as a Python package on PyPI.
pip install toltecmkThere are a few system requirements to use this tool:
- Linux-based operating system
- Python ⩾ 3.11
- Docker
To build a recipe located in the current directory, simply run:
toltecmkThis will process the recipe in a subfolder called build (which can be adjusted using the --work-dir flag) and generate packages in a subfolder called dist (--dist-dir flag).
- Tutorials and resources
- Reference
Many other build tools exist today for creating software packages, each major distribution having invented its own recipe and package formats.
Some important ones are listed below.
toltecmk itself uses an Arch Linux-style recipe format to build Debian-style packages.
| Name | Used by | Recipe format | Package format |
|---|---|---|---|
| Debian-style | |||
| debhelper | Debian, Ubuntu, and others | Source packages (Makefiles) | deb |
| OpenWrt SDK | OpenWrt, Entware | Source packages (Makefiles) | ipk |
| Fedora-style | |||
| rpmbuild | Fedora, openSUSE, and others | spec (DSL) | rpm |
| Arch Linux-style | |||
| makepkg | Arch Linux and others | PKGBUILD (Bash scripts) | pkg.tar.zst |
| abuild | Alpine Linux | APKBUILD (Bash scripts) | apk |
| Others | |||
| nix-build | NixOS | Expressions (DSL) | nar |
| ebuild | Gentoo | ebuild (Bash scripts) | tbz2 |