Massive libxo-zation that breaks everything
rodrigc at FreeBSD.org
Sun Mar 1 21:25:34 UTC 2015
On Sun, Mar 1, 2015 at 10:49 AM, Harrison Grundy <
harrison.grundy at astrodoggroup.com> 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.
I think if you take another pass at reading the entire thread of responses
to see the discussion for the motivation behind libxo, you will get the
There are many people who are building products on top of FreeBSD.
For these people, it is super useful for the base utilities in FreeBSD
to emit output in properly formatted XML or JSON.
That way, they do not need to write scripts to take the output of
say, netstat, and use awk/sed/whatever scripts to take the human readable
netstat output and convert it to a form which can be used in a script.
There are many, many parsers for XML and JSON not in the base system.
For people building products on top of FreeBSD, they don't care
if these parsers are not in the base, since they can add these parsers on
top of base FreeBSD.
For example, languages like Python and Ruby have excellent parsers
for JSON and XML. Many people build products using these languages.
There are JSON and XML parsers in C, C++, and other languages as well.
In addition to people building products, the other audience of people who
benefit from libxo are devops people.
These days, devops folks have no problem using Python, Ruby, Perl,
whatever to write scripts to interact with Unix boxes and pull information
off of it. Having the base utilities emit info in native JSON or XML
greatly facilitates this.
I talked to one person who is improving FreeBSD support for Saltstack (a
devops framework). He told me
that if more base utilities such as sysctl, could use libxo to emit output
in JSON, that would greatly facilitate improving FreeBSD support for
these devops frameworks. That is because Saltstack would require
less FreeBSD-specific parsing code for getting info from base utilities.
More information about the freebsd-current