From 57fa2137b29a2f93a478a2038af626c0949fa306 Mon Sep 17 00:00:00 2001 From: Jan Viljanen <527069+javian@users.noreply.github.com> Date: Thu, 30 May 2019 09:34:27 +0200 Subject: [PATCH 1/3] audit: check bind for development versions --- Library/Homebrew/dev-cmd/audit.rb | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Library/Homebrew/dev-cmd/audit.rb b/Library/Homebrew/dev-cmd/audit.rb index 45bd5019b1..c818505c1d 100644 --- a/Library/Homebrew/dev-cmd/audit.rb +++ b/Library/Homebrew/dev-cmd/audit.rb @@ -719,6 +719,15 @@ module Homebrew problem "#{stable.version} is a development release" if minor_version.odd? end end + + case formula.name + when /bind/ + version = Version.parse(stable.url) + return if version.to_s.split(".").second.to_i.even? + + problem "BIND releases with odd minor version numbers (9.13.x, 9.15.x, etc) are " \ + "for testing, and can be unstable and are not suitable for general deployment. " \ + end end def audit_revision_and_version_scheme From afc63578e00c8845abbae180d930ba8b686782ca Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Mon, 10 Jun 2019 09:01:58 +0100 Subject: [PATCH 2/3] audit: make bind check more consistent. --- Library/Homebrew/dev-cmd/audit.rb | 34 ++++++++++++++++--------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/Library/Homebrew/dev-cmd/audit.rb b/Library/Homebrew/dev-cmd/audit.rb index c818505c1d..320d0cf6eb 100644 --- a/Library/Homebrew/dev-cmd/audit.rb +++ b/Library/Homebrew/dev-cmd/audit.rb @@ -702,31 +702,33 @@ module Homebrew end stable = formula.stable - case stable&.url + return unless stable + return unless stable.url + + stable_version_string = stable.version.to_s + stable_url_version = Version.parse(stable.url) + _, stable_url_minor_version, = stable_url_version.to_s + .split(".", 3) + .map(&:to_i) + + case stable.url when /[\d\._-](alpha|beta|rc\d)/ matched = Regexp.last_match(1) - version_prefix = stable.version.to_s.sub(/\d+$/, "") + version_prefix = stable_version_string.sub(/\d+$/, "") return if unstable_whitelist.include?([formula.name, version_prefix]) problem "Stable version URLs should not contain #{matched}" when %r{download\.gnome\.org/sources}, %r{ftp\.gnome\.org/pub/GNOME/sources}i - version_prefix = stable.version.to_s.split(".")[0..1].join(".") + version_prefix = stable_version_string.split(".")[0..1].join(".") return if gnome_devel_whitelist.include?([formula.name, version_prefix]) + return if stable_url_version < Version.create("1.0") + return if stable_url_minor_version.even? - version = Version.parse(stable.url) - if version >= Version.create("1.0") - _, minor_version, = version.to_s.split(".", 3).map(&:to_i) - problem "#{stable.version} is a development release" if minor_version.odd? - end - end + problem "#{stable.version} is a development release" + when %r{isc.org/isc/bind\d*/}i + return if stable_url_minor_version.even? - case formula.name - when /bind/ - version = Version.parse(stable.url) - return if version.to_s.split(".").second.to_i.even? - - problem "BIND releases with odd minor version numbers (9.13.x, 9.15.x, etc) are " \ - "for testing, and can be unstable and are not suitable for general deployment. " \ + problem "#{stable.version} is a development release" end end From 22914dc782dd8cf2b49595278931d2de18b32659 Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Mon, 10 Jun 2019 09:02:19 +0100 Subject: [PATCH 3/3] audit: remove unused unstable/devel whitelist entries. --- Library/Homebrew/dev-cmd/audit.rb | 6 ------ 1 file changed, 6 deletions(-) diff --git a/Library/Homebrew/dev-cmd/audit.rb b/Library/Homebrew/dev-cmd/audit.rb index 320d0cf6eb..f2cfa8463c 100644 --- a/Library/Homebrew/dev-cmd/audit.rb +++ b/Library/Homebrew/dev-cmd/audit.rb @@ -672,19 +672,16 @@ module Homebrew aalib 1.4rc5 automysqlbackup 3.0-rc6 aview 1.3.0rc1 - distcc 3.2rc1 elm-format 0.6.0-alpha ftgl 2.1.3-rc5 hidapi 0.8.0-rc1 libcaca 0.99b19 - nethack4 4.3.0-beta2 premake 4.4-beta5 pwnat 0.3-beta recode 3.7-beta2 speexdsp 1.2rc3 sqoop 1.4.6 tcptraceroute 1.5beta7 - testssl 2.8rc3 tiny-fugue 5.0b8 vbindiff 3.0_beta4 ].each_slice(2).to_a.map do |formula, version| @@ -692,11 +689,8 @@ module Homebrew end gnome_devel_whitelist = %w[ - gtk-doc 1.25 libart 2.3.21 pygtkglext 1.1.0 - libepoxy 1.5.0 - gtk-mac-integration 2.1.2 ].each_slice(2).to_a.map do |formula, version| [formula, version.split(".")[0..1].join(".")] end