From f15f665b989aaa152e8bed11aacbdecb155021ec Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Sun, 9 Dec 2018 19:31:19 +0000 Subject: [PATCH] audit: ensure postgresql previous version exists. This will avoid https://github.com/Homebrew/homebrew-core/issues/34879 in future. --- Library/Homebrew/dev-cmd/audit.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Library/Homebrew/dev-cmd/audit.rb b/Library/Homebrew/dev-cmd/audit.rb index 72137b0591..02968fd412 100644 --- a/Library/Homebrew/dev-cmd/audit.rb +++ b/Library/Homebrew/dev-cmd/audit.rb @@ -527,6 +527,23 @@ module Homebrew problem "keg_only reason should not end with a period." end + def audit_postgresql + return unless formula.name == "postgresql" + major_version = formula.version + .to_s + .split(".") + .first + .to_i + previous_major_version = major_version - 1 + previous_formula_name = "postgresql@#{previous_major_version}" + begin + Formula[previous_formula_name] + rescue FormulaUnavailableError + problem "Versioned #{previous_formula_name} must be created for " \ + "`brew-postgresql-upgrade-database` and `pg_upgrade` to work." + end + end + def audit_versioned_keg_only return unless @versioned_formula return unless @core_tap