robsd

build OpenBSD release

ISC License

Stars
5

robsd

This project started out as an attempt to automate the release(8) process on OpenBSD. The prime motivation was to roll my own snapshots in order to test my and others changes to the kernel, user space and everything in between. Hence the name robsd as in release OpenBSD. The scope later grew and the project is by now a kitchen sink for everything related to building, testing and maintaining OpenBSD. It's written in ksh with a dash of C and requires nothing other than what's included in base.

The project is divided into the utilities as follows. All of them are configured using a grammar that should be familiar for anyone with prior OpenBSD experience.

robsd

robsd(8) builds a release according to the release process. Some of its noteworthy features:

  • The changes since the last build according to CVS is turned into a
    readable log, similar to the format seen on the *-changes mailing
    lists.
  • Patches can be applied and reverted.
  • Detection of build time changes.
  • Detection of significant kernel and sets size changes.

robsd-cross

robsd-cross(8) builds a cross compiler tool chain targeting another architecture, using ${BSDSRCDIR}/Makefile.cross behind the scenes.

robsd-ports

robsd-ports(8) builds ports using dpb(1) behind the scenes.

robsd-regress

robsd-regress(8) runs regression tests. HTML summaries can be rendered using robsd-regress-html(8). Example of such output can be viewed at regress.basename.se which uses examples/robsd-regress.conf as its configuration.

canvas

canvas(1) exposes the generic parts of the robsd tooling. Providing an empty canvas for task automation, capable of handling both synchronous and asynchronous tasks.

Installation

OpenBSD

# pkg_add robsd

From source

The installation prefix defaults to /usr/local and can be altered using the PREFIX environment variable when invoking configure:

$ ./configure
$ make
$ make install

License

Copyright (c) 2018-2024 Anton Lindqvist. Distributed under the ISC license.