fix missing_deps

This commit is contained in:
Maxim Belkin 2018-04-07 15:35:27 -05:00
parent e15430c2cb
commit 3484db71d0

View File

@ -13,7 +13,7 @@ class LinkageChecker
@brewed_dylibs = Hash.new { |h, k| h[k] = Set.new } @brewed_dylibs = Hash.new { |h, k| h[k] = Set.new }
@system_dylibs = Set.new @system_dylibs = Set.new
@broken_dylibs = [] @broken_dylibs = []
@broken_deps = Hash.new { |h, k| h[k] = Set.new } @broken_deps = Hash.new { |h, k| h[k] = [] }
@variable_dylibs = Set.new @variable_dylibs = Set.new
@indirect_deps = [] @indirect_deps = []
@undeclared_deps = [] @undeclared_deps = []
@ -48,7 +48,7 @@ class LinkageChecker
rescue Errno::ENOENT rescue Errno::ENOENT
next if harmless_broken_link?(dylib) next if harmless_broken_link?(dylib)
if (dep = dylib_to_dep(dylib)) if (dep = dylib_to_dep(dylib))
@broken_deps[dep] << dylib @broken_deps[dep] |= [dylib]
else else
@broken_dylibs << dylib @broken_dylibs << dylib
end end
@ -96,7 +96,7 @@ class LinkageChecker
next true if Formula[name].bin.directory? next true if Formula[name].bin.directory?
@brewed_dylibs.keys.map { |x| x.split("/").last }.include?(name) @brewed_dylibs.keys.map { |x| x.split("/").last }.include?(name)
end end
missing_deps = @broken_deps.values.flat_map { |d| dylib_to_dep(d) }.compact missing_deps = @broken_deps.values.flatten.map { |d| dylib_to_dep(d) }
unnecessary_deps -= missing_deps unnecessary_deps -= missing_deps
[indirect_deps, undeclared_deps, unnecessary_deps] [indirect_deps, undeclared_deps, unnecessary_deps]
end end