I needed to find all instances where ports still depended on X11.
Causes could be either plain X11 ports (grep x11 in your poudriere package list) or ports that still depend on X11.
Those have to be adjusted using poudriere options -c -p portstree -j jailname
I've made fancy symlinks named mybuild-jailname-portstree to let the "serious" ports builds all have the same options, while I can nonetheless do builds with totally different options for my home systems. You'll see that in the first grep over mybuild-op* right below.
The other parts all filter the various "X11 is unset" options ports use.
People will be really quick to tell you that some are deprecated and you should use $new_shit to set this, but as you can gather from the list of filters: A lot of different things are used in the actual ports.
Using grep to find X11 options
The greps here are my attempt to find out what is really set:
In this case I should review the options on the ghostscript port for 15th time and unset those that still refer x11 packages.
I'll also need to remove all X11/GUI related packages and then I should be fine, having around 1300 actually useful packages, none of them depending on X11.
Extremely small footprint, and hundreds less of included libaries. Accordingly, a system that can be updated more quickly and also safer.
You can't run Firefox over SSH on those servers. I hope noone will complain about that.
Bug(s) you need to manually fix
One open bug (#193004) is in the imagemagick package. It's breaking all -nox11 builds - by a duplicate origin error for ghostscript and ghostscript-nox11.
Grab the patch via this link: diff for ImageMagick Makefile . I had to click the view button once to actually *see* it.
Alternatively, here is the a copy, might be outdated at some point...
I left a comment it would be nice to find it fixed after 8 months.
They had been looking at a more generic solution. But while that is being sought the patch couldn't be applied and the bug still renders stuff unbuildable??