linux-custom: support to add linux-libc-dev package with kernel name

Message ID 20250121094736.99179-1-arulpandiyan.vadivel@siemens.com
State Accepted, archived
Headers show
Series linux-custom: support to add linux-libc-dev package with kernel name | expand

Commit Message

Vadivel, Arulpandiyan Jan. 21, 2025, 9:47 a.m. UTC
Debian and Ubuntu use unified kernel headers and a single linux-libc-dev
package is shipped. In contrast, Isar may build multiple kernel variants
with different versions and/or patches and their packages but linux-libc-dev
are suffixed with -${KERNEL_NAME_PROVIDED}: this allows
each variant to exist in isar-apt (reprepro may not have more than one
version of a given package for a given suite).
Apply the same suffix to linux-libc-dev / linux-libc-dev-${DISTRO_ARCH}-cross
and a Provides: clause.

Signed-off-by: Arulpandiyan Vadivel <arulpandiyan.vadivel@siemens.com>

---
Changes since v4
- Updated KERNEL_PKG_LIBC_HEADERS path with KERNEL_NAME_PROVIDED

Changes since v3
- Updated commit message to include cross packages
- updated doc/custom_kernel.md documentation

Changes since v2
- Updated commit message as suggested
- Added KERNEL_NAME_PROVIDED for cross packages of linux-libc-dev as well

---
---
 RECIPE-API-CHANGELOG.md                              | 12 ++++++++++++
 doc/custom_kernel.md                                 |  4 ++--
 meta/recipes-kernel/linux/files/debian/control.tmpl  | 10 +++++++---
 .../linux/files/debian/isar/common.tmpl              |  2 +-
 .../linux/files/debian/isar/install.tmpl             |  2 +-
 meta/recipes-kernel/linux/linux-custom.inc           |  2 ++
 6 files changed, 25 insertions(+), 7 deletions(-)

Comments

Vadivel, Arulpandiyan Feb. 6, 2025, 11:50 a.m. UTC | #1
Hello Everyone, 
	Can you please help to merge this change request, If there are no review comments or suggestions ?
Regards,
Arulpandiyan V.

-----Original Message-----
From: Vadivel, Arulpandiyan (FT FDS CES LX PBU RSOL) <arulpandiyan.vadivel@siemens.com> 
Sent: 21 January 2025 15:18
To: isar-users@googlegroups.com
Cc: Hombourger, Cedric (FT FDS CES LX) <cedric.hombourger@siemens.com>; Krishnakar, Srikanth (FT FDS CES LX PBU RSOL) <srikanth.krishnakar@siemens.com>; Vadivel, Arulpandiyan (FT FDS CES LX PBU RSOL) <arulpandiyan.vadivel@siemens.com>
Subject: [PATCH] linux-custom: support to add linux-libc-dev package with kernel name

Debian and Ubuntu use unified kernel headers and a single linux-libc-dev package is shipped. In contrast, Isar may build multiple kernel variants with different versions and/or patches and their packages but linux-libc-dev are suffixed with -${KERNEL_NAME_PROVIDED}: this allows each variant to exist in isar-apt (reprepro may not have more than one version of a given package for a given suite).
Apply the same suffix to linux-libc-dev / linux-libc-dev-${DISTRO_ARCH}-cross
and a Provides: clause.

Signed-off-by: Arulpandiyan Vadivel <arulpandiyan.vadivel@siemens.com>

---
Changes since v4
- Updated KERNEL_PKG_LIBC_HEADERS path with KERNEL_NAME_PROVIDED

Changes since v3
- Updated commit message to include cross packages
- updated doc/custom_kernel.md documentation

Changes since v2
- Updated commit message as suggested
- Added KERNEL_NAME_PROVIDED for cross packages of linux-libc-dev as well

---
---
 RECIPE-API-CHANGELOG.md                              | 12 ++++++++++++
 doc/custom_kernel.md                                 |  4 ++--
 meta/recipes-kernel/linux/files/debian/control.tmpl  | 10 +++++++---
 .../linux/files/debian/isar/common.tmpl              |  2 +-
 .../linux/files/debian/isar/install.tmpl             |  2 +-
 meta/recipes-kernel/linux/linux-custom.inc           |  2 ++
 6 files changed, 25 insertions(+), 7 deletions(-)

diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md index f310553a..64c0f34a 100644
--- a/RECIPE-API-CHANGELOG.md
+++ b/RECIPE-API-CHANGELOG.md
@@ -702,3 +702,15 @@ enable cross-compilation. Otherwize ISAR_CROSS_COMPILE = "0" now should be set  in local.conf to disable cross-compilation for all the recipes.
 Sample local.conf from meta-isar used by isar-init-build-env is also changed  to enable cross-compilation by default.
+
+### Enable linux-libc-dev package with KERNEL_NAME
+
+By default linux-libc-dev and linux-libc-dev-${DISTRO_ARCH}-cross 
+package was generated for architecture it builds for.
+
+This change helps to generate the `linux-libc-dev-${KERNEL_NAME}` and 
+`linux-libc-dev-${DISTRO_ARCH}-cross-${KERNEL_NAME}`.
+For example, If `KERNEL_NAME` is configured as `foo` for arm64, now 
+`linux-libc-dev-foo` and `linux-libc-dev-arm64-cross-foo` package will 
+be generated. This will help to have multiple versions of 
+linux-libc-dev packages available for respective bsps in apt feeds.
diff --git a/doc/custom_kernel.md b/doc/custom_kernel.md index ce5f1bf7..2dca577c 100644
--- a/doc/custom_kernel.md
+++ b/doc/custom_kernel.md
@@ -51,9 +51,9 @@ The linux-custom recipe provides support for:
 
     Only the `host` specific package is built automatically at cross builds.
 
- 10. Produce a `linux-libc-dev` package to support user-land builds
+ 10. Produce a `linux-libc-dev-${KERNEL_NAME}` package to support 
+ user-land builds
 
- 11. Only build/ship the `linux-libc-dev` package if instructed to
+ 11. Only build/ship the `linux-libc-dev-${KERNEL_NAME}` package if 
+ instructed to
      (`KERNEL_LIBC_DEV_DEPLOY` equals to `"1"`)
 
  12. Support both native and cross compiles (`ISAR_CROSS_COMPILE`) diff --git a/meta/recipes-kernel/linux/files/debian/control.tmpl b/meta/recipes-kernel/linux/files/debian/control.tmpl
index ec0da1ab..a79b86c4 100644
--- a/meta/recipes-kernel/linux/files/debian/control.tmpl
+++ b/meta/recipes-kernel/linux/files/debian/control.tmpl
@@ -22,19 +22,23 @@ Description: ${KERNEL_NAME_PROVIDED} Linux kernel headers for @KR@
  .
  This is useful for people who need to build external modules
 
-Package: linux-libc-dev
+Package: linux-libc-dev-${KERNEL_NAME_PROVIDED}
 Build-Profiles: <!nolibcdev kernel>
 Section: devel
-Provides: linux-kernel-headers
+Conflicts: linux-libc-dev
+Provides: linux-libc-dev
+Replaces: linux-libc-dev
 Architecture: ${KERNEL_LIBC_DEV_ARCH}
 Description: Linux support headers for userspace development
  This package provides userspaces headers from the Linux kernel. These headers
  are used by the installed headers for GNU glibc and other system libraries.
 
-Package: linux-libc-dev-${DISTRO_ARCH}-cross
+Package: linux-libc-dev-${DISTRO_ARCH}-cross-${KERNEL_NAME_PROVIDED}
 Build-Profiles: <!nolibcdev cross !kbuild>
 Section: devel
+Conflicts: linux-kernel-headers-${DISTRO_ARCH}-cross
 Provides: linux-kernel-headers-${DISTRO_ARCH}-cross
+Replaces: linux-kernel-headers-${DISTRO_ARCH}-cross
 Architecture: all
 Description: Linux Kernel Headers for development (for cross-compiling)
  This package provides headers from the Linux kernel.  These headers diff --git a/meta/recipes-kernel/linux/files/debian/isar/common.tmpl b/meta/recipes-kernel/linux/files/debian/isar/common.tmpl
index f9cc2f02..b004214f 100644
--- a/meta/recipes-kernel/linux/files/debian/isar/common.tmpl
+++ b/meta/recipes-kernel/linux/files/debian/isar/common.tmpl
@@ -8,7 +8,7 @@ set -e
 ARCH=${KERNEL_ARCH}
 KERNEL_PKG_IMAGE=linux-image-${KERNEL_NAME_PROVIDED}
 KERNEL_PKG_KERN_HEADERS=linux-headers-${KERNEL_NAME_PROVIDED}
