images: the release trim is a variable the dev image blanks

Removal specs accumulate and apply after every append, so a dev-recipe
IMAGE_INSTALL:remove could not give nano back. The release recipe now
removes ${FORGEFIRM_RELEASE_TRIM} (default nano) and the dev recipe sets
it empty; the spec expands when it is applied.

No catalog consequence: image composition only.
This commit is contained in:
ScottW514
2026-08-24 16:06:37 -04:00
parent db2baa03bb
commit 7ca1c0f936
2 changed files with 12 additions and 9 deletions
@@ -14,11 +14,11 @@ IMAGE_INSTALL += " \
htop \
"
# The release recipe removes nano from the shared base list (bench
# convenience, 8.7 MB with libmagic). A removal applies after every append,
# so the dev image re-sets the removal list to keep nano instead of adding
# it back.
IMAGE_INSTALL:remove = "gfui-client"
# The release recipe trims nano from the shared base list (bench
# convenience, 8.7 MB with libmagic); the dev image keeps it. Removal specs
# accumulate and apply after every append, so the variable inside the
# release recipe's spec is what gets blanked here.
FORGEFIRM_RELEASE_TRIM = ""
# debug-tweaks (passwordless root, root SSH login) belongs ONLY to the dev
# image - never the release image. It lives here, not in the shared kas
@@ -10,10 +10,13 @@ DESCRIPTION = "OpenGlow/ForgeFIRM image for Glowforge"
# (gfui-client connects to Glowforge's servers). Removing it here (override
# only; the shared glowforge-image base is untouched) also sidesteps its
# do_package failure. Its role is filled locally by forgectrl and the
# controllers below. nano is a bench convenience (the dev image keeps it);
# on the release rootfs it costs 8.7 MB, most of it libmagic and its
# database, which nothing else here uses.
IMAGE_INSTALL:remove = "gfui-client nano"
# controllers below. nano is a bench convenience: on the release rootfs it
# costs 8.7 MB, most of it libmagic and its database, which nothing else
# here uses. The dev image blanks FORGEFIRM_RELEASE_TRIM to keep it (a
# removal spec is expanded when applied, so the variable, not the removal,
# is what a requiring recipe can override).
FORGEFIRM_RELEASE_TRIM ?= "nano"
IMAGE_INSTALL:remove = "gfui-client ${FORGEFIRM_RELEASE_TRIM}"
# grblhal-glowforge: the grblHAL motion controller (Grbl over TCP:23).
# forgectrl: the ForgeFIRM machine-services daemon (HTTP :8080): controller