Class: Specinfra::Command::Darwin::Base::Package
Class Method Summary
collapse
check_is_installed_by_cpan, check_is_installed_by_gem, check_is_installed_by_npm, check_is_installed_by_pear, check_is_installed_by_pecl, check_is_installed_by_pip
Methods inherited from Base
create, escape
Class Method Details
.check_is_installed(package, version = nil) ⇒ Object
Also known as:
check_is_installed_by_homebrew
3
4
5
6
7
8
9
10
11
|
# File 'lib/specinfra/command/darwin/base/package.rb', line 3
def check_is_installed(package, version=nil)
escaped_package = escape(package)
if version
cmd = "/usr/local/bin/brew info #{escaped_package} | grep -E '^\/usr\/local\/Cellar\/#{escaped_package}\/#{escape(version)}'"
else
cmd = "/usr/local/bin/brew list -1 | grep -E '^#{escaped_package}$'"
end
cmd
end
|
.check_is_installed_by_pkgutil(package, version = nil) ⇒ Object
15
16
17
18
19
|
# File 'lib/specinfra/command/darwin/base/package.rb', line 15
def check_is_installed_by_pkgutil(package, version=nil)
cmd = "pkgutil --pkg-info #{package}"
cmd = "#{cmd} | grep '^version: #{escape(version)}'" if version
cmd
end
|
.get_version(package, opts = nil) ⇒ Object
26
27
28
|
# File 'lib/specinfra/command/darwin/base/package.rb', line 26
def get_version(package, opts=nil)
"basename $((/usr/local/bin/brew info #{package} | grep '\*$' || /usr/local/bin/brew info #{package} | grep '^/usr/local/Cellar' | tail -1) | awk '{print $1}')"
end
|
.install(package, version = nil, option = '') ⇒ Object
21
22
23
24
|
# File 'lib/specinfra/command/darwin/base/package.rb', line 21
def install(package, version=nil, option='')
cmd = "/usr/local/bin/brew install #{option} '#{package}'"
end
|