-KERNEL_PKG_LIBC_HEADERS=linux-libc-dev
+KERNEL_PKG_LIBC_HEADERS=linux-libc-dev-${KERNEL_NAME_PROVIDED}
 KERNEL_PKG_LIBC_HEADERS_CROSS=linux-libc-dev-${DISTRO_ARCH}-cross
 KERNEL_PKG_KERN_KBUILD=linux-kbuild-${KERNEL_NAME_PROVIDED}
 KERNEL_PKG_KERN_KBUILD_CROSS=${KERNEL_PKG_KERN_KBUILD}-${DISTRO_ARCH}-cross
diff --git a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl
index 6d742f02..290a7d56 100644
--- a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl
+++ b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl
@@ -248,7 +248,7 @@ install_headers() {
     if dpkg --compare-versions "${krel}" "lt" "5.4.24"; then
         headers_check
     fi
-    [ -z ${kern_pkgs["linux-libc-dev"]} ] || libc_headers
+    [ -z ${kern_pkgs["linux-libc-dev-${KERNEL_NAME_PROVIDED}"]} ] || 
+ libc_headers
     kernel_headers
 }
 
diff --git a/meta/recipes-kernel/linux/linux-custom.inc b/meta/recipes-kernel/linux/linux-custom.inc
index 77700a5d..4f68f4cd 100644
--- a/meta/recipes-kernel/linux/linux-custom.inc
+++ b/meta/recipes-kernel/linux/linux-custom.inc
@@ -152,7 +152,9 @@ RECIPE_PROVIDES = " \
     linux-image-${KERNEL_NAME_PROVIDED} \
     linux-headers-${KERNEL_NAME_PROVIDED} \
     linux-libc-dev \
+    linux-libc-dev-${KERNEL_NAME_PROVIDED} \
     linux-libc-dev-${DISTRO_ARCH}-cross \
+    linux-libc-dev-${DISTRO_ARCH}-cross-${KERNEL_NAME_PROVIDED} \
     linux-image-${KERNEL_NAME_PROVIDED}-dbg \
     linux-kbuild-${KERNEL_NAME_PROVIDED} \
     ${BPN}-pseudo-native \
--
2.39.5
Uladzimir Bely Feb. 7, 2025, 7:48 a.m. UTC | #2
On Tue, 2025-01-21 at 15:17 +0530, 'Arulpandiyan Vadivel' via isar-
users wrote:
> Debian and Ubuntu use unified kernel headers and a single linux-libc-
> dev
> package is shipped. In contrast, Isar may build multiple kernel
> variants
> with different versions and/or patches and their packages but linux-
> libc-dev
> are suffixed with -${KERNEL_NAME_PROVIDED}: this allows
> each variant to exist in isar-apt (reprepro may not have more than
> one
> version of a given package for a given suite).
> Apply the same suffix to linux-libc-dev / linux-libc-dev-
> ${DISTRO_ARCH}-cross
> and a Provides: clause.
> 
> Signed-off-by: Arulpandiyan Vadivel
> <arulpandiyan.vadivel@siemens.com>
> 
> ---
> Changes since v4
> - Updated KERNEL_PKG_LIBC_HEADERS path with KERNEL_NAME_PROVIDED
> 
> Changes since v3
> - Updated commit message to include cross packages
> - updated doc/custom_kernel.md documentation
> 
> Changes since v2
> - Updated commit message as suggested
> - Added KERNEL_NAME_PROVIDED for cross packages of linux-libc-dev as
> well
> 
> ---
> ---
>  RECIPE-API-CHANGELOG.md                              | 12
> ++++++++++++
>  doc/custom_kernel.md                                 |  4 ++--
>  meta/recipes-kernel/linux/files/debian/control.tmpl  | 10 +++++++---
>  .../linux/files/debian/isar/common.tmpl              |  2 +-
>  .../linux/files/debian/isar/install.tmpl             |  2 +-
>  meta/recipes-kernel/linux/linux-custom.inc           |  2 ++
>  6 files changed, 25 insertions(+), 7 deletions(-)
> 
> diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md
> index f310553a..64c0f34a 100644
> --- a/RECIPE-API-CHANGELOG.md
> +++ b/RECIPE-API-CHANGELOG.md
> @@ -702,3 +702,15 @@ enable cross-compilation. Otherwize
> ISAR_CROSS_COMPILE = "0" now should be set
>  in local.conf to disable cross-compilation for all the recipes.
>  Sample local.conf from meta-isar used by isar-init-build-env is also
> changed
>  to enable cross-compilation by default.
> +
> +### Enable linux-libc-dev package with KERNEL_NAME
> +
> +By default linux-libc-dev and linux-libc-dev-${DISTRO_ARCH}-cross
> package
> +was generated for architecture it builds for.
> +
> +This change helps to generate the `linux-libc-dev-${KERNEL_NAME}`
> and
> +`linux-libc-dev-${DISTRO_ARCH}-cross-${KERNEL_NAME}`.
> +For example, If `KERNEL_NAME` is configured as `foo` for arm64, now
> +`linux-libc-dev-foo` and `linux-libc-dev-arm64-cross-foo` package
> will be
> +generated. This will help to have multiple versions of linux-libc-
> dev packages
> +available for respective bsps in apt feeds.
> diff --git a/doc/custom_kernel.md b/doc/custom_kernel.md
> index ce5f1bf7..2dca577c 100644
> --- a/doc/custom_kernel.md
> +++ b/doc/custom_kernel.md
> @@ -51,9 +51,9 @@ The linux-custom recipe provides support for:
>  
>      Only the `host` specific package is built automatically at cross
> builds.
>  
> - 10. Produce a `linux-libc-dev` package to support user-land builds
> + 10. Produce a `linux-libc-dev-${KERNEL_NAME}` package to support
> user-land builds
>  
> - 11. Only build/ship the `linux-libc-dev` package if instructed to
> + 11. Only build/ship the `linux-libc-dev-${KERNEL_NAME}` package if
> instructed to
>       (`KERNEL_LIBC_DEV_DEPLOY` equals to `"1"`)
>  
>   12. Support both native and cross compiles (`ISAR_CROSS_COMPILE`)
> diff --git a/meta/recipes-kernel/linux/files/debian/control.tmpl
> b/meta/recipes-kernel/linux/files/debian/control.tmpl
> index ec0da1ab..a79b86c4 100644
> --- a/meta/recipes-kernel/linux/files/debian/control.tmpl
> +++ b/meta/recipes-kernel/linux/files/debian/control.tmpl
> @@ -22,19 +22,23 @@ Description: ${KERNEL_NAME_PROVIDED} Linux kernel
> headers for @KR@
>   .
>   This is useful for people who need to build external modules
>  
> -Package: linux-libc-dev
> +Package: linux-libc-dev-${KERNEL_NAME_PROVIDED}
>  Build-Profiles: <!nolibcdev kernel>
>  Section: devel
> -Provides: linux-kernel-headers
> +Conflicts: linux-libc-dev
> +Provides: linux-libc-dev
> +Replaces: linux-libc-dev
>  Architecture: ${KERNEL_LIBC_DEV_ARCH}
>  Description: Linux support headers for userspace development
>   This package provides userspaces headers from the Linux kernel.
> These headers
>   are used by the installed headers for GNU glibc and other system
> libraries.
>  
> -Package: linux-libc-dev-${DISTRO_ARCH}-cross
> +Package: linux-libc-dev-${DISTRO_ARCH}-cross-${KERNEL_NAME_PROVIDED}
>  Build-Profiles: <!nolibcdev cross !kbuild>
>  Section: devel
> +Conflicts: linux-kernel-headers-${DISTRO_ARCH}-cross
>  Provides: linux-kernel-headers-${DISTRO_ARCH}-cross
> +Replaces: linux-kernel-headers-${DISTRO_ARCH}-cross
>  Architecture: all
>  Description: Linux Kernel Headers for development (for cross-
> compiling)
>   This package provides headers from the Linux kernel.  These headers
> diff --git a/meta/recipes-kernel/linux/files/debian/isar/common.tmpl
> b/meta/recipes-kernel/linux/files/debian/isar/common.tmpl
> index f9cc2f02..b004214f 100644
> --- a/meta/recipes-kernel/linux/files/debian/isar/common.tmpl
> +++ b/meta/recipes-kernel/linux/files/debian/isar/common.tmpl
> @@ -8,7 +8,7 @@ set -e
>  ARCH=${KERNEL_ARCH}
>  KERNEL_PKG_IMAGE=linux-image-${KERNEL_NAME_PROVIDED}
>  KERNEL_PKG_KERN_HEADERS=linux-headers-${KERNEL_NAME_PROVIDED}
> -KERNEL_PKG_LIBC_HEADERS=linux-libc-dev
> +KERNEL_PKG_LIBC_HEADERS=linux-libc-dev-${KERNEL_NAME_PROVIDED}
>  KERNEL_PKG_LIBC_HEADERS_CROSS=linux-libc-dev-${DISTRO_ARCH}-cross
>  KERNEL_PKG_KERN_KBUILD=linux-kbuild-${KERNEL_NAME_PROVIDED}
>  KERNEL_PKG_KERN_KBUILD_CROSS=${KERNEL_PKG_KERN_KBUILD}-
> ${DISTRO_ARCH}-cross
> diff --git a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl
> b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl
> index 6d742f02..290a7d56 100644
> --- a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl
> +++ b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl
> @@ -248,7 +248,7 @@ install_headers() {
>      if dpkg --compare-versions "${krel}" "lt" "5.4.24"; then
>          headers_check
>      fi
> -    [ -z ${kern_pkgs["linux-libc-dev"]} ] || libc_headers
> +    [ -z ${kern_pkgs["linux-libc-dev-${KERNEL_NAME_PROVIDED}"]} ] ||
> libc_headers
>      kernel_headers
>  }
>  
> diff --git a/meta/recipes-kernel/linux/linux-custom.inc
> b/meta/recipes-kernel/linux/linux-custom.inc
> index 77700a5d..4f68f4cd 100644
> --- a/meta/recipes-kernel/linux/linux-custom.inc
> +++ b/meta/recipes-kernel/linux/linux-custom.inc
> @@ -152,7 +152,9 @@ RECIPE_PROVIDES = " \
>      linux-image-${KERNEL_NAME_PROVIDED} \
>      linux-headers-${KERNEL_NAME_PROVIDED} \
>      linux-libc-dev \
> +    linux-libc-dev-${KERNEL_NAME_PROVIDED} \
>      linux-libc-dev-${DISTRO_ARCH}-cross \
> +    linux-libc-dev-${DISTRO_ARCH}-cross-${KERNEL_NAME_PROVIDED} \
>      linux-image-${KERNEL_NAME_PROVIDED}-dbg \
>      linux-kbuild-${KERNEL_NAME_PROVIDED} \
>      ${BPN}-pseudo-native \
> -- 
> 2.39.5
> 

