[OE-core] [PATCH] kernel.bbclass: explicitly depend on bison-native for deterministic builds

Khem Raj raj.khem at gmail.com
Tue Feb 20 10:10:35 UTC 2018



On 2/19/18 5:20 PM, Denys Dmytriyenko wrote:
> On Mon, Feb 19, 2018 at 09:36:22PM -0300, Otavio Salvador wrote:
>> On Mon, Feb 19, 2018 at 8:54 PM, Denys Dmytriyenko <denis at denix.org> wrote:
>>> From: Denys Dmytriyenko <denys at ti.com>
>>>
>>> Explicitly depend on bison-native for deterministic builds, as it is required
>>> for the build:
>>>
>>> |   HOSTCC  scripts/basic/fixdep
>>> |   GEN     ./Makefile
>>> |   HOSTCC  scripts/kconfig/conf.o
>>> |   YACC    scripts/kconfig/zconf.tab.c
>>> | /bin/sh: bison: command not found
>>> | scripts/Makefile.lib:217: recipe for target 'scripts/kconfig/zconf.tab.c' failed
>>>
>>> In most cases, this dependency comes indirectly via toolchain dependencies,
>>> specifically binutils-cross, which pulls bison-native. Different setups,
>>> such as with external toolchain, would expose this problem, since correct
>>> dependency is not marked explicitly.
>>>
>>> Signed-off-by: Denys Dmytriyenko <denys at ti.com>
>>> ---
>>> I'm seeing this now on 4.16-rc2 with external toolchain.
>>
>> I am not against the addition but in fact, it is because 4.16 stopped
>> of using pre-generated files and now requires bison to be available.
> 
> Ok, good, I was wondering why I didn't see it before 4.16...
> 
> 
>> I am unsure it ought to be on kernel.bbclass at this moment.
> 
> Why not? Because it's 4.16+ specific?
> 
> By default bison-native dependency gets added implicitly when built with the
> toolchain from oe-core, so this doesn't add any extra dependencies, only makes
> it explicit.
> 
it will be overcompensating for < 4.16 kernel recipes where this 
dependency is not needed. it might be a legit dependency for another 
component, that doesn't stage this package in kernel recipe-specific 
sysroot but this change will do that. So its not completely innocent 
change.



More information about the Openembedded-core mailing list