Class: Specinfra::Command::Termux::Base::Package
- Inherits:
-
Linux::Base::Package
- Object
- Linux::Base::Package
- Specinfra::Command::Termux::Base::Package
- Defined in:
- lib/specinfra_termux.rb
Class Method Summary collapse
- .check_is_installed(package, version = nil) ⇒ Object (also: check_is_installed_by_apt)
- .get_version(package, opts = nil) ⇒ Object
- .install(package, version = nil, option = '') ⇒ Object
- .remove(package, option = '') ⇒ Object
Class Method Details
.check_is_installed(package, version = nil) ⇒ Object Also known as: check_is_installed_by_apt
24 25 26 27 28 29 30 31 32 |
# File 'lib/specinfra_termux.rb', line 24 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 #{Regexp.escape(version)}$'" else cmd = "dpkg-query -f '${Status}' -W #{escaped_package} | grep -E '^(install|hold) ok installed$'" end cmd end |
.get_version(package, opts = nil) ⇒ Object
45 46 47 |
# File 'lib/specinfra_termux.rb', line 45 def get_version(package, opts=nil) "dpkg-query -f '${Status} ${Version}' -W #{package} | sed -n 's/^install ok installed //p'" end |
.install(package, version = nil, option = '') ⇒ Object
36 37 38 39 40 41 42 43 |
# File 'lib/specinfra_termux.rb', line 36 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 #{escape(full_package)}" end |
.remove(package, option = '') ⇒ Object
49 50 51 |
# File 'lib/specinfra_termux.rb', line 49 def remove(package, option='') "DEBIAN_FRONTEND='noninteractive' apt-get -y #{option} remove #{package}" end |