[Pkg-puppet-devel] Bug#1089174: facter: Facter should depend on ruby-sys-filesystem

Jesse Hathaway jhathaway at wikimedia.org
Mon Dec 9 20:59:21 GMT 2024


Thanks for the reply Jerome, responses inline:

On Fri, 6 Dec 2024 13:09:10 -0500 =?UTF-8?B?SsOpcsO0bWUgQ2hhcmFvdWk=?=
<jerome at riseup.net> wrote:
> I'm not convinced that unavailable partitions and mount facts render
> the facter package necessarily broken. The same could be said about
> all the other Recommended packages, like dmidecode and virt-what, for
> example, because facter works fine without them but it will report
> more information if they're available.
>
> I'm curious to understand under what scenario the facter package is
> being installed without its "Recommends:".

We have `APT::Install-Recommends "false"` set in our infrastructure,
because our experience has been that `Recommends` at times brings in
unwanted dependencies, e.g. openssh-client recommends: `xauth`, which
then brings in X11 deps that we would rather not have installed.

> As a reminder, section 7.1 of the Debian Policy states the following
> with regards to Recommends:
>
> "This declares a strong, but not absolute, dependency.
>
> The Recommends field should list packages that would be found together
> with this one in all but unusual installations."
>
> I think ruby-sys-filesystem, and the others, fit this description.

I think that is true for those users of Facter who consider it a base
framework where options can be added to gain more functionality.

For users that are using Facter in conjunction with Puppet, as we do, I
would assume they would expect Facter's behavior to match Facter's
documentation, namely that all core facts are resolved.

As a data point, Fedora's spec looks similar to Puppet's packaging:

    # Binaries that Facter can call for complete facts
    %ifarch %ix86 x86_64 ia64
    Requires:       dmidecode
    Requires:       pciutils
    Requires:       virt-what
    %endif
    Requires:       net-tools

    # Soft dependency for the mountpoints fact
    Requires:       rubygem(sys-filesystem)
    # dependency for facter/util/resolvers
    Requires:       rubygem(base64)

<https://github.com/major/fedora-rpm-specs/blob/ac9f5914529e69815a735414942b6b26e18412a2/specs/facter.spec#L27-L37>



More information about the Pkg-puppet-devel mailing list