* [PATCH] linux-custom: support to add linux-libc-dev package with kernel name
@ 2025-01-12 19:00 'Arulpandiyan Vadivel' via isar-users
2025-01-12 20:46 ` 'cedric.hombourger@siemens.com' via isar-users
0 siblings, 1 reply; 14+ messages in thread
From: 'Arulpandiyan Vadivel' via isar-users @ 2025-01-12 19:00 UTC (permalink / raw)
To: isar-users; +Cc: cedric.hombourger, srikanth.krishnakar, Arulpandiyan Vadivel
Add support to build linux-libc-dev package with KERNEL_NAME_PROVIDED.
With this change the user is able to update the apt feeds with user desired
package for their architecture.
With current approach for a single architecture only one linux-libc-dev
package is possible for the components.
In few scenarios where multiple BSP's were supported for same architecture
adding them to the same component of apt feeds might not be possible with reprepro.
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan.vadivel@siemens.com>
---
doc/custom_kernel.md | 2 +-
meta/recipes-kernel/linux/files/debian/control.tmpl | 6 ++++--
meta/recipes-kernel/linux/files/debian/isar/common.tmpl | 2 +-
meta/recipes-kernel/linux/files/debian/isar/install.tmpl | 2 +-
meta/recipes-kernel/linux/linux-custom.inc | 2 +-
5 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/doc/custom_kernel.md b/doc/custom_kernel.md
index ce5f1bf7..89c7c088 100644
--- a/doc/custom_kernel.md
+++ b/doc/custom_kernel.md
@@ -51,7 +51,7 @@ 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_PROVIDED}` package to support user-land builds
11. Only build/ship the `linux-libc-dev` package if instructed to
(`KERNEL_LIBC_DEV_DEPLOY` equals to `"1"`)
diff --git a/meta/recipes-kernel/linux/files/debian/control.tmpl b/meta/recipes-kernel/linux/files/debian/control.tmpl
index 04ad0f4f..a4c0ed9e 100644
--- a/meta/recipes-kernel/linux/files/debian/control.tmpl
+++ b/meta/recipes-kernel/linux/files/debian/control.tmpl
@@ -22,10 +22,12 @@ 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: any
Description: Linux support headers for userspace development
This package provides userspaces 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 def8480e..bab41757 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 0a7bdd66..e1602b9d 100644
--- a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl
+++ b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl
@@ -225,7 +225,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 bf6c879b..26fd8719 100644
--- a/meta/recipes-kernel/linux/linux-custom.inc
+++ b/meta/recipes-kernel/linux/linux-custom.inc
@@ -145,7 +145,7 @@ ISAR_CROSS_COMPILE:class-kbuildtarget = "0"
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-image-${KERNEL_NAME_PROVIDED}-dbg \
linux-kbuild-${KERNEL_NAME_PROVIDED} \
--
2.39.5
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/20250112190000.69110-1-arulpandiyan.vadivel%40siemens.com.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] linux-custom: support to add linux-libc-dev package with kernel name
2025-01-12 19:00 [PATCH] linux-custom: support to add linux-libc-dev package with kernel name 'Arulpandiyan Vadivel' via isar-users
@ 2025-01-12 20:46 ` 'cedric.hombourger@siemens.com' via isar-users
2025-01-13 8:07 ` [PATCH V2] " 'Arulpandiyan Vadivel' via isar-users
0 siblings, 1 reply; 14+ messages in thread
From: 'cedric.hombourger@siemens.com' via isar-users @ 2025-01-12 20:46 UTC (permalink / raw)
To: isar-users, Vadivel, Arulpandiyan; +Cc: srikanth.krishnakar
On Mon, 2025-01-13 at 00:30 +0530, Arulpandiyan Vadivel wrote:
> Add support to build linux-libc-dev package with
> KERNEL_NAME_PROVIDED.
> With this change the user is able to update the apt feeds with user
> desired
> package for their architecture.
> With current approach for a single architecture only one linux-libc-
> dev
> package is possible for the components.
> In few scenarios where multiple BSP's were supported for same
> architecture
> adding them to the same component of apt feeds might not be possible
> with reprepro.
The commit log should IMO be reworded as you are using terms and
concepts that are potentially specific to our downstream projects.
This change is however relevant to Isar. Below my attempt to describe
the change and our motivation (further details may be required by the
maintainers).
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 and a Provides: clause.
>
> Signed-off-by: Arulpandiyan Vadivel
> <arulpandiyan.vadivel@siemens.com>
> ---
> doc/custom_kernel.md | 2 +-
> meta/recipes-kernel/linux/files/debian/control.tmpl | 6 ++++--
> meta/recipes-kernel/linux/files/debian/isar/common.tmpl | 2 +-
> meta/recipes-kernel/linux/files/debian/isar/install.tmpl | 2 +-
> meta/recipes-kernel/linux/linux-custom.inc | 2 +-
> 5 files changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/doc/custom_kernel.md b/doc/custom_kernel.md
> index ce5f1bf7..89c7c088 100644
> --- a/doc/custom_kernel.md
> +++ b/doc/custom_kernel.md
> @@ -51,7 +51,7 @@ 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_PROVIDED}` package to
> support user-land builds
>
> 11. Only build/ship the `linux-libc-dev` package if instructed to
> (`KERNEL_LIBC_DEV_DEPLOY` equals to `"1"`)
> diff --git a/meta/recipes-kernel/linux/files/debian/control.tmpl
> b/meta/recipes-kernel/linux/files/debian/control.tmpl
> index 04ad0f4f..a4c0ed9e 100644
> --- a/meta/recipes-kernel/linux/files/debian/control.tmpl
> +++ b/meta/recipes-kernel/linux/files/debian/control.tmpl
> @@ -22,10 +22,12 @@ 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: any
> Description: Linux support headers for userspace development
> This package provides userspaces 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 def8480e..bab41757 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 0a7bdd66..e1602b9d 100644
> --- a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl
> +++ b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl
> @@ -225,7 +225,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 bf6c879b..26fd8719 100644
> --- a/meta/recipes-kernel/linux/linux-custom.inc
> +++ b/meta/recipes-kernel/linux/linux-custom.inc
> @@ -145,7 +145,7 @@ ISAR_CROSS_COMPILE:class-kbuildtarget = "0"
> RECIPE_PROVIDES = " \
> linux-image-${KERNEL_NAME_PROVIDED} \
> linux-headers-${KERNEL_NAME_PROVIDED} \
> - linux-libc-dev \
> + linux-libc-dev-${KERNEL_NAME_PROVIDED} \
We could keep linux-libc-dev and add linux-libc-dev-
${KERNEL_NAME_PROVIDED}
> linux-libc-dev-${DISTRO_ARCH}-cross \
What about the -cross package? A similar issue may exist
> linux-image-${KERNEL_NAME_PROVIDED}-dbg \
> linux-kbuild-${KERNEL_NAME_PROVIDED} \
--
Cedric Hombourger
Siemens AG
www.siemens.com
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/8b5a84a18e2a506ad199c7c034d18dd83d5b3f3d.camel%40siemens.com.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH V2] linux-custom: support to add linux-libc-dev package with kernel name
2025-01-12 20:46 ` 'cedric.hombourger@siemens.com' via isar-users
@ 2025-01-13 8:07 ` 'Arulpandiyan Vadivel' via isar-users
2025-01-13 14:04 ` 'cedric.hombourger@siemens.com' via isar-users
0 siblings, 1 reply; 14+ messages in thread
From: 'Arulpandiyan Vadivel' via isar-users @ 2025-01-13 8:07 UTC (permalink / raw)
To: isar-users; +Cc: cedric.hombourger, srikanth.krishnakar, Arulpandiyan Vadivel
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 and a Provides: clause.
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan.vadivel@siemens.com>
---
doc/custom_kernel.md | 2 +-
meta/recipes-kernel/linux/files/debian/control.tmpl | 10 +++++++---
.../recipes-kernel/linux/files/debian/isar/common.tmpl | 4 ++--
.../linux/files/debian/isar/install.tmpl | 2 +-
meta/recipes-kernel/linux/linux-custom.inc | 2 ++
5 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/doc/custom_kernel.md b/doc/custom_kernel.md
index ce5f1bf7..89c7c088 100644
--- a/doc/custom_kernel.md
+++ b/doc/custom_kernel.md
@@ -51,7 +51,7 @@ 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_PROVIDED}` package to support user-land builds
11. Only build/ship the `linux-libc-dev` package if instructed to
(`KERNEL_LIBC_DEV_DEPLOY` equals to `"1"`)
diff --git a/meta/recipes-kernel/linux/files/debian/control.tmpl b/meta/recipes-kernel/linux/files/debian/control.tmpl
index 04ad0f4f..e440b492 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: any
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 def8480e..b200930c 100644
--- a/meta/recipes-kernel/linux/files/debian/isar/common.tmpl
+++ b/meta/recipes-kernel/linux/files/debian/isar/common.tmpl
@@ -8,8 +8,8 @@ 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_CROSS=linux-libc-dev-${DISTRO_ARCH}-cross
+KERNEL_PKG_LIBC_HEADERS=linux-libc-dev-${KERNEL_NAME_PROVIDED}
+KERNEL_PKG_LIBC_HEADERS_CROSS=linux-libc-dev-${DISTRO_ARCH}-cross-${KERNEL_NAME_PROVIDED}
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 0a7bdd66..e1602b9d 100644
--- a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl
+++ b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl
@@ -225,7 +225,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 bf6c879b..f67bba2b 100644
--- a/meta/recipes-kernel/linux/linux-custom.inc
+++ b/meta/recipes-kernel/linux/linux-custom.inc
@@ -146,7 +146,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
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/20250113080753.72286-1-arulpandiyan.vadivel%40siemens.com.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH V2] linux-custom: support to add linux-libc-dev package with kernel name
2025-01-13 8:07 ` [PATCH V2] " 'Arulpandiyan Vadivel' via isar-users
@ 2025-01-13 14:04 ` 'cedric.hombourger@siemens.com' via isar-users
2025-01-14 16:33 ` [PATCH V3] " 'Arulpandiyan Vadivel' via isar-users
0 siblings, 1 reply; 14+ messages in thread
From: 'cedric.hombourger@siemens.com' via isar-users @ 2025-01-13 14:04 UTC (permalink / raw)
To: isar-users, Vadivel, Arulpandiyan; +Cc: srikanth.krishnakar
On Mon, 2025-01-13 at 13:37 +0530, Arulpandiyan Vadivel 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
There was not "." between "their packages" and "but" in my proposal
because "but" in that context really meant "except". This changes the
meaning.
Carefully review the git commit log and make sure it makes sense. You
do not have to go with the version I proposed (was just a proposal); we
need to make sure that the problem statement and solution are clear and
relevant to isar-users
> 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 and a Provides: clause.
>
> Signed-off-by: Arulpandiyan Vadivel
> <arulpandiyan.vadivel@siemens.com>
> ---
> doc/custom_kernel.md | 2 +-
> meta/recipes-kernel/linux/files/debian/control.tmpl | 10 +++++++-
> --
> .../recipes-kernel/linux/files/debian/isar/common.tmpl | 4 ++--
> .../linux/files/debian/isar/install.tmpl | 2 +-
> meta/recipes-kernel/linux/linux-custom.inc | 2 ++
> 5 files changed, 13 insertions(+), 7 deletions(-)
>
> diff --git a/doc/custom_kernel.md b/doc/custom_kernel.md
> index ce5f1bf7..89c7c088 100644
> --- a/doc/custom_kernel.md
> +++ b/doc/custom_kernel.md
> @@ -51,7 +51,7 @@ 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_PROVIDED}` package to
> support user-land builds
>
> 11. Only build/ship the `linux-libc-dev` package if instructed to
> (`KERNEL_LIBC_DEV_DEPLOY` equals to `"1"`)
> diff --git a/meta/recipes-kernel/linux/files/debian/control.tmpl
> b/meta/recipes-kernel/linux/files/debian/control.tmpl
> index 04ad0f4f..e440b492 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: any
> 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 def8480e..b200930c 100644
> --- a/meta/recipes-kernel/linux/files/debian/isar/common.tmpl
> +++ b/meta/recipes-kernel/linux/files/debian/isar/common.tmpl
> @@ -8,8 +8,8 @@ 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_CROSS=linux-libc-dev-${DISTRO_ARCH}-cross
> +KERNEL_PKG_LIBC_HEADERS=linux-libc-dev-${KERNEL_NAME_PROVIDED}
> +KERNEL_PKG_LIBC_HEADERS_CROSS=linux-libc-dev-${DISTRO_ARCH}-cross-
> ${KERNEL_NAME_PROVIDED}
> 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 0a7bdd66..e1602b9d 100644
> --- a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl
> +++ b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl
> @@ -225,7 +225,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 bf6c879b..f67bba2b 100644
> --- a/meta/recipes-kernel/linux/linux-custom.inc
> +++ b/meta/recipes-kernel/linux/linux-custom.inc
> @@ -146,7 +146,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 \
--
Cedric Hombourger
Siemens AG
www.siemens.com
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/9e1dc2deaeefabddb25be2b2246e4a790703d1d6.camel%40siemens.com.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH V3] linux-custom: support to add linux-libc-dev package with kernel name
2025-01-13 14:04 ` 'cedric.hombourger@siemens.com' via isar-users
@ 2025-01-14 16:33 ` 'Arulpandiyan Vadivel' via isar-users
2025-01-17 13:25 ` 'Jan Kiszka' via isar-users
0 siblings, 1 reply; 14+ messages in thread
From: 'Arulpandiyan Vadivel' via isar-users @ 2025-01-14 16:33 UTC (permalink / raw)
To: isar-users; +Cc: cedric.hombourger, srikanth.krishnakar, Arulpandiyan Vadivel
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 and a Provides: clause.
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan.vadivel@siemens.com>
---
Changes since v2
- Updated commit message as suggested
- Added KERNEL_NAME_PROVIDED for cross packages of linux-libc-dev as well
---
doc/custom_kernel.md | 2 +-
meta/recipes-kernel/linux/files/debian/control.tmpl | 10 +++++++---
.../recipes-kernel/linux/files/debian/isar/common.tmpl | 4 ++--
.../linux/files/debian/isar/install.tmpl | 2 +-
meta/recipes-kernel/linux/linux-custom.inc | 2 ++
5 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/doc/custom_kernel.md b/doc/custom_kernel.md
index ce5f1bf7..89c7c088 100644
--- a/doc/custom_kernel.md
+++ b/doc/custom_kernel.md
@@ -51,7 +51,7 @@ 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_PROVIDED}` package to support user-land builds
11. Only build/ship the `linux-libc-dev` package if instructed to
(`KERNEL_LIBC_DEV_DEPLOY` equals to `"1"`)
diff --git a/meta/recipes-kernel/linux/files/debian/control.tmpl b/meta/recipes-kernel/linux/files/debian/control.tmpl
index 04ad0f4f..e440b492 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: any
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 def8480e..b200930c 100644
--- a/meta/recipes-kernel/linux/files/debian/isar/common.tmpl
+++ b/meta/recipes-kernel/linux/files/debian/isar/common.tmpl
@@ -8,8 +8,8 @@ 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_CROSS=linux-libc-dev-${DISTRO_ARCH}-cross
+KERNEL_PKG_LIBC_HEADERS=linux-libc-dev-${KERNEL_NAME_PROVIDED}
+KERNEL_PKG_LIBC_HEADERS_CROSS=linux-libc-dev-${DISTRO_ARCH}-cross-${KERNEL_NAME_PROVIDED}
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 0a7bdd66..e1602b9d 100644
--- a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl
+++ b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl
@@ -225,7 +225,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 bf6c879b..f67bba2b 100644
--- a/meta/recipes-kernel/linux/linux-custom.inc
+++ b/meta/recipes-kernel/linux/linux-custom.inc
@@ -146,7 +146,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
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/20250114163337.77749-1-arulpandiyan.vadivel%40siemens.com.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH V3] linux-custom: support to add linux-libc-dev package with kernel name
2025-01-14 16:33 ` [PATCH V3] " 'Arulpandiyan Vadivel' via isar-users
@ 2025-01-17 13:25 ` 'Jan Kiszka' via isar-users
2025-01-17 17:37 ` 'Arulpandiyan Vadivel' via isar-users
0 siblings, 1 reply; 14+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-01-17 13:25 UTC (permalink / raw)
To: Arulpandiyan Vadivel, isar-users; +Cc: cedric.hombourger, srikanth.krishnakar
On 14.01.25 17:33, '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 and a Provides: clause.
>
> Signed-off-by: Arulpandiyan Vadivel <arulpandiyan.vadivel@siemens.com>
> ---
> Changes since v2
> - Updated commit message as suggested
> - Added KERNEL_NAME_PROVIDED for cross packages of linux-libc-dev as well
> ---
> doc/custom_kernel.md | 2 +-
> meta/recipes-kernel/linux/files/debian/control.tmpl | 10 +++++++---
> .../recipes-kernel/linux/files/debian/isar/common.tmpl | 4 ++--
> .../linux/files/debian/isar/install.tmpl | 2 +-
> meta/recipes-kernel/linux/linux-custom.inc | 2 ++
> 5 files changed, 13 insertions(+), 7 deletions(-)
>
> diff --git a/doc/custom_kernel.md b/doc/custom_kernel.md
> index ce5f1bf7..89c7c088 100644
> --- a/doc/custom_kernel.md
> +++ b/doc/custom_kernel.md
> @@ -51,7 +51,7 @@ 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_PROVIDED}` package to support user-land builds
>
Why changing the name here
> 11. Only build/ship the `linux-libc-dev` package if instructed to
but not here? Also, KERNEL_NAME_PROVIDED is not introduced in this
document, or in any other manual.
> (`KERNEL_LIBC_DEV_DEPLOY` equals to `"1"`)
> diff --git a/meta/recipes-kernel/linux/files/debian/control.tmpl b/meta/recipes-kernel/linux/files/debian/control.tmpl
> index 04ad0f4f..e440b492 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: any
> 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 def8480e..b200930c 100644
> --- a/meta/recipes-kernel/linux/files/debian/isar/common.tmpl
> +++ b/meta/recipes-kernel/linux/files/debian/isar/common.tmpl
> @@ -8,8 +8,8 @@ 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_CROSS=linux-libc-dev-${DISTRO_ARCH}-cross
> +KERNEL_PKG_LIBC_HEADERS=linux-libc-dev-${KERNEL_NAME_PROVIDED}
> +KERNEL_PKG_LIBC_HEADERS_CROSS=linux-libc-dev-${DISTRO_ARCH}-cross-${KERNEL_NAME_PROVIDED}
> 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 0a7bdd66..e1602b9d 100644
> --- a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl
> +++ b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl
> @@ -225,7 +225,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 bf6c879b..f67bba2b 100644
> --- a/meta/recipes-kernel/linux/linux-custom.inc
> +++ b/meta/recipes-kernel/linux/linux-custom.inc
> @@ -146,7 +146,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 \
The logic of the changes makes sense to me - given that very special
(and surely not recommendable) situation you have. But a
RECIPE-API-CHANGELOG.md entry is missing.
Jan
--
Siemens AG, Foundational Technologies
Linux Expert Center
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/073e7edb-8033-43b1-9124-247bb3350671%40siemens.com.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH V3] linux-custom: support to add linux-libc-dev package with kernel name
2025-01-17 13:25 ` 'Jan Kiszka' via isar-users
@ 2025-01-17 17:37 ` 'Arulpandiyan Vadivel' via isar-users
2025-01-17 17:40 ` 'Jan Kiszka' via isar-users
0 siblings, 1 reply; 14+ messages in thread
From: 'Arulpandiyan Vadivel' via isar-users @ 2025-01-17 17:37 UTC (permalink / raw)
To: isar-users; +Cc: cedric.hombourger, srikanth.krishnakar, Arulpandiyan Vadivel
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>
---
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(-)
diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md
index f310553a..5d470c94 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_PROVIDED
+
+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_PROVIDED}` and
+`linux-libc-dev-cross-${KERNEL_NAME_PROVIDED}`.
+For example, If `KERNEL_NAME_PROVIDED` 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..ade4ad7a 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_PROVIDED}` 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_PROVIDED}` 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/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
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/20250117173715.89204-1-arulpandiyan.vadivel%40siemens.com.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH V3] linux-custom: support to add linux-libc-dev package with kernel name
2025-01-17 17:37 ` 'Arulpandiyan Vadivel' via isar-users
@ 2025-01-17 17:40 ` 'Jan Kiszka' via isar-users
2025-01-17 17:44 ` 'Jan Kiszka' via isar-users
0 siblings, 1 reply; 14+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-01-17 17:40 UTC (permalink / raw)
To: Arulpandiyan Vadivel, isar-users; +Cc: cedric.hombourger, srikanth.krishnakar
On 17.01.25 18:37, '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>
> ---
> 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(-)
>
> diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md
> index f310553a..5d470c94 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_PROVIDED
> +
> +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_PROVIDED}` and
> +`linux-libc-dev-cross-${KERNEL_NAME_PROVIDED}`.
> +For example, If `KERNEL_NAME_PROVIDED` 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..ade4ad7a 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_PROVIDED}` package to support user-land builds
KERNEL_NAME - this is what the user will deal with. KERNEL_NAME_PROVIDED
is internal to the kernel recipes.
>
> - 11. Only build/ship the `linux-libc-dev` package if instructed to
> + 11. Only build/ship the `linux-libc-dev-${KERNEL_NAME_PROVIDED}` package if instructed to
> (`KERNEL_LIBC_DEV_DEPLOY` equals to `"1"`)
Same here.
>
> 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/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 \
Jan
--
Siemens AG, Foundational Technologies
Linux Expert Center
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/447a6a96-6df0-43bd-878c-0288abb036af%40siemens.com.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH V3] linux-custom: support to add linux-libc-dev package with kernel name
2025-01-17 17:40 ` 'Jan Kiszka' via isar-users
@ 2025-01-17 17:44 ` 'Jan Kiszka' via isar-users
2025-01-17 17:59 ` 'Arulpandiyan Vadivel' via isar-users
2025-01-17 18:02 ` [PATCH V4] " 'Arulpandiyan Vadivel' via isar-users
0 siblings, 2 replies; 14+ messages in thread
From: 'Jan Kiszka' via isar-users @ 2025-01-17 17:44 UTC (permalink / raw)
To: Arulpandiyan Vadivel, isar-users; +Cc: cedric.hombourger, srikanth.krishnakar
On 17.01.25 18:40, Jan Kiszka wrote:
> On 17.01.25 18:37, '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>
>> ---
>> 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(-)
>>
>> diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md
>> index f310553a..5d470c94 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_PROVIDED
>> +
>> +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_PROVIDED}` and
>> +`linux-libc-dev-cross-${KERNEL_NAME_PROVIDED}`.
>> +For example, If `KERNEL_NAME_PROVIDED` 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.
And for explaining this situation better, have a look at
https://github.com/ilbers/isar/blob/master/RECIPE-API-CHANGELOG.md#using-custom-package-name-for-linux-kernel-and-headers
Jan
>> diff --git a/doc/custom_kernel.md b/doc/custom_kernel.md
>> index ce5f1bf7..ade4ad7a 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_PROVIDED}` package to support user-land builds
>
> KERNEL_NAME - this is what the user will deal with. KERNEL_NAME_PROVIDED
> is internal to the kernel recipes.
>
>>
>> - 11. Only build/ship the `linux-libc-dev` package if instructed to
>> + 11. Only build/ship the `linux-libc-dev-${KERNEL_NAME_PROVIDED}` package if instructed to
>> (`KERNEL_LIBC_DEV_DEPLOY` equals to `"1"`)
>
> Same here.
>
>>
>> 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/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 \
>
> Jan
>
--
Siemens AG, Foundational Technologies
Linux Expert Center
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/e39cf095-ba9f-4249-b532-ab0aa9ae76c3%40siemens.com.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH V3] linux-custom: support to add linux-libc-dev package with kernel name
2025-01-17 17:44 ` 'Jan Kiszka' via isar-users
@ 2025-01-17 17:59 ` 'Arulpandiyan Vadivel' via isar-users
2025-01-17 18:02 ` [PATCH V4] " 'Arulpandiyan Vadivel' via isar-users
1 sibling, 0 replies; 14+ messages in thread
From: 'Arulpandiyan Vadivel' via isar-users @ 2025-01-17 17:59 UTC (permalink / raw)
To: isar-users; +Cc: cedric.hombourger, srikanth.krishnakar, Arulpandiyan Vadivel
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(-)
diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md
index f310553a..5d470c94 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_PROVIDED
+
+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_PROVIDED}` and
+`linux-libc-dev-cross-${KERNEL_NAME_PROVIDED}`.
+For example, If `KERNEL_NAME_PROVIDED` 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..ade4ad7a 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_PROVIDED}` 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_PROVIDED}` 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/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
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/20250117175935.90086-1-arulpandiyan.vadivel%40siemens.com.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH V4] linux-custom: support to add linux-libc-dev package with kernel name
2025-01-17 17:44 ` 'Jan Kiszka' via isar-users
2025-01-17 17:59 ` 'Arulpandiyan Vadivel' via isar-users
@ 2025-01-17 18:02 ` 'Arulpandiyan Vadivel' via isar-users
2025-01-21 9:47 ` [PATCH] " 'Arulpandiyan Vadivel' via isar-users
1 sibling, 1 reply; 14+ messages in thread
From: 'Arulpandiyan Vadivel' via isar-users @ 2025-01-17 18:02 UTC (permalink / raw)
To: isar-users; +Cc: cedric.hombourger, srikanth.krishnakar, Arulpandiyan Vadivel
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(-)
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/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
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/20250117180207.90250-1-arulpandiyan.vadivel%40siemens.com.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH] linux-custom: support to add linux-libc-dev package with kernel name
2025-01-17 18:02 ` [PATCH V4] " 'Arulpandiyan Vadivel' via isar-users
@ 2025-01-21 9:47 ` 'Arulpandiyan Vadivel' via isar-users
2025-02-06 11:50 ` 'Vadivel, Arulpandiyan' via isar-users
2025-02-07 7:48 ` Uladzimir Bely
0 siblings, 2 replies; 14+ messages in thread
From: 'Arulpandiyan Vadivel' via isar-users @ 2025-01-21 9:47 UTC (permalink / raw)
To: isar-users; +Cc: cedric.hombourger, srikanth.krishnakar, Arulpandiyan Vadivel
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
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/20250121094736.99179-1-arulpandiyan.vadivel%40siemens.com.
^ permalink raw reply [flat|nested] 14+ messages in thread
* RE: [PATCH] linux-custom: support to add linux-libc-dev package with kernel name
2025-01-21 9:47 ` [PATCH] " 'Arulpandiyan Vadivel' via isar-users
@ 2025-02-06 11:50 ` 'Vadivel, Arulpandiyan' via isar-users
2025-02-07 7:48 ` Uladzimir Bely
1 sibling, 0 replies; 14+ messages in thread
From: 'Vadivel, Arulpandiyan' via isar-users @ 2025-02-06 11:50 UTC (permalink / raw)
To: isar-users; +Cc: cedric.hombourger, srikanth.krishnakar, ubely
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
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/SEZPR06MB5000FEB1788543F684D5BB749AF62%40SEZPR06MB5000.apcprd06.prod.outlook.com.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] linux-custom: support to add linux-libc-dev package with kernel name
2025-01-21 9:47 ` [PATCH] " 'Arulpandiyan Vadivel' via isar-users
2025-02-06 11:50 ` 'Vadivel, Arulpandiyan' via isar-users
@ 2025-02-07 7:48 ` Uladzimir Bely
1 sibling, 0 replies; 14+ messages in thread
From: Uladzimir Bely @ 2025-02-07 7:48 UTC (permalink / raw)
To: Arulpandiyan Vadivel, isar-users
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.
--
Best regards,
Uladzimir.
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/ef269256329920679936e19979be59ab65ef6c16.camel%40ilbers.de.
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2025-02-07 7:48 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-01-12 19:00 [PATCH] linux-custom: support to add linux-libc-dev package with kernel name 'Arulpandiyan Vadivel' via isar-users
2025-01-12 20:46 ` 'cedric.hombourger@siemens.com' via isar-users
2025-01-13 8:07 ` [PATCH V2] " 'Arulpandiyan Vadivel' via isar-users
2025-01-13 14:04 ` 'cedric.hombourger@siemens.com' via isar-users
2025-01-14 16:33 ` [PATCH V3] " 'Arulpandiyan Vadivel' via isar-users
2025-01-17 13:25 ` 'Jan Kiszka' via isar-users
2025-01-17 17:37 ` 'Arulpandiyan Vadivel' via isar-users
2025-01-17 17:40 ` 'Jan Kiszka' via isar-users
2025-01-17 17:44 ` 'Jan Kiszka' via isar-users
2025-01-17 17:59 ` 'Arulpandiyan Vadivel' via isar-users
2025-01-17 18:02 ` [PATCH V4] " 'Arulpandiyan Vadivel' via isar-users
2025-01-21 9:47 ` [PATCH] " 'Arulpandiyan Vadivel' via isar-users
2025-02-06 11:50 ` 'Vadivel, Arulpandiyan' via isar-users
2025-02-07 7:48 ` Uladzimir Bely
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox