* [PATCH v3 0/4] propagate distro-specific dependencies of arch all packages
@ 2025-11-06 14:11 'Felix Moessbauer' via isar-users
2025-11-06 14:11 ` [PATCH v3 1/4] linux-custom: prefix profile names according to BuildProfileSpec 'Felix Moessbauer' via isar-users
` (4 more replies)
0 siblings, 5 replies; 9+ messages in thread
From: 'Felix Moessbauer' via isar-users @ 2025-11-06 14:11 UTC (permalink / raw)
To: isar-users; +Cc: stefan-koch, jan.kiszka, anaumann, Felix Moessbauer
Changes since v2:
Fix root cause of linux-module build errors on cross:
The previous linux-custom recipe used the cross profile also to control
which packages are built in a cross setting, which is fundamentally wrong.
We now split this custom profile off the official one and attach it to the
cross-profile logic of linux-custom (which refers to "we are in a
HOST_ARCH != DISTRO_ARCH setting" instead of we are cross-compiling this
package). The cleanup is done in two stages: First, we properly prefix
all used custom build profiles according to the build profile spec (p1),
second we split off the cross profile (p2).
@Stefan: It would be great if you could test this series on your original
use case.
Best regards,
Felix
Felix Moessbauer (2):
linux-custom: prefix profile names according to BuildProfileSpec
linux-custom: fix name collision on cross profile
do not add cross profile when building native package
propagate distro-specific dependencies of arch all packages
meta/classes/dpkg-base.bbclass | 2 +-
meta/classes/multiarch.bbclass | 10 ++++---
.../linux/files/debian/control.tmpl | 16 +++++------
.../linux/files/debian/isar/install.tmpl | 2 +-
meta/recipes-kernel/linux/linux-custom.inc | 27 ++++++++++++-------
5 files changed, 33 insertions(+), 24 deletions(-)
--
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/20251106141122.2887558-1-felix.moessbauer%40siemens.com.
^ permalink raw reply [flat|nested] 9+ messages in thread* [PATCH v3 1/4] linux-custom: prefix profile names according to BuildProfileSpec 2025-11-06 14:11 [PATCH v3 0/4] propagate distro-specific dependencies of arch all packages 'Felix Moessbauer' via isar-users @ 2025-11-06 14:11 ` 'Felix Moessbauer' via isar-users 2025-11-06 16:55 ` 'Jan Kiszka' via isar-users 2025-11-06 14:11 ` [PATCH v3 2/4] linux-custom: fix name collision on cross profile 'Felix Moessbauer' via isar-users ` (3 subsequent siblings) 4 siblings, 1 reply; 9+ messages in thread From: 'Felix Moessbauer' via isar-users @ 2025-11-06 14:11 UTC (permalink / raw) To: isar-users; +Cc: stefan-koch, jan.kiszka, anaumann, Felix Moessbauer We introduce custom profiles to control which packages are build from a custom kernel source package. To avoid collisions with upstream profile names, we have to use BuildProfileSpec compatible profile names [1]. [1] https://wiki.debian.org/BuildProfileSpec#Registered_profile_names Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com> --- .../linux/files/debian/control.tmpl | 16 ++++++++-------- .../linux/files/debian/isar/install.tmpl | 2 +- meta/recipes-kernel/linux/linux-custom.inc | 17 +++++++++-------- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/meta/recipes-kernel/linux/files/debian/control.tmpl b/meta/recipes-kernel/linux/files/debian/control.tmpl index 78e95105..01b1a63f 100644 --- a/meta/recipes-kernel/linux/files/debian/control.tmpl +++ b/meta/recipes-kernel/linux/files/debian/control.tmpl @@ -1,4 +1,4 @@ -Source: linux-${KERNEL_NAME_PROVIDED} +Source: ${BPN} Section: kernel Priority: optional Maintainer: ${MAINTAINER} @@ -7,7 +7,7 @@ Homepage: http://www.kernel.org/ Rules-Requires-Root: no Package: linux-image-${KERNEL_NAME_PROVIDED} -Build-Profiles: <kernel> +Build-Profiles: <pkg.${BPN}.kernel> Architecture: any Depends: ${KERNEL_DEBIAN_DEPENDS} Description: ${KERNEL_NAME_PROVIDED} Linux kernel, version @KR@ @@ -15,7 +15,7 @@ Description: ${KERNEL_NAME_PROVIDED} Linux kernel, version @KR@ files, version: @KR@. Package: linux-headers-${KERNEL_NAME_PROVIDED} -Build-Profiles: <kernel> +Build-Profiles: <pkg.${BPN}.kernel> Architecture: any Depends: ${KERNEL_HEADERS_DEBIAN_DEPENDS}, ${perl:Depends}, ${shlibs:Depends} Description: ${KERNEL_NAME_PROVIDED} Linux kernel headers for @KR@ @@ -24,7 +24,7 @@ Description: ${KERNEL_NAME_PROVIDED} Linux kernel headers for @KR@ This is useful for people who need to build external modules Package: linux-libc-dev -Build-Profiles: <!nolibcdev kernel> +Build-Profiles: <!pkg.${BPN}.nolibcdev pkg.${BPN}.kernel> Section: devel Provides: linux-kernel-headers Architecture: ${KERNEL_LIBC_DEV_ARCH} @@ -33,7 +33,7 @@ Description: Linux support headers for userspace development are used by the installed headers for GNU glibc and other system libraries. Package: linux-libc-dev-${DISTRO_ARCH}-cross -Build-Profiles: <!nolibcdev cross !kbuild> +Build-Profiles: <!pkg.${BPN}.nolibcdev cross !pkg.${BPN}.kbuild> Section: devel Provides: linux-kernel-headers-${DISTRO_ARCH}-cross Architecture: all @@ -45,7 +45,7 @@ Description: Linux Kernel Headers for development (for cross-compiling) your kernel. Use linux-headers-* packages for that. Package: linux-image-${KERNEL_NAME_PROVIDED}-dbg -Build-Profiles: <kernel> +Build-Profiles: <pkg.${BPN}.kernel> Section: debug Architecture: any Description: Linux kernel debugging symbols for @KR@ @@ -53,7 +53,7 @@ Description: Linux kernel debugging symbols for @KR@ all the necessary debug symbols for the kernel and its modules. Package: linux-kbuild-${KERNEL_NAME_PROVIDED} -Build-Profiles: <kbuild !cross> +Build-Profiles: <pkg.${BPN}.kbuild !cross> Architecture: any Depends: ${perl:Depends}, ${shlibs:Depends} Description: ${KERNEL_NAME_PROVIDED} Linux kbuild scripts and tools for @KR@ @@ -61,7 +61,7 @@ Description: ${KERNEL_NAME_PROVIDED} Linux kbuild scripts and tools for @KR@ This is useful for people who need to build external modules Package: linux-kbuild-${KERNEL_NAME_PROVIDED}-${DISTRO_ARCH}-cross -Build-Profiles: <kbuild cross> +Build-Profiles: <pkg.${BPN}.kbuild cross> Architecture: any Multi-Arch: foreign Depends: ${perl:Depends}, ${shlibs:Depends} diff --git a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl index fe0bd810..a1b00d39 100644 --- a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl +++ b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl @@ -168,7 +168,7 @@ headers_check() { libc_headers() { mkdir -p ${deb_libc_hdr_dir} arches="${DISTRO_ARCH}" - if echo "${DEB_BUILD_PROFILES}" | grep -q "libcdev-arch-all"; then + if echo "${DEB_BUILD_PROFILES}" | grep -q "pkg.${BPN}.libcdev-arch-all"; then arches="amd64 armhf arm64 i386 mipsel riscv64" fi for distro_arch in ${arches}; do diff --git a/meta/recipes-kernel/linux/linux-custom.inc b/meta/recipes-kernel/linux/linux-custom.inc index f2892921..1f46bb31 100644 --- a/meta/recipes-kernel/linux/linux-custom.inc +++ b/meta/recipes-kernel/linux/linux-custom.inc @@ -28,7 +28,7 @@ KBUILD_DEPENDS ?= "build-essential:native, \ flex, \ git, \ kmod, \ - linux-image-${KERNEL_NAME_PROVIDED}:${DISTRO_ARCH} <kbuild !kernel>, \ + linux-image-${KERNEL_NAME_PROVIDED}:${DISTRO_ARCH} <pkg.${BPN}.kbuild !pkg.${BPN}.kernel>, \ rsync," KERNEL_DEBIAN_DEPENDS ?= "initramfs-tools | linux-initramfs-tool, \ @@ -73,6 +73,7 @@ TEMPLATE_FILES += " \ " TEMPLATE_VARS += " \ + BPN \ KBUILD_DEPENDS \ KERNEL_ARCH \ KERNEL_DEBIAN_DEPENDS \ @@ -114,17 +115,17 @@ python() { } # Default profiles and provides -BUILD_PROFILES = "kernel kbuild" +BUILD_PROFILES = "pkg.${BPN}.kernel pkg.${BPN}.kbuild" # We only offer the -kbuildtarget variant when actually cross compiling BBCLASSEXTEND:append:cross-profile = " kbuildtarget" # When cross-profile is active: # build only kernel (including config) with the default variant of the recipe -BUILD_PROFILES:cross-profile = "kernel" +BUILD_PROFILES:cross-profile = "pkg.${BPN}.kernel" # -native: kbuild package for host -BUILD_PROFILES:class-native = "kbuild" +BUILD_PROFILES:class-native = "pkg.${BPN}.kbuild" RECIPE_PROVIDES:class-native = " \ linux-headers-${KERNEL_NAME_PROVIDED} \ linux-kbuild-${KERNEL_NAME_PROVIDED}" @@ -135,7 +136,7 @@ RECIPE_PROVIDES:class-native = " \ DEPENDS:class-native += "${BPN}-pseudo" # -kbuildtarget: kbuild package for target, enforcing non-cross-build -BUILD_PROFILES:class-kbuildtarget = "kbuild" +BUILD_PROFILES:class-kbuildtarget = "pkg.${BPN}.kbuild" RECIPE_PROVIDES:class-kbuildtarget = " \ linux-headers-${KERNEL_NAME_PROVIDED} \ linux-kbuild-${KERNEL_NAME_PROVIDED}" @@ -214,12 +215,12 @@ def config_fragments(d): def get_additional_build_profiles(d): profiles = d.getVar('BASE_DISTRO') if not bb.utils.to_boolean(d.getVar('KERNEL_LIBC_DEV_DEPLOY')): - profiles += ' nolibcdev' + profiles += ' pkg.{}.nolibcdev'.format(d.getVar('BPN')) elif bb.utils.to_boolean(d.getVar('KERNEL_LIBC_DEV_ARCH_ALL')): - profiles += ' libcdev-arch-all' + profiles += ' pkg.{}.libcdev-arch-all'.format(d.getVar('BPN')) return profiles -KERNEL_LIBC_DEV_ARCH = "${@ bb.utils.contains('DEB_BUILD_PROFILES', 'libcdev-arch-all', 'all\nMulti-Arch: foreign', 'any', d) }" +KERNEL_LIBC_DEV_ARCH = "${@ bb.utils.contains('DEB_BUILD_PROFILES', 'pkg.{}.libcdev-arch-all'.format(d.getVar('BPN')), 'all\nMulti-Arch: foreign', 'any', d) }" DEB_BUILD_PROFILES += "${@get_additional_build_profiles(d)}" do_prepare_build:prepend() { -- 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/20251106141122.2887558-2-felix.moessbauer%40siemens.com. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3 1/4] linux-custom: prefix profile names according to BuildProfileSpec 2025-11-06 14:11 ` [PATCH v3 1/4] linux-custom: prefix profile names according to BuildProfileSpec 'Felix Moessbauer' via isar-users @ 2025-11-06 16:55 ` 'Jan Kiszka' via isar-users 2025-11-07 8:19 ` 'MOESSBAUER, Felix' via isar-users 0 siblings, 1 reply; 9+ messages in thread From: 'Jan Kiszka' via isar-users @ 2025-11-06 16:55 UTC (permalink / raw) To: Felix Moessbauer, isar-users; +Cc: stefan-koch, anaumann On 06.11.25 15:11, Felix Moessbauer wrote: > We introduce custom profiles to control which packages are build from a > custom kernel source package. To avoid collisions with upstream profile > names, we have to use BuildProfileSpec compatible profile names [1]. > > [1] https://wiki.debian.org/BuildProfileSpec#Registered_profile_names > > Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com> > --- > .../linux/files/debian/control.tmpl | 16 ++++++++-------- > .../linux/files/debian/isar/install.tmpl | 2 +- > meta/recipes-kernel/linux/linux-custom.inc | 17 +++++++++-------- > 3 files changed, 18 insertions(+), 17 deletions(-) > > diff --git a/meta/recipes-kernel/linux/files/debian/control.tmpl b/meta/recipes-kernel/linux/files/debian/control.tmpl > index 78e95105..01b1a63f 100644 > --- a/meta/recipes-kernel/linux/files/debian/control.tmpl > +++ b/meta/recipes-kernel/linux/files/debian/control.tmpl > @@ -1,4 +1,4 @@ > -Source: linux-${KERNEL_NAME_PROVIDED} > +Source: ${BPN} Is this change related? Does it actually change anything in practice? If so, the commit message should elaborate more. > Section: kernel > Priority: optional > Maintainer: ${MAINTAINER} > @@ -7,7 +7,7 @@ Homepage: http://www.kernel.org/ > Rules-Requires-Root: no > > Package: linux-image-${KERNEL_NAME_PROVIDED} > -Build-Profiles: <kernel> > +Build-Profiles: <pkg.${BPN}.kernel> > Architecture: any > Depends: ${KERNEL_DEBIAN_DEPENDS} > Description: ${KERNEL_NAME_PROVIDED} Linux kernel, version @KR@ > @@ -15,7 +15,7 @@ Description: ${KERNEL_NAME_PROVIDED} Linux kernel, version @KR@ > files, version: @KR@. > > Package: linux-headers-${KERNEL_NAME_PROVIDED} > -Build-Profiles: <kernel> > +Build-Profiles: <pkg.${BPN}.kernel> > Architecture: any > Depends: ${KERNEL_HEADERS_DEBIAN_DEPENDS}, ${perl:Depends}, ${shlibs:Depends} > Description: ${KERNEL_NAME_PROVIDED} Linux kernel headers for @KR@ > @@ -24,7 +24,7 @@ Description: ${KERNEL_NAME_PROVIDED} Linux kernel headers for @KR@ > This is useful for people who need to build external modules > > Package: linux-libc-dev > -Build-Profiles: <!nolibcdev kernel> > +Build-Profiles: <!pkg.${BPN}.nolibcdev pkg.${BPN}.kernel> > Section: devel > Provides: linux-kernel-headers > Architecture: ${KERNEL_LIBC_DEV_ARCH} > @@ -33,7 +33,7 @@ Description: Linux support headers for userspace development > are used by the installed headers for GNU glibc and other system libraries. > > Package: linux-libc-dev-${DISTRO_ARCH}-cross > -Build-Profiles: <!nolibcdev cross !kbuild> > +Build-Profiles: <!pkg.${BPN}.nolibcdev cross !pkg.${BPN}.kbuild> > Section: devel > Provides: linux-kernel-headers-${DISTRO_ARCH}-cross > Architecture: all > @@ -45,7 +45,7 @@ Description: Linux Kernel Headers for development (for cross-compiling) > your kernel. Use linux-headers-* packages for that. > > Package: linux-image-${KERNEL_NAME_PROVIDED}-dbg > -Build-Profiles: <kernel> > +Build-Profiles: <pkg.${BPN}.kernel> > Section: debug > Architecture: any > Description: Linux kernel debugging symbols for @KR@ > @@ -53,7 +53,7 @@ Description: Linux kernel debugging symbols for @KR@ > all the necessary debug symbols for the kernel and its modules. > > Package: linux-kbuild-${KERNEL_NAME_PROVIDED} > -Build-Profiles: <kbuild !cross> > +Build-Profiles: <pkg.${BPN}.kbuild !cross> > Architecture: any > Depends: ${perl:Depends}, ${shlibs:Depends} > Description: ${KERNEL_NAME_PROVIDED} Linux kbuild scripts and tools for @KR@ > @@ -61,7 +61,7 @@ Description: ${KERNEL_NAME_PROVIDED} Linux kbuild scripts and tools for @KR@ > This is useful for people who need to build external modules > > Package: linux-kbuild-${KERNEL_NAME_PROVIDED}-${DISTRO_ARCH}-cross > -Build-Profiles: <kbuild cross> > +Build-Profiles: <pkg.${BPN}.kbuild cross> > Architecture: any > Multi-Arch: foreign > Depends: ${perl:Depends}, ${shlibs:Depends} > diff --git a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl > index fe0bd810..a1b00d39 100644 > --- a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl > +++ b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl > @@ -168,7 +168,7 @@ headers_check() { > libc_headers() { > mkdir -p ${deb_libc_hdr_dir} > arches="${DISTRO_ARCH}" > - if echo "${DEB_BUILD_PROFILES}" | grep -q "libcdev-arch-all"; then > + if echo "${DEB_BUILD_PROFILES}" | grep -q "pkg.${BPN}.libcdev-arch-all"; then > arches="amd64 armhf arm64 i386 mipsel riscv64" > fi > for distro_arch in ${arches}; do > diff --git a/meta/recipes-kernel/linux/linux-custom.inc b/meta/recipes-kernel/linux/linux-custom.inc > index f2892921..1f46bb31 100644 > --- a/meta/recipes-kernel/linux/linux-custom.inc > +++ b/meta/recipes-kernel/linux/linux-custom.inc > @@ -28,7 +28,7 @@ KBUILD_DEPENDS ?= "build-essential:native, \ > flex, \ > git, \ > kmod, \ > - linux-image-${KERNEL_NAME_PROVIDED}:${DISTRO_ARCH} <kbuild !kernel>, \ > + linux-image-${KERNEL_NAME_PROVIDED}:${DISTRO_ARCH} <pkg.${BPN}.kbuild !pkg.${BPN}.kernel>, \ > rsync," > > KERNEL_DEBIAN_DEPENDS ?= "initramfs-tools | linux-initramfs-tool, \ > @@ -73,6 +73,7 @@ TEMPLATE_FILES += " \ > " > > TEMPLATE_VARS += " \ > + BPN \ > KBUILD_DEPENDS \ > KERNEL_ARCH \ > KERNEL_DEBIAN_DEPENDS \ > @@ -114,17 +115,17 @@ python() { > } > > # Default profiles and provides > -BUILD_PROFILES = "kernel kbuild" > +BUILD_PROFILES = "pkg.${BPN}.kernel pkg.${BPN}.kbuild" > > # We only offer the -kbuildtarget variant when actually cross compiling > BBCLASSEXTEND:append:cross-profile = " kbuildtarget" > > # When cross-profile is active: > # build only kernel (including config) with the default variant of the recipe > -BUILD_PROFILES:cross-profile = "kernel" > +BUILD_PROFILES:cross-profile = "pkg.${BPN}.kernel" > > # -native: kbuild package for host > -BUILD_PROFILES:class-native = "kbuild" > +BUILD_PROFILES:class-native = "pkg.${BPN}.kbuild" > RECIPE_PROVIDES:class-native = " \ > linux-headers-${KERNEL_NAME_PROVIDED} \ > linux-kbuild-${KERNEL_NAME_PROVIDED}" > @@ -135,7 +136,7 @@ RECIPE_PROVIDES:class-native = " \ > DEPENDS:class-native += "${BPN}-pseudo" > > # -kbuildtarget: kbuild package for target, enforcing non-cross-build > -BUILD_PROFILES:class-kbuildtarget = "kbuild" > +BUILD_PROFILES:class-kbuildtarget = "pkg.${BPN}.kbuild" > RECIPE_PROVIDES:class-kbuildtarget = " \ > linux-headers-${KERNEL_NAME_PROVIDED} \ > linux-kbuild-${KERNEL_NAME_PROVIDED}" > @@ -214,12 +215,12 @@ def config_fragments(d): > def get_additional_build_profiles(d): > profiles = d.getVar('BASE_DISTRO') > if not bb.utils.to_boolean(d.getVar('KERNEL_LIBC_DEV_DEPLOY')): > - profiles += ' nolibcdev' > + profiles += ' pkg.{}.nolibcdev'.format(d.getVar('BPN')) > elif bb.utils.to_boolean(d.getVar('KERNEL_LIBC_DEV_ARCH_ALL')): > - profiles += ' libcdev-arch-all' > + profiles += ' pkg.{}.libcdev-arch-all'.format(d.getVar('BPN')) > return profiles > > -KERNEL_LIBC_DEV_ARCH = "${@ bb.utils.contains('DEB_BUILD_PROFILES', 'libcdev-arch-all', 'all\nMulti-Arch: foreign', 'any', d) }" > +KERNEL_LIBC_DEV_ARCH = "${@ bb.utils.contains('DEB_BUILD_PROFILES', 'pkg.{}.libcdev-arch-all'.format(d.getVar('BPN')), 'all\nMulti-Arch: foreign', 'any', d) }" > DEB_BUILD_PROFILES += "${@get_additional_build_profiles(d)}" > > do_prepare_build:prepend() { 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/52e9a304-eb51-41d7-a029-9bc060f50d4b%40siemens.com. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3 1/4] linux-custom: prefix profile names according to BuildProfileSpec 2025-11-06 16:55 ` 'Jan Kiszka' via isar-users @ 2025-11-07 8:19 ` 'MOESSBAUER, Felix' via isar-users 0 siblings, 0 replies; 9+ messages in thread From: 'MOESSBAUER, Felix' via isar-users @ 2025-11-07 8:19 UTC (permalink / raw) To: isar-users, Kiszka, Jan; +Cc: Koch, Stefan, anaumann On Thu, 2025-11-06 at 17:55 +0100, Jan Kiszka wrote: > On 06.11.25 15:11, Felix Moessbauer wrote: > > We introduce custom profiles to control which packages are build from a > > custom kernel source package. To avoid collisions with upstream profile > > names, we have to use BuildProfileSpec compatible profile names [1]. > > > > [1] https://wiki.debian.org/BuildProfileSpec#Registered_profile_names > > > > Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com> > > --- > > .../linux/files/debian/control.tmpl | 16 ++++++++-------- > > .../linux/files/debian/isar/install.tmpl | 2 +- > > meta/recipes-kernel/linux/linux-custom.inc | 17 +++++++++-------- > > 3 files changed, 18 insertions(+), 17 deletions(-) > > > > diff --git a/meta/recipes-kernel/linux/files/debian/control.tmpl b/meta/recipes-kernel/linux/files/debian/control.tmpl > > index 78e95105..01b1a63f 100644 > > --- a/meta/recipes-kernel/linux/files/debian/control.tmpl > > +++ b/meta/recipes-kernel/linux/files/debian/control.tmpl > > @@ -1,4 +1,4 @@ > > -Source: linux-${KERNEL_NAME_PROVIDED} > > +Source: ${BPN} > > Is this change related? Does it actually change anything in practice? If > so, the commit message should elaborate more. In practice there is no change, as the BPN carries exactly the same value as linux-${KERNEL_NAME_PROVIDED} (which is constructed from the BPN). However, to keep things simple I want to use pkg.${BPN}.foo as profile names instead of the longer (but identical) pkg.linux- ${KERNEL_NAME_PROVIDED}.foo. To keep things consistent to the reader, I made this little change as well. If a v4 will be needed, I'll add a clarification statement. Felix > > > Section: kernel > > Priority: optional > > Maintainer: ${MAINTAINER} > > @@ -7,7 +7,7 @@ Homepage: http://www.kernel.org/ > > Rules-Requires-Root: no > > > > Package: linux-image-${KERNEL_NAME_PROVIDED} > > -Build-Profiles: <kernel> > > +Build-Profiles: <pkg.${BPN}.kernel> > > Architecture: any > > Depends: ${KERNEL_DEBIAN_DEPENDS} > > Description: ${KERNEL_NAME_PROVIDED} Linux kernel, version @KR@ > > @@ -15,7 +15,7 @@ Description: ${KERNEL_NAME_PROVIDED} Linux kernel, version @KR@ > > files, version: @KR@. > > > > Package: linux-headers-${KERNEL_NAME_PROVIDED} > > -Build-Profiles: <kernel> > > +Build-Profiles: <pkg.${BPN}.kernel> > > Architecture: any > > Depends: ${KERNEL_HEADERS_DEBIAN_DEPENDS}, ${perl:Depends}, ${shlibs:Depends} > > Description: ${KERNEL_NAME_PROVIDED} Linux kernel headers for @KR@ > > @@ -24,7 +24,7 @@ Description: ${KERNEL_NAME_PROVIDED} Linux kernel headers for @KR@ > > This is useful for people who need to build external modules > > > > Package: linux-libc-dev > > -Build-Profiles: <!nolibcdev kernel> > > +Build-Profiles: <!pkg.${BPN}.nolibcdev pkg.${BPN}.kernel> > > Section: devel > > Provides: linux-kernel-headers > > Architecture: ${KERNEL_LIBC_DEV_ARCH} > > @@ -33,7 +33,7 @@ Description: Linux support headers for userspace development > > are used by the installed headers for GNU glibc and other system libraries. > > > > Package: linux-libc-dev-${DISTRO_ARCH}-cross > > -Build-Profiles: <!nolibcdev cross !kbuild> > > +Build-Profiles: <!pkg.${BPN}.nolibcdev cross !pkg.${BPN}.kbuild> > > Section: devel > > Provides: linux-kernel-headers-${DISTRO_ARCH}-cross > > Architecture: all > > @@ -45,7 +45,7 @@ Description: Linux Kernel Headers for development (for cross-compiling) > > your kernel. Use linux-headers-* packages for that. > > > > Package: linux-image-${KERNEL_NAME_PROVIDED}-dbg > > -Build-Profiles: <kernel> > > +Build-Profiles: <pkg.${BPN}.kernel> > > Section: debug > > Architecture: any > > Description: Linux kernel debugging symbols for @KR@ > > @@ -53,7 +53,7 @@ Description: Linux kernel debugging symbols for @KR@ > > all the necessary debug symbols for the kernel and its modules. > > > > Package: linux-kbuild-${KERNEL_NAME_PROVIDED} > > -Build-Profiles: <kbuild !cross> > > +Build-Profiles: <pkg.${BPN}.kbuild !cross> > > Architecture: any > > Depends: ${perl:Depends}, ${shlibs:Depends} > > Description: ${KERNEL_NAME_PROVIDED} Linux kbuild scripts and tools for @KR@ > > @@ -61,7 +61,7 @@ Description: ${KERNEL_NAME_PROVIDED} Linux kbuild scripts and tools for @KR@ > > This is useful for people who need to build external modules > > > > Package: linux-kbuild-${KERNEL_NAME_PROVIDED}-${DISTRO_ARCH}-cross > > -Build-Profiles: <kbuild cross> > > +Build-Profiles: <pkg.${BPN}.kbuild cross> > > Architecture: any > > Multi-Arch: foreign > > Depends: ${perl:Depends}, ${shlibs:Depends} > > diff --git a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl > > index fe0bd810..a1b00d39 100644 > > --- a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl > > +++ b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl > > @@ -168,7 +168,7 @@ headers_check() { > > libc_headers() { > > mkdir -p ${deb_libc_hdr_dir} > > arches="${DISTRO_ARCH}" > > - if echo "${DEB_BUILD_PROFILES}" | grep -q "libcdev-arch-all"; then > > + if echo "${DEB_BUILD_PROFILES}" | grep -q "pkg.${BPN}.libcdev-arch-all"; then > > arches="amd64 armhf arm64 i386 mipsel riscv64" > > fi > > for distro_arch in ${arches}; do > > diff --git a/meta/recipes-kernel/linux/linux-custom.inc b/meta/recipes-kernel/linux/linux-custom.inc > > index f2892921..1f46bb31 100644 > > --- a/meta/recipes-kernel/linux/linux-custom.inc > > +++ b/meta/recipes-kernel/linux/linux-custom.inc > > @@ -28,7 +28,7 @@ KBUILD_DEPENDS ?= "build-essential:native, \ > > flex, \ > > git, \ > > kmod, \ > > - linux-image-${KERNEL_NAME_PROVIDED}:${DISTRO_ARCH} <kbuild !kernel>, \ > > + linux-image-${KERNEL_NAME_PROVIDED}:${DISTRO_ARCH} <pkg.${BPN}.kbuild !pkg.${BPN}.kernel>, \ > > rsync," > > > > KERNEL_DEBIAN_DEPENDS ?= "initramfs-tools | linux-initramfs-tool, \ > > @@ -73,6 +73,7 @@ TEMPLATE_FILES += " \ > > " > > > > TEMPLATE_VARS += " \ > > + BPN \ > > KBUILD_DEPENDS \ > > KERNEL_ARCH \ > > KERNEL_DEBIAN_DEPENDS \ > > @@ -114,17 +115,17 @@ python() { > > } > > > > # Default profiles and provides > > -BUILD_PROFILES = "kernel kbuild" > > +BUILD_PROFILES = "pkg.${BPN}.kernel pkg.${BPN}.kbuild" > > > > # We only offer the -kbuildtarget variant when actually cross compiling > > BBCLASSEXTEND:append:cross-profile = " kbuildtarget" > > > > # When cross-profile is active: > > # build only kernel (including config) with the default variant of the recipe > > -BUILD_PROFILES:cross-profile = "kernel" > > +BUILD_PROFILES:cross-profile = "pkg.${BPN}.kernel" > > > > # -native: kbuild package for host > > -BUILD_PROFILES:class-native = "kbuild" > > +BUILD_PROFILES:class-native = "pkg.${BPN}.kbuild" > > RECIPE_PROVIDES:class-native = " \ > > linux-headers-${KERNEL_NAME_PROVIDED} \ > > linux-kbuild-${KERNEL_NAME_PROVIDED}" > > @@ -135,7 +136,7 @@ RECIPE_PROVIDES:class-native = " \ > > DEPENDS:class-native += "${BPN}-pseudo" > > > > # -kbuildtarget: kbuild package for target, enforcing non-cross-build > > -BUILD_PROFILES:class-kbuildtarget = "kbuild" > > +BUILD_PROFILES:class-kbuildtarget = "pkg.${BPN}.kbuild" > > RECIPE_PROVIDES:class-kbuildtarget = " \ > > linux-headers-${KERNEL_NAME_PROVIDED} \ > > linux-kbuild-${KERNEL_NAME_PROVIDED}" > > @@ -214,12 +215,12 @@ def config_fragments(d): > > def get_additional_build_profiles(d): > > profiles = d.getVar('BASE_DISTRO') > > if not bb.utils.to_boolean(d.getVar('KERNEL_LIBC_DEV_DEPLOY')): > > - profiles += ' nolibcdev' > > + profiles += ' pkg.{}.nolibcdev'.format(d.getVar('BPN')) > > elif bb.utils.to_boolean(d.getVar('KERNEL_LIBC_DEV_ARCH_ALL')): > > - profiles += ' libcdev-arch-all' > > + profiles += ' pkg.{}.libcdev-arch-all'.format(d.getVar('BPN')) > > return profiles > > > > -KERNEL_LIBC_DEV_ARCH = "${@ bb.utils.contains('DEB_BUILD_PROFILES', 'libcdev-arch-all', 'all\nMulti-Arch: foreign', 'any', d) }" > > +KERNEL_LIBC_DEV_ARCH = "${@ bb.utils.contains('DEB_BUILD_PROFILES', 'pkg.{}.libcdev-arch-all'.format(d.getVar('BPN')), 'all\nMulti-Arch: foreign', 'any', d) }" > > DEB_BUILD_PROFILES += "${@get_additional_build_profiles(d)}" > > > > do_prepare_build:prepend() { > > Jan > > -- > Siemens AG, Foundational Technologies > Linux Expert Center -- Siemens AG Linux Expert Center Friedrich-Ludwig-Bauer-Str. 3 85748 Garching, Germany -- 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/d2c7f7640d12b5499245609430ded9f4927c53c7.camel%40siemens.com. ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v3 2/4] linux-custom: fix name collision on cross profile 2025-11-06 14:11 [PATCH v3 0/4] propagate distro-specific dependencies of arch all packages 'Felix Moessbauer' via isar-users 2025-11-06 14:11 ` [PATCH v3 1/4] linux-custom: prefix profile names according to BuildProfileSpec 'Felix Moessbauer' via isar-users @ 2025-11-06 14:11 ` 'Felix Moessbauer' via isar-users 2025-11-06 14:11 ` [PATCH v3 3/4] do not add cross profile when building native package 'Felix Moessbauer' via isar-users ` (2 subsequent siblings) 4 siblings, 0 replies; 9+ messages in thread From: 'Felix Moessbauer' via isar-users @ 2025-11-06 14:11 UTC (permalink / raw) To: isar-users; +Cc: stefan-koch, jan.kiszka, anaumann, Felix Moessbauer The cross build profile is currently used to control which packages are built in a DISTRO_ARCH != HOST_ARCH scenario. This is fundamentally wrong, as the cross profile is one of the standard debian build profiles which is used to control if sbuild runs in cross mode. Further, the build profile spec [1] forbids to conditionally generate binary packages based on this profile. We now split this profile off into a custom one to not interfere with the standard cross profile. Due to the split, we now also need to set our cross profile explicitly in the desired cases, which we now control via the cross-pkgs overrides. [1] https://wiki.debian.org/BuildProfileSpec#Registered_profile_names Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com> --- meta/recipes-kernel/linux/files/debian/control.tmpl | 6 +++--- meta/recipes-kernel/linux/linux-custom.inc | 10 ++++++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/meta/recipes-kernel/linux/files/debian/control.tmpl b/meta/recipes-kernel/linux/files/debian/control.tmpl index 01b1a63f..ee87cf92 100644 --- a/meta/recipes-kernel/linux/files/debian/control.tmpl +++ b/meta/recipes-kernel/linux/files/debian/control.tmpl @@ -33,7 +33,7 @@ Description: Linux support headers for userspace development are used by the installed headers for GNU glibc and other system libraries. Package: linux-libc-dev-${DISTRO_ARCH}-cross -Build-Profiles: <!pkg.${BPN}.nolibcdev cross !pkg.${BPN}.kbuild> +Build-Profiles: <!pkg.${BPN}.nolibcdev pkg.${BPN}.cross !pkg.${BPN}.kbuild> Section: devel Provides: linux-kernel-headers-${DISTRO_ARCH}-cross Architecture: all @@ -53,7 +53,7 @@ Description: Linux kernel debugging symbols for @KR@ all the necessary debug symbols for the kernel and its modules. Package: linux-kbuild-${KERNEL_NAME_PROVIDED} -Build-Profiles: <pkg.${BPN}.kbuild !cross> +Build-Profiles: <pkg.${BPN}.kbuild !pkg.${BPN}.cross> Architecture: any Depends: ${perl:Depends}, ${shlibs:Depends} Description: ${KERNEL_NAME_PROVIDED} Linux kbuild scripts and tools for @KR@ @@ -61,7 +61,7 @@ Description: ${KERNEL_NAME_PROVIDED} Linux kbuild scripts and tools for @KR@ This is useful for people who need to build external modules Package: linux-kbuild-${KERNEL_NAME_PROVIDED}-${DISTRO_ARCH}-cross -Build-Profiles: <pkg.${BPN}.kbuild cross> +Build-Profiles: <pkg.${BPN}.kbuild pkg.${BPN}.cross> Architecture: any Multi-Arch: foreign Depends: ${perl:Depends}, ${shlibs:Depends} diff --git a/meta/recipes-kernel/linux/linux-custom.inc b/meta/recipes-kernel/linux/linux-custom.inc index 1f46bb31..9dd9abb5 100644 --- a/meta/recipes-kernel/linux/linux-custom.inc +++ b/meta/recipes-kernel/linux/linux-custom.inc @@ -110,8 +110,13 @@ KERNEL_NAME_PROVIDED ?= "${@ d.getVar('BPN').partition('linux-')[2]}" # Determine cross-profile override python() { - if d.getVar("DISTRO_ARCH") != d.getVar("HOST_ARCH") and bb.utils.to_boolean(d.getVar("ISAR_CROSS_COMPILE")) and "class-native" not in d.getVar("OVERRIDES").split(":"): - d.appendVar("OVERRIDES", ":cross-profile") + if d.getVar("DISTRO_ARCH") != d.getVar("HOST_ARCH") and bb.utils.to_boolean(d.getVar("ISAR_CROSS_COMPILE")): + if "class-native" not in d.getVar("OVERRIDES").split(":"): + # cross compiling + d.appendVar("OVERRIDES", ":cross-profile") + else: + # generating -cross packages (in HOST_ARCH) from a -native variant + d.appendVar("OVERRIDES", ":cross-pkgs") } # Default profiles and provides @@ -126,6 +131,7 @@ BUILD_PROFILES:cross-profile = "pkg.${BPN}.kernel" # -native: kbuild package for host BUILD_PROFILES:class-native = "pkg.${BPN}.kbuild" +BUILD_PROFILES:append:cross-pkgs = " pkg.${BPN}.cross" RECIPE_PROVIDES:class-native = " \ linux-headers-${KERNEL_NAME_PROVIDED} \ 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/20251106141122.2887558-3-felix.moessbauer%40siemens.com. ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v3 3/4] do not add cross profile when building native package 2025-11-06 14:11 [PATCH v3 0/4] propagate distro-specific dependencies of arch all packages 'Felix Moessbauer' via isar-users 2025-11-06 14:11 ` [PATCH v3 1/4] linux-custom: prefix profile names according to BuildProfileSpec 'Felix Moessbauer' via isar-users 2025-11-06 14:11 ` [PATCH v3 2/4] linux-custom: fix name collision on cross profile 'Felix Moessbauer' via isar-users @ 2025-11-06 14:11 ` 'Felix Moessbauer' via isar-users 2025-11-06 14:11 ` [PATCH v3 4/4] propagate distro-specific dependencies of arch all packages 'Felix Moessbauer' via isar-users 2025-11-07 10:09 ` [PATCH v3 0/4] " Zhihang Wei 4 siblings, 0 replies; 9+ messages in thread From: 'Felix Moessbauer' via isar-users @ 2025-11-06 14:11 UTC (permalink / raw) To: isar-users Cc: stefan-koch, jan.kiszka, anaumann, Felix Moessbauer, Benedikt Niedermayr When building a -native package, the cross profile must not be added as otherwise stricter apt cache checks added in trixie trigger. It anyways makes no sense to add the cross profile when BUILD_ARCH equals PACKAGE_ARCH. Previously this check was implemented incorrectly, as the build arch was compared to the DISTRO_ARCH, which is always the target arch in isar terms. This resulted in the following error message in sbuild: E: The package cache was built for different architectures: amd64 vs arm64 W: You may want to run apt-get update to correct these problems E: The package cache file is corrupted E: apt-get dist-upgrade failed On bookworm, the incorrect check remained unnoticed, as apt did not have the stricter checks yet. Fixes: 872ef2e3 ("dpkg-base: Fix enabling of cross build profile") Tested-by: Benedikt Niedermayr <benedikt.niedermayr@siemens.com> Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com> --- meta/classes/dpkg-base.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/dpkg-base.bbclass b/meta/classes/dpkg-base.bbclass index 4468a49a..d8287e8d 100644 --- a/meta/classes/dpkg-base.bbclass +++ b/meta/classes/dpkg-base.bbclass @@ -146,7 +146,7 @@ dpkg_runbuild() { def isar_deb_build_profiles(d): deb_build_profiles = d.getVar('DEB_BUILD_PROFILES') - if d.getVar('BUILD_ARCH') != d.getVar('DISTRO_ARCH'): + if d.getVar('BUILD_ARCH') != d.getVar('PACKAGE_ARCH'): deb_build_profiles += ' cross' return deb_build_profiles.strip() -- 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/20251106141122.2887558-4-felix.moessbauer%40siemens.com. ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v3 4/4] propagate distro-specific dependencies of arch all packages 2025-11-06 14:11 [PATCH v3 0/4] propagate distro-specific dependencies of arch all packages 'Felix Moessbauer' via isar-users ` (2 preceding siblings ...) 2025-11-06 14:11 ` [PATCH v3 3/4] do not add cross profile when building native package 'Felix Moessbauer' via isar-users @ 2025-11-06 14:11 ` 'Felix Moessbauer' via isar-users 2025-11-07 10:09 ` [PATCH v3 0/4] " Zhihang Wei 4 siblings, 0 replies; 9+ messages in thread From: 'Felix Moessbauer' via isar-users @ 2025-11-06 14:11 UTC (permalink / raw) To: isar-users Cc: stefan-koch, jan.kiszka, anaumann, Felix Moessbauer, Benedikt Niedermayr DPKG_ARCH=all packages are always build in their -native variant. However, these packages still can have non-native dependencies which must be built for the distro arch. Fixes: 23a73895 ("multiarch: inject native variants of preferred providers") Tested-by: Benedikt Niedermayr <benedikt.niedermayr@siemens.com> Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com> --- meta/classes/multiarch.bbclass | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/meta/classes/multiarch.bbclass b/meta/classes/multiarch.bbclass index c2bba21f..74b8f5b8 100644 --- a/meta/classes/multiarch.bbclass +++ b/meta/classes/multiarch.bbclass @@ -106,11 +106,13 @@ python multiarch_virtclass_handler() { # Arch=all packages might build depend on other arch=all packages, # hence we need to correctly model the dependency chain. # We implement this by dispatching the non-native variant to the -native - # variant by adding a dependency. We further replace the non-native - # do_deploy_dep task with a noop to preserve the dependency chain. + # variant by adding a dependency. We further empty the non-native + # do_deploy_dep task and clear the internal dependency chain, but keep + # other attached variables like RDEPENDS to preserve the dependency chain. e.data.setVar('do_deploy_deb', '') - bb.build.deltask('deploy_deb', e.data) - bb.build.addtask('deploy_deb', 'do_build', '', e.data) + # clear internal dependencies (e.g. to do_dpkg_build) + e.data.setVarFlag('do_deploy_deb', 'deps', []) + # dispatch to native variant e.data.setVarFlag('do_deploy_deb', 'depends', f'{pn}-native:do_deploy_deb') } addhandler multiarch_virtclass_handler -- 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/20251106141122.2887558-5-felix.moessbauer%40siemens.com. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3 0/4] propagate distro-specific dependencies of arch all packages 2025-11-06 14:11 [PATCH v3 0/4] propagate distro-specific dependencies of arch all packages 'Felix Moessbauer' via isar-users ` (3 preceding siblings ...) 2025-11-06 14:11 ` [PATCH v3 4/4] propagate distro-specific dependencies of arch all packages 'Felix Moessbauer' via isar-users @ 2025-11-07 10:09 ` Zhihang Wei 2025-11-07 10:20 ` 'MOESSBAUER, Felix' via isar-users 4 siblings, 1 reply; 9+ messages in thread From: Zhihang Wei @ 2025-11-07 10:09 UTC (permalink / raw) To: Felix Moessbauer, isar-users; +Cc: stefan-koch, jan.kiszka, anaumann v3 LGTM and passed CI. On 11/6/25 15:11, 'Felix Moessbauer' via isar-users wrote: > Changes since v2: > > Fix root cause of linux-module build errors on cross: > The previous linux-custom recipe used the cross profile also to control > which packages are built in a cross setting, which is fundamentally wrong. > We now split this custom profile off the official one and attach it to the > cross-profile logic of linux-custom (which refers to "we are in a > HOST_ARCH != DISTRO_ARCH setting" instead of we are cross-compiling this > package). The cleanup is done in two stages: First, we properly prefix > all used custom build profiles according to the build profile spec (p1), > second we split off the cross profile (p2). > > @Stefan: It would be great if you could test this series on your original > use case. > > Best regards, > Felix > > Felix Moessbauer (2): > linux-custom: prefix profile names according to BuildProfileSpec > linux-custom: fix name collision on cross profile > do not add cross profile when building native package > propagate distro-specific dependencies of arch all packages > > meta/classes/dpkg-base.bbclass | 2 +- > meta/classes/multiarch.bbclass | 10 ++++--- > .../linux/files/debian/control.tmpl | 16 +++++------ > .../linux/files/debian/isar/install.tmpl | 2 +- > meta/recipes-kernel/linux/linux-custom.inc | 27 ++++++++++++------- > 5 files changed, 33 insertions(+), 24 deletions(-) > -- 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/19985202-434e-4604-825d-35e3b5490805%40ilbers.de. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3 0/4] propagate distro-specific dependencies of arch all packages 2025-11-07 10:09 ` [PATCH v3 0/4] " Zhihang Wei @ 2025-11-07 10:20 ` 'MOESSBAUER, Felix' via isar-users 0 siblings, 0 replies; 9+ messages in thread From: 'MOESSBAUER, Felix' via isar-users @ 2025-11-07 10:20 UTC (permalink / raw) To: isar-users, wzh; +Cc: Kiszka, Jan, Koch, Stefan, anaumann On Fri, 2025-11-07 at 11:09 +0100, Zhihang Wei wrote: > v3 LGTM and passed CI. Many thanks for the patience and guidance. Once integrated, we finally can move forward with the SBOM series. Best regards, Felix > > On 11/6/25 15:11, 'Felix Moessbauer' via isar-users wrote: > > Changes since v2: > > > > Fix root cause of linux-module build errors on cross: > > The previous linux-custom recipe used the cross profile also to control > > which packages are built in a cross setting, which is fundamentally wrong. > > We now split this custom profile off the official one and attach it to the > > cross-profile logic of linux-custom (which refers to "we are in a > > HOST_ARCH != DISTRO_ARCH setting" instead of we are cross-compiling this > > package). The cleanup is done in two stages: First, we properly prefix > > all used custom build profiles according to the build profile spec (p1), > > second we split off the cross profile (p2). > > > > @Stefan: It would be great if you could test this series on your original > > use case. > > > > Best regards, > > Felix > > > > Felix Moessbauer (2): > > linux-custom: prefix profile names according to BuildProfileSpec > > linux-custom: fix name collision on cross profile > > do not add cross profile when building native package > > propagate distro-specific dependencies of arch all packages > > > > meta/classes/dpkg-base.bbclass | 2 +- > > meta/classes/multiarch.bbclass | 10 ++++--- > > .../linux/files/debian/control.tmpl | 16 +++++------ > > .../linux/files/debian/isar/install.tmpl | 2 +- > > meta/recipes-kernel/linux/linux-custom.inc | 27 ++++++++++++------- > > 5 files changed, 33 insertions(+), 24 deletions(-) > > -- Siemens AG Linux Expert Center Friedrich-Ludwig-Bauer-Str. 3 85748 Garching, Germany -- 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/f85ccdde880be0f2c32a305945d719edc74622e1.camel%40siemens.com. ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2025-11-07 10:20 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2025-11-06 14:11 [PATCH v3 0/4] propagate distro-specific dependencies of arch all packages 'Felix Moessbauer' via isar-users 2025-11-06 14:11 ` [PATCH v3 1/4] linux-custom: prefix profile names according to BuildProfileSpec 'Felix Moessbauer' via isar-users 2025-11-06 16:55 ` 'Jan Kiszka' via isar-users 2025-11-07 8:19 ` 'MOESSBAUER, Felix' via isar-users 2025-11-06 14:11 ` [PATCH v3 2/4] linux-custom: fix name collision on cross profile 'Felix Moessbauer' via isar-users 2025-11-06 14:11 ` [PATCH v3 3/4] do not add cross profile when building native package 'Felix Moessbauer' via isar-users 2025-11-06 14:11 ` [PATCH v3 4/4] propagate distro-specific dependencies of arch all packages 'Felix Moessbauer' via isar-users 2025-11-07 10:09 ` [PATCH v3 0/4] " Zhihang Wei 2025-11-07 10:20 ` 'MOESSBAUER, Felix' via isar-users
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox