diff options
author | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2007-07-06 17:47:38 +0000 |
---|---|---|
committer | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2007-07-06 17:47:38 +0000 |
commit | d0680c8ed3f1e0df864c25a3f21e73383095629b (patch) | |
tree | 888da146e0d43ffd658a5e9db49ee67037dc6ed5 | |
parent | 8b14ef8929bdf612071556e24b42ffa1163ed5b3 (diff) | |
download | puppet-d0680c8ed3f1e0df864c25a3f21e73383095629b.tar.gz puppet-d0680c8ed3f1e0df864c25a3f21e73383095629b.tar.xz puppet-d0680c8ed3f1e0df864c25a3f21e73383095629b.zip |
Fixing the dpkg querying so that it works for packages that are in "config-files" state rather than just missing entirely. Also fixing logging so that the package version is visible, instead of a dumped object
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2654 980ebf18-57e1-0310-9a29-db15c13687c0
-rwxr-xr-x | lib/puppet/provider/package/dpkg.rb | 8 | ||||
-rw-r--r-- | lib/puppet/type/package.rb | 2 |
2 files changed, 7 insertions, 3 deletions
diff --git a/lib/puppet/provider/package/dpkg.rb b/lib/puppet/provider/package/dpkg.rb index 67ee99fb7..015edb84b 100755 --- a/lib/puppet/provider/package/dpkg.rb +++ b/lib/puppet/provider/package/dpkg.rb @@ -17,8 +17,8 @@ Puppet::Type.type(:package).provide :dpkg, :parent => Puppet::Provider::Package Puppet.debug "Executing '%s'" % cmd execpipe(cmd) do |process| # our regex for matching dpkg output - regex = %r{^(\S+ +\S+ +\S+) (\S+) (\S*)$} - fields = [:status, :name, :ensure] + regex = %r{^(\S+) +(\S+) +(\S+) (\S+) (\S*)$} + fields = [:desired, :error, :status, :name, :ensure] hash = {} # now turn each returned line into a package object @@ -32,6 +32,10 @@ Puppet::Type.type(:package).provide :dpkg, :parent => Puppet::Provider::Package hash[:provider] = self.name + unless hash[:status] == "installed" + hash[:ensure] = :absent + end + packages << new(hash) else Puppet.warning "Failed to match dpkg-query line %s" % diff --git a/lib/puppet/type/package.rb b/lib/puppet/type/package.rb index d6e05c526..a4b2f0e44 100644 --- a/lib/puppet/type/package.rb +++ b/lib/puppet/type/package.rb @@ -185,7 +185,7 @@ module Puppet # This retrieves the current state. LAK: I think this method is unused. def retrieve - return @resource.retrieve + return provider.properties[:ensure] end # Provide a bit more information when logging upgrades. |