The Puppet Labs Issue Tracker has Moved:

This issue tracker is now in read-only archive mode and automatic ticket export has been disabled. Redmine users will need to create a new JIRA account to file tickets using See the following page for information on filing tickets with JIRA:

Bug #1658

Gentoo package re-write

Added by James Turnbull over 7 years ago. Updated over 4 years ago.

Status:Code InsufficientStart date:10/18/2008
Priority:NormalDue date:
Assignee:-% Done:


Target version:-
Affected Puppet version:0.24.4 Branch:
Keywords:Gentoo package provider eix equery

We've Moved!

Ticket tracking is now hosted in JIRA:


A rewrite of the Gentoo provider to not use eix.

gentoo_package_provider.patch Magnifier (6.82 KB) James Turnbull, 02/26/2009 09:25 pm


#1 Updated by James Turnbull over 7 years ago

  • Assignee set to James Turnbull

#2 Updated by James Turnbull over 7 years ago

Code is at:

#3 Updated by Ramon Alteren over 7 years ago

I’ll see if I can get some time to test this, cause frankly eix is a pita to deal with.

I’d love to see this go in 0.25

#4 Updated by Luke Kanies over 7 years ago

This will only make it into 0.25 if it’s tested to be correct.

What’s the design decision to make here? Is the code ready?

#5 Updated by James Turnbull over 7 years ago

  • Status changed from Needs Decision to In Topic Branch Pending Review

#7 Updated by RijilV - about 7 years ago

So this doesn’t work for me.


emerge -C colordiff

puppet code:

package { “colordiff”: category => “app-misc” }


debug: Puppet::Type::Package::ProviderPortage: Executing ‘/usr/bin/equery -C l app-misc/colordiff’ err: //Node[]/colordiff/Package[colordiff]: Failed to retrieve current state of resource: No package found with the specified name [app-misc/colordiff]

With those options to equery it only looks at installed applications, you also need -p (portage tree) and -o (any overlays). I modified the patch but still don’t see it installing my package:

debug: Puppet::Type::Package::ProviderPortage: Executing ‘/usr/bin/equery -C l -o -p colordiff’ debug: Puppet::Type::Package::ProviderPortage: Executing ‘/usr/bin/emerge —nodeps -p app-misc/colordiff’

I’m not sure what else needs to be done to get that working.

Also, my ruby version complained about the two equry lines (17 and 93), it wanted more ()’s for equery.

#8 Updated by Luke Kanies about 7 years ago

  • Status changed from In Topic Branch Pending Review to Code Insufficient
  • Target version changed from 0.25.0 to 4

Sounds like this isn’t ready yet.

Also, seems like we should maybe have multiple package types for gentoo, rather than just sticking to just one.

We could do an eix type and something else, so people can pick, rather than forcing it down to one form. We’ve got apt and aptitude, after all.

#9 Updated by Alexey Lapitsky about 7 years ago

I think eix should stay as option at least, equery cause a huge performance hit.

lex@note / $ time equery list  app-misc/colordiff
[ Searching for package 'colordiff' in 'app-misc' among: ]
 * installed packages
[I--] [  ] app-misc/colordiff-1.0.7 (0)

real    0m2.326s
user    0m2.172s
sys     0m0.112s
lex@note / $ time eix  app-misc/colordiff
[I] app-misc/colordiff
     Available versions:  1.0.7 ~1.0.8a
     Installed versions:  1.0.7(14:14:00 02.03.2009)
     Description:         Colorizes output of diff

real    0m0.155s
user    0m0.080s
sys     0m0.004s

You can see more difference on servers with high disk I/O load when porage tree is not cached.

#10 Updated by James Turnbull about 5 years ago

  • Assignee deleted (James Turnbull)

#11 Updated by James Turnbull over 4 years ago

  • Target version deleted (4)

Also available in: Atom PDF