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

Martin Jansa martin.jansa at gmail.com
Tue Feb 20 15:41:26 UTC 2018


I'm OK with adding bison-native for all versions.

When we added bc-native 2+ years ago:
commit c067e52cffe002de3b39aa1bced308dd532859c1
Author: Alejandro Hernandez <alejandro.hernandez at linux.intel.com>
Date:   Thu Oct 2 15:33:23 2014 -0500

    kernel: Added bc-native as DEPENDS

    The makefile checks for bc during for compilation

it was also needed only for the latest kernel and we didn't make it
conditional on the kernel version. Now with RSS it's even less dangerous as
the bison-native will appear only in kernel's RSS and as Denys said it's
quite common dependency so many components pull it into RSS anyway.

On Tue, Feb 20, 2018 at 3:53 PM, Otavio Salvador <
otavio.salvador at ossystems.com.br> wrote:

> On Tue, Feb 20, 2018 at 7:10 AM, Khem Raj <raj.khem at gmail.com> wrote:
> > 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.
>
> I'd be in favor of matching the version and adding it if it is a 4.16
> or newer kernel. Adding for prior versions seems wrong for me.
>
> --
> Otavio Salvador                             O.S. Systems
> http://www.ossystems.com.br        http://code.ossystems.com.br
> Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20180220/b9748562/attachment-0002.html>


More information about the Openembedded-core mailing list