All of 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.