From f627c70b71a0056916eba233153c20a6287baae1 Mon Sep 17 00:00:00 2001 From: Michael Cho Date: Fri, 23 Aug 2024 11:14:34 -0400 Subject: [PATCH] dev-cmd/bottle: use default tar when bottling `gnu-tar` --- Library/Homebrew/dev-cmd/bottle.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Library/Homebrew/dev-cmd/bottle.rb b/Library/Homebrew/dev-cmd/bottle.rb index d349f27c69..91fd12f463 100644 --- a/Library/Homebrew/dev-cmd/bottle.rb +++ b/Library/Homebrew/dev-cmd/bottle.rb @@ -359,11 +359,11 @@ module Homebrew gnu_tar_formula end - sig { params(mtime: String).returns([String, T::Array[String]]) } - def setup_tar_and_args!(mtime) + sig { params(mtime: String, default_tar: T::Boolean).returns([String, T::Array[String]]) } + def setup_tar_and_args!(mtime, default_tar: false) # Without --only-json-tab bottles are never reproducible default_tar_args = ["tar", tar_args].freeze - return default_tar_args unless args.only_json_tab? + return default_tar_args if !args.only_json_tab? || default_tar # Use gnu-tar as it can be set up for reproducibility better than libarchive # and to be consistent between macOS and Linux. @@ -540,7 +540,7 @@ module Homebrew sudo_purge # Tar then gzip for reproducible bottles. tar_mtime = tab.source_modified_time.strftime("%Y-%m-%d %H:%M:%S") - tar, tar_args = setup_tar_and_args!(tar_mtime) + tar, tar_args = setup_tar_and_args!(tar_mtime, default_tar: formula.name == "gnu-tar") safe_system tar, "--create", "--numeric-owner", *tar_args, "--file", tar_path, "#{formula.name}/#{formula.pkg_version}"