ROBSD-PORTS(8)

NAME
robsd-ports - build OpenBSD ports

SYNOPSIS
robsd-ports [-d] [-P ports-patch] [-c comment] [-s step] [-t tag] [pkgpath ...]
robsd-ports [-d] -r path

DESCRIPTION
The robsd-ports utility builds OpenBSD ports using dpb(1). 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 ports-dir source directory. This step is optional and requires presence of certain configuration, see robsd-ports.conf(5).

clean
    Remove all build artifacts.

proot
    Create the chroot using proot(1), this is where ports are built.

patch
    Apply patches including sticky ones, see robsd-ports.conf(5).

dpb Build all configured ports using dpb(1).

distrib
    Distribute the packages for all configured ports including runtime dependencies to another host using scp(1). This step is optional and requires presence of certain configuration, see robsd-ports.conf(5).

revert
    Inverse of patch step.

dmesg
    Take a copy of dmesg(8).

end Auxillary step used to generate report.

Each invocation is identified by a directory created by robsd-ports rooted in robsddir and is named after the current date. The directory contains the entries as follows.

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

report
    A summary delivered as a mail to root while running in the background once robsd-ports exits.

robsd.log
    Standard output and error from robsd-ports while running in the background.

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-ports is configured using robsd-ports.conf(5) and must run as root. Some steps can however operate on behalf of another user. By default, robsd-ports 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-ports into the background.

-P ports-patch
    Patch to apply to ports-dir. The patch path names can be relative to any directory in ports-dir. 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 ports.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.

-s step
    Skip step, see enumerated steps above.

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

pkgpath
    Build the given port expressed as a pkgpath(7) as opposed of the configured ports. The following steps will be skipped: cvs, clean, proot and distrib.

FILES

/etc/robsd-ports.conf
    The default configuration file.

DIAGNOSTICS

SEE ALSO
dpb(1), proot(1), robsd-ports.conf(5), ports(7), robsd(8), robsd-rescue(8), robsd-stat(8)

AUTHORS
Anton Lindqvist <anton@basename.se>