# File lib/puppet/provider/package/yum.rb, line 24
24:   def self.prefetch(packages)
25:     raise Puppet::Error, "The yum provider can only be used as root" if Process.euid != 0
26:     super
27:     return unless packages.detect { |name, package| package.should(:ensure) == :latest }
28: 
29:     # collect our 'latest' info
30:     updates = {}
31:     python(YUMHELPER).each_line do |l|
32:       l.chomp!
33:       next if l.empty?
34:       if l[0,4] == "_pkg"
35:         hash = nevra_to_hash(l[5..-1])
36:         [hash[:name], "#{hash[:name]}.#{hash[:arch]}"].each  do |n|
37:           updates[n] ||= []
38:           updates[n] << hash
39:         end
40:       end
41:     end
42: 
43:     # Add our 'latest' info to the providers.
44:     packages.each do |name, package|
45:       if info = updates[package[:name]]
46:         package.provider.latest_info = info[0]
47:       end
48:     end
49:   end