- New design doc on libc and init choice.
docs/libc-and-init.mdlays out
why yoe is musl + OpenRC + Alpine today, where that stack works (gateways,
IoT, networking gear), where it doesn't (Jetson, vendor BSPs, Adaptive
AUTOSAR), and the planned rootfs-base abstraction that would let a single yoe
codebase serve both Alpine and Ubuntu/L4T projects. Establishes the invariant
that yoe stays apk-native on every target — Debian-derived bases get a
deb_pkgconversion class, not dpkg/apt on the device. - Pull packages straight from Alpine. A new
units-alpinemodule wraps
prebuilt Alpine.apkfiles as yoe units via thealpine_pkg()class — no
source build, no patches, just fetch + verify + repack.musland
sqlite-libsship today; add more by pinning a version and sha256. muslnow comes from Alpine. The hand-rolled musl unit that copied the
dynamic linker out of the build container is gone;muslis now an Alpine apk
wrapped byalpine_pkg(). Output is byte-identical to the Alpine package
other projects already ship..apkURLs work as a source type. Yoe's source workspace now recognises
.apkextensions and bare-copies them so the unit's install task can extract
the multi-stream gzip with GNU tar. Bare-copied sources also keep their URL
filename, so install steps can reference the file by name instead of by cache
hash.- Override an upstream unit by name. Define a unit with the same name in a
higher-priority module (or in the project itself) and it shadows the upstream
one — noprovidesboilerplate needed. The project root beats every module,
and later modules beat earlier ones. A notice on stderr tells you which one
won. - Deploy from the TUI. Press
Don a non-image unit to deploy it to a
running yoe device — host prompt is pre-filled from the last-used target,
build + ssh + apk add output stream into the view, and the host is saved back
tolocal.staron success. - Deploy actually updates the device's apk index.
yoe deployand
yoe device repo addpreviously wrote to
/etc/apk/repositories.d/yoe-dev.list, which apk-tools 2.x ignores. They now
append a marker block to/etc/apk/repositoriesso the nextapk update
actually fetches the dev feed andapk add <unit>finds the freshly built
package. - TUI starts a feed automatically. When you launch
yoe, it brings up the
project's apk feed (or reuses one already running on the LAN), so devices
configured withyoe device repo addcan pull packages without any extra
setup. Status is shown in the header. - SSH target shorthand.
yoe deployandyoe device repo {add,remove,list}
accept[user@]host[:port]— e.g.yoe device repo add localhost:2222for a
QEMU vm oryoe deploy myapp pi@dev-pi.local:2200. The--ssh-portflag is
gone. - APK live deployment tooling.
yoe deploy <unit> <host>builds and
installs a unit on a running yoe device with full apk dependency resolution.
Pair withyoe serveandyoe device repo addto keep a device pointed at
your dev feed for ad-hocapk addfrom the device. See
docs/feed-server.md.
To update, run: yoe update
Or download the binary for your architecture and place it in your PATH.
Note: Yoe-NG is in heavy development. We recommend cleaning your build directory and re-creating projects (yoe init) with each new release.