Applied to next, thanks.

Patch

diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md
index f310553a..64c0f34a 100644
--- a/RECIPE-API-CHANGELOG.md
+++ b/RECIPE-API-CHANGELOG.md
@@ -702,3 +702,15 @@  enable cross-compilation. Otherwize ISAR_CROSS_COMPILE = "0" now should be set
 in local.conf to disable cross-compilation for all the recipes.
 Sample local.conf from meta-isar used by isar-init-build-env is also changed
 to enable cross-compilation by default.
+
+### Enable linux-libc-dev package with KERNEL_NAME
+
+By default linux-libc-dev and linux-libc-dev-${DISTRO_ARCH}-cross package
+was generated for architecture it builds for.
+
+This change helps to generate the `linux-libc-dev-${KERNEL_NAME}` and
+`linux-libc-dev-${DISTRO_ARCH}-cross-${KERNEL_NAME}`.
+For example, If `KERNEL_NAME` is configured as `foo` for arm64, now
+`linux-libc-dev-foo` and `linux-libc-dev-arm64-cross-foo` package will be
+generated. This will help to have multiple versions of linux-libc-dev packages
+available for respective bsps in apt feeds.
diff --git a/doc/custom_kernel.md b/doc/custom_kernel.md
index ce5f1bf7..2dca577c 100644
--- a/doc/custom_kernel.md
+++ b/doc/custom_kernel.md
@@ -51,9 +51,9 @@  The linux-custom recipe provides support for:
 
     Only the `host` specific package is built automatically at cross builds.
 
