All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCHv3 1/5] core: introduce the BR2_EXTERNAL variable
Date: Thu, 28 Nov 2013 22:50:03 +0100	[thread overview]
Message-ID: <20131128215003.GD3337@free.fr> (raw)
In-Reply-To: <1385591508-4174-2-git-send-email-thomas.petazzoni@free-electrons.com>

Thomas, All,

On 2013-11-27 23:31 +0100, Thomas Petazzoni spake thusly:
> This commit introduces the BR2_EXTERNAL environment variable, which
> will allow to keep Buildroot customization (board-specific
> configuration files or root filesystem overlays, package Config.in and
> makefiles, as well as defconfigs) outside of the Buildroot tree.
> 
> This commit only introduces the variable itself, and ensures that it
> is available within Config.in options, so that string options used to
> specify paths to directories or files can use $BR2_EXTERNAL as a
> reference. For example, one can use
> $BR2_EXTERNAL/board/<someboard>/kernel.config as the
> BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE value.
[--SNIP--]

With only this commit applied, and a clean tree, I get:

    $ make menuconfig
    Makefile:136: *** "The specified BR2_EXTERNAL '' location doesn't
    exist".  Stop.

> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[--SNIP--]
> diff --git a/Makefile b/Makefile
> index b5368a3..a46418e 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -99,6 +99,45 @@ export CDPATH:=
[--SNIP--]
> +BR2_EXTERNAL_FILE = $(BASE_DIR)/.br-external
> +
> +ifeq ($(origin BR2_EXTERNAL),command line)
> +ifeq ($(BR2_EXTERNAL),) # Case 1
> +override BR2_EXTERNAL := $(TOPDIR)/support/dummy-external/
> +$(shell rm -f $(BR2_EXTERNAL_FILE))
> +else # Case 2
> +ifeq ($(wildcard $(BR2_EXTERNAL)),)
> +$(error "The specified BR2_EXTERNAL '$(BR2_EXTERNAL)' location doesn't exist")
> +endif
> +override BR2_EXTERNAL := $(realpath $(BR2_EXTERNAL))
> +BR2_EXTERNAL_USED = y
> +$(shell echo $(BR2_EXTERNAL) > $(BR2_EXTERNAL_FILE))
> +endif
> +else # Case 3
> +override BR2_EXTERNAL := $(shell test -f $(BR2_EXTERNAL_FILE) && cat $(BR2_EXTERNAL_FILE))
> +ifeq ($(wildcard $(BR2_EXTERNAL)),)
> +$(error "The specified BR2_EXTERNAL '$(BR2_EXTERNAL)' location doesn't exist")

The error occurs here.

That's becasue you test if BR2_EXTERNAL is comming from the command
line, but that last case should also test if BR2_EXTERNAL_FILE exists
before scanning it.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

  reply	other threads:[~2013-11-28 21:50 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-27 22:31 [Buildroot] [PATCHv3 0/5] Keeping customizations outside the Buildroot tree with BR2_EXTERNAL Thomas Petazzoni
2013-11-27 22:31 ` [Buildroot] [PATCHv3 1/5] core: introduce the BR2_EXTERNAL variable Thomas Petazzoni
2013-11-28 21:50   ` Yann E. MORIN [this message]
2013-11-28 21:55     ` Yann E. MORIN
2013-11-28 22:29   ` Yann E. MORIN
2013-11-27 22:31 ` [Buildroot] [PATCHv3 2/5] core: allow external Config.in/makefile code to be integrated Thomas Petazzoni
2013-11-28  8:33   ` Jeremy Rosen
2013-11-28  8:43     ` Thomas Petazzoni
2013-11-28  9:37       ` Jeremy Rosen
2013-11-28 11:33         ` Thomas Petazzoni
2013-11-28 12:09           ` Ryan Barnett
2013-11-28 12:29             ` Thomas Petazzoni
2013-11-28 12:33               ` Ryan Barnett
2013-11-28 13:24   ` Samuel Martin
2013-11-28 13:37     ` Simon Dawson
2013-11-28 16:23     ` Thomas Petazzoni
2013-11-28 17:53       ` Samuel Martin
2013-11-28 18:20         ` Thomas Petazzoni
2013-11-28 20:04           ` Samuel Martin
2013-11-28 20:21             ` Thomas Petazzoni
2013-11-28 22:21               ` Yann E. MORIN
2013-11-29  8:38                 ` Thomas Petazzoni
2013-11-30 23:30                   ` Arnout Vandecappelle
2013-11-27 22:31 ` [Buildroot] [PATCHv3 3/5] core: allow external defconfigs to be used Thomas Petazzoni
2013-11-27 22:31 ` [Buildroot] [PATCHv3 4/5] docs/manual: add explanations about BR2_EXTERNAL Thomas Petazzoni
2013-11-27 22:31 ` [Buildroot] [PATCHv3 5/5] manual: fix manual generation with BR2_EXTERNAL support Thomas Petazzoni

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=20131128215003.GD3337@free.fr \
    --to=yann.morin.1998@free.fr \
    --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.