public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
* [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
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ 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] 7+ 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
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 7+ 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] 7+ 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
  2025-11-06 14:11 ` [PATCH v3 4/4] propagate distro-specific dependencies of arch all packages 'Felix Moessbauer' via isar-users
  3 siblings, 0 replies; 7+ 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] 7+ 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
  3 siblings, 0 replies; 7+ 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] 7+ 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
  3 siblings, 0 replies; 7+ 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] 7+ 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; 7+ 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] 7+ 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; 7+ 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] 7+ messages in thread

end of thread, other threads:[~2025-11-07  8:19 UTC | newest]

Thread overview: 7+ 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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox