|
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
[Prev in Thread] | Current Thread | [Next in Thread] |