Thanks for the reply. 

On 4 Sep 2017 1:38 pm, "Vít Ondruch" <vondruch@redhat.com> wrote:
Hi James,

Not an Puppet/Facter expert, so just a few comments ...

Dne 4.9.2017 v 13:34 James Hogarth napsal(a):
> Hi guys,
>
> I'm getting the infrastructure in place ready for the mass bug filing
> and package updates for the removal of dependencies on net-tools in Fedora
>
> https://pagure.io/fesco/issue/1711
>
> One of the more tricky packages is facter.
>
> Right now it's an old ruby package (2.4.3 when rubygems/github has it
> at 2.5.1 in the ruby variety).
>
> The ruby version has the dependency on net-tools for ifconfig, but
> this was removed in the 3.0+ releases when they ported it to c++11
>
> From the documentation it appears that ruby applications/libraries
> that use facter will still do so through the ruby binding just as they
> always have ... and looking at the puppet package it explicitly states
> that it works with facter greater than 2 and less than 4 ... 
>
> The puppetlabs puppet-agent already uses facter 3.8.0 in the current
> release.
>
> The 2.5.1 tag in github is especially weird as it's not listed as a
> facter release here:
>
> https://docs.puppet.com/facter/

It seems that there was 2.4 release followed by 3.0 release and since
that point, the 2.x branch was not refreshed. Probably some tooling
issue on puppet side ...

It's rather odd. I plan on engaging with them directly to get an accurate answer. They don't ship the 2.X facter in their current puppet repos but there's clearly been releases since 2.4 on the 2.X line. 


>
> That even says 2.4 is now EOL, and has been since December last year.

Where?

On the page I linked it states:

Note: Facter versions prior to 3.0 will go end of life December 31, 2016. Please update if you haven’t already.

Also interestingly there's no reference to any facter 2.x after 2.4 in facter documentation... release notes after 2.4 go to 3.0

https://docs.puppet.com/facter/3.8/release_notes.html

I'll definitely contact upstream to get a clear answer on this and include it in the facter F28 change. 
 

>
> The tricky bits for the facter update are that it now has dependencies
> on https://github.com/puppetlabs/leatherman
> and https://github.com/puppetlabs/cpp-hocon
>
> There's already a package review request for leatherman which I plan
> to take over, and I've got a shared library version of cpp-hocon ready
> for review (depends on leatherman) which facter3 is working with in my
> local testing.
>
> The key bits I wanted to liaise with the ruby SIG for was the F28
> change I'm putting together to get this update in place.
>
> Although the application moves from ruby to c++ the ruby bindings will
> still be important and relevant to the SIG.

So is there some "preview" package of updated Facter?



I'm literally in the middle of getting it clean etc. 

There's some stuff we'll need to get aligned in the spec for leatherman for instance. 

Working on this stuff in my evenings, lunches and commutes so it's not fast going but I think F28 is reasonable as a goal for the change. 

I'm in two minds whether to suggest we leave facter as it is for F25-27 or whether to at least update those to 2.5.1 which won't have the drastic 3.0 changes. 

I expect an answer from upstream about the status of 2.x will help with that. 

I've also not looked fully into the EPEL situation but from an initial cursory look of gemfiles I think the ruby versions there are out of their support matrix. 

I'll also include those factors in the change when I write it. 

I'll try and get initial test packages into COPR this week for feedback. 

James