All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-virtualization][master][PATCH] linux-yocto_virtualization.inc: If using externalsrc adjust dependency
@ 2024-10-02 22:38 Mark Hatle
  2024-10-10 13:14 ` Bruce Ashfield
  0 siblings, 1 reply; 2+ messages in thread
From: Mark Hatle @ 2024-10-02 22:38 UTC (permalink / raw)
  To: meta-virtualization

From: Mark Hatle <mark.hatle@amd.com>

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 <mark.hatle@amd.com>
---
 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 e729c3b2..d678021b 100644
--- a/recipes-kernel/linux/linux-yocto_virtualization.inc
+++ b/recipes-kernel/linux/linux-yocto_virtualization.inc
@@ -59,6 +59,12 @@ KERNEL_FEATURES:append = " ${KERNEL_CACHE_FEATURES}"
 # features can be enabled via the fragments
 do_kernel_metadata[depends] += "${KERNEL_CFG_DEPENDS}"
 
+# 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
+# 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))]}"
+
 # 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



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [meta-virtualization][master][PATCH] linux-yocto_virtualization.inc: If using externalsrc adjust dependency
  2024-10-02 22:38 [meta-virtualization][master][PATCH] linux-yocto_virtualization.inc: If using externalsrc adjust dependency Mark Hatle
@ 2024-10-10 13:14 ` Bruce Ashfield
  0 siblings, 0 replies; 2+ messages in thread
From: Bruce Ashfield @ 2024-10-10 13:14 UTC (permalink / raw)
  To: mark.hatle; +Cc: meta-virtualization

merged to master

Bruce

In message: [meta-virtualization][master][PATCH] linux-yocto_virtualization.inc: If using externalsrc adjust dependency
on 02/10/2024 Mark Hatle via lists.yoctoproject.org wrote:

> From: Mark Hatle <mark.hatle@amd.com>
> 
> 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 <mark.hatle@amd.com>
> ---
>  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 e729c3b2..d678021b 100644
> --- a/recipes-kernel/linux/linux-yocto_virtualization.inc
> +++ b/recipes-kernel/linux/linux-yocto_virtualization.inc
> @@ -59,6 +59,12 @@ KERNEL_FEATURES:append = " ${KERNEL_CACHE_FEATURES}"
>  # features can be enabled via the fragments
>  do_kernel_metadata[depends] += "${KERNEL_CFG_DEPENDS}"
>  
> +# 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
> +# 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))]}"
> +
>  # 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
> 

> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#8911): https://lists.yoctoproject.org/g/meta-virtualization/message/8911
> Mute This Topic: https://lists.yoctoproject.org/mt/108789782/1050810
> Group Owner: meta-virtualization+owner@lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/meta-virtualization/unsub [bruce.ashfield@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
> 



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-10-10 13:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-02 22:38 [meta-virtualization][master][PATCH] linux-yocto_virtualization.inc: If using externalsrc adjust dependency Mark Hatle
2024-10-10 13:14 ` Bruce Ashfield

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.