Date Category blog

I started by setting up a raw and simple Vagrantfile, copied from a previous "portsbuilder" for staging new changes. After bringing up a new install of 11.1-RELEASE it was a matter of checking out the latest ports tree, as for some reason the s6-rc package for v0.4.0.0 isn't yet available (on HEAD, no less). Timestamp about 2018-03-04 10:00:00 UTC. Checking out the ports tree via svnlite, it was relatively trivial to build and had no errors.

Following installation, the first thing I noted was that there are currently no man pages for any of the tools. Much like DJB's stuff, the documentation appears to primarily live online.

Using pandoc, this is easily solved. Install curl, hs-pandoc, hs-pandoc-types. This script then produces a basic set of man pages from Laurent's own grouped pages on skarnet.org (based on his list-item grouping).

1
2
3
4
5
6
7
8
#!/bin/sh

core=${1}
mkdir $core 
for item in "$(curl http://skarnet.org/software/$core/ | grep program | grep -E '^<li>' | sed 's/.*<tt>//;s/<\/tt>.*//')"
do
    curl -q http://skarnet.org/software/$core/${item}.html | pandoc -s -f html -t man | gzip > $core/$item.1.gz 
done

Only had to run this twice, for the execline and s6 "core" suites. I then moved the generated directories to /usr/local/man/man1/, linked to each file in turn.

cd /usr/local/man/man1 ; find s6/ -name '*.1.gz' -exec ln -s {} \;

Tools Installed, Now What?

Laurent leaves a guide here: http://www.skarnet.org/software/s6/s6-svscan-1.html

So Laurent's instructions boil down to (apparently) running s6-svscan as a "stage 1" init ... is s6-rc then purely for "stage 2"?

Anyway, time to package up and copy out the current setup into a new vagrant box. I have a feeling I'll need this as my "level zero" starting point. Easily done.

Next step: start experimenting with s6-svscan replacing /sbin/init.