Sha256: 8abde4b3032b7d859f6f13dd00643ca871b1a2131db1deb8e1ed2f920db4ba08

Contents?: true

Size: 918 Bytes

Versions: 20

Compression:

Stored size: 918 Bytes

Contents

# frozen_string_literal: true

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.to_s =~ /Couldn't find any package/
      raise Puppet::Error, _("Could not find package %{name}") % { name: name }
    end
  end

  def purge
    aptitude '-y', 'purge', @resource[:name]
  end

  private

  def source
    nil
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
puppet-8.10.0 lib/puppet/provider/package/aptitude.rb
puppet-8.10.0-x86-mingw32 lib/puppet/provider/package/aptitude.rb
puppet-8.10.0-x64-mingw32 lib/puppet/provider/package/aptitude.rb
puppet-8.10.0-universal-darwin lib/puppet/provider/package/aptitude.rb
puppet-8.9.0 lib/puppet/provider/package/aptitude.rb
puppet-8.9.0-x86-mingw32 lib/puppet/provider/package/aptitude.rb
puppet-8.9.0-x64-mingw32 lib/puppet/provider/package/aptitude.rb
puppet-8.9.0-universal-darwin lib/puppet/provider/package/aptitude.rb
puppet-8.8.1 lib/puppet/provider/package/aptitude.rb
puppet-8.8.1-x86-mingw32 lib/puppet/provider/package/aptitude.rb
puppet-8.8.1-x64-mingw32 lib/puppet/provider/package/aptitude.rb
puppet-8.8.1-universal-darwin lib/puppet/provider/package/aptitude.rb
puppet-8.7.0 lib/puppet/provider/package/aptitude.rb
puppet-8.7.0-x86-mingw32 lib/puppet/provider/package/aptitude.rb
puppet-8.7.0-x64-mingw32 lib/puppet/provider/package/aptitude.rb
puppet-8.7.0-universal-darwin lib/puppet/provider/package/aptitude.rb
puppet-8.6.0 lib/puppet/provider/package/aptitude.rb
puppet-8.6.0-x86-mingw32 lib/puppet/provider/package/aptitude.rb
puppet-8.6.0-x64-mingw32 lib/puppet/provider/package/aptitude.rb
puppet-8.6.0-universal-darwin lib/puppet/provider/package/aptitude.rb