rubygem-facter versus sysutils/facter
Dan Mahoney (Gushi)
freebsd at gushi.org
Tue Feb 6 04:13:42 UTC 2018
On Mon, 5 Feb 2018, Zach Leslie wrote:
> On Feb 5, 2018 5:51 PM, "Dan Mahoney (Gushi)" <freebsd at gushi.org> 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 puppet.org 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:
> https://tickets.puppetlabs.com/browse/FACT-1523 https://tickets.puppetlabs.com/browse/FACT-1542
> 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.
That might in fact be the answer, but that could involve upgrading a lot
of puppet clients, not all of whom might have a puppet5 binary available.
Puppet's new-model-year-push is kind of annoying for those of us that run
things long-term in prod.
It looks as though puppet5 works with a puppet4 server, but that's known
to break in the past.
In the meantime, I am actually curious about the questions I asked, as
they're more than this issue -- if specifying a binary name in a ports
Makefile will survive through to pkg. (The docs say nothing one way or
the other), or how to get pkg to just do what I want it to (just install a
package but don't deinstall the conflicts, I know what I'm doing. really).
Perhaps I should ask those as standalone questions on their own.
Techie, Sysadmin, WebGeek
Gushi on efnet/undernet IRC
ICQ: 13735144 AIM: LarpGM
More information about the freebsd-ports