Skip to content

Build system used for the Toltec community repository.

License

Notifications You must be signed in to change notification settings

toltec-dev/build

Repository files navigation

toltecmk

toltecmk on PyPI Status of the main branch

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 input: recipe; output: packages. Fetches sources based on instructions in the recipe.

Setup

toltecmk is available as a Python package on PyPI.

pip install toltecmk

There are a few system requirements to use this tool:

  • Linux-based operating system
  • Python ⩾ 3.11
  • Docker

Basic Usage

To build a recipe located in the current directory, simply run:

toltecmk

This 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).

Documentation

Related Projects

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