mbox series

[0/8] Make all sstate artifacts reproducible

Message ID 20260820083014.3377283-1-felix.moessbauer@siemens.com
Headers show
Series Make all sstate artifacts reproducible | expand

Message

Felix Moessbauer Aug. 20, 2026, 8:30 a.m. UTC
Currently many artifacts we deploy to the sstate cache are not reproducible
by itself. By that, rebuilds of the same artifact result in different sstate hashes,
which leads to cache trashing.

As a preparation to use the hashequiv signature handler, we have to make all artifacts
reproducible, as this handler tracks which input hashes influence the output hash (hash
of the artifact).

As a result of this requirement, we can no longer split the do_rootfs_install task
(which is cached) and the do_rootfs_postprocess task which makes the rootfs reproducible.
Instead, we now fold the postprocess task into the install task, similar to how OE does it.

Best regards,
Felix Moessbauer
Siemens AG

Felix Moessbauer (8):
  make bootstrap output reproducible
  rootfs: fold do_rootfs_postprocess task into do_rootfs_install
  rootfs: make tarring of sstate artifact reproducible
  rootfs: split clean_package_cache command
  rootfs: make file timestamps reproducible
  repository: create isar-apt with a reproducible timestamp
  make our internal chroots bit-by-bit reproducible
  rootfs: make capture of apt state bit-by-bit reproducible

 RECIPE-API-CHANGELOG.md                       |  6 ++
 .../recipes-core/images/isar-rootfs-ci.bb     |  2 +-
 .../image-account-extension.bbclass           |  3 -
 meta/classes-recipe/image.bbclass             | 15 ++--
 meta/classes-recipe/initramfs.bbclass         |  5 +-
 meta/classes-recipe/repository.bbclass        | 19 +++++
 meta/classes-recipe/rootfs.bbclass            | 72 ++++++++++---------
 meta/classes-recipe/sdk.bbclass               |  2 +-
 .../isar-mmdebstrap/isar-mmdebstrap.inc       |  2 +
 9 files changed, 74 insertions(+), 52 deletions(-)