Re: [PATCH 8/9] kernel-yocto: ensure that only valid BSPs are built

Khem Raj
2017-08-23T15:07:54Z

On Wed, Aug 23, 2017 at 7:58 AM, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
> On Wed, 2017-08-23 at 10:42 -0400, Bruce Ashfield wrote:
>> On 08/23/2017 10:40 AM, Khem Raj wrote:
>> >
>> > On Wed, Aug 23, 2017 at 5:37 AM, Bruce Ashfield
>> > <bruce.ashfield@windriver.com> wrote:
>> > >
>> > > On 08/22/2017 11:40 PM, Khem Raj wrote:
>> > > >
>> > > >
>> > > > On Sun, Aug 20, 2017 at 7:58 PM, Bruce Ashfield
>> > > > <bruce.ashfield@windriver.com> wrote:
>> > > > >
>> > > > >
>> > > > > There was a bug in the search routines responsible for
>> > > > > locating
>> > > > > BSP definitions which returned a valid match if only the
>> > > > > ktype
>> > > > > matched.
>> > > > >
>> > > > > This meant that someone looking for "qemux86foo" (which is an
>> > > > > invalid definition) would potentially end up building
>> > > > > "qemuarm"
>> > > > > and be none the wiser (until it didn't boot).
>> > > > >
>> > > > > With this fix to the tools search routine, and improved
>> > > > > return
>> > > > > code testing, we will now stop the build and report and error
>> > > > > to
>> > > > > the user.
>> > > > >
>> > > > > [YOCTO: #11878]
>> > > > >
>> > > > > Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
>> > > > > ---
>> > > > > meta/classes/kernel-yocto.bbclass |
>> > > > > 3 +++
>> > > > > meta/recipes-kernel/kern-tools/kern-tools-native_git.bb |
>> > > > > 2 +-
>> > > > > 2 files changed, 4 insertions(+), 1 deletion(-)
>> > > > >
>> > > > > diff --git a/meta/classes/kernel-yocto.bbclass
>> > > > > b/meta/classes/kernel-yocto.bbclass
>> > > > > index 1ca0756c4959..3c6df92131bc 100644
>> > > > > --- a/meta/classes/kernel-yocto.bbclass
>> > > > > +++ b/meta/classes/kernel-yocto.bbclass
>> > > > > @@ -143,6 +143,9 @@ do_kernel_metadata() {
>> > > > >
>> > > > > # expand kernel features into their full path
>> > > > > equivalents
>> > > > > bsp_definition=$(spp ${includes} --find
>> > > > > -DKMACHINE=${KMACHINE}
>> > > > > -DKTYPE=${LINUX_KERNEL_TYPE})
>> > > > > + if [ $? -ne 0 ] || [ -z "${bsp_definition}" ]; then
>> > > > > + bbfatal_log "Could not locate BSP definiton
>> > > > > for
>> > > > > ${KMACHINE}/${LINUX_KERNEL_TYPE}."
>> > > > > + fi
>> > > >
>> > > > this breaks non linux-yocto kernels which are using the kernel
>> > > > infra
>> > > > from OE-Core
>> > > > since they may not have kmeta structure and bsp_definition may
>> > > > be empty
>> > > > for them
>> > > > so either provide a way to override bsp_definition to something
>> > > > dummy or
>> > > > infact
>> > > > fall back to dummy by default with a warning or note during
>> > > > parse
>> > > > time. fatal is a bit harsh here.
>> > >
>> > > Fair enough. I can make it a warning versus fatal, or only make
>> > > it
>> > > fatal if I detect a defconfig.
>> > >
>> > > The issue is that the tools haven't found a configuration entry
>> > > point
>> > > and could end up building a garbage/invalid configuration. A
>> > > defconfig
>> > > could stand in as a 'valid entry' point, since it signifies a
>> > > baseline
>> > > configuration.
>> > >
>> > > Also, I do have completed code to move fragment merging into a
>> > > common
>> > > location and avoid things like this .. once it goes through some
>> > > more
>> > > compatibility testing, I'll post it to the list.
>> >
>> > Irrespective this was merged today into master, can you send a
>> > followup
>> > quickly so we can unbreak meta-raspberrypi
>> I hadn't pulled today, and yes, I'll send something by end of day,
>> since
>> I don't want this to stay broken!
>
> Thanks, I merged this as the discussion was happening not realising
> there was this issue.
>
> I did at least hopefully get all the other 4.12 issues addressed,
> thanks for the help there.

No worries, its a simple thing to fix I believe.

>
> Cheers,
>
> Richard