summaryrefslogtreecommitdiffstats
path: root/lib/puppet
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet')
-rw-r--r--lib/puppet/provider.rb2
-rwxr-xr-xlib/puppet/provider/package/dpkg.rb2
-rwxr-xr-xlib/puppet/provider/package/openbsd.rb2
-rwxr-xr-xlib/puppet/provider/package/rpm.rb4
-rwxr-xr-xlib/puppet/provider/package/sun.rb2
5 files changed, 5 insertions, 7 deletions
diff --git a/lib/puppet/provider.rb b/lib/puppet/provider.rb
index b836887e9..5a38f7f20 100644
--- a/lib/puppet/provider.rb
+++ b/lib/puppet/provider.rb
@@ -356,7 +356,7 @@ class Puppet::Provider
elsif self.resource
resource.name
else
- raise Puppet::DevError, "No resource and no name in property hash"
+ raise Puppet::DevError, "No resource and no name in property hash in %s instance" % self.class.name
end
end
diff --git a/lib/puppet/provider/package/dpkg.rb b/lib/puppet/provider/package/dpkg.rb
index a739f38e2..d2f7048b9 100755
--- a/lib/puppet/provider/package/dpkg.rb
+++ b/lib/puppet/provider/package/dpkg.rb
@@ -24,7 +24,7 @@ Puppet::Type.type(:package).provide :dpkg, :parent => Puppet::Provider::Package
# now turn each returned line into a package object
process.each { |line|
if match = regex.match(line)
- hash.clear
+ hash = {}
fields.zip(match.captures) { |field,value|
hash[field] = value
diff --git a/lib/puppet/provider/package/openbsd.rb b/lib/puppet/provider/package/openbsd.rb
index 34739dc08..11662abe8 100755
--- a/lib/puppet/provider/package/openbsd.rb
+++ b/lib/puppet/provider/package/openbsd.rb
@@ -21,7 +21,6 @@ Puppet::Type.type(:package).provide :openbsd, :parent => Puppet::Provider::Packa
# now turn each returned line into a package object
process.each { |line|
- hash.clear
if match = regex.match(line)
fields.zip(match.captures) { |field,value|
hash[field] = value
@@ -32,6 +31,7 @@ Puppet::Type.type(:package).provide :openbsd, :parent => Puppet::Provider::Packa
hash[:provider] = self.name
packages << new(hash)
+ hash = {}
else
# Print a warning on lines we can't match, but move
# on, since it should be non-fatal
diff --git a/lib/puppet/provider/package/rpm.rb b/lib/puppet/provider/package/rpm.rb
index f7f3237e6..a31e4edf6 100755
--- a/lib/puppet/provider/package/rpm.rb
+++ b/lib/puppet/provider/package/rpm.rb
@@ -30,13 +30,11 @@ Puppet::Type.type(:package).provide :rpm, :source => :rpm, :parent => Puppet::Pr
# our regex for matching dpkg output
regex = %r{^(\S+)\s+(\S+)}
fields = [:name, :ensure]
- hash = {}
# now turn each returned line into a package object
process.each { |line|
if match = regex.match(line)
- hash.clear
-
+ hash = {}
fields.zip(match.captures) { |field,value|
hash[field] = value
}
diff --git a/lib/puppet/provider/package/sun.rb b/lib/puppet/provider/package/sun.rb
index 8fe25bb1a..92a5d0ef0 100755
--- a/lib/puppet/provider/package/sun.rb
+++ b/lib/puppet/provider/package/sun.rb
@@ -43,7 +43,7 @@ Puppet::Type.type(:package).provide :sun, :parent => Puppet::Provider::Package d
hash[:provider] = :sun
packages << new(hash)
- hash.clear
+ hash = {}
when /\s*(\w+):\s+(.+)/:
name = $1
value = $2