External command "brew missing"
This will print installed brews that are missing deps.
This commit is contained in:
parent
42129a7a94
commit
b877bc52d0
26
Library/Contributions/examples/brew-missing.rb
Executable file
26
Library/Contributions/examples/brew-missing.rb
Executable file
@ -0,0 +1,26 @@
|
|||||||
|
require "formula"
|
||||||
|
require 'formula_installer'
|
||||||
|
|
||||||
|
def main
|
||||||
|
# Names of outdated brews; they count as installed.
|
||||||
|
outdated = outdated_brews.select {|b| b[1] }
|
||||||
|
|
||||||
|
HOMEBREW_CELLAR.subdirs.each do |keg|
|
||||||
|
next unless keg.subdirs
|
||||||
|
if ((f = Formula.factory(keg.basename.to_s)).installed? rescue false)
|
||||||
|
f_deps = FormulaInstaller.expand_deps(f).collect{|g| g.name}.uniq
|
||||||
|
next if f_deps.empty?
|
||||||
|
|
||||||
|
missing_deps = []
|
||||||
|
f_deps.each do |dep_name|
|
||||||
|
unless Formula.factory(dep_name).installed? or outdated.include?(dep_name)
|
||||||
|
missing_deps << dep_name
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
puts "#{f.name}: #{missing_deps.join(', ')}" unless missing_deps.empty?
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
main()
|
||||||
Loading…
x
Reference in New Issue
Block a user