diff options
author | Luke Kanies <luke@madstop.com> | 2008-02-13 16:30:49 -0600 |
---|---|---|
committer | Luke Kanies <luke@madstop.com> | 2008-02-13 16:30:49 -0600 |
commit | 9b1bfc1e2eadc8fc56dc8df1510b5dec977524f4 (patch) | |
tree | 6d0585234c64cc48d3c9ba08dada9bde08689aaf | |
parent | 0cfa1d2b7ae38020d3b845d7713cb10cda7facef (diff) | |
download | puppet-9b1bfc1e2eadc8fc56dc8df1510b5dec977524f4.tar.gz puppet-9b1bfc1e2eadc8fc56dc8df1510b5dec977524f4.tar.xz puppet-9b1bfc1e2eadc8fc56dc8df1510b5dec977524f4.zip |
Fixed #992 -- Puppet is now compatible with gems 1.0.1.
-rw-r--r-- | CHANGELOG | 2 | ||||
-rwxr-xr-x | lib/puppet/provider/package/gem.rb | 8 |
2 files changed, 6 insertions, 4 deletions
@@ -1,3 +1,5 @@ + Fixed #992 -- Puppet is now compatible with gems 1.0.1. + Fixed #968 again, this time with tests -- parseonly works, including not compiling the configurations, and also storeconfigs is no longer required during parse-testing. diff --git a/lib/puppet/provider/package/gem.rb b/lib/puppet/provider/package/gem.rb index 6e777a735..f73694779 100755 --- a/lib/puppet/provider/package/gem.rb +++ b/lib/puppet/provider/package/gem.rb @@ -23,14 +23,14 @@ Puppet::Type.type(:package).provide :gem, :parent => Puppet::Provider::Package d end begin - list = execute(command).split("\n\n").collect do |set| + list = execute(command).split("\n").collect do |set| if gemhash = gemsplit(set) gemhash[:provider] = :gem gemhash else nil end - end.reject { |p| p.nil? } + end.compact rescue Puppet::ExecutionFailure => detail raise Puppet::Error, "Could not list gems: %s" % detail end @@ -44,8 +44,8 @@ Puppet::Type.type(:package).provide :gem, :parent => Puppet::Provider::Package d def self.gemsplit(desc) case desc - when /^\*\*\*/: return nil - when /^(\S+)\s+\((.+)\)\n/ + when /^\*\*\*/, /^\s*$/, /^\s+/; return nil + when /^(\S+)\s+\((.+)\)/ name = $1 version = $2.split(/,\s*/)[0] return { |