qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2] scripts/archive-source: Use GNU tar on Darwin


From: Thomas Huth
Subject: Re: [PATCH v2] scripts/archive-source: Use GNU tar on Darwin
Date: Thu, 12 Jan 2023 13:07:08 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.13.0

On 12/01/2023 12.58, Philippe Mathieu-Daudé wrote:
ping?

Who's supposed to take this?

On 9/12/22 12:33, Philippe Mathieu-Daudé wrote:
When using the archive-source.sh script on Darwin we get:

   tar: Option --concatenate is not supported
   Usage:
     List:    tar -tf <archive-filename>
     Extract: tar -xf <archive-filename>
     Create:  tar -cf <archive-filename> [filenames...]
     Help:    tar --help

'tar' default to the BSD implementation:

   $ tar --version
   bsdtar 3.5.3 - libarchive 3.5.3 zlib/1.2.11 liblzma/5.0.5 bz2lib/1.0.8

Try to use the GNU implementation if it is available (from homebrew).

Suggested-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
Supersedes: <20221208162051.29509-1-philmd@linaro.org>
---
  scripts/archive-source.sh | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/scripts/archive-source.sh b/scripts/archive-source.sh
index 23e042dacd..e3d0c23fe5 100755
--- a/scripts/archive-source.sh
+++ b/scripts/archive-source.sh
@@ -18,6 +18,7 @@ if test $# -lt 1; then
      error "Usage: $0 <output tarball>"
  fi
+test $(uname -s) = "Darwin" && tar=gtar || tar=tar

I wonder whether this script works on other *BSDs ... maybe it would be better to test "tar --version | grep -q GNU" to make this even work on non-Darwin systems where "tar" is not GNU's tar?

 Thomas


  tar_file=$(realpath "$1")
  sub_tdir=$(mktemp -d "${tar_file%.tar}.sub.XXXXXXXX")
  sub_file="${sub_tdir}/submodule.tar"
@@ -67,7 +68,7 @@ for sm in $submodules; do
      esac
      (cd $sm; git archive --format tar --prefix "$sm/" $(tree_ish)) > "$sub_file"
      test $? -ne 0 && error "failed to archive submodule $sm ($smhash)"
-    tar --concatenate --file "$tar_file" "$sub_file"
+    $tar --concatenate --file "$tar_file" "$sub_file"
      test $? -ne 0 && error "failed append submodule $sm to $tar_file"
  done
  exit 0





reply via email to

[Prev in Thread] Current Thread [Next in Thread]