mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
Change occurrences of "whitelist" to "allowlist"
This commit is contained in:
parent
aff92b3af3
commit
0041ea21f5
@ -74,7 +74,7 @@ Naming/PredicateName:
|
|||||||
# can't rename these
|
# can't rename these
|
||||||
AllowedMethods: is_32_bit?, is_64_bit?
|
AllowedMethods: is_32_bit?, is_64_bit?
|
||||||
|
|
||||||
# whitelist those that are standard
|
# allow those that are standard
|
||||||
# TODO: try to remove some of these
|
# TODO: try to remove some of these
|
||||||
Naming/MethodParameterName:
|
Naming/MethodParameterName:
|
||||||
AllowedNames:
|
AllowedNames:
|
||||||
|
@ -327,7 +327,7 @@ module Homebrew
|
|||||||
problem "Formula name conflicts with existing core formula."
|
problem "Formula name conflicts with existing core formula."
|
||||||
end
|
end
|
||||||
|
|
||||||
USES_FROM_MACOS_WHITELIST = %w[
|
USES_FROM_MACOS_ALLOWLIST = %w[
|
||||||
apr
|
apr
|
||||||
apr-util
|
apr-util
|
||||||
openblas
|
openblas
|
||||||
@ -369,7 +369,7 @@ module Homebrew
|
|||||||
dep_f.keg_only? &&
|
dep_f.keg_only? &&
|
||||||
dep_f.keg_only_reason.provided_by_macos? &&
|
dep_f.keg_only_reason.provided_by_macos? &&
|
||||||
dep_f.keg_only_reason.applicable? &&
|
dep_f.keg_only_reason.applicable? &&
|
||||||
!USES_FROM_MACOS_WHITELIST.include?(dep.name)
|
!USES_FROM_MACOS_ALLOWLIST.include?(dep.name)
|
||||||
new_formula_problem(
|
new_formula_problem(
|
||||||
"Dependency '#{dep.name}' is provided by macOS; " \
|
"Dependency '#{dep.name}' is provided by macOS; " \
|
||||||
"please replace 'depends_on' with 'uses_from_macos'.",
|
"please replace 'depends_on' with 'uses_from_macos'.",
|
||||||
@ -441,7 +441,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
VERSIONED_KEG_ONLY_WHITELIST = %w[
|
VERSIONED_KEG_ONLY_ALLOWLIST = %w[
|
||||||
autoconf@2.13
|
autoconf@2.13
|
||||||
bash-completion@2
|
bash-completion@2
|
||||||
gnupg@1.4
|
gnupg@1.4
|
||||||
@ -463,7 +463,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return if VERSIONED_KEG_ONLY_WHITELIST.include?(formula.name) || formula.name.start_with?("gcc@")
|
return if VERSIONED_KEG_ONLY_ALLOWLIST.include?(formula.name) || formula.name.start_with?("gcc@")
|
||||||
|
|
||||||
problem "Versioned formulae in homebrew/core should use `keg_only :versioned_formula`"
|
problem "Versioned formulae in homebrew/core should use `keg_only :versioned_formula`"
|
||||||
end
|
end
|
||||||
@ -552,7 +552,7 @@ module Homebrew
|
|||||||
[user, repo]
|
[user, repo]
|
||||||
end
|
end
|
||||||
|
|
||||||
VERSIONED_HEAD_SPEC_WHITELIST = %w[
|
VERSIONED_HEAD_SPEC_ALLOWLIST = %w[
|
||||||
bash-completion@2
|
bash-completion@2
|
||||||
imagemagick@6
|
imagemagick@6
|
||||||
].freeze
|
].freeze
|
||||||
@ -564,7 +564,7 @@ module Homebrew
|
|||||||
"vim" => "50",
|
"vim" => "50",
|
||||||
}.freeze
|
}.freeze
|
||||||
|
|
||||||
UNSTABLE_WHITELIST = {
|
UNSTABLE_ALLOWLIST = {
|
||||||
"aalib" => "1.4rc",
|
"aalib" => "1.4rc",
|
||||||
"automysqlbackup" => "3.0-rc",
|
"automysqlbackup" => "3.0-rc",
|
||||||
"aview" => "1.3.0rc",
|
"aview" => "1.3.0rc",
|
||||||
@ -582,7 +582,7 @@ module Homebrew
|
|||||||
"vbindiff" => "3.0_beta",
|
"vbindiff" => "3.0_beta",
|
||||||
}.freeze
|
}.freeze
|
||||||
|
|
||||||
GNOME_DEVEL_WHITELIST = {
|
GNOME_DEVEL_ALLOWLIST = {
|
||||||
"libart" => "2.3",
|
"libart" => "2.3",
|
||||||
"gtk-mac-integration" => "2.1",
|
"gtk-mac-integration" => "2.1",
|
||||||
"gtk-doc" => "1.31",
|
"gtk-doc" => "1.31",
|
||||||
@ -646,7 +646,7 @@ module Homebrew
|
|||||||
|
|
||||||
if formula.head && @versioned_formula
|
if formula.head && @versioned_formula
|
||||||
head_spec_message = "Formulae should not have a `HEAD` spec"
|
head_spec_message = "Formulae should not have a `HEAD` spec"
|
||||||
problem head_spec_message unless VERSIONED_HEAD_SPEC_WHITELIST.include?(formula.name)
|
problem head_spec_message unless VERSIONED_HEAD_SPEC_ALLOWLIST.include?(formula.name)
|
||||||
end
|
end
|
||||||
|
|
||||||
THROTTLED_BLACKLIST.each do |f, v|
|
THROTTLED_BLACKLIST.each do |f, v|
|
||||||
@ -672,12 +672,12 @@ module Homebrew
|
|||||||
when /[\d._-](alpha|beta|rc\d)/
|
when /[\d._-](alpha|beta|rc\d)/
|
||||||
matched = Regexp.last_match(1)
|
matched = Regexp.last_match(1)
|
||||||
version_prefix = stable_version_string.sub(/\d+$/, "")
|
version_prefix = stable_version_string.sub(/\d+$/, "")
|
||||||
return if UNSTABLE_WHITELIST[formula.name] == version_prefix
|
return if UNSTABLE_ALLOWLIST[formula.name] == version_prefix
|
||||||
|
|
||||||
problem "Stable version URLs should not contain #{matched}"
|
problem "Stable version URLs should not contain #{matched}"
|
||||||
when %r{download\.gnome\.org/sources}, %r{ftp\.gnome\.org/pub/GNOME/sources}i
|
when %r{download\.gnome\.org/sources}, %r{ftp\.gnome\.org/pub/GNOME/sources}i
|
||||||
version_prefix = stable_version_string.split(".")[0..1].join(".")
|
version_prefix = stable_version_string.split(".")[0..1].join(".")
|
||||||
return if GNOME_DEVEL_WHITELIST[formula.name] == version_prefix
|
return if GNOME_DEVEL_ALLOWLIST[formula.name] == version_prefix
|
||||||
return if stable_url_version < Version.create("1.0")
|
return if stable_url_version < Version.create("1.0")
|
||||||
return if stable_url_minor_version.even?
|
return if stable_url_minor_version.even?
|
||||||
|
|
||||||
|
@ -171,11 +171,11 @@ module Homebrew
|
|||||||
EOS
|
EOS
|
||||||
end
|
end
|
||||||
|
|
||||||
def __check_stray_files(dir, pattern, white_list, message)
|
def __check_stray_files(dir, pattern, allow_list, message)
|
||||||
return unless File.directory?(dir)
|
return unless File.directory?(dir)
|
||||||
|
|
||||||
files = Dir.chdir(dir) do
|
files = Dir.chdir(dir) do
|
||||||
(Dir.glob(pattern) - Dir.glob(white_list))
|
(Dir.glob(pattern) - Dir.glob(allow_list))
|
||||||
.select { |f| File.file?(f) && !File.symlink?(f) }
|
.select { |f| File.file?(f) && !File.symlink?(f) }
|
||||||
.map { |f| File.join(dir, f) }
|
.map { |f| File.join(dir, f) }
|
||||||
end
|
end
|
||||||
@ -187,7 +187,7 @@ module Homebrew
|
|||||||
def check_for_stray_dylibs
|
def check_for_stray_dylibs
|
||||||
# Dylibs which are generally OK should be added to this list,
|
# Dylibs which are generally OK should be added to this list,
|
||||||
# with a short description of the software they come with.
|
# with a short description of the software they come with.
|
||||||
white_list = [
|
allow_list = [
|
||||||
"libfuse.2.dylib", # MacFuse
|
"libfuse.2.dylib", # MacFuse
|
||||||
"libfuse_ino64.2.dylib", # MacFuse
|
"libfuse_ino64.2.dylib", # MacFuse
|
||||||
"libmacfuse_i32.2.dylib", # OSXFuse MacFuse compatibility layer
|
"libmacfuse_i32.2.dylib", # OSXFuse MacFuse compatibility layer
|
||||||
@ -207,7 +207,7 @@ module Homebrew
|
|||||||
"sentinel-*.dylib", # SentinelOne
|
"sentinel-*.dylib", # SentinelOne
|
||||||
]
|
]
|
||||||
|
|
||||||
__check_stray_files "/usr/local/lib", "*.dylib", white_list, <<~EOS
|
__check_stray_files "/usr/local/lib", "*.dylib", allow_list, <<~EOS
|
||||||
Unbrewed dylibs were found in /usr/local/lib.
|
Unbrewed dylibs were found in /usr/local/lib.
|
||||||
If you didn't put them there on purpose they could cause problems when
|
If you didn't put them there on purpose they could cause problems when
|
||||||
building Homebrew formulae, and may need to be deleted.
|
building Homebrew formulae, and may need to be deleted.
|
||||||
@ -219,7 +219,7 @@ module Homebrew
|
|||||||
def check_for_stray_static_libs
|
def check_for_stray_static_libs
|
||||||
# Static libs which are generally OK should be added to this list,
|
# Static libs which are generally OK should be added to this list,
|
||||||
# with a short description of the software they come with.
|
# with a short description of the software they come with.
|
||||||
white_list = [
|
allow_list = [
|
||||||
"libntfs-3g.a", # NTFS-3G
|
"libntfs-3g.a", # NTFS-3G
|
||||||
"libntfs.a", # NTFS-3G
|
"libntfs.a", # NTFS-3G
|
||||||
"libublio.a", # NTFS-3G
|
"libublio.a", # NTFS-3G
|
||||||
@ -232,7 +232,7 @@ module Homebrew
|
|||||||
"libtrustedcomponents.a", # Symantec Endpoint Protection
|
"libtrustedcomponents.a", # Symantec Endpoint Protection
|
||||||
]
|
]
|
||||||
|
|
||||||
__check_stray_files "/usr/local/lib", "*.a", white_list, <<~EOS
|
__check_stray_files "/usr/local/lib", "*.a", allow_list, <<~EOS
|
||||||
Unbrewed static libraries were found in /usr/local/lib.
|
Unbrewed static libraries were found in /usr/local/lib.
|
||||||
If you didn't put them there on purpose they could cause problems when
|
If you didn't put them there on purpose they could cause problems when
|
||||||
building Homebrew formulae, and may need to be deleted.
|
building Homebrew formulae, and may need to be deleted.
|
||||||
@ -244,7 +244,7 @@ module Homebrew
|
|||||||
def check_for_stray_pcs
|
def check_for_stray_pcs
|
||||||
# Package-config files which are generally OK should be added to this list,
|
# Package-config files which are generally OK should be added to this list,
|
||||||
# with a short description of the software they come with.
|
# with a short description of the software they come with.
|
||||||
white_list = [
|
allow_list = [
|
||||||
"fuse.pc", # OSXFuse/MacFuse
|
"fuse.pc", # OSXFuse/MacFuse
|
||||||
"macfuse.pc", # OSXFuse MacFuse compatibility layer
|
"macfuse.pc", # OSXFuse MacFuse compatibility layer
|
||||||
"osxfuse.pc", # OSXFuse
|
"osxfuse.pc", # OSXFuse
|
||||||
@ -252,7 +252,7 @@ module Homebrew
|
|||||||
"libublio.pc", # NTFS-3G
|
"libublio.pc", # NTFS-3G
|
||||||
]
|
]
|
||||||
|
|
||||||
__check_stray_files "/usr/local/lib/pkgconfig", "*.pc", white_list, <<~EOS
|
__check_stray_files "/usr/local/lib/pkgconfig", "*.pc", allow_list, <<~EOS
|
||||||
Unbrewed .pc files were found in /usr/local/lib/pkgconfig.
|
Unbrewed .pc files were found in /usr/local/lib/pkgconfig.
|
||||||
If you didn't put them there on purpose they could cause problems when
|
If you didn't put them there on purpose they could cause problems when
|
||||||
building Homebrew formulae, and may need to be deleted.
|
building Homebrew formulae, and may need to be deleted.
|
||||||
@ -262,7 +262,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
def check_for_stray_las
|
def check_for_stray_las
|
||||||
white_list = [
|
allow_list = [
|
||||||
"libfuse.la", # MacFuse
|
"libfuse.la", # MacFuse
|
||||||
"libfuse_ino64.la", # MacFuse
|
"libfuse_ino64.la", # MacFuse
|
||||||
"libosxfuse_i32.la", # OSXFuse
|
"libosxfuse_i32.la", # OSXFuse
|
||||||
@ -273,7 +273,7 @@ module Homebrew
|
|||||||
"libublio.la", # NTFS-3G
|
"libublio.la", # NTFS-3G
|
||||||
]
|
]
|
||||||
|
|
||||||
__check_stray_files "/usr/local/lib", "*.la", white_list, <<~EOS
|
__check_stray_files "/usr/local/lib", "*.la", allow_list, <<~EOS
|
||||||
Unbrewed .la files were found in /usr/local/lib.
|
Unbrewed .la files were found in /usr/local/lib.
|
||||||
If you didn't put them there on purpose they could cause problems when
|
If you didn't put them there on purpose they could cause problems when
|
||||||
building Homebrew formulae, and may need to be deleted.
|
building Homebrew formulae, and may need to be deleted.
|
||||||
@ -283,7 +283,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
def check_for_stray_headers
|
def check_for_stray_headers
|
||||||
white_list = [
|
allow_list = [
|
||||||
"fuse.h", # MacFuse
|
"fuse.h", # MacFuse
|
||||||
"fuse/**/*.h", # MacFuse
|
"fuse/**/*.h", # MacFuse
|
||||||
"macfuse/**/*.h", # OSXFuse MacFuse compatibility layer
|
"macfuse/**/*.h", # OSXFuse MacFuse compatibility layer
|
||||||
@ -292,7 +292,7 @@ module Homebrew
|
|||||||
"ntfs-3g/**/*.h", # NTFS-3G
|
"ntfs-3g/**/*.h", # NTFS-3G
|
||||||
]
|
]
|
||||||
|
|
||||||
__check_stray_files "/usr/local/include", "**/*.h", white_list, <<~EOS
|
__check_stray_files "/usr/local/include", "**/*.h", allow_list, <<~EOS
|
||||||
Unbrewed header files were found in /usr/local/include.
|
Unbrewed header files were found in /usr/local/include.
|
||||||
If you didn't put them there on purpose they could cause problems when
|
If you didn't put them there on purpose they could cause problems when
|
||||||
building Homebrew formulae, and may need to be deleted.
|
building Homebrew formulae, and may need to be deleted.
|
||||||
@ -444,7 +444,7 @@ module Homebrew
|
|||||||
|
|
||||||
scripts = []
|
scripts = []
|
||||||
|
|
||||||
whitelist = %W[
|
allowlist = %W[
|
||||||
/bin /sbin
|
/bin /sbin
|
||||||
/usr/bin /usr/sbin
|
/usr/bin /usr/sbin
|
||||||
/usr/X11/bin /usr/X11R6/bin /opt/X11/bin
|
/usr/X11/bin /usr/X11R6/bin /opt/X11/bin
|
||||||
@ -454,7 +454,7 @@ module Homebrew
|
|||||||
].map(&:downcase)
|
].map(&:downcase)
|
||||||
|
|
||||||
paths.each do |p|
|
paths.each do |p|
|
||||||
next if whitelist.include?(p.downcase) || !File.directory?(p)
|
next if allowlist.include?(p.downcase) || !File.directory?(p)
|
||||||
|
|
||||||
realpath = Pathname.new(p).realpath.to_s
|
realpath = Pathname.new(p).realpath.to_s
|
||||||
next if realpath.start_with?(real_cellar.to_s, HOMEBREW_CELLAR.to_s)
|
next if realpath.start_with?(real_cellar.to_s, HOMEBREW_CELLAR.to_s)
|
||||||
|
@ -603,7 +603,7 @@ class SubversionDownloadStrategy < VCSDownloadStrategy
|
|||||||
end
|
end
|
||||||
|
|
||||||
class GitDownloadStrategy < VCSDownloadStrategy
|
class GitDownloadStrategy < VCSDownloadStrategy
|
||||||
SHALLOW_CLONE_WHITELIST = [
|
SHALLOW_CLONE_ALLOWLIST = [
|
||||||
%r{git://},
|
%r{git://},
|
||||||
%r{https://github\.com},
|
%r{https://github\.com},
|
||||||
%r{http://git\.sv\.gnu\.org},
|
%r{http://git\.sv\.gnu\.org},
|
||||||
@ -654,7 +654,7 @@ class GitDownloadStrategy < VCSDownloadStrategy
|
|||||||
end
|
end
|
||||||
|
|
||||||
def support_depth?
|
def support_depth?
|
||||||
@ref_type != :revision && SHALLOW_CLONE_WHITELIST.any? { |regex| @url =~ regex }
|
@ref_type != :revision && SHALLOW_CLONE_ALLOWLIST.any? { |regex| @url =~ regex }
|
||||||
end
|
end
|
||||||
|
|
||||||
def git_dir
|
def git_dir
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
class LinkageChecker
|
class LinkageChecker
|
||||||
# Libraries provided by glibc and gcc.
|
# Libraries provided by glibc and gcc.
|
||||||
SYSTEM_LIBRARY_WHITELIST = %w[
|
SYSTEM_LIBRARY_ALLOWLIST = %w[
|
||||||
ld-linux-x86-64.so.2
|
ld-linux-x86-64.so.2
|
||||||
libanl.so.1
|
libanl.so.1
|
||||||
libc.so.6
|
libc.so.6
|
||||||
@ -28,7 +28,7 @@ class LinkageChecker
|
|||||||
# glibc and gcc are implicit dependencies.
|
# glibc and gcc are implicit dependencies.
|
||||||
# No other linkage to system libraries is expected or desired.
|
# No other linkage to system libraries is expected or desired.
|
||||||
@unwanted_system_dylibs = @system_dylibs.reject do |s|
|
@unwanted_system_dylibs = @system_dylibs.reject do |s|
|
||||||
SYSTEM_LIBRARY_WHITELIST.include? File.basename(s)
|
SYSTEM_LIBRARY_ALLOWLIST.include? File.basename(s)
|
||||||
end
|
end
|
||||||
@undeclared_deps -= ["gcc", "glibc"]
|
@undeclared_deps -= ["gcc", "glibc"]
|
||||||
end
|
end
|
||||||
|
@ -1088,7 +1088,7 @@ class Formula
|
|||||||
end
|
end
|
||||||
|
|
||||||
# Sometimes we accidentally install files outside prefix. After we fix that,
|
# Sometimes we accidentally install files outside prefix. After we fix that,
|
||||||
# users will get nasty link conflict error. So we create a whitelist here to
|
# users will get nasty link conflict error. So we create an allowlist here to
|
||||||
# allow overwriting certain files. e.g.
|
# allow overwriting certain files. e.g.
|
||||||
# link_overwrite "bin/foo", "lib/bar"
|
# link_overwrite "bin/foo", "lib/bar"
|
||||||
# link_overwrite "share/man/man1/baz-*"
|
# link_overwrite "share/man/man1/baz-*"
|
||||||
@ -1111,7 +1111,7 @@ class Formula
|
|||||||
begin
|
begin
|
||||||
Formulary.factory(keg.name)
|
Formulary.factory(keg.name)
|
||||||
rescue FormulaUnavailableError
|
rescue FormulaUnavailableError
|
||||||
# formula for this keg is deleted, so defer to whitelist
|
# formula for this keg is deleted, so defer to allowlist
|
||||||
rescue TapFormulaAmbiguityError, TapFormulaWithOldnameAmbiguityError
|
rescue TapFormulaAmbiguityError, TapFormulaWithOldnameAmbiguityError
|
||||||
return false # this keg belongs to another formula
|
return false # this keg belongs to another formula
|
||||||
else
|
else
|
||||||
|
@ -11,7 +11,7 @@ module RuboCop
|
|||||||
# where each sub array contains components' details which are at same precedence level
|
# where each sub array contains components' details which are at same precedence level
|
||||||
class ComponentsOrder < FormulaCop
|
class ComponentsOrder < FormulaCop
|
||||||
# `aspell`: options and resources should be grouped by language
|
# `aspell`: options and resources should be grouped by language
|
||||||
COMPONENT_WHITELIST = %w[
|
COMPONENT_ALLOWLIST = %w[
|
||||||
aspell
|
aspell
|
||||||
].freeze
|
].freeze
|
||||||
|
|
||||||
@ -235,7 +235,7 @@ module RuboCop
|
|||||||
|
|
||||||
# Method to format message for reporting component precedence violations
|
# Method to format message for reporting component precedence violations
|
||||||
def component_problem(c1, c2)
|
def component_problem(c1, c2)
|
||||||
return if COMPONENT_WHITELIST.include?(@formula_name)
|
return if COMPONENT_ALLOWLIST.include?(@formula_name)
|
||||||
|
|
||||||
problem "`#{format_component(c1)}` (line #{line_number(c1)}) " \
|
problem "`#{format_component(c1)}` (line #{line_number(c1)}) " \
|
||||||
"should be put before `#{format_component(c2)}` " \
|
"should be put before `#{format_component(c2)}` " \
|
||||||
|
@ -11,14 +11,14 @@ module RuboCop
|
|||||||
MSG = "Versioned formulae should not use `conflicts_with`. " \
|
MSG = "Versioned formulae should not use `conflicts_with`. " \
|
||||||
"Use `keg_only :versioned_formula` instead."
|
"Use `keg_only :versioned_formula` instead."
|
||||||
|
|
||||||
WHITELIST = %w[
|
ALLOWLIST = %w[
|
||||||
bash-completion@2
|
bash-completion@2
|
||||||
].freeze
|
].freeze
|
||||||
|
|
||||||
def audit_formula(_node, _class_node, _parent_class_node, body)
|
def audit_formula(_node, _class_node, _parent_class_node, body)
|
||||||
return unless versioned_formula?
|
return unless versioned_formula?
|
||||||
|
|
||||||
problem MSG if !WHITELIST.include?(@formula_name) &&
|
problem MSG if !ALLOWLIST.include?(@formula_name) &&
|
||||||
method_called_ever?(body, :conflicts_with)
|
method_called_ever?(body, :conflicts_with)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -10,7 +10,7 @@ module RuboCop
|
|||||||
keg_only_node = find_node_method_by_name(body_node, :keg_only)
|
keg_only_node = find_node_method_by_name(body_node, :keg_only)
|
||||||
return unless keg_only_node
|
return unless keg_only_node
|
||||||
|
|
||||||
whitelist = %w[
|
allowlist = %w[
|
||||||
Apple
|
Apple
|
||||||
macOS
|
macOS
|
||||||
OS
|
OS
|
||||||
@ -27,7 +27,7 @@ module RuboCop
|
|||||||
reason = reason.sub(name, "")
|
reason = reason.sub(name, "")
|
||||||
first_word = reason.split.first
|
first_word = reason.split.first
|
||||||
|
|
||||||
if reason =~ /\A[A-Z]/ && !reason.start_with?(*whitelist)
|
if reason =~ /\A[A-Z]/ && !reason.start_with?(*allowlist)
|
||||||
problem "'#{first_word}' from the keg_only reason should be '#{first_word.downcase}'."
|
problem "'#{first_word}' from the keg_only reason should be '#{first_word.downcase}'."
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -457,7 +457,7 @@ module RuboCop
|
|||||||
|
|
||||||
module FormulaAuditStrict
|
module FormulaAuditStrict
|
||||||
class MakeCheck < FormulaCop
|
class MakeCheck < FormulaCop
|
||||||
MAKE_CHECK_WHITELIST = %w[
|
MAKE_CHECK_ALLOWLIST = %w[
|
||||||
beecrypt
|
beecrypt
|
||||||
ccrypt
|
ccrypt
|
||||||
git
|
git
|
||||||
@ -483,7 +483,7 @@ module RuboCop
|
|||||||
# Avoid build-time checks in homebrew/core
|
# Avoid build-time checks in homebrew/core
|
||||||
find_every_method_call_by_name(body_node, :system).each do |method|
|
find_every_method_call_by_name(body_node, :system).each do |method|
|
||||||
next if @formula_name.start_with?("lib")
|
next if @formula_name.start_with?("lib")
|
||||||
next if MAKE_CHECK_WHITELIST.include?(@formula_name)
|
next if MAKE_CHECK_ALLOWLIST.include?(@formula_name)
|
||||||
|
|
||||||
params = parameters(method)
|
params = parameters(method)
|
||||||
next unless node_equals?(params[0], "make")
|
next unless node_equals?(params[0], "make")
|
||||||
|
@ -8,7 +8,7 @@ module RuboCop
|
|||||||
# This cop audits URLs and mirrors in Formulae.
|
# This cop audits URLs and mirrors in Formulae.
|
||||||
class Urls < FormulaCop
|
class Urls < FormulaCop
|
||||||
# These are parts of URLs that look like binaries but actually aren't.
|
# These are parts of URLs that look like binaries but actually aren't.
|
||||||
NOT_A_BINARY_URL_PREFIX_WHITELIST = %w[
|
NOT_A_BINARY_URL_PREFIX_ALLOWLIST = %w[
|
||||||
https://downloads.sourceforge.net/project/astyle/astyle/
|
https://downloads.sourceforge.net/project/astyle/astyle/
|
||||||
https://downloads.sourceforge.net/project/bittwist/
|
https://downloads.sourceforge.net/project/bittwist/
|
||||||
https://downloads.sourceforge.net/project/launch4j/
|
https://downloads.sourceforge.net/project/launch4j/
|
||||||
@ -22,7 +22,7 @@ module RuboCop
|
|||||||
].freeze
|
].freeze
|
||||||
|
|
||||||
# These are formulae that, sadly, require an upstream binary to bootstrap.
|
# These are formulae that, sadly, require an upstream binary to bootstrap.
|
||||||
BINARY_BOOTSTRAP_FORMULA_URLS_WHITELIST = %w[
|
BINARY_BOOTSTRAP_FORMULA_URLS_ALLOWLIST = %w[
|
||||||
clozure-cl
|
clozure-cl
|
||||||
crystal
|
crystal
|
||||||
fpc
|
fpc
|
||||||
@ -275,8 +275,8 @@ module RuboCop
|
|||||||
audit_urls(urls, /(darwin|macos|osx)/i) do |match, url|
|
audit_urls(urls, /(darwin|macos|osx)/i) do |match, url|
|
||||||
next if @formula_name.include?(match.to_s.downcase)
|
next if @formula_name.include?(match.to_s.downcase)
|
||||||
next if url.match?(/.(patch|diff)(\?full_index=1)?$/)
|
next if url.match?(/.(patch|diff)(\?full_index=1)?$/)
|
||||||
next if NOT_A_BINARY_URL_PREFIX_WHITELIST.any? { |prefix| url.start_with?(prefix) }
|
next if NOT_A_BINARY_URL_PREFIX_ALLOWLIST.any? { |prefix| url.start_with?(prefix) }
|
||||||
next if BINARY_BOOTSTRAP_FORMULA_URLS_WHITELIST.include?(@formula_name)
|
next if BINARY_BOOTSTRAP_FORMULA_URLS_ALLOWLIST.include?(@formula_name)
|
||||||
|
|
||||||
problem "#{url} looks like a binary package, not a source archive; " \
|
problem "#{url} looks like a binary package, not a source archive; " \
|
||||||
"homebrew/core is source-only."
|
"homebrew/core is source-only."
|
||||||
|
@ -153,7 +153,7 @@ class Sandbox
|
|||||||
(regex #"^/dev/fd/[0-9]+$")
|
(regex #"^/dev/fd/[0-9]+$")
|
||||||
(regex #"^/dev/tty[a-z0-9]*$")
|
(regex #"^/dev/tty[a-z0-9]*$")
|
||||||
)
|
)
|
||||||
(deny file-write*) ; deny non-whitelist file write operations
|
(deny file-write*) ; deny non-allowlist file write operations
|
||||||
(allow process-exec
|
(allow process-exec
|
||||||
(literal "/bin/ps")
|
(literal "/bin/ps")
|
||||||
(with no-sandbox)
|
(with no-sandbox)
|
||||||
|
@ -234,7 +234,7 @@ module Homebrew
|
|||||||
|
|
||||||
describe "#audit_deps" do
|
describe "#audit_deps" do
|
||||||
describe "a dependency on a macOS-provided keg-only formula" do
|
describe "a dependency on a macOS-provided keg-only formula" do
|
||||||
describe "which is whitelisted" do
|
describe "which is allowlisted" do
|
||||||
subject { fa }
|
subject { fa }
|
||||||
|
|
||||||
let(:fa) do
|
let(:fa) do
|
||||||
@ -266,7 +266,7 @@ module Homebrew
|
|||||||
its(:problems) { are_expected.to be_empty }
|
its(:problems) { are_expected.to be_empty }
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "which is not whitelisted", :needs_macos do
|
describe "which is not allowlisted", :needs_macos do
|
||||||
subject { fa }
|
subject { fa }
|
||||||
|
|
||||||
let(:fa) do
|
let(:fa) do
|
||||||
@ -518,11 +518,11 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
include_examples "formulae exist", described_class::VERSIONED_KEG_ONLY_WHITELIST
|
include_examples "formulae exist", described_class::VERSIONED_KEG_ONLY_ALLOWLIST
|
||||||
include_examples "formulae exist", described_class::VERSIONED_HEAD_SPEC_WHITELIST
|
include_examples "formulae exist", described_class::VERSIONED_HEAD_SPEC_ALLOWLIST
|
||||||
include_examples "formulae exist", described_class::USES_FROM_MACOS_WHITELIST
|
include_examples "formulae exist", described_class::USES_FROM_MACOS_ALLOWLIST
|
||||||
include_examples "formulae exist", described_class::THROTTLED_BLACKLIST.keys
|
include_examples "formulae exist", described_class::THROTTLED_BLACKLIST.keys
|
||||||
include_examples "formulae exist", described_class::UNSTABLE_WHITELIST.keys
|
include_examples "formulae exist", described_class::UNSTABLE_ALLOWLIST.keys
|
||||||
include_examples "formulae exist", described_class::GNOME_DEVEL_WHITELIST.keys
|
include_examples "formulae exist", described_class::GNOME_DEVEL_ALLOWLIST.keys
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -477,6 +477,6 @@ describe RuboCop::Cop::FormulaAudit::ComponentsOrder do
|
|||||||
RUBY
|
RUBY
|
||||||
end
|
end
|
||||||
|
|
||||||
include_examples "formulae exist", described_class::COMPONENT_WHITELIST
|
include_examples "formulae exist", described_class::COMPONENT_ALLOWLIST
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -27,5 +27,5 @@ describe RuboCop::Cop::FormulaAudit::Conflicts do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
include_examples "formulae exist", described_class::WHITELIST
|
include_examples "formulae exist", described_class::ALLOWLIST
|
||||||
end
|
end
|
||||||
|
@ -46,7 +46,7 @@ describe RuboCop::Cop::FormulaAudit::KegOnly do
|
|||||||
RUBY
|
RUBY
|
||||||
end
|
end
|
||||||
|
|
||||||
specify "keg_only_handles_whitelist_correctly" do
|
specify "keg_only_handles_allowlist_correctly" do
|
||||||
expect_no_offenses(<<~RUBY)
|
expect_no_offenses(<<~RUBY)
|
||||||
class Foo < Formula
|
class Foo < Formula
|
||||||
url "https://brew.sh/foo-1.0.tgz"
|
url "https://brew.sh/foo-1.0.tgz"
|
||||||
|
@ -865,5 +865,5 @@ describe RuboCop::Cop::FormulaAuditStrict::MakeCheck do
|
|||||||
RUBY
|
RUBY
|
||||||
end
|
end
|
||||||
|
|
||||||
include_examples "formulae exist", described_class::MAKE_CHECK_WHITELIST
|
include_examples "formulae exist", described_class::MAKE_CHECK_ALLOWLIST
|
||||||
end
|
end
|
||||||
|
@ -239,7 +239,7 @@ describe RuboCop::Cop::FormulaAudit::Urls do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
include_examples "formulae exist", described_class::BINARY_BOOTSTRAP_FORMULA_URLS_WHITELIST
|
include_examples "formulae exist", described_class::BINARY_BOOTSTRAP_FORMULA_URLS_ALLOWLIST
|
||||||
end
|
end
|
||||||
|
|
||||||
describe RuboCop::Cop::FormulaAudit::PyPiUrls do
|
describe RuboCop::Cop::FormulaAudit::PyPiUrls do
|
||||||
|
Loading…
x
Reference in New Issue
Block a user