Files
forgefirm/meta-forgefirm/recipes-extended/ulfius/ulfius_2.7.15.bb
T
ScottW514 b334c4cc33 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.
2026-08-31 09:04:37 -04:00

37 lines
1.7 KiB
BlitzBasic

DESCRIPTION = "Web Framework to build REST APIs, Webservices or any HTTP endpoint in C"
HOMEPAGE = "https://github.com/babelouest/ulfius"
LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://LICENSE;md5=40d2542b8c43a3ec2b7f5da31a697b88"
# Pinned to the v2.7.15 release tag, together with orcania v2.3.3 and
# yder v1.4.20 (its release-mate dependency versions). AUTOREV against master
# is unbuildable: master's CMake requires orcania/yder versions that have no
# release tags, and the git:// fetch never brings in the bundled-subproject
# fallback.
SRC_URI = "git://github.com/babelouest/ulfius;protocol=https;branch=master"
SRCREV = "a0603447d3ed63c0880db396b9c395fb4bf6b559"
# The request's client_address is the whole peer sockaddr. Upstream copies
# sizeof(struct sockaddr), 16 bytes, which truncates the sockaddr_in6 a
# dual-stack listener reports for every peer; forgectrl's loopback-only
# report channel reads the mapped address bytes that lie beyond it.
SRC_URI += "file://0001-client_address-carries-the-whole-peer-sockaddr.patch"
S = "${WORKDIR}/git"
inherit cmake pkgconfig
# curl backs the default-ON WITH_CURL client-request API (find_package REQUIRED).
DEPENDS = "jansson libmicrohttpd curl orcania yder"
# 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
# u_websocket.c trips it. Warning stays visible, just not fatal.
CFLAGS += "-Wno-error=conversion"