From ee332c4550193893fb6cd660e01443e292c5ff0b Mon Sep 17 00:00:00 2001 From: Xu Cheng Date: Wed, 7 Oct 2015 17:34:29 +0800 Subject: [PATCH] handle TapFormulaWithOldnameAmbiguityError Closes Homebrew/homebrew#44705. Signed-off-by: Xu Cheng --- Library/Homebrew/cmd/audit.rb | 7 +++++-- Library/Homebrew/cmd/cleanup.rb | 2 +- Library/Homebrew/cmd/doctor.rb | 2 +- Library/Homebrew/cmd/link.rb | 2 +- Library/Homebrew/cmd/test-bot.rb | 2 +- Library/Homebrew/formula.rb | 2 +- 6 files changed, 10 insertions(+), 7 deletions(-) diff --git a/Library/Homebrew/cmd/audit.rb b/Library/Homebrew/cmd/audit.rb index 95acd94309..ed8e7bf152 100644 --- a/Library/Homebrew/cmd/audit.rb +++ b/Library/Homebrew/cmd/audit.rb @@ -282,9 +282,12 @@ class FormulaAuditor rescue TapFormulaAmbiguityError problem "Ambiguous dependency #{dep.name.inspect}." next + rescue TapFormulaWithOldnameAmbiguityError + problem "Ambiguous oldname dependency #{dep.name.inspect}." + next end - if FORMULA_RENAMES[dep.name] == dep_f.name + if dep_f.oldname && dep.name.split("/").last == dep_f.oldname problem "Dependency '#{dep.name}' was renamed; use newname '#{dep_f.name}'." end @@ -343,7 +346,7 @@ class FormulaAuditor next rescue FormulaUnavailableError problem "Can't find conflicting formula #{c.name.inspect}." - rescue TapFormulaAmbiguityError + rescue TapFormulaAmbiguityError, TapFormulaWithOldnameAmbiguityError problem "Ambiguous conflicting formula #{c.name.inspect}." end end diff --git a/Library/Homebrew/cmd/cleanup.rb b/Library/Homebrew/cmd/cleanup.rb index ff9cd96ccb..44236eeb13 100644 --- a/Library/Homebrew/cmd/cleanup.rb +++ b/Library/Homebrew/cmd/cleanup.rb @@ -85,7 +85,7 @@ module Homebrew begin f = Formulary.from_rack(HOMEBREW_CELLAR/name) - rescue FormulaUnavailableError, TapFormulaAmbiguityError + rescue FormulaUnavailableError, TapFormulaAmbiguityError, TapFormulaWithOldnameAmbiguityError next end diff --git a/Library/Homebrew/cmd/doctor.rb b/Library/Homebrew/cmd/doctor.rb index 9a0bf2ee65..302c436cd9 100644 --- a/Library/Homebrew/cmd/doctor.rb +++ b/Library/Homebrew/cmd/doctor.rb @@ -1165,7 +1165,7 @@ class Checks if !(HOMEBREW_REPOSITORY/"Library/LinkedKegs"/rack.basename).directory? begin Formulary.from_rack(rack).keg_only? - rescue FormulaUnavailableError, TapFormulaAmbiguityError + rescue FormulaUnavailableError, TapFormulaAmbiguityError, TapFormulaWithOldnameAmbiguityError false end else diff --git a/Library/Homebrew/cmd/link.rb b/Library/Homebrew/cmd/link.rb index 9ff449e7f1..fe9fa49d04 100644 --- a/Library/Homebrew/cmd/link.rb +++ b/Library/Homebrew/cmd/link.rb @@ -50,7 +50,7 @@ module Homebrew def keg_only?(rack) Formulary.from_rack(rack).keg_only? - rescue FormulaUnavailableError, TapFormulaAmbiguityError + rescue FormulaUnavailableError, TapFormulaAmbiguityError, TapFormulaWithOldnameAmbiguityError false end end diff --git a/Library/Homebrew/cmd/test-bot.rb b/Library/Homebrew/cmd/test-bot.rb index 658f042f92..d4c9a6a615 100644 --- a/Library/Homebrew/cmd/test-bot.rb +++ b/Library/Homebrew/cmd/test-bot.rb @@ -238,7 +238,7 @@ module Homebrew def safe_formulary(formula) Formulary.factory formula - rescue FormulaUnavailableError, TapFormulaAmbiguityError + rescue FormulaUnavailableError, TapFormulaAmbiguityError, TapFormulaWithOldnameAmbiguityError end def git(*args) diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index 095a772c4a..4edc6ec9aa 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -1017,7 +1017,7 @@ class Formula @installed ||= racks.map do |rack| begin Formulary.from_rack(rack) - rescue FormulaUnavailableError, TapFormulaAmbiguityError + rescue FormulaUnavailableError, TapFormulaAmbiguityError, TapFormulaWithOldnameAmbiguityError end end.compact end