qemu-devel
[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: Daniel P . Berrangé
Subject: Re: [PATCH v2] scripts/archive-source: Use GNU tar on Darwin
Date: Thu, 12 Jan 2023 12:16:29 +0000
User-agent: Mutt/2.2.9 (2022-11-12)

On Thu, Jan 12, 2023 at 01:07:08PM +0100, Thomas Huth wrote:
> 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?

Perhaps something like

  tar=$(which gtar >/dev/null 2>&1 && echo gtar || echo tar)
  $tar --version | grep GNU >/dev/null 2>&1 ||  { echo "$tar does not appear to 
be GNU tar" ; exit 1 }


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 :|




reply via email to

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