Arbor

It's a tree-structured build system, able to produce agnostic packages in a reproducible and controlled manner.

Dependencies

  • bzip2
  • cdb
  • curl
  • doas[0]
  • flex
  • execline
  • lzip
  • pigz
  • redo[1]
  • venus
  • xz
  • zstd

[0]: An alternative tool such as sudo(8) can also be used; you just need to edit config/defaults. The root permissions are only used to chroot and (u)mount tmpfs.

[1]: The Eltanin's redo implementation has a different behaviour (as stated in its own page); if you plan to use another implementation a patch must be applied.

Usage

First of all you need to bootstrap it:

$ cd arbor
$ export ARBOR=$PWD
$ ./bootstrap

Build all the packages:

$ bin/arbor -a

Build a package:

$ bin/arbor ${package_name}

Populate a remote repository with the built packages:

$ bin/arbor -p

Populate a local repository with the populated remote repositories:

$ bin/arbor -o /venus-store/repo/disk

Source

https://git.eltaninos.org/arbor