distinguish between broken_dylibs and broken_deps
This commit is contained in:
parent
09eab0cc76
commit
55620a736a
@ -4,7 +4,7 @@ require "formula"
|
||||
|
||||
class LinkageChecker
|
||||
attr_reader :keg, :formula
|
||||
attr_reader :brewed_dylibs, :system_dylibs, :broken_dylibs, :variable_dylibs
|
||||
attr_reader :brewed_dylibs, :system_dylibs, :broken_dylibs, :broken_deps, :variable_dylibs
|
||||
attr_reader :undeclared_deps, :unnecessary_deps, :reverse_links
|
||||
|
||||
def initialize(keg, formula = nil)
|
||||
@ -12,7 +12,8 @@ class LinkageChecker
|
||||
@formula = formula || resolve_formula(keg)
|
||||
@brewed_dylibs = Hash.new { |h, k| h[k] = Set.new }
|
||||
@system_dylibs = Set.new
|
||||
@broken_dylibs = Hash.new { |h, k| h[k] = Set.new }
|
||||
@broken_dylibs = []
|
||||
@broken_deps = Hash.new { |h, k| h[k] = Set.new }
|
||||
@variable_dylibs = Set.new
|
||||
@indirect_deps = []
|
||||
@undeclared_deps = []
|
||||
@ -46,7 +47,12 @@ class LinkageChecker
|
||||
@system_dylibs << dylib
|
||||
rescue Errno::ENOENT
|
||||
next if harmless_broken_link?(dylib)
|
||||
@broken_dylibs[dylib_to_dep(dylib)] << dylib
|
||||
dep = dylib_to_dep(dylib)
|
||||
if dep.nil?
|
||||
@broken_dylibs << dylib
|
||||
else
|
||||
@broken_deps[dep] << dylib
|
||||
end
|
||||
else
|
||||
tap = Tab.for_keg(owner).tap
|
||||
f = if tap.nil? || tap.core_tap?
|
||||
@ -91,7 +97,7 @@ class LinkageChecker
|
||||
next true if Formula[name].bin.directory?
|
||||
@brewed_dylibs.keys.map { |x| x.split("/").last }.include?(name)
|
||||
end
|
||||
missing_deps = @broken_dylibs.values.map do |v|
|
||||
missing_deps = @broken_deps.values.map do |v|
|
||||
v.map do |d|
|
||||
dylib_to_dep(d)
|
||||
end
|
||||
@ -118,6 +124,7 @@ class LinkageChecker
|
||||
display_items "Indirect dependencies with linkage", @indirect_deps
|
||||
display_items "Variable-referenced libraries", @variable_dylibs
|
||||
display_items "Missing libraries", @broken_dylibs
|
||||
display_items "Missing dependencies", @broken_deps
|
||||
display_items "Undeclared dependencies with linkage", @undeclared_deps
|
||||
display_items "Dependencies with no linkage", @unnecessary_deps
|
||||
end
|
||||
@ -137,6 +144,7 @@ class LinkageChecker
|
||||
|
||||
def display_test_output
|
||||
display_items "Missing libraries", @broken_dylibs
|
||||
display_items "Missing dependencies", @broken_deps
|
||||
display_items "Dependencies with no linkage", @unnecessary_deps
|
||||
puts "No broken dylib links" if @broken_dylibs.empty?
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user