08.08.2022 11:17, Moessbauer, Felix wrote:

Hi,

 

In ISAR v0.9 we were able to use build dependencies from the backports repository:

 

  1. Add the backports repo to DISTRO_APT_SOURCES  
  2. Write an apt preferences file to prefer the backports package and add it to DISTRO_APT_PREFERENCES

 

This still works for runtime dependencies, but not for build dependencies.
The sbuilder simply does not attract the package from backports as they have "NotAutomatic: yes".

 

Maybe we could work around by using ` --build-dep-resolver="apt"`.
But then more questions arise:

- are the DISTRO_APT_SOURCES added as –external-repository? I don’t think so

- when creating the base-schroot: Is the repo considered (and are DISTRO_APT_PREFERENCES active)

- are the DISTRO_APT_PREFERENCES files added to the schroot?

 

Help wanted.

 

Felix

Hello Felix,

I've tried to setup Debian Bullseye with backports preferred on the latest next and it supposed to work.
Here are all the changes I've made:

diff --git a/meta/conf/distro/debian-bullseye-backports.list b/meta/conf/distro/debian-bullseye-backports.list
new file mode 100644
index 0000000..90f1c9a
--- /dev/null
+++ b/meta/conf/distro/debian-bullseye-backports.list
@@ -0,0 +1,2 @@
+deb    http://deb.debian.org/debian bullseye-backports main contrib non-free
+deb-src        http://deb.debian.org/debian bullseye-backports main contrib non-free
diff --git a/meta/conf/distro/debian-bullseye-backports.pref b/meta/conf/distro/debian-bullseye-backports.pref
new file mode 100644
index 0000000..381ce80
--- /dev/null
+++ b/meta/conf/distro/debian-bullseye-backports.pref
@@ -0,0 +1,3 @@
+Package: *
+Pin: release a=bullseye-backports
+Pin-Priority: 1000
diff --git a/meta/conf/distro/debian-bullseye.conf b/meta/conf/distro/debian-bullseye.conf
index 9e07269..e3dd079 100644
--- a/meta/conf/distro/debian-bullseye.conf
+++ b/meta/conf/distro/debian-bullseye.conf
@@ -10,3 +10,7 @@ DISTRO_CONFIG_SCRIPT ?= "debian-configscript.sh"
 DISTRO_KERNELS ?= "4kc-malta 5kc-malta 686 686-pae amd64 arm64 armmp \
     armmp-lpae cloud-amd64 loongson-3 octeon powerpc64le rpi s390x marvell \
     rt-686-pae rt-amd64 rt-arm64 rt-armmp"
+
+DISTRO_APT_SOURCES = "conf/distro/${BASE_DISTRO}-${BASE_DISTRO_CODENAME}.list conf/distro/${BASE_DISTRO}-${BASE_DISTRO_CODENAME}-backports.list"
+
+DISTRO_APT_PREFERENCES = "conf/distro/${BASE_DISTRO}-${BASE_DISTRO_CODENAME}-backports.pref"

After that I've just built the target:

$ bitbake mc:qemuamd64-bullseye:isar-image-base

And see that backports package versions are actually used. For example:

$ cat build/tmp/work/debian-bullseye-amd64/example-module-amd64/1.0-r0/temp/log.do_dpkg_build | grep "Setting up linux-compiler-gcc-10-x86"
Setting up linux-compiler-gcc-10-x86 (5.18.14-1~bpo11+1) ...