On Wed, Jul 1, 2020 at 9:26 AM Bruce Ashfield <[email protected]> wrote:
>
> On Wed, Jul 1, 2020 at 9:01 AM Bruce Ashfield via
> lists.openembedded.org
> <[email protected]> wrote:
> >
> > On Wed, Jul 1, 2020 at 8:58 AM Bruce Ashfield <[email protected]> 
> > wrote:
> > >
> > > On Wed, Jul 1, 2020 at 6:46 AM Andrey Zhizhikin <[email protected]> 
> > > wrote:
> > > >
> > > > Fetcher provides full paths to defconfig and scc files, which awk
> > > > comparison operator does not catch during construction of
> > > > src_uri_defconfig and sccs_from_src_uri lists. This causes the
> > > > src_uri_defconfig variable to come out empty, and fails further
> > > > validation if defconfig is only supplied via SRC_URI.
> > > >
> > > > Replace comparison operator with awk index function which searches for
> > > > sub-string during filtering, effectively placing defconfig from SRC_URI
> > > > into src_uri_defconfig and scc files in sccs_from_src_uri respectively.
> > > >
> > >
> > > Hmm. This passed all of my testing (defconfigs were picked up
> > > properly), can you share your test configuration ? I'd like to test
> > > this across my kernels, since I have even more corner cases than most.
> > >
> > > What issues did it cause in your build ? Was the defconfig skipped 
> > > completely ?
> >
> > Ooops. I see you did mention this in the log.
> >
> > I do have an additional question though .. we only want to match
> > on"defconfig", not a substring of something else that contains
> > defconfig. Won't the replacement awk expression match more than just a
> > single 'deconfig' word ?
> >
> > Which is again why I'd like to see your test config, because I was
> > testing against cases like that, and they all worked here.
>
> I re-ran my tests, and I can see why my defconfig was being chopped
> off, it was supplied through some KMETA variables and wasn't actually
> an absolute path.
>
> I also mocked up a subtring test, and I can see that it is yanking out
> something like "i_am_not_defconfig.scc" as well.
>
> This doesn't have to use awk, I'll poke around and see if I can come
> up with something that handles both cases

Sorry for all the email, I was trying to get something out before
anyone else started working on this, so we wouldn't duplicate efforts,
and it just ends up being more email.

This solves the problem here:

src_uri_defconfig=$(echo $sccs_from_src_uri | awk '(match($0,
"defconfig$") != 0) { print $0 }' RS=' ')

And my first boot/configuration looked fine.

Did you want to update and send a v2, or did you want me to do the update ?

Bruce

>
> .. and then run some boot tests with the patch in my queue to ensure
> what I ran before, continues to boot.
>
> Cheers,
>
> Bruce
>
> >
> > Bruce
> >
> > >
> > > Bruce
> > >
> > > > Fixes: 23dcff0d396c (kernel/yocto: ensure that defconfigs are processed 
> > > > first)
> > > > Cc: Bruce Ashfield <[email protected]>
> > > > Signed-off-by: Andrey Zhizhikin <[email protected]>
> > > > ---
> > > >  meta/classes/kernel-yocto.bbclass | 5 +++--
> > > >  1 file changed, 3 insertions(+), 2 deletions(-)
> > > >
> > > > diff --git a/meta/classes/kernel-yocto.bbclass 
> > > > b/meta/classes/kernel-yocto.bbclass
> > > > index 41d8620e67..059d78b7dc 100644
> > > > --- a/meta/classes/kernel-yocto.bbclass
> > > > +++ b/meta/classes/kernel-yocto.bbclass
> > > > @@ -156,9 +156,10 @@ do_kernel_metadata() {
> > > >         # a quick check to make sure we don't have duplicate defconfigs 
> > > > If
> > > >         # there's a defconfig in the SRC_URI, did we also have one from 
> > > > the
> > > >         # KBUILD_DEFCONFIG processing above ?
> > > > -       src_uri_defconfig=$(echo $sccs_from_src_uri | awk '{ if 
> > > > ($0=="defconfig") { print $0 } }' RS=' ')
> > > > +       src_uri_defconfig=$(echo $sccs_from_src_uri | awk '(index($0, 
> > > > "defconfig") != 0) { print $0 }' RS=' ')
> > > >         # drop and defconfig's from the src_uri variable, we captured 
> > > > it just above here if it existed
> > > > -       sccs_from_src_uri=$(echo $sccs_from_src_uri | awk '{ if 
> > > > ($0!="defconfig") { print $0 } }' RS=' ')
> > > > +       sccs_from_src_uri=$(echo $sccs_from_src_uri | awk '(index($0, 
> > > > "defconfig") == 0) { print $0 }' RS=' ')
> > > > +
> > > >         if [ -n "$in_tree_defconfig" ]; then
> > > >                 sccs_defconfig=$in_tree_defconfig
> > > >                 if [ -n "$src_uri_defconfig" ]; then
> > > > --
> > > > 2.17.1
> > > >
> > >
> > >
> > > --
> > > - Thou shalt not follow the NULL pointer, for chaos and madness await
> > > thee at its end
> > > - "Use the force Harry" - Gandalf, Star Trek II
> >
> >
> >
> > --
> > - Thou shalt not follow the NULL pointer, for chaos and madness await
> > thee at its end
> > - "Use the force Harry" - Gandalf, Star Trek II
> > 
>
>
>
> --
> - Thou shalt not follow the NULL pointer, for chaos and madness await
> thee at its end
> - "Use the force Harry" - Gandalf, Star Trek II



-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#140179): 
https://lists.openembedded.org/g/openembedded-core/message/140179
Mute This Topic: https://lists.openembedded.org/mt/75232082/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub  
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to