Peter Meier <[email protected]> writes:
>> Implementation proposal:
>
>> When applying a catalog, for each package resource, use the `generate` hook
>> to invoke the package manager in dry-run mode. Parse the output of that
>> call into a list of packages the provider would install or remove as
>> dependencies. Use that list to create puppet `require` edges to any package
>> resources in the catalog with a matching package name and the same
>> provider.
>
> at least with yum this will slow down package installation enormously
> and this is already one of the biggest bottle necks on yum-based systems. :/

You could always give them a nickle and suggest they buy a package managed
that didn't suck. ;)  Alternately, there is no reason that yum *has* to be
used as the dependency resolver here.

After writing a parser for the inputs to yum, it wouldn't be that hard and
probably not that much maintenance burden, to either handle those in a helper
to puppet, or to inspect the yum database directly.  FWIW.

[...]

> Another issue that is probably related to that proposal is the one to group
> package installations of packages that are in a dependency chain or that are
> totally unrelated.  This would enormously improve package installation speed
> and probably also address the performance problems we get by querying for
> each package the package-manager for its dependencies.

That would be ideal; it would also resolve some of the apt complexities I have
worked around with dependencies like this:

   package { "rt3.8": requires => Package["rt-3.8-database-postgresql"] }

That will implicitly install rt3.8, using my knowledge of the dependencies,
without first installing, then deinstalling, the sqlite backend.

So, um, I agree with Peter.  Also with his caveats about relevance. ;)

Regards,
        Daniel
-- 
✣ Daniel Pittman            ✉ [email protected]            ☎ +61 401 155 707
               ♽ made with 100 percent post-consumer electrons

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to