public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
* base-apt: Inconsistent priorities between apt-cache and .deb data break offline builds
@ 2026-06-30 14:24 'MOESSBAUER, Felix' via isar-users
  2026-06-30 15:36 ` Anton Mikanovich
  0 siblings, 1 reply; 6+ messages in thread
From: 'MOESSBAUER, Felix' via isar-users @ 2026-06-30 14:24 UTC (permalink / raw)
  To: isar-users; +Cc: Bernecker, Herbert, Steiger, Christoph, jan.kiszka

Dear isar-devs,

we noticed that cross-architecture offline builds are currently broken
and single-architecture offline builds differ from the online
variant. One failure pattern is the following, whereby the offline
isar-mmdebstrap-host fails with an error message like this:

The following packages have unmet dependencies:
 libtext-wrapi18n-perl : Depends: libtext-charwidth-perl but it is not
installable
E: Unable to correct problems, you have held broken packages.
E: The following information from --solver 3.0 may provide additional
context:
   Unable to satisfy dependencies. Reached two conflicting decisions:
   1. libtext-wrapi18n-perl:amd64=0.06-10 is selected for install
   2. libtext-wrapi18n-perl:amd64 Depends libtext-charwidth-perl
      but none of the choices are installable:
      [no choices]

The root cause for this is that we ignore the upstream's repo priority
overrides when creating the base-apt: reprepro includedeb records the
priority from the .deb's own control field, and that becomes the
priority published in base-apt's Packages index.

When these priorities differ, the set of packages installed in offline
mode are different from the ones in online mode. This per-se is plain
wrong, but only surfaces if a now-required arch=all package depends on
its architecture specific variant which never has been fetched (because
the online bootstrap had access to the prio overrides). For non-cross
builds the result is also different, which can be checked by comparing
the SBOMs.

There are HACKY ways to re-create the upstream priorities, but IMHO our
approach for offline builds is problematic and should be changed:
Instead of explicitly recreating the base-apt repo, we better just
preserve the upstream apt lists and inject our downloads/deb dir into
the apt cache that is used by the build. This would allow us to
completely drop the base-apt.

Reproducer:

1. kas-container menu, select qemuarm64 machine, build
2. mv build build-online && mkdir build && cp -rf build-
online/downloads build/
3. kas-container build .config.yaml:offline.yml

offline.yml:
header:
  version: 14
local_conf_header:
  offline: |
    ISAR_USE_CACHED_BASE_REPO = "1"
    BB_NO_NETWORK = "1"

The initial report of this error is by Herbert.

Best regards,
Felix

-- 
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/dc035d8963b2c8de6bfa6cbb4bbf62f5fbb9e8ae.camel%40siemens.com.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-07-01 12:30 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-30 14:24 base-apt: Inconsistent priorities between apt-cache and .deb data break offline builds 'MOESSBAUER, Felix' via isar-users
2026-06-30 15:36 ` Anton Mikanovich
2026-06-30 17:26   ` 'MOESSBAUER, Felix' via isar-users
2026-07-01  7:36     ` Anton Mikanovich
2026-07-01  8:56       ` 'MOESSBAUER, Felix' via isar-users
2026-07-01 12:29         ` Anton Mikanovich

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