mirror of
https://github.com/openglow-org/forgefirm.git
synced 2026-09-27 16:51:12 -07:00
image: drop the python3 meta-package and the GnuTLS stack; pin forgectrl and grblHAL
The release rootfs carried python3-modules (tkinter, idle, 2to3, pydoc, ensurepip, venv, asyncio, multiprocessing, xmlrpc) through the python3 meta-package, and libgnutls30, nettle, libgmp10, libunistring5 and libtasn1 through libmicrohttpd (https) and ulfius (GnuTLS). Nothing on the image uses either. Each Python recipe declares the module packages it imports; forgetest declares its own, so the dev image carries no module the release image lacks. Pins: forgectrl 0e907f7db54b7a4c90b660f198d49e5c66b667b5 (armed shown from a fresh report only, zero smoke phase for a dark session), grblhal-glowforge fa9ed7834faab6f48367dc1ca5a5109b474f788d (rail enable only standalone). BRINGUP: the lid IR lamp response measured over the full range; no camera register file under /data; the rail policy and the cool status items closed; laser.armed-kill stays in its domain; the debug-kernel drill constraints. Platform change (layer content): the full campaign is owed on the built image.
This commit is contained in:
@@ -23,10 +23,12 @@ S = "${WORKDIR}/git"
|
||||
inherit cmake pkgconfig
|
||||
|
||||
# curl backs the default-ON WITH_CURL client-request API (find_package REQUIRED).
|
||||
DEPENDS = "gnutls jansson libmicrohttpd curl orcania yder"
|
||||
DEPENDS = "jansson libmicrohttpd curl orcania yder"
|
||||
|
||||
# No systemd journald on the forgefirm image.
|
||||
EXTRA_OECMAKE += "-DWITH_JOURNALD=off"
|
||||
# No systemd journald on the forgefirm image. forgectrl serves plain HTTP
|
||||
# and no websockets: no GnuTLS (which keeps nettle, gmp, libunistring and
|
||||
# libtasn1 off the rootfs) and no websocket support, which depends on it.
|
||||
EXTRA_OECMAKE += "-DWITH_JOURNALD=off -DWITH_GNUTLS=off -DWITH_WEBSOCKET=off"
|
||||
|
||||
# ulfius builds itself with -Werror -Wconversion; under Yocto's arm32
|
||||
# time64 ABI (-D_TIME_BITS=64) a long-long-to-long time conversion in
|
||||
|
||||
@@ -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 = "fac30a4388f96f9f5786a936cd2759b1144ca1a3"
|
||||
SRCREV = "0e907f7db54b7a4c90b660f198d49e5c66b667b5"
|
||||
PV = "0.1.0"
|
||||
|
||||
@@ -25,7 +25,25 @@ inherit python3-dir update-rc.d forgefirm-manifest
|
||||
# it identifies the campaign, never a test fingerprint).
|
||||
FORGEFIRM_MANIFEST_SRC = "${WORKDIR}/forgetest/forgetest"
|
||||
|
||||
RDEPENDS:${PN} = "python3 forgectrl"
|
||||
# The standard-library packages the tool imports (the page server, the
|
||||
# catalog, the bench scripts), not the python3 meta-package: the dev image
|
||||
# must carry no module the release image lacks, or a missing module in
|
||||
# the release rootfs would pass the campaign unseen.
|
||||
RDEPENDS:${PN} = " \
|
||||
python3-core \
|
||||
python3-compression \
|
||||
python3-crypt \
|
||||
python3-fcntl \
|
||||
python3-io \
|
||||
python3-json \
|
||||
python3-logging \
|
||||
python3-math \
|
||||
python3-netclient \
|
||||
python3-netserver \
|
||||
python3-shell \
|
||||
python3-statistics \
|
||||
forgectrl \
|
||||
"
|
||||
|
||||
INITSCRIPT_NAME = "forgetest"
|
||||
INITSCRIPT_PARAMS = "start 95 2 3 4 5 . stop 70 0 1 6 ."
|
||||
|
||||
@@ -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 = "06965b6639f6ef15d25683786252bb1bdbc2be50"
|
||||
SRCREV = "fa9ed7834faab6f48367dc1ca5a5109b474f788d"
|
||||
PV = "0.1.0"
|
||||
|
||||
@@ -14,9 +14,13 @@ DESCRIPTION = "OpenGlow/ForgeFIRM image for Glowforge"
|
||||
# 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).
|
||||
# is what a requiring recipe can override). python3 is the meta-package:
|
||||
# it installs every standard-library module (tkinter, idle, 2to3, pydoc,
|
||||
# ensurepip, venv, the debugger, asyncio, multiprocessing, xmlrpc), which
|
||||
# nothing here imports. Each Python recipe declares the module packages it
|
||||
# imports (python3-core plus the few it uses), so the meta-package goes.
|
||||
FORGEFIRM_RELEASE_TRIM ?= "nano"
|
||||
IMAGE_INSTALL:remove = "gfui-client ${FORGEFIRM_RELEASE_TRIM}"
|
||||
IMAGE_INSTALL:remove = "gfui-client python3 ${FORGEFIRM_RELEASE_TRIM}"
|
||||
|
||||
# grblhal-glowforge: the grblHAL motion controller (Grbl over TCP:23).
|
||||
# forgectrl: the ForgeFIRM machine-services daemon (HTTP :8080): controller
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
# forgectrl serves plain HTTP on the LAN: no TLS in the HTTP library, so
|
||||
# the rootfs carries no GnuTLS stack for it.
|
||||
PACKAGECONFIG:remove = "https"
|
||||
Reference in New Issue
Block a user