blob: 2eafd3ef85e671e32fa0abcaadb6aaf5038f637f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
Puppet::Type.type(:package).provide :aptitude, :parent => :apt, :source => :dpkg do
desc "Package management via `aptitude`."
has_feature :versionable
commands :aptitude => "/usr/bin/aptitude"
commands :aptcache => "/usr/bin/apt-cache"
ENV['DEBIAN_FRONTEND'] = "noninteractive"
def aptget(*args)
args.flatten!
# Apparently aptitude hasn't always supported a -q flag.
args.delete("-q") if args.include?("-q")
args.delete("--force-yes") if args.include?("--force-yes")
output = aptitude(*args)
# Yay, stupid aptitude doesn't throw an error when the package is missing.
if args.include?(:install) and output =~ /Couldn't find any package/
raise Puppet::Error.new(
"Could not find package #{self.name}"
)
end
end
def purge
aptitude '-y', 'purge', @resource[:name]
end
end
|