On Wed, Oct 2, 2024 at 9:11 PM Peter Kjellerstedt via
lists.yoctoproject.org
<[email protected]> wrote:
>
> > -----Original Message-----
> > From: [email protected] 
> > <[email protected]> On Behalf Of Mark Hatle
> > Sent: den 3 oktober 2024 00:39
> > To: [email protected]
> > Subject: [meta-virtualization][scarthgap][PATCH] 
> > linux-yocto_virtualization.inc: If using externalsrc adjust dependency
> >
> > From: Mark Hatle <[email protected]>
> >
> > When using externalsrc, the system will disable a number of tasks such as
> > do_validate_branches, do_unpack and do_patch.  The do_kernel_metadata task
> > is configured to run after do_validate_branches do_unpack and before
> > do_patch.  Since all of these have been removed, the task will never
> > run.
> >
> > The do_kernel_metadata task is responsible for populating the
> > recipe-sysroot-native/kcfg directory via it's own dependency to
> > yocto-cfg-fragments-native:do_populate_sysroot.
> >
> > Without do_kernel_metadata running, do_kernel_configme will fail to run
> > with errors like:
> >   ERROR: linux-xlnx-6.6.40+git-r0 do_kernel_configme: Feature 
> > '../recipe-sysroot-native/kcfg/cfg/virtio.scc' not found, this will cause 
> > configuration failures.
> >   ERROR: linux-xlnx-6.6.40+git-r0 do_kernel_configme: Check the SRC_URI for 
> > meta-data repositories or directories that may be missing
> >   ERROR: linux-xlnx-6.6.40+git-r0 do_kernel_configme: Set 
> > KERNEL_DANGLING_FEATURES_WARN_ONLY to ignore this issue
> >
> > Fix this issue by detecting if we're running with externalsrc, and then
> > adding the task do_kernel_metadata (from the current recipe) as a
> > dependency of do_kernel_configme.
> >
> > To reproduce th original issue:
> >
> >   $ . ./oe-initbuild-env
> >   $ bitbake linux-yocto -c patch
> >   $ cp -r tmp/work-shared/<machine>/kernel-source linux-yocto
> >
> >   edit the conf/local.conf adding:
> >   DISTRO_FEATURES:append = " virtualization"
> >   INHERIT += "externalsrc"
> >   EXTERNALSRC:pn-linux-yocto = "${TOPDIR}/linux-yocto"
> >
> >   $ rm -rf tmp
> >   $ bitbake linux-yocto -c menuconfig
> >
> > Signed-off-by: Mark Hatle <[email protected]>
> > ---
> >  recipes-kernel/linux/linux-yocto_virtualization.inc | 6 ++++++
> >  1 file changed, 6 insertions(+)
> >
> > diff --git a/recipes-kernel/linux/linux-yocto_virtualization.inc 
> > b/recipes-kernel/linux/linux-yocto_virtualization.inc
> > index 9a6554d..f0ec80c 100644
> > --- a/recipes-kernel/linux/linux-yocto_virtualization.inc
> > +++ b/recipes-kernel/linux/linux-yocto_virtualization.inc
> > @@ -49,6 +49,12 @@ KERNEL_FEATURES:append = " ${KERNEL_CACHE_FEATURES}"
> >  # features can be enabled via the fragments
> >  do_kernel_metadata[depends] += "${@['', 
> > 'yocto-cfg-fragments-native:do_populate_sysroot'][(bb.data.inherits_class('kernel-yocto',
> >  d))]}"
> >
> > +# if externalsrc is enabled, do_kernel_metadata dependency on
> > +# yocto-cfg-fragments-native won't be run to populate
> > +# recipe-sysroot-native/kcfg because do_patch is not run.  Manully add
>
> Typo: Manully -> Manually

I'll fix this on the way into the tree.

>
> > +# the dependency to do_kernel_configme for this special case
> > +do_kernel_configme[depends] += "${@['', d.getVar('PN') + 
> > ':do_kernel_metadata'][(bb.data.inherits_class('externalsrc', d))]}"
>
> This can be written more readable as:
>
> do_kernel_configme[depends] += "${@d.getVar('PN') + ':do_kernel_metadata' if 
> bb.data.inherits_class('externalsrc', d) else ''}"
>

I agree that the index-style of conditionals is a bit strange, but for
now, I'm going to
go with consistency in the file, and will make a note to revisit this
in a month or so
(once I've released meta-virt).

Thanks for the review Peter, it is most appreciated.

Bruce

> > +
> >  # xen kernel support
> >  # SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' 
> > file://xen.scc', '', d)}"
> >  KERNEL_FEATURES:append = "${@distro_cond_feature('cfg/xen.scc', 'xen', d)}"
> > --
> > 2.34.1
>
> //Peter
>
>
> 
>


-- 
- 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 (#8915): 
https://lists.yoctoproject.org/g/meta-virtualization/message/8915
Mute This Topic: https://lists.yoctoproject.org/mt/108789783/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-virtualization/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to