From: Arnout Vandecappelle <arnout@mind.be>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCHv2 0/4] Add a BR2_EXTERNAL mechanism
Date: Tue, 17 Sep 2013 08:07:43 +0200 [thread overview]
Message-ID: <5237F1AF.8000400@mind.be> (raw)
In-Reply-To: <20130917063717.1b005fd2@skate>
On 17/09/13 06:37, Thomas Petazzoni wrote:
> Dear Arnout Vandecappelle,
>
> On Mon, 16 Sep 2013 22:38:29 +0200, Arnout Vandecappelle wrote:
>
>> I've taken a few days to let the dust settle on this patch series
>> (and it seems it still hasn't settled...). After reading the entire
>> series this time (instead of commenting before I understood what was
>> happening exactly), I have two overall comments still. More comments
>> will follow in individual patches.
>>
>>
>> 1. Peter nacked all previous attempts of having this type of feature,
>> so I think it's best if he gives an indication if this series has a
>> chance of survival before we all spend more time on it.
>
> Adding Peter in Cc on this one. I know he is a bit behind in terms of
> reading the backlog of Buildroot e-mails (which has been enormous since
> a few days).
>
> I have the pretension of thinking that the currently proposed
> implementation is simple enough to remain in the KISS spirit of
> Buildroot. I believe that what prevented earlier implementation from
> being merged was not so much that they allowed 'external packages',
> but more due to their complexity. But honestly, I don't really remember
> the implementation details of the previous proposals, so I might be
> wrong on that one.
>
>> 2. I really have a huge problem with the fact that the .config is no
>> longer complete, and that instead you have to explicitly provide
>> extra command-line arguments to be able to reproduce the build. And
>> it doesn't help that it behaves differently when you have an
>> out-of-tree output directory (where the BR2_EXTERNAL is stored) than
>> when you're using the default output directory. I'm actually very
>> surprised that nobody else seems to have a problem with this. So for
>> me, this gets a big Nack unless the BR2_EXTERNAL is stored in
>> the .config.
>
> On the wrapper Makefile that contains BR2_EXTERNAL, I am not convinced
> it is a good idea, since as you mention it creates a difference whether
> you're building out-of-tree from the output directory, or out-of-tree
> but from the source directory. I think this is not good, and therefore
> that BR2_EXTERNAL shouldn't be kept in the wrapper Makefile.
>
> However, I still do not understand how storing BR2_EXTERNAL in .config
> will clarify things for the user. Changing BR2_EXTERNAL affects what
> 'menuconfig' shows. So there is no way for 'menuconfig' to update what
> it displays when the user changes the value of BR2_EXTERNAL without
> exiting/re-running menuconfig, which sounds really odd.
>
> To me, BR2_EXTERNAL= is a bit like O=, it's a local build decision that
> you make to add some external configurations/external packages. Most
> likely, if you have external packages in BR2_EXTERNAL, the defconfig
> you have to use is also in BR2_EXTERNAL, so there's no way you can
> forget to specify BR2_EXTERNAL on the command, since otherwise you
> won't be able to even see your defconfig.
But you usually don't run "make foo_defconfig; make". You usually run
either "make menuconfig; make" or "make foo-dirclean; make" or some other
variant.
I just think it's a really bad idea to split the buildroot
configuration over the .config file and the environment. The concept just
scares the hell out of me.
The comparison with O= is a good one: O= makes pretty damn sure that
things remain consistent, because the .config is stored in the O=
directory rather than someplace else.
> So while I do agree that being able to store BR2_EXTERNAL would be
> nice, I don't see how it can be achieved in a way that isn't confusing
> for the user.
Since the user probably is never going to change the value of
BR2_EXTERNAL, I think that's a relatively small price to pay and that it
can be solved with documentation.
Regards,
Arnout
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
next prev parent reply other threads:[~2013-09-17 6:07 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-14 19:03 [Buildroot] [PATCHv2 0/4] Add a BR2_EXTERNAL mechanism Thomas Petazzoni
2013-09-14 19:03 ` [Buildroot] [PATCHv2 1/4] core: introduce the BR2_EXTERNAL variable Thomas Petazzoni
2013-09-16 16:34 ` Ryan Barnett
2013-09-16 18:34 ` Thomas Petazzoni
2013-09-16 21:30 ` Arnout Vandecappelle
2013-09-17 4:26 ` Thomas Petazzoni
2013-09-17 6:10 ` Arnout Vandecappelle
2013-09-17 18:47 ` Thomas Petazzoni
2013-09-23 20:39 ` Ryan Barnett
2013-09-23 22:17 ` Samuel Martin
2013-09-23 22:30 ` Ryan Barnett
2013-09-23 22:41 ` [Buildroot] [PATCH] core: introduce the BR2_EXTERNAL variable (additional patch to fix manual build) Samuel Martin
2013-09-24 5:47 ` [Buildroot] [PATCHv2 1/4] core: introduce the BR2_EXTERNAL variable Thomas Petazzoni
2013-09-24 8:46 ` Samuel Martin
2013-09-14 19:03 ` [Buildroot] [PATCHv2 2/4] core: allow external Config.in/makefile code to be integrated Thomas Petazzoni
2013-09-16 21:39 ` Arnout Vandecappelle
2013-09-17 4:29 ` Thomas Petazzoni
2013-09-14 19:03 ` [Buildroot] [PATCHv2 3/4] core: allow external defconfigs to be used Thomas Petazzoni
2013-09-16 21:40 ` Arnout Vandecappelle
2013-09-14 19:03 ` [Buildroot] [PATCHv2 4/4] docs/manual: add explanations about BR2_EXTERNAL Thomas Petazzoni
2013-09-14 19:32 ` Simon Dawson
2013-09-14 19:39 ` [Buildroot] [PATCHv2 0/4] Add a BR2_EXTERNAL mechanism Simon Dawson
2013-09-14 19:55 ` Thomas Petazzoni
2013-09-14 20:04 ` Simon Dawson
2013-09-14 22:30 ` Yann E. MORIN
2013-09-15 5:17 ` Thomas Petazzoni
2013-09-16 20:38 ` Arnout Vandecappelle
2013-09-17 4:37 ` Thomas Petazzoni
2013-09-17 6:07 ` Arnout Vandecappelle [this message]
2013-09-17 14:56 ` rjbarnet at rockwellcollins.com
2013-10-01 0:06 ` Ryan Barnett
2013-11-24 20:20 ` Yann E. MORIN
2013-11-26 13:20 ` 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=5237F1AF.8000400@mind.be \
--to=arnout@mind.be \
--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.