Keep the configuration files inside /data/forgefirm; pin the three components

ForgeFIRM's own files live under /data/forgefirm; two configuration
files did not. The machine settings sat at /data/forgefirm.conf, in the
root of /data beside the factory's own files, and the cloud-mode
configuration sat at /data/etc/gfhome.conf, inside a directory the
factory owns. Both move:

  /data/forgefirm.conf   -> /data/forgefirm/forgefirm.conf
  /data/etc/gfhome.conf  -> /data/forgefirm/gfhome.conf

There is no migration: only the bench has ever run this firmware.
/data/etc now holds only the factory's wpa_supplicant.conf.

The acceptance check of the file modes reads the settings file at its
new path, and the two bench tools that read it directly follow. The
pins move to the revisions that carry the change, forgectrl also
bringing the fix that reads the module's disabled state as idle:

  forgectrl           468ee21 (0.1.12)
  grblhal-glowforge   9ee624b (0.1.10)
  forgefirm-app       56f134a (0.1.28+git)

The lock moves meta-openglow to b7ad6d9, which pins python3-gfhardware
on the same revision. The four upstream layers stay where they were:
`kas lock --update` moves every floating repository, and a release is
not the place to take poky, meta-openembedded and meta-freescale along
for the ride.
This commit is contained in:
ScottW514
2026-09-09 15:32:54 -04:00
parent 61030da69b
commit 64301d3221
10 changed files with 13 additions and 13 deletions
@@ -3,7 +3,7 @@
# rsyslog is the only log writer on the machine. Every ForgeFIRM process
# (forgectrl, grblHAL, gfcloud, gfhome), the kernel, and everything else
# route to their own directory under /data/log/forgefirm. The per-logger
# disk and remote levels come from /data/forgefirm.conf and are rendered
# disk and remote levels come from /data/forgefirm/forgefirm.conf and are rendered
# into the included rules file at every boot by `forgectrl
# --render-syslog` (see the forgefirm-logging init script), so a change
# made in the control panel applies at the next reboot.
@@ -2,5 +2,5 @@
# only SRCREV and PV here - the image manifest leaves *-pin.inc out of the
# layer content hash because the component entry already identifies the
# pinned source (forgefirm-image-manifest.bbclass).
SRCREV = "439a8889ce0edb8ca8ab83f02bd3c3e0f09dd91a"
PV = "0.1.11"
SRCREV = "468ee215dd1148b92c979decacecc41aa6a75ccf"
PV = "0.1.12"
@@ -4,9 +4,9 @@
# because the component entry already identifies the pinned source
# (forgefirm-image-manifest.bbclass). The python3-gfhardware recipe in
# meta-glowforge-bsp pins the same repository; move both together.
SRCREV = "53d57f7c84fd314012f21bbbee883dde95353ded"
SRCREV = "56f134a1e6393a2096c16e8226027fbbd38d79c7"
# Bump PV with every SRCREV move: the hash-derived package version is not
# monotonic on its own and buildhistory QA fails the build when it sorts
# backwards.
PV = "0.1.27+git"
PV = "0.1.28+git"
@@ -2,5 +2,5 @@
# changes; keep only SRCREV and PV here - the image manifest leaves
# *-pin.inc out of the layer content hash because the component entry
# already identifies the pinned source (forgefirm-image-manifest.bbclass).
SRCREV = "97be92bbc8443ff8c4a3176fa2594cd6828c1c65"
PV = "0.1.9"
SRCREV = "9ee624bbc1d1fd929f1f5587b6fc6acaa13a4561"
PV = "0.1.10"
@@ -28,7 +28,7 @@ IMAGE_INSTALL:remove = "python3 ${FORGEFIRM_RELEASE_TRIM}"
# broker, cooling engine, cameras, telemetry, settings, diagnostics, web
# control panel, and A/B updates.
# gfhome: one-shot Glowforge web-service homing, invoked by the controller
# for $H when homing_mode = gfcloud (/data/forgefirm.conf).
# for $H when homing_mode = gfcloud (/data/forgefirm/forgefirm.conf).
# gfcloud: full Glowforge web-service controller daemon (the factory cloud
# experience), started when controller_mode = cloud - mutually exclusive with
# grblHAL. Pulls python3-ffmachine (shared web-service machine glue).