From: "'MOESSBAUER, Felix' via isar-users" <isar-users@googlegroups.com>
To: Zhihang Wei <wzh@ilbers.de>,
"isar-users@googlegroups.com" <isar-users@googlegroups.com>
Cc: "Hombourger, Cedric" <cedric.hombourger@siemens.com>,
"Kiszka, Jan" <jan.kiszka@siemens.com>,
"Gylstorff, Quirin" <quirin.gylstorff@siemens.com>
Subject: Re: [PATCH 00/13] More build time reductions
Date: Tue, 20 Oct 2026 14:46:43 +0000 [thread overview]
Message-ID: <9ec7540f9a0d4efffd53e8e452007fe43ef22ea4.camel@siemens.com> (raw)
In-Reply-To: <143eef35-6f02-4cd0-9c64-c248a32120ce@ilbers.de>
On Fri, 2026-10-16 at 14:23 +0200, Zhihang Wei wrote:
> On 10/2/26 16:49, 'Felix Moessbauer' via isar-users wrote:
> > This is merely a dump of the remaining patches mentioned
> > in my talk "Isar build time reduction" at the isar community
> > event in Prague. The series itself is fast-ci tested and also passes
> > most (all?, unrelated failures) of the tests on full CI.
> >
> > The biggest impact has the switch to the host-apt (which now also
> > is compatible with base-apt), which allows us to not have apt
> > in the image at all.
> >
> > The series goes on top of "Model isar-exclude-docs as rootfs feature".
> >
> > Best regards,
> > Felix Moessbauer
> >
> > Felix Moessbauer (13):
> > debianize: services are named after BPN not PN
> > dpkg-raw: do not leak package variants into debian package
> > debian templates: name package after BPN instead of PN
> > linux-distro: provide fake packages for native variant of packages
> > dpkg-source: let the native package variant own the source package
> > do not assert on legitimate re-execution of tasks
> > bitbake: backport cooker: use BB_HASHSERVE_DB_DIR for hash server
> > database location
> > set default sstate signature handler to OEEquivHash
> > testsuite: add support to run with bitbake hashserver
> > isar-sstate: add support to clean hashes from hashequiv server
> > rootfs: use host apt to install packages into rootfs
> > bootstrap: do not include apt
> > bootstrap: do not add ca-certificates
> >
> > RECIPE-API-CHANGELOG.md | 25 +++
> > .../bitbake-user-manual-ref-variables.rst | 23 +++
> > bitbake/lib/bb/cooker.py | 11 +-
> > bitbake/lib/bb/utils.py | 9 ++
> > meta-isar/conf/distro/raspios-bookworm.conf | 2 +
> > meta-isar/conf/distro/raspios-bullseye.conf | 2 +
> > meta-isar/conf/distro/ubuntu-focal.conf | 3 +
> > .../optee-examples/files/debian/control.tmpl | 26 ++--
> > .../optee-examples-stm32mp15x_3.21.0.bb | 36 ++---
> > meta/classes-global/isar-events.bbclass | 5 +
> > meta/classes-recipe/container-loader.bbclass | 1 +
> > meta/classes-recipe/deb-dl-dir.bbclass | 34 ++++
> > meta/classes-recipe/debianize.bbclass | 6 +-
> > meta/classes-recipe/dpkg-raw.bbclass | 3 +-
> > meta/classes-recipe/dpkg-source.bbclass | 79 ++--------
> > meta/classes-recipe/dracut-module.bbclass | 2 +-
> > .../image-account-extension.bbclass | 1 +
> > meta/classes-recipe/linux-kernel.bbclass | 3 +
> > meta/classes-recipe/linux-module.bbclass | 7 +-
> > meta/classes-recipe/rootfs.bbclass | 145 +++++++-----------
> > meta/classes-recipe/sdk.bbclass | 5 +-
> > meta/conf/bitbake.conf | 3 +-
> > .../optee-client/files/debian/control.tmpl | 2 +-
> > .../optee-ftpm/files/debian/control.tmpl | 4 +-
> > .../isar-mmdebstrap/isar-mmdebstrap.inc | 44 +-----
> > .../sbom-chroot/sbom-chroot.bb | 2 +-
> > .../sbuild-chroot/sbuild-chroot.inc | 2 +
> > .../linux-module/files/debian/control.tmpl | 4 +-
> > .../linux-module/files/debian/rules.tmpl | 2 +-
> > meta/recipes-kernel/linux/linux-distro.bb | 12 +-
> > scripts/isar-sstate | 39 ++++-
> > testsuite/cibuilder.py | 2 +
> > .../dockerdata/test-container-entrypoint | 2 +-
> > 33 files changed, 291 insertions(+), 255 deletions(-)
> >
>
> Hi,
>
> This series causes a failure in CI, and I can reproduce it consistently now.
>
> Failing test is ReproTest.test_repro_signed, I ran it in rootful mode.
Hi, thanks for the log.
As we now have better caching and just generate the source package
once, we also just fetch once - which exposes underlying isar bugs.
These are actually independent of the chroot mode - but not independent
of the test execution order.
The main issue hereby is that currently base-apt bugs are shadowed by a
shared DL_DIR (or previously running tests), as base-apt simply imports
all packages from the DL_DIR. This is bad per-se, but not really worth
fixing as it is refactored in "Improving base-apt usage" anyways.
Now to the bug:
The apt source fetcher derives the DEBSRCDIR sub-directory from
BASE_DISTRO, which is resolved against OVERRIDES and therefore
describes the recipe's PACKAGE_ARCH rather than the chroot the sources
are fetched in. On raspios, where BASE_DISTRO:arm64 is "raspios64", a
native recipe in mc:rpi-arm64-v8-bookworm caches its .dsc below
raspios-bookworm while base-apt only imports raspios64-bookworm and
debian-bookworm for that multiconfig. The sources are then missing from
the cached base repository and the offline rebuild of the repro test
fails in do_unpack.
I'll send the corresponding fixes as separate patches.
Felix
>
> ERROR: Logfile of failure stored in:
> /build/isar_wzh_devel_1z_others/72/build/tmp/work/raspios-bookworm-arm64/hello-native/1.0-r0/temp/log.do_unpack.1742588
> ERROR: Task
> (mc:rpi-arm64-v8-bookworm:virtual:native:/build/isar_wzh_devel_1z_others/72/build/../meta-isar/recipes-app/hello/hello.bb:do_unpack)
> failed with exit code '1'
>
> Logs from the task:
> DEBUG: Executing python function do_unpack
> DEBUG: Executing shell function schroot_create_configs
> Creating
> /etc/schroot/chroot.d/isar-jenkins-4889355d-e5f6-4ea3-80d6-d13c787ef5ad-1742588
> DEBUG: Shell function schroot_create_configs finished
> DEBUG: Running export PSEUDO_DISABLED=1; export
> PATH="/build/isar_wzh_devel_1z_others/72/scripts:/build/isar_wzh_devel_1z_others/72/bitbake/bin:/tmp/avocado_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin";
> export HOME="/var/lib/jenkins"; schroot -q -b -c
> isar-jenkins-4889355d-e5f6-4ea3-80d6-d13c787ef5ad-1742588
> NOTE: Started session:
> isar-jenkins-4889355d-e5f6-4ea3-80d6-d13c787ef5ad-1742588-b4abf875-2b4f-4df8-902f-3d8ce50e6b35
> DEBUG: Running export PSEUDO_DISABLED=1; export
> PATH="/build/isar_wzh_devel_1z_others/72/scripts:/build/isar_wzh_devel_1z_others/72/bitbake/bin:/tmp/avocado_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin";
> export HOME="/var/lib/jenkins";
> set -e
> schroot -r -c
> isar-jenkins-4889355d-e5f6-4ea3-80d6-d13c787ef5ad-1742588-b4abf875-2b4f-4df8-902f-3d8ce50e6b35
> -d / -u root -- rm
> /etc/apt/sources.list.d/isar-apt.list /etc/apt/preferences.d/isar-apt
> schroot -r -c
> isar-jenkins-4889355d-e5f6-4ea3-80d6-d13c787ef5ad-1742588-b4abf875-2b4f-4df8-902f-3d8ce50e6b35
> -d / -- sh -c '
> set -e
> dscfile=$(apt-get -y -qq --print-uris
> --only-source source hello | cut -d "
> " -f2 | grep -E "\.dsc")
> cp /downloads/deb-src/raspios-bookworm/hello/*
> /home/builder/hello
> cd /home/builder/hello
> mv -f hello-native-1.0 hello-native-1.0.prev
> dpkg-source -x "$dscfile" hello-native-1.0
> find hello-native-1.0.prev -mindepth 1
> -maxdepth 1 -exec mv {} hello-native-1.0/ \;
> rmdir hello-native-1.0.prev
> '
>
> /build/isar_wzh_devel_1z_others/72/bitbake/lib/bb/data_smart.py:1034:
> ResourceWarning: unclosed database in <sqlite3.Connection object at
> 0x7f118e1c0e50>
> klist = set()
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> DEBUG: Running export PSEUDO_DISABLED=1; export
> PATH="/build/isar_wzh_devel_1z_others/72/scripts:/build/isar_wzh_devel_1z_others/72/bitbake/bin:/tmp/avocado_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin";
> export HOME="/var/lib/jenkins"; schroot -q -f -e -c
> isar-jenkins-4889355d-e5f6-4ea3-80d6-d13c787ef5ad-1742588-b4abf875-2b4f-4df8-902f-3d8ce50e6b35
> DEBUG: Executing shell function schroot_delete_configs
> Removing
> /etc/schroot/isar-jenkins-4889355d-e5f6-4ea3-80d6-d13c787ef5ad-1742588
> Removing
> /etc/schroot/chroot.d/isar-jenkins-4889355d-e5f6-4ea3-80d6-d13c787ef5ad-1742588
> DEBUG: Shell function schroot_delete_configs finished
> ERROR: Fetcher failure: Fetch command export PSEUDO_DISABLED=1; export
> PATH="/build/isar_wzh_devel_1z_others/72/scripts:/build/isar_wzh_devel_1z_others/72/bitbake/bin:/tmp/avocado_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin";
> export HOME="/var/lib/jenkins";
> set -e
> schroot -r -c
> isar-jenkins-4889355d-e5f6-4ea3-80d6-d13c787ef5ad-1742588-b4abf875-2b4f-4df8-902f-3d8ce50e6b35
> -d / -u root -- rm
> /etc/apt/sources.list.d/isar-apt.list /etc/apt/preferences.d/isar-apt
> schroot -r -c
> isar-jenkins-4889355d-e5f6-4ea3-80d6-d13c787ef5ad-1742588-b4abf875-2b4f-4df8-902f-3d8ce50e6b35
> -d / -- sh -c '
> set -e
> dscfile=$(apt-get -y -qq --print-uris
> --only-source source hello | cut -d "
> " -f2 | grep -E "\.dsc")
> cp /downloads/deb-src/raspios-bookworm/hello/*
> /home/builder/hello
> cd /home/builder/hello
> mv -f hello-native-1.0 hello-native-1.0.prev
> dpkg-source -x "$dscfile" hello-native-1.0
> find hello-native-1.0.prev -mindepth 1
> -maxdepth 1 -exec mv {} hello-native-1.0/ \;
> rmdir hello-native-1.0.prev
> '
> failed with exit code 1, output:
> E: You must put some 'deb-src' URIs in your sources.list
>
> DEBUG: Python function do_unpack finished
>
> Zhihang
--
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/9ec7540f9a0d4efffd53e8e452007fe43ef22ea4.camel%40siemens.com.
prev parent reply other threads:[~2026-10-20 14:46 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-02 14:49 'Felix Moessbauer' via isar-users
2026-10-02 14:49 ` [PATCH 01/13] debianize: services are named after BPN not PN 'Felix Moessbauer' via isar-users
2026-10-02 14:49 ` [PATCH 02/13] dpkg-raw: do not leak package variants into debian package 'Felix Moessbauer' via isar-users
2026-10-02 14:49 ` [PATCH 03/13] debian templates: name package after BPN instead of PN 'Felix Moessbauer' via isar-users
2026-10-02 14:49 ` [PATCH 04/13] linux-distro: provide fake packages for native variant of packages 'Felix Moessbauer' via isar-users
2026-10-02 14:49 ` [PATCH 05/13] dpkg-source: let the native package variant own the source package 'Felix Moessbauer' via isar-users
2026-10-02 14:49 ` [PATCH 06/13] do not assert on legitimate re-execution of tasks 'Felix Moessbauer' via isar-users
2026-10-02 14:49 ` [PATCH 07/13] bitbake: backport cooker: use BB_HASHSERVE_DB_DIR for hash server database location 'Felix Moessbauer' via isar-users
2026-10-02 14:49 ` [PATCH 08/13] set default sstate signature handler to OEEquivHash 'Felix Moessbauer' via isar-users
2026-10-02 14:49 ` [PATCH 09/13] testsuite: add support to run with bitbake hashserver 'Felix Moessbauer' via isar-users
2026-10-02 14:49 ` [PATCH 10/13] isar-sstate: add support to clean hashes from hashequiv server 'Felix Moessbauer' via isar-users
2026-10-02 14:49 ` [PATCH 11/13] rootfs: use host apt to install packages into rootfs 'Felix Moessbauer' via isar-users
2026-10-02 14:49 ` [PATCH 12/13] bootstrap: do not include apt 'Felix Moessbauer' via isar-users
2026-10-02 14:49 ` [PATCH 13/13] bootstrap: do not add ca-certificates 'Felix Moessbauer' via isar-users
2026-10-16 12:23 ` [PATCH 00/13] More build time reductions Zhihang Wei
2026-10-20 14:46 ` 'MOESSBAUER, Felix' via isar-users [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9ec7540f9a0d4efffd53e8e452007fe43ef22ea4.camel@siemens.com \
--to=isar-users@googlegroups.com \
--cc=cedric.hombourger@siemens.com \
--cc=felix.moessbauer@siemens.com \
--cc=jan.kiszka@siemens.com \
--cc=quirin.gylstorff@siemens.com \
--cc=wzh@ilbers.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox