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

robsd-portsbuild OpenBSD ports

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

robsd-ports [-d] -r path

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:

Do not detach robsd-ports into the background.
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.
comment
Path to comment included in report.
path
Resume an invocation located at path.
step
Skip step, see enumerated steps above.
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.

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

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

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

Anton Lindqvist <anton@basename.se>

September 24, 2021 OpenBSD 7.6