| Message ID | 20260129163910.2612040-6-Harish.Sadineni@windriver.com |
|---|---|
| State | Changes Requested |
| Headers | show |
| Series | Enable rust support for linux kernel | expand |
On Thu, 2026-01-29 at 08:39 -0800, Sadineni, Harish via lists.openembedded.org wrote: > From: Harish Sadineni <Harish.Sadineni@windriver.com> > > Fixes for buildpaths errors after enabling rust for linux-kernel > > Co-authored-by: El Mehdi YOUNES <elmehdi.younes@smile.fr> > Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com> The commit message here should explain the introduction of KRUSTFLAGS. > --- > meta/classes-recipe/kernel-yocto.bbclass | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/meta/classes-recipe/kernel-yocto.bbclass b/meta/classes-recipe/kernel-yocto.bbclass > index 4323c4c80a..cd5daaf33b 100644 > --- a/meta/classes-recipe/kernel-yocto.bbclass > +++ b/meta/classes-recipe/kernel-yocto.bbclass > @@ -4,6 +4,8 @@ > # SPDX-License-Identifier: MIT > # > > +INHERIT:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'rust-kernel', ' rust-common', '', d)}" > + We should be able to use inherit_defer here instead of modifying INHERIT. > # remove tasks that modify the source tree in case externalsrc is inherited > SRCTREECOVEREDTASKS += "do_validate_branches do_kernel_configcheck do_kernel_checkout do_fetch do_unpack do_patch" > PATCH_GIT_USER_EMAIL ?= "kernel-yocto@oe" > @@ -27,6 +29,11 @@ KMETA_AUDIT ?= "yes" > KMETA_AUDIT_WERROR ?= "" > KMETA_CONFIG_FEATURES ?= "" > > +RUST_DEBUG_REMAP = "${@bb.utils.contains('DISTRO_FEATURES', 'rust-kernel', '--remap-path-prefix=${WORKDIR}=${TARGET_DBGSRC_DIR} \ > + --remap-path-prefix=${TMPDIR}/work-shared=${TARGET_DBGSRC_DIR}', '',d)}" > +KRUSTFLAGS:append = " ${RUST_DEBUG_REMAP}" Why do we use :append here? > +EXTRA_OEMAKE:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'rust-kernel', ' KRUSTFLAGS="${KRUSTFLAGS}"', '',d)}" > + > # returns local (absolute) path names for all valid patches in the > # src_uri > def find_patches(d,subdir): Best regards,
diff --git a/meta/classes-recipe/kernel-yocto.bbclass b/meta/classes-recipe/kernel-yocto.bbclass index 4323c4c80a..cd5daaf33b 100644 --- a/meta/classes-recipe/kernel-yocto.bbclass +++ b/meta/classes-recipe/kernel-yocto.bbclass @@ -4,6 +4,8 @@ # SPDX-License-Identifier: MIT # +INHERIT:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'rust-kernel', ' rust-common', '', d)}" + # remove tasks that modify the source tree in case externalsrc is inherited SRCTREECOVEREDTASKS += "do_validate_branches do_kernel_configcheck do_kernel_checkout do_fetch do_unpack do_patch" PATCH_GIT_USER_EMAIL ?= "kernel-yocto@oe" @@ -27,6 +29,11 @@ KMETA_AUDIT ?= "yes" KMETA_AUDIT_WERROR ?= "" KMETA_CONFIG_FEATURES ?= "" +RUST_DEBUG_REMAP = "${@bb.utils.contains('DISTRO_FEATURES', 'rust-kernel', '--remap-path-prefix=${WORKDIR}=${TARGET_DBGSRC_DIR} \ + --remap-path-prefix=${TMPDIR}/work-shared=${TARGET_DBGSRC_DIR}', '',d)}" +KRUSTFLAGS:append = " ${RUST_DEBUG_REMAP}" +EXTRA_OEMAKE:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'rust-kernel', ' KRUSTFLAGS="${KRUSTFLAGS}"', '',d)}" + # returns local (absolute) path names for all valid patches in the # src_uri def find_patches(d,subdir):