Massive libxo-zation that breaks everything

David Chisnall theraven at
Sun Mar 1 19:12:03 UTC 2015

On 1 Mar 2015, at 18:49, Harrison Grundy <harrison.grundy at> wrote:
> That does seem useful, but I'm not sure I see the reasoning behind
> putting into base, over a port or package, since processing XML in base
> is a pain, and it can't serve up JSON or HTML without additional
> utilities anyway.

How would it be in a port?  It involves modifying core utilities (some of which, like ifconfig, rely on kernel APIs that change between releases) to emit structured output.  Maintaining two copies of each utility, one in the base system with plain-text output only and another in ports with XML/JSON output would be very painful.

The goal of having machine-readable output in the base system is that people building systems atop FreeBSD will be able to expect a stable, machine-parsable, extensible, output from these tools.  If you're building a web admin GUI or automated administration tool for FreeBSD 11, or improving integration in your favourite DE, then you should be able to rely on the output from base system tools, without having to depend on anything external.

My only concern with libxo at present is that many of the modified tools are not emitting self-describing output (e.g. not specifying units for things), but that's something that we have a year to shake out before 11.


More information about the freebsd-current mailing list