Merge branch 'license-forbidden' of https://github.com/MLH-Fellowship/brew into license-forbidden

This commit is contained in:
Lionell 2020-07-09 00:06:02 +08:00
commit fc146873ee
2 changed files with 7 additions and 13 deletions

View File

@ -112,7 +112,7 @@ module Homebrew
default: 15,
},
HOMEBREW_FORBIDDEN_LICENSES: {
description: "Use this environment variable to define a blacklist of space separated licenses and Homebrew " \
description: "Use this environment variable to define a denylist of space separated licenses and Homebrew " \
"will avoid installing the packages with those licenses.",
},
HOMEBREW_FORCE_BREWED_CURL: {

View File

@ -1106,23 +1106,17 @@ class FormulaInstaller
$stderr.puts @requirement_messages
end
def env_forbidden_licenses
Homebrew::EnvConfig.forbidden_licenses.split(" ")
end
def forbidden_license_check
forbidden_licenses = Homebrew::EnvConfig.forbidden_licenses.split(" ")
return if forbidden_licenses.blank?
def forbidden_license_check(f)
return if ENV["HOMEBREW_FORBIDDEN_LICENSES"].blank?
forbidden_licenses = env_forbidden_licenses
if forbidden_licenses.include? f.license
if forbidden_licenses.include? formula.license
raise CannotInstallFormulaError, <<~EOS
#{f.name} has a forbidden license #{f.license}.
#{formula.name} has a forbidden license #{formula.license}.
EOS
end
fi = FormulaInstaller.new(f)
fi.compute_dependencies.each do |dep, _|
compute_dependencies.each do |dep, _|
dep_f = dep.to_formula
next unless forbidden_licenses.include? dep_f.license