diff --git a/Library/Homebrew/formula_auditor.rb b/Library/Homebrew/formula_auditor.rb index 7ac8a334a0cdf..29294cf0f46f5 100644 --- a/Library/Homebrew/formula_auditor.rb +++ b/Library/Homebrew/formula_auditor.rb @@ -602,6 +602,27 @@ def audit_eol problem "Product is EOL since #{metadata["eol"]}, #{see_url}" if Date.parse(metadata["eol"]) <= Date.today end + def audit_wayback_url + return unless @strict + return unless @core_tap + return if formula.deprecated? || formula.disabled? + + regex = %r{^https?://web\.archive\.org} + problem_prefix = "Formula with a Internet Archive Wayback Machine" + + problem "#{problem_prefix} `url` should be deprecated with `:repo_removed`" if regex.match?(formula.stable.url) + + if regex.match?(formula.homepage) + problem "#{problem_prefix} `homepage` should find an alternative `homepage` or be deprecated." + end + + return unless formula.head + + return unless regex.match?(formula.head.url) + + problem "Remove Internet Archive Wayback Machine `head` URL" + end + def audit_github_repository_archived return if formula.deprecated? || formula.disabled?