From: "Yann E. MORIN via buildroot" <buildroot@buildroot.org>
To: Fiona Klute <fiona.klute@gmx.de>
Cc: buildroot@buildroot.org,
Brandon Maier <brandon.maier@collins.com>,
Ricardo Martincoski <ricardo.martincoski@datacom.com.br>
Subject: Re: [Buildroot] [PATCH next v4 1/1] utils/docker-run: mount and pass BR2_EXTERNAL dirs
Date: Sun, 5 Apr 2026 18:59:39 +0200 [thread overview]
Message-ID: <adKU-16ILEg2aWbt@landeda> (raw)
In-Reply-To: <e09aa58a-2cb0-4ef6-b9fd-1a6a6fd15a21@gmx.de>
Fiona, All,
On 2026-04-05 17:48 +0200, Fiona Klute spake thusly:
> Am 31.08.24 um 21:19 schrieb Fiona Klute via buildroot:
> > From: "Fiona Klute (WIWA)" <fiona.klute@gmx.de>
> > The BR2_EXTERNAL environment variable is passed into the container,
> > and each path listed in it mounted. This allows using external trees
> > when running a build using utils/docker-run. Testing the existence of
> > the variable instead of a non-empty value allows passing an empty
> > BR2_EXTERNAL variable to disable currently set external trees.
[--SNIP--]
> > diff --git a/utils/docker-run b/utils/docker-run
> > index 1adb02d74e..9579f83ce2 100755
> > --- a/utils/docker-run
> > +++ b/utils/docker-run
> > @@ -90,6 +90,13 @@ if [ "${BR2_DL_DIR}" ]; then
> > docker_opts+=( --env BR2_DL_DIR )
> > fi
> >
> > +if [ -v BR2_EXTERNAL ]; then
As this is a bit unusual (but perfectly legit!), maybe a little comment
above the code to explain the intent:
# Test the variable exists, not just that it is non-empty,
# to be able to propagate an empty BR2_EXTERNAL.
But -v is a bashism (that's OK, we're using bash in the shabang), but
the more usual (and POSIXly correct [0]) way is to use something like:
if [ "${BR2_EXTERNAL+set}" ]; then
(an empty string evaluates to false).
I prefer we use standard constructs when they exist, and are not too
cumbersome to use, rather than bashisms that do not provie that much of
an improvement.
> > + docker_opts+=( --env BR2_EXTERNAL )
> > + for br2_ext in ${BR2_EXTERNAL//:/ }; do
> > + mountpoints+=( "${br2_ext}" )
> > + done
Why the loop? You can just append-assign the expansion:
mountpoints+=( ${BR2_EXTERNAL//:/ } )
[0] https://pubs.opengroup.org/onlinepubs/9799919799/utilities/V3_chap02.html#tag_19_06_02
Regards,
Yann E. MORIN.
> > +fi
> > +
> > # shellcheck disable=SC2013 # can't use while-read because of the assignment
> > for dir in $(printf '%s\n' "${mountpoints[@]}" |LC_ALL=C sort -u); do
> > docker_opts+=( --mount "type=bind,src=${dir},dst=${dir}" )
> > --
> > 2.45.2
> >
> > _______________________________________________
> > buildroot mailing list
> > buildroot@buildroot.org
> > https://lists.buildroot.org/mailman/listinfo/buildroot
>
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next prev parent reply other threads:[~2026-04-05 16:59 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-31 19:19 [Buildroot] [PATCH next v4 1/1] utils/docker-run: mount and pass BR2_EXTERNAL dirs Fiona Klute via buildroot
2026-04-05 15:48 ` Fiona Klute via buildroot
2026-04-05 16:59 ` Yann E. MORIN via buildroot [this message]
2026-04-05 18:59 ` Fiona Klute via buildroot
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=adKU-16ILEg2aWbt@landeda \
--to=buildroot@buildroot.org \
--cc=brandon.maier@collins.com \
--cc=fiona.klute@gmx.de \
--cc=ricardo.martincoski@datacom.com.br \
--cc=yann.morin.1998@free.fr \
/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