[Buildroot] [PATCH RESEND] core: enhance printvars for variables with newlines

Thomas Petazzoni thomas.petazzoni at bootlin.com
Sun Dec 16 15:14:30 UTC 2018


Hello Stefan,

Thanks for the feedback.

On Sun, 16 Dec 2018 16:57:02 +0200, Stefan Becker wrote:

> > I'm jumping back to this very old thread. Could you explain (perhaps
> > re-explain) what you're trying to do ?  
> 
> Modular builds to enable usable CI builds, i.e. any change a developer
> pushes to one of the internal components will be available as a
> flash-able image in less than 5 minutes. CI builds are not possible
> with a monolithic mega meta build system approach like buildroot.

Yes, this I understand.

> > If you need to just re-run a specific step of a specific package, why
> > don't you use "make foo-build", "make foo-rebuild", etc. ?  
> 
> buildroot meta build system assumes that the *whole* source code &
> build tree is available. In a modular build approach that is not the
> case for the "combining" build, e.g. the flash image build, as it only
> receives the build artefacts from the module builds.

I'm not sure to follow you on this last sentence.

But yes, Buildroot assumes that the whole source code and build tree is
available.

> > It seems very hackish to extract the commands that Buildroot executes
> > to execute them outside the context of Buildroot. This doesn't really
> > help to make a case for accepting a patch like you're proposing. Could
> > you first convince us that there is a valid and reasonable use-case,
> > and then we can discuss how to support this use-case with Buildroot.  
> 
> Understandable from the PoV of monolithic meta build system advocates
> like buildroot, yocto, Android, ...
> 
> But I live in the real world and simply can''t ignore Amdahl's law.
> Furthermore I can't, or management doesn't allow me, to spend huge
> amounts of money on build machines that can run monolithic mega meta
> build systems within time spans acceptable for CI (which in the end is
> futile anyway due to Amdahl's law as SW only ever grows in size. Trust
> me, I've been there...). Hence I've chosen a modular build approach to
> address the issue.
> 
> As it became clear that this patch would not be accepted any time
> soon, I reverted it and implemented a different approach based on
> quoted var printout and sed post-processing. While not 100%
> fool-proof, it does work for the few build variables that are required
> for the modular build approach.

You did not answer my question: why didn't you use features of
Buildroot such as "make <pkg>-build" or "make <pkg>-rebuild" ?

How in practice you were using those commands extracted from Buildroot
variables to achieve "modular builds" ?

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


More information about the buildroot mailing list