Pass verbose? to Formula#verify_download_integrity.
This commit is contained in:
parent
6c964d4a78
commit
bace9ecc34
@ -139,7 +139,13 @@ class Build
|
||||
|
||||
formula.update_head_version
|
||||
|
||||
formula.brew(fetch: false, keep_tmp: args.keep_tmp?, interactive: args.interactive?, debug: args.debug?) do
|
||||
formula.brew(
|
||||
fetch: false,
|
||||
keep_tmp: args.keep_tmp?,
|
||||
interactive: args.interactive?,
|
||||
debug: args.debug?,
|
||||
verbose: args.verbose?,
|
||||
) do
|
||||
# For head builds, HOMEBREW_FORMULA_PREFIX should include the commit,
|
||||
# which is not known until after the formula has been staged.
|
||||
ENV["HOMEBREW_FORMULA_PREFIX"] = formula.prefix
|
||||
|
||||
@ -133,7 +133,7 @@ module Homebrew
|
||||
already_fetched = f.cached_download.exist?
|
||||
|
||||
begin
|
||||
download = f.fetch(verify_download_integrity: false)
|
||||
download = f.fetch(verify_download_integrity: false, verbose: args.verbose?)
|
||||
rescue DownloadError
|
||||
retry if retry_fetch?(f, args: args)
|
||||
raise
|
||||
@ -144,6 +144,6 @@ module Homebrew
|
||||
puts "Downloaded to: #{download}" unless already_fetched
|
||||
puts Checksum::TYPES.map { |t| "#{t.to_s.upcase}: #{download.send(t)}" }
|
||||
|
||||
f.verify_download_integrity(download)
|
||||
f.verify_download_integrity(download, verbose: args.verbose?)
|
||||
end
|
||||
end
|
||||
|
||||
@ -57,6 +57,7 @@ class Formula
|
||||
extend Enumerable
|
||||
extend Forwardable
|
||||
extend Cachable
|
||||
extend Predicable
|
||||
|
||||
# @!method inreplace(paths, before = nil, after = nil)
|
||||
# Actually implemented in {Utils::Inreplace.inreplace}.
|
||||
@ -1167,17 +1168,22 @@ class Formula
|
||||
patchlist.each(&:apply)
|
||||
end
|
||||
|
||||
# @private
|
||||
attr_predicate :debug?, :verbose?
|
||||
|
||||
# yields |self,staging| with current working directory set to the uncompressed tarball
|
||||
# where staging is a Mktemp staging context
|
||||
# @private
|
||||
def brew(fetch: true, keep_tmp: false, interactive: false, debug: false)
|
||||
def brew(fetch: true, keep_tmp: false, interactive: false, debug: false, verbose: false)
|
||||
@debug = debug
|
||||
@verbose = verbose
|
||||
@prefix_returns_versioned_prefix = true
|
||||
active_spec.fetch if fetch
|
||||
stage(interactive: interactive) do |staging|
|
||||
staging.retain! if keep_tmp
|
||||
|
||||
prepare_patches
|
||||
fetch_patches if fetch
|
||||
fetch_patches(verbose: verbose) if fetch
|
||||
|
||||
begin
|
||||
yield self, staging
|
||||
@ -1189,6 +1195,8 @@ class Formula
|
||||
end
|
||||
end
|
||||
ensure
|
||||
@debug = nil
|
||||
@verbose = nil
|
||||
@prefix_returns_versioned_prefix = false
|
||||
end
|
||||
|
||||
@ -1793,17 +1801,19 @@ class Formula
|
||||
end
|
||||
|
||||
# @private
|
||||
def fetch(verify_download_integrity: true)
|
||||
active_spec.fetch(verify_download_integrity: verify_download_integrity)
|
||||
def fetch(verify_download_integrity: true, verbose: false)
|
||||
active_spec.fetch(verify_download_integrity: verify_download_integrity, verbose: verbose)
|
||||
end
|
||||
|
||||
# @private
|
||||
def verify_download_integrity(fn)
|
||||
active_spec.verify_download_integrity(fn)
|
||||
def verify_download_integrity(fn, verbose: false)
|
||||
active_spec.verify_download_integrity(fn, verbose: verbose)
|
||||
end
|
||||
|
||||
# @private
|
||||
def run_test(keep_tmp: false, debug: false)
|
||||
def run_test(keep_tmp: false, debug: false, verbose: false)
|
||||
@debug = debug
|
||||
@verbose = verbose
|
||||
@prefix_returns_versioned_prefix = true
|
||||
|
||||
test_env = {
|
||||
@ -1836,8 +1846,10 @@ class Formula
|
||||
end
|
||||
end
|
||||
ensure
|
||||
@testpath = nil
|
||||
@debug = nil
|
||||
@verbose = nil
|
||||
@prefix_returns_versioned_prefix = false
|
||||
@testpath = nil
|
||||
end
|
||||
|
||||
# @private
|
||||
@ -1927,13 +1939,12 @@ class Formula
|
||||
# # If there is a "make", "install" available, please use it!
|
||||
# system "make", "install"</pre>
|
||||
def system(cmd, *args)
|
||||
verbose = Homebrew.args.verbose?
|
||||
verbose_using_dots = Homebrew::EnvConfig.verbose_using_dots?
|
||||
|
||||
# remove "boring" arguments so that the important ones are more likely to
|
||||
# be shown considering that we trim long ohai lines to the terminal width
|
||||
pretty_args = args.dup
|
||||
unless verbose
|
||||
unless verbose?
|
||||
case cmd
|
||||
when "./configure"
|
||||
pretty_args -= %w[--disable-dependency-tracking --disable-debug --disable-silent-rules]
|
||||
@ -1961,7 +1972,7 @@ class Formula
|
||||
log.puts Time.now, "", cmd, args, ""
|
||||
log.flush
|
||||
|
||||
if verbose
|
||||
if verbose?
|
||||
rd, wr = IO.pipe
|
||||
begin
|
||||
pid = fork do
|
||||
@ -2004,7 +2015,7 @@ class Formula
|
||||
log_lines = Homebrew::EnvConfig.fail_log_lines
|
||||
|
||||
log.flush
|
||||
if !verbose || verbose_using_dots
|
||||
if !verbose? || verbose_using_dots
|
||||
puts "Last #{log_lines} lines from #{logfn}:"
|
||||
Kernel.system "/usr/bin/tail", "-n", log_lines, logfn
|
||||
end
|
||||
@ -2092,8 +2103,10 @@ class Formula
|
||||
ENV.update(removed)
|
||||
end
|
||||
|
||||
def fetch_patches
|
||||
patchlist.select(&:external?).each(&:fetch)
|
||||
def fetch_patches(verbose: false)
|
||||
patchlist.select(&:external?).each do |p|
|
||||
p.fetch(verbose: verbose)
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
@ -1027,8 +1027,10 @@ class FormulaInstaller
|
||||
end
|
||||
return if pour_bottle?
|
||||
|
||||
formula.fetch_patches
|
||||
formula.resources.each(&:fetch)
|
||||
formula.fetch_patches(verbose: verbose?)
|
||||
formula.resources.each do |r|
|
||||
r.fetch(verbose: verbose?)
|
||||
end
|
||||
downloader.fetch
|
||||
end
|
||||
|
||||
|
||||
@ -179,12 +179,12 @@ class LegacyPatch < ExternalPatch
|
||||
resource.download_strategy = CurlDownloadStrategy
|
||||
end
|
||||
|
||||
def fetch
|
||||
def fetch(verbose: false)
|
||||
clear_cache
|
||||
super
|
||||
end
|
||||
|
||||
def verify_download_integrity(_fn)
|
||||
def verify_download_integrity(_fn, verbose: false)
|
||||
# no-op
|
||||
end
|
||||
|
||||
|
||||
@ -74,9 +74,10 @@ class Resource
|
||||
def stage(target = nil, &block)
|
||||
raise ArgumentError, "target directory or block is required" if !target && block.blank?
|
||||
|
||||
verbose = owner.owner.verbose?
|
||||
prepare_patches
|
||||
fetch_patches(skip_downloaded: true)
|
||||
fetch unless downloaded?
|
||||
fetch_patches(skip_downloaded: true, verbose: verbose)
|
||||
fetch(verbose: owner.owner.verbose?) unless downloaded?
|
||||
|
||||
unpack(target, &block)
|
||||
end
|
||||
@ -85,10 +86,12 @@ class Resource
|
||||
patches.grep(DATAPatch) { |p| p.path = owner.owner.path }
|
||||
end
|
||||
|
||||
def fetch_patches(skip_downloaded: false)
|
||||
def fetch_patches(skip_downloaded: false, verbose: false)
|
||||
external_patches = patches.select(&:external?)
|
||||
external_patches.reject!(&:downloaded?) if skip_downloaded
|
||||
external_patches.each(&:fetch)
|
||||
external_patches.each do |p|
|
||||
p.fetch(verbose: verbose)
|
||||
end
|
||||
end
|
||||
|
||||
def apply_patches
|
||||
@ -122,10 +125,10 @@ class Resource
|
||||
Partial.new(self, files)
|
||||
end
|
||||
|
||||
def fetch(verify_download_integrity: true)
|
||||
def fetch(verify_download_integrity: true, verbose: false)
|
||||
HOMEBREW_CACHE.mkpath
|
||||
|
||||
fetch_patches
|
||||
fetch_patches(verbose: verbose)
|
||||
|
||||
begin
|
||||
downloader.fetch
|
||||
@ -134,13 +137,13 @@ class Resource
|
||||
end
|
||||
|
||||
download = cached_download
|
||||
verify_download_integrity(download) if verify_download_integrity
|
||||
verify_download_integrity(download, verbose: verbose) if verify_download_integrity
|
||||
download
|
||||
end
|
||||
|
||||
def verify_download_integrity(fn)
|
||||
def verify_download_integrity(fn, verbose: false)
|
||||
if fn.file?
|
||||
ohai "Verifying #{fn.basename} checksum" if Homebrew.args.verbose?
|
||||
ohai "Verifying #{fn.basename} checksum" if verbose
|
||||
fn.verify_checksum(checksum)
|
||||
end
|
||||
rescue ChecksumMissingError
|
||||
|
||||
@ -239,8 +239,8 @@ class HeadSoftwareSpec < SoftwareSpec
|
||||
@resource.version = Version.create("HEAD")
|
||||
end
|
||||
|
||||
def verify_download_integrity(_fn)
|
||||
nil
|
||||
def verify_download_integrity(_fn, verbose: false)
|
||||
# no-op
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -34,7 +34,9 @@ begin
|
||||
|
||||
# tests can also return false to indicate failure
|
||||
Timeout.timeout TEST_TIMEOUT_SECONDS do
|
||||
raise "test returned false" if formula.run_test(keep_tmp: args.keep_tmp?, debug: args.debug?) == false
|
||||
if formula.run_test(keep_tmp: args.keep_tmp?, debug: args.debug?, verbose: args.verbose?) == false
|
||||
raise "test returned false"
|
||||
end
|
||||
end
|
||||
rescue Exception => e # rubocop:disable Lint/RescueException
|
||||
error_pipe.puts e.to_json
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user