- 10. Produce a `linux-libc-dev` package to support user-land builds
+ 10. Produce a `linux-libc-dev-${KERNEL_NAME}` package to support user-land builds
 
- 11. Only build/ship the `linux-libc-dev` package if instructed to
+ 11. Only build/ship the `linux-libc-dev-${KERNEL_NAME}` package if instructed to
      (`KERNEL_LIBC_DEV_DEPLOY` equals to `"1"`)
 
  12. Support both native and cross compiles (`ISAR_CROSS_COMPILE`)
diff --git a/meta/recipes-kernel/linux/files/debian/control.tmpl b/meta/recipes-kernel/linux/files/debian/control.tmpl
index ec0da1ab..a79b86c4 100644
--- a/meta/recipes-kernel/linux/files/debian/control.tmpl
+++ b/meta/recipes-kernel/linux/files/debian/control.tmpl
@@ -22,19 +22,23 @@  Description: ${KERNEL_NAME_PROVIDED} Linux kernel headers for @KR@
  .
  This is useful for people who need to build external modules
 
-Package: linux-libc-dev
+Package: linux-libc-dev-${KERNEL_NAME_PROVIDED}
 Build-Profiles: <!nolibcdev kernel>
 Section: devel
-Provides: linux-kernel-headers
+Conflicts: linux-libc-dev
+Provides: linux-libc-dev
+Replaces: linux-libc-dev
 Architecture: ${KERNEL_LIBC_DEV_ARCH}
 Description: Linux support headers for userspace development
  This package provides userspaces headers from the Linux kernel. These headers
  are used by the installed headers for GNU glibc and other system libraries.
 
