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:55:58 +0100 [thread overview]
Message-ID: <20131128215557.GE3337@free.fr> (raw)
In-Reply-To: <20131128215003.GD3337@free.fr>
Thomas, All,
On 2013-11-28 22:50 +0100, Yann E. MORIN spake thusly:
> 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.
Doh, I forgot to paste the patch:
diff --git a/Makefile b/Makefile
index 83a5c06..038294b 100644
--- a/Makefile
+++ b/Makefile
@@ -131,12 +131,14 @@ BR2_EXTERNAL_USED = y
$(shell echo $(BR2_EXTERNAL) > $(BR2_EXTERNAL_FILE))
endif
else # Case 3
+ifneq ($(wildcard $(BR2_EXTERNAL_FILE)),)
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")
endif
BR2_EXTERNAL_USED = y
endif
+endif
BUILD_DIR:=$(BASE_DIR)/build
STAMP_DIR:=$(BASE_DIR)/stamps
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. |
'------------------------------^-------^------------------^--------------------'
next prev parent reply other threads:[~2013-11-28 21:55 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
2013-11-28 21:55 ` Yann E. MORIN [this message]
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=20131128215557.GE3337@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.