X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=lib%2Fpuppet%2Fprovider%2Fapt_key%2Fapt_key.rb;h=1d3c1744b586ccd5ee0d2fb0e3eed29007a986ad;hb=f95ca9acbe127f82781acc5c1e05a6f4c21bfa85;hp=51791d024811444e18cde8abab1efc79b3904beb;hpb=0e82e5498fcc77568b8f137626959b6c402d49fd;p=puppet-modules%2Fpuppetlabs-apt.git diff --git a/lib/puppet/provider/apt_key/apt_key.rb b/lib/puppet/provider/apt_key/apt_key.rb index 51791d0..1d3c174 100644 --- a/lib/puppet/provider/apt_key/apt_key.rb +++ b/lib/puppet/provider/apt_key/apt_key.rb @@ -6,7 +6,8 @@ require 'tempfile' if RUBY_VERSION == '1.8.7' # Mothers cry, puppies die and Ruby 1.8.7's open-uri needs to be # monkeypatched to support passing in :ftp_passive_mode. - require 'puppet_x/apt_key/patch_openuri' + require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', '..', + 'puppet_x', 'apt_key', 'patch_openuri.rb')) OpenURI::Options.merge!({:ftp_active_mode => false,}) end @@ -25,6 +26,11 @@ Puppet::Type.type(:apt_key).provide(:apt_key) do commands :apt_key => 'apt-key' def self.instances + if RUBY_VERSION > '1.8.7' + key_output = apt_key('list').encode('UTF-8', 'binary', :invalid => :replace, :undef => :replace, :replace => '') + else + key_output = apt_key('list') + end key_array = apt_key('list').split("\n").collect do |line| line_hash = key_line_hash(line) next unless line_hash