-Package: linux-libc-dev-${DISTRO_ARCH}-cross
+Package: linux-libc-dev-${DISTRO_ARCH}-cross-${KERNEL_NAME_PROVIDED}
 Build-Profiles: <!nolibcdev cross !kbuild>
 Section: devel
+Conflicts: linux-kernel-headers-${DISTRO_ARCH}-cross
 Provides: linux-kernel-headers-${DISTRO_ARCH}-cross
+Replaces: linux-kernel-headers-${DISTRO_ARCH}-cross
 Architecture: all
 Description: Linux Kernel Headers for development (for cross-compiling)
  This package provides headers from the Linux kernel.  These headers
diff --git a/meta/recipes-kernel/linux/files/debian/isar/common.tmpl b/meta/recipes-kernel/linux/files/debian/isar/common.tmpl
index f9cc2f02..b004214f 100644
--- a/meta/recipes-kernel/linux/files/debian/isar/common.tmpl
+++ b/meta/recipes-kernel/linux/files/debian/isar/common.tmpl
@@ -8,7 +8,7 @@  set -e
 ARCH=${KERNEL_ARCH}
 KERNEL_PKG_IMAGE=linux-image-${KERNEL_NAME_PROVIDED}
 KERNEL_PKG_KERN_HEADERS=linux-headers-${KERNEL_NAME_PROVIDED}
-KERNEL_PKG_LIBC_HEADERS=linux-libc-dev
+KERNEL_PKG_LIBC_HEADERS=linux-libc-dev-${KERNEL_NAME_PROVIDED}
 KERNEL_PKG_LIBC_HEADERS_CROSS=linux-libc-dev-${DISTRO_ARCH}-cross
 KERNEL_PKG_KERN_KBUILD=linux-kbuild-${KERNEL_NAME_PROVIDED}
 KERNEL_PKG_KERN_KBUILD_CROSS=${KERNEL_PKG_KERN_KBUILD}-${DISTRO_ARCH}-cross
diff --git a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl
index 6d742f02..290a7d56 100644
--- a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl
+++ b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl
@@ -248,7 +248,7 @@  install_headers() {
     if dpkg --compare-versions "${krel}" "lt" "5.4.24"; then
         headers_check
     fi
-    [ -z ${kern_pkgs["linux-libc-dev"]} ] || libc_headers
+    [ -z ${kern_pkgs["linux-libc-dev-${KERNEL_NAME_PROVIDED}"]} ] || libc_headers
     kernel_headers
 }
 
diff --git a/meta/recipes-kernel/linux/linux-custom.inc b/meta/recipes-kernel/linux/linux-custom.inc
index 77700a5d..4f68f4cd 100644
--- a/meta/recipes-kernel/linux/linux-custom.inc
+++ b/meta/recipes-kernel/linux/linux-custom.inc
@@ -152,7 +152,9 @@  RECIPE_PROVIDES = " \
     linux-image-${KERNEL_NAME_PROVIDED} \
     linux-headers-${KERNEL_NAME_PROVIDED} \
     linux-libc-dev \
+    linux-libc-dev-${KERNEL_NAME_PROVIDED} \
     linux-libc-dev-${DISTRO_ARCH}-cross \
+    linux-libc-dev-${DISTRO_ARCH}-cross-${KERNEL_NAME_PROVIDED} \
     linux-image-${KERNEL_NAME_PROVIDED}-dbg \
     linux-kbuild-${KERNEL_NAME_PROVIDED} \
     ${BPN}-pseudo-native \