From bac86f8afffabf19bef2707f3ef7fdcd1d4deacc Mon Sep 17 00:00:00 2001 From: Patrick Linnane Date: Wed, 20 Mar 2024 20:48:51 -0700 Subject: [PATCH] formula_auditor: generalize relicensed formula audit Signed-off-by: Patrick Linnane --- Library/Homebrew/formula_auditor.rb | 53 +++++++++-------------------- 1 file changed, 16 insertions(+), 37 deletions(-) diff --git a/Library/Homebrew/formula_auditor.rb b/Library/Homebrew/formula_auditor.rb index a7261bcaac630a..8fcce3538ef3d3 100644 --- a/Library/Homebrew/formula_auditor.rb +++ b/Library/Homebrew/formula_auditor.rb @@ -484,53 +484,32 @@ def audit_glibc "which allows them to use our Linux bottles, which were compiled against system glibc on CI." end - ELASTICSEARCH_KIBANA_RELICENSED_VERSION = "7.11" - - def audit_elasticsearch_kibana - return if formula.name != "elasticsearch" && formula.name != "kibana" - return unless @core_tap - return if formula.version < Version.new(ELASTICSEARCH_KIBANA_RELICENSED_VERSION) - - problem "Elasticsearch and Kibana were relicensed to a non-open-source license from version 7.11. " \ - "They must not be upgraded to version 7.11 or newer." - end - - # https://www.hashicorp.com/license-faq#products-covered-by-bsl - HASHICORP_RELICENSED_FORMULAE_VERSIONS = { - "terraform" => "1.6", - "packer" => "1.10", - "vault" => "1.15", - "boundary" => "0.14", - "consul" => "1.17", - "nomad" => "1.7", - "waypoint" => "0.12", - "vagrant" => "2.4", - "vagrant-compleion" => "2.4", + RELICENSED_FORMULAE_VERSIONS = { + "boundary" => "0.14", + "consul" => "1.17", + "elasticsearch" => "7.11", + "kibana" => "7.11", + "nomad" => "1.7", + "packer" => "1.10", + "redis" => "7,4", + "terraform" => "1.6", + "vagrant" => "2.4", + "vagrant-completion" => "2.4", + "vault" => "1.15", + "waypoint" => "0.12", }.freeze - def audit_hashicorp_formulae - return unless HASHICORP_RELICENSED_FORMULAE_VERSIONS.key? formula.name + def audit_relicensed_formulae + return unless RELICENSED_FORMULAE_VERSIONS.key? formula.name return unless @core_tap - relicensed_version = Version.new(HASHICORP_RELICENSED_FORMULAE_VERSIONS[formula.name]) + relicensed_version = Version.new(RELICENSED_FORMULAE_VERSIONS[formula.name]) return if formula.version < relicensed_version problem "#{formula.name} was relicensed to a non-open-source license from version #{relicensed_version}. " \ "It must not be upgraded to version #{relicensed_version} or newer." end - # https://redis.com/blog/redis-adopts-dual-source-available-licensing - REDIS_RELICENSED_VERSION = "7.4" - - def audit_redis - return if formula.name != "redis" - return unless @core_tap - return if formula.version < Version.new(REDIS_RELICENSED_VERSION) - - problem "Redis was relicensed to a non-open-source license from version 7.4. " \ - "It must not be upgraded to version 7.4 or newer." - end - def audit_keg_only_reason return unless @core_tap return unless formula.keg_only?