Merge pull request #5813 from Homebrew/revert-5751-master
Revert "Fix Infinite Recursion in upgradable_dependents and broken_dependents"
This commit is contained in:
commit
9f3ae3238d
@ -207,7 +207,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def upgradable_dependents(kegs, formulae, formulae_visited)
|
def upgradable_dependents(kegs, formulae)
|
||||||
formulae_to_upgrade = Set.new
|
formulae_to_upgrade = Set.new
|
||||||
formulae_pinned = Set.new
|
formulae_pinned = Set.new
|
||||||
|
|
||||||
@ -227,13 +227,6 @@ module Homebrew
|
|||||||
next if formulae_to_upgrade.include?(f)
|
next if formulae_to_upgrade.include?(f)
|
||||||
next if formulae_pinned.include?(f)
|
next if formulae_pinned.include?(f)
|
||||||
|
|
||||||
if formulae_visited.include?(f)
|
|
||||||
opoo "Found recursive upgradable dependent #{f.full_name}"
|
|
||||||
next
|
|
||||||
end
|
|
||||||
|
|
||||||
formulae_visited << f
|
|
||||||
|
|
||||||
if f.outdated?(fetch_head: args.fetch_HEAD?)
|
if f.outdated?(fetch_head: args.fetch_HEAD?)
|
||||||
if f.pinned?
|
if f.pinned?
|
||||||
formulae_pinned << f
|
formulae_pinned << f
|
||||||
@ -245,17 +238,16 @@ module Homebrew
|
|||||||
descendants << f
|
descendants << f
|
||||||
end
|
end
|
||||||
|
|
||||||
upgradable_descendants, pinned_descendants, formulae_visited =
|
upgradable_descendants, pinned_descendants = upgradable_dependents(kegs, descendants)
|
||||||
upgradable_dependents(kegs, descendants, formulae_visited)
|
|
||||||
|
|
||||||
formulae_to_upgrade.merge upgradable_descendants
|
formulae_to_upgrade.merge upgradable_descendants
|
||||||
formulae_pinned.merge pinned_descendants
|
formulae_pinned.merge pinned_descendants
|
||||||
end
|
end
|
||||||
|
|
||||||
[formulae_to_upgrade, formulae_pinned, formulae_visited]
|
[formulae_to_upgrade, formulae_pinned]
|
||||||
end
|
end
|
||||||
|
|
||||||
def broken_dependents(kegs, formulae, formulae_visited)
|
def broken_dependents(kegs, formulae)
|
||||||
formulae_to_reinstall = Set.new
|
formulae_to_reinstall = Set.new
|
||||||
formulae_pinned_and_outdated = Set.new
|
formulae_pinned_and_outdated = Set.new
|
||||||
|
|
||||||
@ -276,13 +268,6 @@ module Homebrew
|
|||||||
next if formulae_to_reinstall.include?(f)
|
next if formulae_to_reinstall.include?(f)
|
||||||
next if formulae_pinned_and_outdated.include?(f)
|
next if formulae_pinned_and_outdated.include?(f)
|
||||||
|
|
||||||
if formulae_visited.include?(f)
|
|
||||||
opoo "Found recursive broken dependent #{f.full_name}"
|
|
||||||
next
|
|
||||||
end
|
|
||||||
|
|
||||||
formulae_visited << f
|
|
||||||
|
|
||||||
checker = LinkageChecker.new(keg, cache_db: db)
|
checker = LinkageChecker.new(keg, cache_db: db)
|
||||||
|
|
||||||
if checker.broken_library_linkage?
|
if checker.broken_library_linkage?
|
||||||
@ -297,15 +282,14 @@ module Homebrew
|
|||||||
descendants << f
|
descendants << f
|
||||||
end
|
end
|
||||||
|
|
||||||
descendants_to_reinstall, descendants_pinned, formulae_visited =
|
descendants_to_reinstall, descendants_pinned = broken_dependents(kegs, descendants)
|
||||||
broken_dependents(kegs, descendants, formulae_visited)
|
|
||||||
|
|
||||||
formulae_to_reinstall.merge descendants_to_reinstall
|
formulae_to_reinstall.merge descendants_to_reinstall
|
||||||
formulae_pinned_and_outdated.merge descendants_pinned
|
formulae_pinned_and_outdated.merge descendants_pinned
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
[formulae_to_reinstall, formulae_pinned_and_outdated, formulae_visited]
|
[formulae_to_reinstall, formulae_pinned_and_outdated]
|
||||||
end
|
end
|
||||||
|
|
||||||
# @private
|
# @private
|
||||||
@ -336,7 +320,7 @@ module Homebrew
|
|||||||
return if kegs.empty?
|
return if kegs.empty?
|
||||||
|
|
||||||
oh1 "Checking dependents for outdated formulae" if args.verbose?
|
oh1 "Checking dependents for outdated formulae" if args.verbose?
|
||||||
upgradable, pinned = upgradable_dependents(kegs, formulae, Set.new).map(&:to_a)
|
upgradable, pinned = upgradable_dependents(kegs, formulae).map(&:to_a)
|
||||||
|
|
||||||
upgradable.sort! { |a, b| depends_on(a, b) }
|
upgradable.sort! { |a, b| depends_on(a, b) }
|
||||||
|
|
||||||
@ -369,7 +353,7 @@ module Homebrew
|
|||||||
kegs = formulae_with_runtime_dependencies
|
kegs = formulae_with_runtime_dependencies
|
||||||
|
|
||||||
oh1 "Checking dependents for broken library links" if args.verbose?
|
oh1 "Checking dependents for broken library links" if args.verbose?
|
||||||
reinstallable, pinned = broken_dependents(kegs, formulae, Set.new).map(&:to_a)
|
reinstallable, pinned = broken_dependents(kegs, formulae).map(&:to_a)
|
||||||
|
|
||||||
reinstallable.sort! { |a, b| depends_on(a, b) }
|
reinstallable.sort! { |a, b| depends_on(a, b) }
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user