ROBSD(8)

NAME
robsd - build OpenBSD release

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

DESCRIPTION
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:

-d  Do not detach robsd into the background.

-S 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.

-X 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.

-c comment
    Path to comment included in report.

-r 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.

-s step
    Skip step, see enumerated steps above. May be given multiple times.

-t tag
    Arbitrary tag used to annotate the invocation which is included in report. May be given multiple times.

FILES

/etc/robsd.conf
    The default configuration file.

DIAGNOSTICS

SEE ALSO
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)

AUTHORS
Anton Lindqvist <anton@basename.se>