mirror of
https://github.com/openglow-org/forgefirm.git
synced 2026-09-27 08:41:13 -07:00
Every image records the identity of its build inputs. forgefirm-manifest.bbclass gives a component recipe a per-file source fingerprint (git ls-tree blob ids, submodules recursed; file:// sources hashed with git hash-object); the kernel and glowforge.ko publish theirs through do_deploy because kernel-module-split leaves the module recipe's main package empty. forgefirm-image-manifest.bbclass assembles the entries with the platform identity - machine, modules directory, device tree hashes, layer content hashes (meta-forgefirm and the meta-openglow layers by content, the kas-managed layers by revision) - into /etc/forgefirm-manifest.json and deploys a copy next to the image. Layer revisions and dirty flags stay outside the identity, so a rebuild from an unchanged tree keeps its content hash and the release and dev images of one build share it. The acceptance tool and the release gate read this file.