Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Michael S. Zick <minimod@morethan.org>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 2 of 3 v2] dependencies: build a host-tar if no suitable tar can be found
Date: Thu, 8 Dec 2011 08:19:42 -0600	[thread overview]
Message-ID: <201112080819.44711.minimod@morethan.org> (raw)
In-Reply-To: <CAAXf6LU+qVzGgJnhNnEJUShSaA5kZmUF=xp+gR7p5CP45rwikg@mail.gmail.com>

On Thu December 8 2011, Thomas De Schampheleire wrote:
> Hi Arnout,
> 
> (First of all: your sending mails in both plaintext and html, messes
> up my Gmail sending: extra white lines are added between each line. Am
> I the only one with this problem? Does anyone know a fix? (one fix
> would be to send pure plain text to this list, but I don't know if
> that's an option for you)
>

I see the same thing here.
He is using Kmail for an e-mail client, so "plain text only" is an
option of his e-mail client.
(At least the version of Kmail I am sending this with has the option.)

Mike 
> On Tue, Dec 6, 2011 at 6:23 PM, Arnout Vandecappelle <arnout@mind.be> wrote:
> > On Wednesday 23 November 2011 14:59:59 Thomas De Schampheleire wrote:
> >
> >> diff --git a/toolchain/dependencies/check-host-tar.mk
> >> b/toolchain/dependencies/check-host-tar.mk
> >
> >> new file mode 100644
> >
> >> --- /dev/null
> >
> >> +++ b/toolchain/dependencies/check-host-tar.mk
> >
> >> @@ -0,0 +1,32 @@
> >
> >> +TAR ?= tar
> >
> >> +
> >
> >> +# To extract tar, we always need a real (system) tar. Provide the
> >> necessary
> >
> >> +# definitions here to avoid cluttering package/tar/tar.mk .
> >
> >> +# TAR will be overridden again when the tar .mk file is included, so we
> >> must
> >
> >> +# finalize the value of SYSTEM_TAR by using :=
> >
> >> +SYSTEM_TAR := $(TAR)
> >
> >> +# Automatically detect tar --strip-path/components option
> >
> >> +# --strip-path was renamed to --strip-components in tar 1.15
> >
> >> +SYSTEM_TAR_STRIP_COMPONENTS := \
> >
> >> + $(shell $(SYSTEM_TAR) --help | grep strip-path > /dev/null ; \
> >
> >> + if test $$? = 0 ; then \
> >
> >> + echo '--strip-path' ; \
> >
> >> + else \
> >
> >> + echo '--strip-components' ; \
> >
> >> + fi)
> >
> >
> > This can move inside the ifneq below, with a
> >
> > SYSTEM_TAR_STRIP_COMPONENTS := $(HOST_TAR_STRIP_COMPONENTS)
> >
> > in the else (and moving that one up of course).
> >
> 
> I don't think this is true.
> For the chicken-egg problem in the current patch, you need SYSTEM_TAR
> (a real one) to build host-tar if needed. So in the 'else' case, you
> need the full SYSTEM_TAR_STRIP_COMPONENTS.
> 
> You could do the following: (maybe this is what you meant)
> 
> HOST_TAR_STRIP_COMPONENTS = --strip-components
> ifneq (,$(call suitable-host-package,tar))
>   HOST_TAR = $(SYSTEM_TAR)
>   SYSTEM_TAR_STRIP_COMPONENTS := $(HOST_TAR_STRIP_COMPONENTS)
> else
>   DEPENDENCIES_HOST_PREREQ += host-tar
>   HOST_TAR = $(HOST_DIR)/usr/bin/tar
>   SYSTEM_TAR_STRIP_COMPONENTS := \
>     $(shell $(SYSTEM_TAR) --help | grep strip-path > /dev/null ; \
>     if test $$? = 0 ; then \
>      echo '--strip-path' ; \
>     else \
>      echo '--strip-components' ; \
>     fi)
> endif
> 
> But to be honest, I don't think we'll need any of this complexity
> anymore with the cpio approach (see next mail).
> 
> 
> >
> >> +
> >
> >> +# Determine correct HOST_TAR
> >
> >> +ifneq (,$(call suitable-host-package,tar))
> >
> >> + HOST_TAR = $(SYSTEM_TAR)
> >
> >> +else
> >
> >> + DEPENDENCIES_HOST_PREREQ += host-tar
> >
> >> + HOST_TAR = $(HOST_DIR)/usr/bin/tar
> >
> >> +endif
> >
> >> +
> >
> >> +# Since HOST_TAR is at least 1.17, it will certainly support
> >> --strip-components
> >
> >> +HOST_TAR_STRIP_COMPONENTS = --strip-components
> >
> >> +
> >
> >> +# Set definitions used by all .mk files included after this one and
> >> before
> >
> >> +# package/tar/tar.mk
> >
> >> +TAR = $(HOST_TAR)
> >
> >> +TAR_STRIP_COMPONENTS = $(HOST_TAR_STRIP_COMPONENTS)
> >
> >> diff --git a/toolchain/dependencies/check-host-tar.sh
> >> b/toolchain/dependencies/check-host-tar.sh
> >
> >> new file mode 100755
> >
> >> --- /dev/null
> >
> >> +++ b/toolchain/dependencies/check-host-tar.sh
> >
> >> @@ -0,0 +1,29 @@
> >
> >> +#!/bin/sh
> >
> >> +
> >
> >> +tar=`which tar`
> >
> >
> > This contradicts the TAR ?= tar in check-host-tar.mk: if the user provided
> >
> > their own tar version, it isn't checked and host-tar will still be built...
> >
> > I guess $TAR should be given as an argument to this script.
> 
> You're right, I missed this one.
> 
> >
> >
> >> +if [ -z "$tar" ]; then
> >
> >> + return
> >
> >> +fi
> >
> >
> > This could be a [ ! -x "$tar" ]
> 
> ok
> 
> >
> > and it should be exit 1, not return.
> 
> Why? The convention is that the check-host-foo.sh script should give
> as output either nothing (no suitable package found) or the path to
> the suitable package. The return code is not checked.
> Of course, it wouldn't hurt, but it's not needed for the implementation.
> 
> Thanks for your comments.
> 
> Best regards,
> Thomas
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
> 
> 

  reply	other threads:[~2011-12-08 14:19 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-23 13:59 [Buildroot] [PATCH 0 of 3 v2] dependencies: some improvements Thomas De Schampheleire
2011-11-23 13:59 ` [Buildroot] [PATCH 1 of 3 v2] dependencies: add function suitable-host-package Thomas De Schampheleire
2011-12-06 17:12   ` Arnout Vandecappelle
2011-12-08  9:56     ` Thomas De Schampheleire
2011-11-23 13:59 ` [Buildroot] [PATCH 2 of 3 v2] dependencies: build a host-tar if no suitable tar can be found Thomas De Schampheleire
2011-11-23 14:24   ` Thomas Petazzoni
2011-11-23 15:05     ` Michael S. Zick
2011-11-23 15:09     ` Thomas De Schampheleire
2011-12-06 17:07     ` Arnout Vandecappelle
2011-12-08 10:41       ` Thomas De Schampheleire
2011-12-08 14:13         ` Michael S. Zick
2011-12-08 15:05           ` Michael S. Zick
2011-12-09  7:00             ` Thomas De Schampheleire
     [not found]               ` <201112090811.09604.minimod@morethan.org>
2011-12-10  9:06                 ` Thomas De Schampheleire
2011-12-06 17:23   ` Arnout Vandecappelle
2011-12-08 10:06     ` Thomas De Schampheleire
2011-12-08 14:19       ` Michael S. Zick [this message]
2011-11-23 14:00 ` [Buildroot] [PATCH 3 of 3 v2] Move toolchain/dependencies to support/dependencies Thomas De Schampheleire
2011-11-23 14:25   ` Thomas Petazzoni
2011-12-06 16:59     ` Arnout Vandecappelle

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201112080819.44711.minimod@morethan.org \
    --to=minimod@morethan.org \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox