/usr/lib/ruby/vendor_ruby/specinfra/command/debian/base/package.rb is in ruby-specinfra 2.35.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 31 32 | class Specinfra::Command::Debian::Base::Package < Specinfra::Command::Linux::Base::Package
class << self
def check_is_installed(package, version=nil)
escaped_package = escape(package)
if version
cmd = "dpkg-query -f '${Status} ${Version}' -W #{escaped_package} | grep -E '^(install|hold) ok installed #{escape(version)}$'"
else
cmd = "dpkg-query -f '${Status}' -W #{escaped_package} | grep -E '^(install|hold) ok installed$'"
end
cmd
end
alias :check_is_installed_by_apt :check_is_installed
def install(package, version=nil, option='')
if version
full_package = "#{package}=#{version}"
else
full_package = package
end
"DEBIAN_FRONTEND='noninteractive' apt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' #{option} install #{full_package}"
end
def get_version(package, opts=nil)
"dpkg-query -f '${Status} ${Version}' -W #{package} | sed -n 's/^install ok installed //p'"
end
def remove(package, option='')
"DEBIAN_FRONTEND='noninteractive' apt-get -y #{option} remove #{package}"
end
end
end
|