scripts/archive-source.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
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
Replace the long argument added by commit 8fc76176f6 ("scripts: use
git-archive in archive-source") by their short form to keep this
script functional.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
scripts/archive-source.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/archive-source.sh b/scripts/archive-source.sh
index 23e042dacd..6a710a212e 100755
--- a/scripts/archive-source.sh
+++ b/scripts/archive-source.sh
@@ -67,7 +67,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 -c -f "$tar_file" "$sub_file"
test $? -ne 0 && error "failed append submodule $sm to $tar_file"
done
exit 0
--
2.38.1
On Thu, Dec 08, 2022 at 05:20:51PM +0100, 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
>
> Replace the long argument added by commit 8fc76176f6 ("scripts: use
> git-archive in archive-source") by their short form to keep this
> script functional.
Or install a better tar implementation from brew ?
https://formulae.brew.sh/formula/gnu-tar
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
On 8/12/22 18:15, Daniel P. Berrangé wrote:
> On Thu, Dec 08, 2022 at 05:20:51PM +0100, 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
>>
>> Replace the long argument added by commit 8fc76176f6 ("scripts: use
>> git-archive in archive-source") by their short form to keep this
>> script functional.
>
> Or install a better tar implementation from brew ?
>
> https://formulae.brew.sh/formula/gnu-tar
Good idea, this works for me:
-- >8 --
diff --git a/scripts/archive-source.sh b/scripts/archive-source.sh
index 23e042dacd..150bdf5536 100755
--- a/scripts/archive-source.sh
+++ b/scripts/archive-source.sh
@@ -20,2 +20,3 @@ fi
+tar=$(command -v gtar || command -v tar)
tar_file=$(realpath "$1")
@@ -69,3 +70,3 @@ for sm in $submodules; do
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"
---
Philippe Mathieu-Daudé <philmd@linaro.org> writes:
> 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
>
> Replace the long argument added by commit 8fc76176f6 ("scripts: use
> git-archive in archive-source") by their short form to keep this
> script functional.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
> scripts/archive-source.sh | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/archive-source.sh b/scripts/archive-source.sh
> index 23e042dacd..6a710a212e 100755
> --- a/scripts/archive-source.sh
> +++ b/scripts/archive-source.sh
> @@ -67,7 +67,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 -c -f "$tar_file" "$sub_file"
I'm not sure that is correct. The gnu shortform for --concatenate is -A,
-c is specifically create so I suspect you end up re-creating the
tarball rather than adding to it.
> test $? -ne 0 && error "failed append submodule $sm to $tar_file"
> done
> exit 0
--
Alex Bennée
On Thu, 8 Dec 2022 at 16:21, Philippe Mathieu-Daudé <philmd@linaro.org> 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
>
> Replace the long argument added by commit 8fc76176f6 ("scripts: use
> git-archive in archive-source") by their short form to keep this
> script functional.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
> scripts/archive-source.sh | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/archive-source.sh b/scripts/archive-source.sh
> index 23e042dacd..6a710a212e 100755
> --- a/scripts/archive-source.sh
> +++ b/scripts/archive-source.sh
> @@ -67,7 +67,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 -c -f "$tar_file" "$sub_file"
'-c' is not the short-form option of '--concatenate': that would
be '-A'. The problem is not long vs short options, but that
BSD-style tar does not support the --concatenate functionality at all.
> test $? -ne 0 && error "failed append submodule $sm to $tar_file"
> done
> exit 0
thanks
-- PMM
© 2016 - 2026 Red Hat, Inc.