mirror of
https://github.com/openglow-org/forgefirm.git
synced 2026-09-27 08:41:13 -07:00
The inheritance walk skipped every record that was not a PASS on the current fingerprint, so a FAIL or ERROR recorded after a PASS on the same image was stepped over and the older PASS inherited into the next campaign. The newest record on the fingerprint now decides: a PASS is inherited, a FAIL or ERROR blocks it (reason failed-since), an ABORTED run says nothing. Unit tests for all three orders. ffboot, the tool that rewrites the boot environment on every install and slot switch, was packaged from scripts/ outside every fingerprint. It now lives in the recipe's files and the recipe inherits the manifest class; the tree manifest tool fingerprints file components the same way, and the update tests cover the component. forgectrl.settings-bounds fell back to ui_units=mm, which the whitelist refuses, so the always-required test failed on a fresh machine; the fallback is metric.
30 lines
1.1 KiB
BlitzBasic
30 lines
1.1 KiB
BlitzBasic
SUMMARY = "Boot-slot selection and inventory for Glowforge factory hardware"
|
|
DESCRIPTION = "Inventories the bootable partitions (ffboot -l) and switches \
|
|
the boot target by rewriting the saved U-Boot environment with read-back \
|
|
verification. Ships the fw_env.config for the factory eMMC environment \
|
|
layout."
|
|
LICENSE = "MIT"
|
|
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
|
|
|
|
# ffboot rewrites the boot environment on every install and slot switch,
|
|
# so it is a fingerprinted component like the daemons: the manifest entry
|
|
# records the two files, and the acceptance tests that cover ffboot are
|
|
# invalidated when either moves (the installer copies the tool out of the
|
|
# rootfs it just wrote).
|
|
inherit forgefirm-manifest
|
|
FORGEFIRM_MANIFEST_SRC = "${THISDIR}/files"
|
|
|
|
SRC_URI = " \
|
|
file://ffboot \
|
|
file://fw_env.config \
|
|
"
|
|
|
|
S = "${WORKDIR}"
|
|
|
|
RDEPENDS:${PN} = "libubootenv-bin"
|
|
|
|
do_install() {
|
|
install -Dm 0755 ${WORKDIR}/ffboot ${D}${sbindir}/ffboot
|
|
install -Dm 0644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config
|
|
}
|