mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
modifying ask function as it didn't find the whole hierarchy for parents
This commit is contained in:
parent
3963af774a
commit
3f1341eb6a
@ -428,7 +428,11 @@ module Homebrew
|
|||||||
dep.installed_kegs.empty? || (dep.bottled? && dep.outdated?)
|
dep.installed_kegs.empty? || (dep.bottled? && dep.outdated?)
|
||||||
end
|
end
|
||||||
deps.map(&:to_formula).each do |f|
|
deps.map(&:to_formula).each do |f|
|
||||||
outdated_dependents.concat(f.recursive_dependencies.map(&:to_formula).reject(&:pinned?).select do |dep|
|
prune_build = f.recursive_dependencies do |_, dep|
|
||||||
|
:prune if dep.build?
|
||||||
|
end
|
||||||
|
# select the outdated one or not installed
|
||||||
|
outdated_dependents.concat(prune_build.map(&:to_formula).reject(&:pinned?).select do |dep|
|
||||||
dep.installed_kegs.empty? || (dep.bottled? && dep.outdated?)
|
dep.installed_kegs.empty? || (dep.bottled? && dep.outdated?)
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
@ -436,13 +440,23 @@ module Homebrew
|
|||||||
|
|
||||||
formula_list
|
formula_list
|
||||||
end
|
end
|
||||||
|
|
||||||
# Add any installed formula that depends on one of the sized formulae and is outdated.
|
# Add any installed formula that depends on one of the sized formulae and is outdated.
|
||||||
unless Homebrew::EnvConfig.no_installed_dependents_check?
|
unless Homebrew::EnvConfig.no_installed_dependents_check?
|
||||||
sized_formulae.concat(Formula.installed.select do |installed_formula|
|
loop do
|
||||||
installed_formula.bottled? && installed_formula.outdated? &&
|
new_parents = Formula.installed.select do |installed_formula|
|
||||||
installed_formula.deps.required.map(&:to_formula).intersect?(sized_formulae)
|
next unless installed_formula.bottled?
|
||||||
end)
|
next unless installed_formula.outdated?
|
||||||
|
|
||||||
|
required_deps = installed_formula.deps.required.map(&:to_formula)
|
||||||
|
required_deps.intersect?(sized_formulae)
|
||||||
|
end
|
||||||
|
|
||||||
|
# Exclude anything already in sized_formulae
|
||||||
|
new_parents -= sized_formulae
|
||||||
|
break if new_parents.empty?
|
||||||
|
|
||||||
|
sized_formulae.concat(new_parents)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
sized_formulae.uniq(&:to_s).compact
|
sized_formulae.uniq(&:to_s).compact
|
||||||
|
Loading…
x
Reference in New Issue
Block a user