@@ -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.
@@ -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`)
@@ -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
@@ -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
}
@@ -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 \
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 v3 - Updated commit message to include cross packages - Added an entry in RECIPE_API_CHANGELOG.md - 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/install.tmpl | 2 +- meta/recipes-kernel/linux/linux-custom.inc | 2 ++ 5 files changed, 24 insertions(+), 6 deletions(-)