Files
forgefirm/meta-forgefirm/recipes-extended/ulfius/ulfius_2.7.15.bb
T
ScottW514 97287aa6a9 commissioning: the layer, the acceptance tests, the harness rule, the docs, and the bench drills
meta-forgefirm: the forgefirm-users init replays the account at boot;
sshd refuses root and empty passwords and runs only while the panel
turns it on; the release image keeps an empty root password for the
console; the console banner; avahi announces forgefirm.local; https in
libmicrohttpd and ulfius; the panel on 80 and 443; the license bundle on
the rootfs; release.sh checks the root policy on the built rootfs.

forgetest: the commission suites (commission, commission_dark,
commission_sheet: 23 cases); the runner turns cloud mode on with the
typed phrase for a test that declares it; the baseline's motor_lock is
0; the log-export test checks the bundle for the camera key; the record
helpers write bytes as given and join the daemon's paths as POSIX. The
stream harness gains rule 24: a hold verdict is held again after a
resume. Bench drills: lens_travel.py and lens_stop_accel.py.

Docs: BRINGUP carries the present state; CAMPAIGN-LOG carries the dated
record.
2026-09-06 19:56:05 -04:00

39 lines
1.8 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).
# GnuTLS backs the secure framework: forgectrl serves HTTPS on 443 with
# a self-signed certificate.
DEPENDS = "jansson libmicrohttpd curl orcania yder gnutls"
# No systemd journald on the forgefirm image. GnuTLS is on for HTTPS
# (the trimmed GnuTLS build is set in conf/distro/forgefirm.conf); no
# websocket support, which forgectrl does not use.
EXTRA_OECMAKE += "-DWITH_JOURNALD=off -DWITH_GNUTLS=on -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"