diff -Naur puppet-2.7.18.orig/lib/puppet/provider/package/portage.rb puppet-2.7.18/lib/puppet/provider/package/portage.rb
--- puppet-2.7.18.orig/lib/puppet/provider/package/portage.rb	2012-08-26 03:32:53.646824966 -0400
+++ puppet-2.7.18/lib/puppet/provider/package/portage.rb	2012-08-26 03:37:25.333824967 -0400
@@ -20,7 +20,8 @@
     search_format = "<category> <name> [<installedversions:LASTVERSION>] [<bestversion:LASTVERSION>] <homepage> <description>\n"
 
     begin
-      update_eix if !FileUtils.uptodate?("/var/cache/eix", %w{/usr/bin/eix /usr/portage/metadata/timestamp})
+      eix_file = File.directory?("/var/cache/eix") ? "/var/cache/eix/portage.eix" : "/var/cache/eix"
+      update_eix if !FileUtils.uptodate?(eix_file, %w{/usr/bin/eix /usr/portage/metadata/timestamp})
 
       search_output = nil
       Puppet::Util::Execution.withenv :LASTVERSION => version_format do
@@ -81,7 +82,8 @@
     search_value = package_name
 
     begin
-      update_eix if !FileUtils.uptodate?("/var/cache/eix", %w{/usr/bin/eix /usr/portage/metadata/timestamp})
+      eix_file = File.directory?("/var/cache/eix") ? "/var/cache/eix/portage.eix" : "/var/cache/eix"
+      update_eix if !FileUtils.uptodate?(eix_file, %w{/usr/bin/eix /usr/portage/metadata/timestamp})
 
       search_output = nil
       Puppet::Util::Execution.withenv :LASTVERSION => version_format do