linkage_checker: don't reinstall formula on some linkage failures
This commit is contained in:
parent
d81bd6ab3b
commit
0593597a11
@ -50,7 +50,7 @@ module Homebrew
|
||||
|
||||
if args.test?
|
||||
result.display_test_output(strict: args.strict?)
|
||||
Homebrew.failed = true if result.broken_library_linkage?(strict: args.strict?)
|
||||
Homebrew.failed = true if result.broken_library_linkage?(test: true, strict: args.strict?)
|
||||
elsif args.reverse?
|
||||
result.display_reverse_output
|
||||
else
|
||||
|
||||
@ -52,8 +52,9 @@ class LinkageChecker
|
||||
display_deprecated_warning(strict: strict)
|
||||
end
|
||||
|
||||
def broken_library_linkage?(strict: false)
|
||||
generic_broken_library_linkage?(strict: strict) || (fail_on_libcrypt1?(strict: strict) && @libcrypt_found)
|
||||
def broken_library_linkage?(test: false, strict: false)
|
||||
generic_broken_library_linkage?(test: test, strict: strict) ||
|
||||
(fail_on_libcrypt1?(strict: strict) && @libcrypt_found)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
@ -80,11 +80,16 @@ class LinkageChecker
|
||||
alias generic_display_test_output display_test_output
|
||||
private :generic_display_test_output
|
||||
|
||||
sig { params(strict: T::Boolean).returns(T::Boolean) }
|
||||
def broken_library_linkage?(strict: false)
|
||||
issues = [@broken_deps, @unwanted_system_dylibs, @version_conflict_deps]
|
||||
sig { params(test: T::Boolean, strict: T::Boolean).returns(T::Boolean) }
|
||||
def broken_library_linkage?(test: false, strict: false)
|
||||
raise ArgumentError, "Strict linkage checking requires test mode to be enabled." if strict && !test
|
||||
|
||||
issues = [@broken_deps, unexpected_broken_dylibs]
|
||||
if test
|
||||
issues += [@unwanted_system_dylibs, @version_conflict_deps, unexpected_present_dylibs]
|
||||
issues += [@undeclared_deps, @files_missing_rpaths] if strict
|
||||
[issues, unexpected_broken_dylibs, unexpected_present_dylibs].flatten.any?(&:present?)
|
||||
end
|
||||
issues.any?(&:present?)
|
||||
end
|
||||
alias generic_broken_library_linkage? broken_library_linkage?
|
||||
private :generic_broken_library_linkage?
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user