diff options
author | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2007-07-18 23:48:58 +0000 |
---|---|---|
committer | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2007-07-18 23:48:58 +0000 |
commit | 0316bedca52aab6383ed794439f18bd75e5f611c (patch) | |
tree | e926110f35b51affc06e31b52b17d772dbd3c130 /lib/puppet | |
parent | 48755b1e2f939d8c5f04310fa1eb8f7d2a595d36 (diff) | |
download | puppet-0316bedca52aab6383ed794439f18bd75e5f611c.tar.gz puppet-0316bedca52aab6383ed794439f18bd75e5f611c.tar.xz puppet-0316bedca52aab6383ed794439f18bd75e5f611c.zip |
Applying patch by DavidS to fix #711.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2708 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib/puppet')
-rwxr-xr-x | lib/puppet/provider/package/apt.rb | 2 | ||||
-rwxr-xr-x | lib/puppet/provider/package/dpkg.rb | 8 |
2 files changed, 8 insertions, 2 deletions
diff --git a/lib/puppet/provider/package/apt.rb b/lib/puppet/provider/package/apt.rb index d39ce01f4..b48d71625 100755 --- a/lib/puppet/provider/package/apt.rb +++ b/lib/puppet/provider/package/apt.rb @@ -111,6 +111,8 @@ Puppet::Type.type(:package).provide :apt, :parent => :dpkg, :source => :dpkg do def purge aptget '-y', '-q', 'remove', '--purge', @resource[:name] + # workaround a "bug" in apt, that already removed packages are not purged + super end end diff --git a/lib/puppet/provider/package/dpkg.rb b/lib/puppet/provider/package/dpkg.rb index 015edb84b..a739f38e2 100755 --- a/lib/puppet/provider/package/dpkg.rb +++ b/lib/puppet/provider/package/dpkg.rb @@ -32,7 +32,9 @@ Puppet::Type.type(:package).provide :dpkg, :parent => Puppet::Provider::Package hash[:provider] = self.name - unless hash[:status] == "installed" + if hash[:status] == 'not-installed' + hash[:ensure] = :purged + elsif hash[:status] != "installed" hash[:ensure] = :absent end @@ -102,7 +104,9 @@ Puppet::Type.type(:package).provide :dpkg, :parent => Puppet::Provider::Package end # DPKG can discuss packages that are no longer installed, so allow that. - if hash[:status] != "installed" + if hash[:status] == "not-installed" + hash[:ensure] = :purged + elsif hash[:status] != "installed" hash[:ensure] = :absent end |