rubygem-facter versus sysutils/facter

Zach Leslie xaque208 at
Tue Feb 6 03:03:28 UTC 2018

On Feb 5, 2018 5:51 PM, "Dan Mahoney (Gushi)" <freebsd at> wrote:


I've lost the better part of an afternoon to this issue.  These questions
are not just specific to the above ports, but also as to how ports are best
built in general.


The puppet ports require rubygem-facter.  There's a knob in the port that
lets you switch to sysutils/facter, which is more modern and written in C.
Rubygem-facter is based on facter 2, which is EOL as of 2016.  The
new-style puppet facts are now including more and more information that's
not available in rubygem-facter, and it means that the "Fact" documentation
on doesn't at all match what you currently get on FreeBSD, even
with a modern puppet.

The ruby folks have been trying to make a modern rubygem-version for years,
but there's no real progress:

Having to build a custom port of Puppet on every machine (which would mean
building ruby from scratch) is annoying as heck, and while I have my own
poudriere install and build repos, it's *puppet* that places those on my
production machines, so I'm looking for a bootstrapping method that "just
works" as simply as 'pkg install puppet4' does.

Perhaps you have reasons not to, but sysutils/puppet5 should be the
promised land you are looking for.  By default it uses sysutils/facter, and
since that seems to be your underlying goal, maybe start there.

I can dig closer at your questions if that ends up being insufficient.

There is also a puppet module for poudriere that can help, should you
choose to build a repo.



More information about the freebsd-ports mailing list