Feature #741

new package provider: paludis

Added by KillerFox - almost 5 years ago. Updated about 1 year ago.

Status:Closed Start date:
Priority:Normal Due date:
Assignee:Luke Kanies % Done:

0%

Category:Gentoo
Target version:-
Affected Puppet version:0.24.4 Branch:
Keywords:
Votes: 0

Description

I’ve wrote a package provider for the alternativ package mangler from gentoo, called paludis. It’s using the ruby-API provided by paludis to determine all needed informations and install it over paludis. It still needs some optimisation. I’ll add new patches to this bug, if there’s an update for this provider. It works on my gentoo systems and can do the same as the portage-provider, but still needs some enhancement to provide some nice features from paludis. The only additional thing I already did implement is the feature to remove all unused-dependencies by a package if it gets removed. Future version should also support slots and destinations.

puppet-0.23.0-paludis-try1.diff (5.1 kB) KillerFox -, 07/30/2007 10:47 am

paludis.rb (3.9 kB) Florian Petran, 11/05/2007 05:29 pm

History

Updated by Luke Kanies almost 5 years ago

This patch changes the default package type for gentoo, which results in backward-compatibility issues. I’m not willing to accept such a patch unless José, who has been the Gentoo maintainer, signs off on it.

Also, this creates a new parameter that no one else can use. Do other package types have this capability? Should this be a provider feature?

Updated by Florian Petran over 4 years ago

As for the extra parameter, how about adding a parameter to package like pkgmgr_extra_opts which one would use to pass a string to the package manager which would get appended to the command line call, thereby passing extra options specific for one package manager? So that e.g.

package{ "postfix":
   ensure => absent,
   provider => paludis,
   pkg_mgr_extra_opts => "--with-unused-dependencies"
}

would work as intended by the original patch author.

Updated by Luke Kanies over 4 years ago

  • Status changed from 1 to 2

Updated by Luke Kanies over 4 years ago

  • Status changed from 2 to Closed
  • 7 set to fixed

Added in commit:117f005ab22ef90686f4eb19aee3ea5c8dc93865.

Updated by Luke Kanies over 4 years ago

  • Status changed from Closed to 4
  • 7 deleted (fixed)

This provider causes failures on non-gentoo systems because it requires the ‘Paludis’ library (see #956).

In order to make this work well within Puppet, you need to create a ‘paludis’ feature that tests whether the Paludis library is present and only have the provider be suitable in that case. See lib/puppet/feature/ for example features, then you should have something like this:

confine => Puppet.features.paludis?

to test whether the feature is present.

Updated by Redmine Admin almost 4 years ago

  • Status changed from 4 to Accepted

Updated by James Turnbull over 3 years ago

  • Target version changed from 4 to 0.24.6
  • Affected Puppet version set to 0.24.4

This got pushed to the -dev list – can someone check and test this on Gentoo as I don’t have a Gentoo box?

Updated by James Turnbull over 3 years ago

I’ve added some known Gentoo people to the ticket to see if I can get some testing before we release.

Updated by James Turnbull over 3 years ago

  • Target version changed from 0.24.6 to 0.25.0

Updated by James Turnbull over 3 years ago

Code is at:

http://github.com/jamtur01/puppet/tree/tickets%2F0.24.x%2F741

Updated by Luke Kanies over 3 years ago

  • Status changed from Accepted to Code Insufficient
  • Target version changed from 0.25.0 to 4

Until someone can review the code, we can’t apply it.

Updated by Benedikt Böhm over 2 years ago

i have no idea if the paludis provider works, but please do never make it the default provider for gentoo

Updated by James Turnbull over 2 years ago

  • Status changed from Code Insufficient to Closed

Please re-open if provider is updated and still required.

Updated by James Turnbull about 1 year ago

  • Target version deleted (4)

Also available in: Atom PDF