ROBSD(8) System Manager's Manual ROBSD(8)

robsdbuild OpenBSD release

robsd [-d] [-S src-patch] [-X xenocara-patch] [-c comment] [-s step] [-t tag]

robsd [-d] -r path

The robsd utility builds a OpenBSD release according to the release(8) process. The process is divided into the steps as follows:

env
Dump the current environment. This is a no operation only used to collect data useful while debugging.
cvs
Update or checkout the bsd-srcdir and x11-srcdir source directories. This step is optional and requires presence of certain configuration, see robsd.conf(5).
patch
Apply patches including sticky ones, see robsd.conf(5).
kernel
Build and install a new kernel using the kernel configuration, see robsd.conf(5).
reboot
Reboot the machine before continuing the build, exercising the new kernel by resuming robsd from rc.firsttime(8). This step is optional and requires reboot to be enabled, see robsd.conf(5).
base
Build and install the base system.
release
Make and validate the base system.
checkflist
Check for missing contents in the release sets.
xbase
Build and install the xenocara system.
xrelease
Make and validate the xenocara system.
image
Create boot and installation disk images.
hash
Compute checksums for release files.
revert
Inverse of patch step.
distrib
Distribute the release files to another host using scp(1). This step is optional and requires presence of certain configuration, see robsd.conf(5).
dmesg
Take a copy of dmesg(8).
end
Auxillary step used to generate report.

Each invocation is identified by a directory created by robsd rooted in robsddir and is named after the current date. The directory contains the entries as follows. In addition, each executed step has a corresponding log file in the same directory.

comment
File used to annotate the invocation which is included in report. By default, it contains a list of all applied patches.
dmesg
Copy of dmesg(8).
rel
Directory containing the release files. Referred to as RELEASEDIR in release(8).
report
A summary delivered as a mail to root while running in the background once robsd exits.
robsd.log
Standard output and error from robsd while running in the background.
snapshots/$(machine)
Symlink to the rel directory, making the invocation directory compatible with sysupgrade(8).
stat.csv
Collected statistics, see robsd-stat(8).
step.csv
Internal representation of the executed steps, see robsd-step(8).
tags
Tags included in report.

robsd is configured using robsd.conf(5) and must run as root. Some steps can however operate on behalf of another user. By default, robsd runs in the background and must be killed using robsd-kill(8) to ensure a clean exit.

The options are as follows:

Do not detach robsd into the background.
src-patch
Patch to apply to bsd-srcdir. The patch path names can be relative to any directory in bsd-srcdir. The same patch will be reverted by the revert step, see above. In addition, a copy of the patch is saved to a file named src.diff.N in the invocation directory where N is incremented for every given patch. May be given multiple times.
xenocara-patch
Patch to apply to x11-srcdir. The patch path names can be relative to any directory in x11-srcdir. The same patch will be reverted by the revert step, see above. In addition, a copy of the patch is saved to a file named xenocara.diff.N in the invocation directory where N is incremented for every given patch. May be given multiple times.
comment
Path to comment included in report.
path
Resume an invocation located at path. If the last executed step failed or aborted, it will be executed again. Otherwise, the next step will be executed.
step
Skip step, see enumerated steps above. May be given multiple times.
tag
Arbitrary tag used to annotate the invocation which is included in report. May be given multiple times.

/etc/robsd.conf
The default configuration file.

The robsd utility exits 0 on success, and >0 if an error occurs.

robsd.conf(5), release(8), robsd-clean(8), robsd-cross(8), robsd-kill(8), robsd-ports(8), robsd-regress(8), robsd-rescue(8), robsd-stat(8)

Anton Lindqvist <anton@basename.se>

November 27, 2018 OpenBSD 7.6