Errata: due to an issue in the alpine module, you must currently run with:
yoe --allow-duplicate-provides.
- BREAKING CHANGE This project has been moved to a new Github org:
https://github.com/yoebuild.yoe updatefrom previous versions will not work
and you will need to download and manually install the 0.10.0 binary. - TUI search is now a query language; defaults to your image's working set.
Press/to filter bytype:,module:,status:, orin:(closure of any
unit), in addition to plain substring search.Tabcompletes field names and
values. The TUI starts filtered toin:<your-default-image>, so a project
with thousands of units shows just what your image needs. PressSto save
the current query tolocal.staras the new default; press\to snap back
to it. The header showsQuery: … Units: N/Mso you always know how many of
the project's units the current filter is showing. - Use
apk-toolsfrom alpine layer for now. It is built with docs. yoe repo cleandrops stale.apkfiles. Removes any.apkin the
project's local repo whose name+version no longer matches a current unit (unit
deleted, version bumped, release suffix changed) and re-signs the regenerated
APKINDEX. Without this,apk addhappily picks the highest- versioned
candidate even when that candidate is leftover from a since-deleted unit —
which is how aLUA=no-builtapk-tools("apk has been built without help")
could keep winning over Alpine's prebuilt long after the source unit was
removed.- Source-built
opensslno longer collides with Alpine'slibcrypto3/
libssl3. Theopensslunit inunits-corenow declares
provides = ["libcrypto3", "libssl3"], so any package whoseruntime_deps
reachlibcrypto3orlibssl3(e.g.units-alpine'sapk-tools) routes
back to the source-built openssl instead of pulling Alpine's split libcrypto3
/libssl3 packages alongside. Without this, image-timeapk addaborted with
trying to overwrite usr/lib/libcrypto.so.3 owned by openssl-3.4.1-r0. units-alpinenow lives in its own repo.yoe initand the e2e project
pullunits-alpineandunits-jetsonfromgithub.com/yoebuild/instead of
carrying units-alpine inside this repo. Existing projects with
path = "modules/units-alpine"should switch to a remotemodule(...)ref.- Shadow notices are off by default. Cross-module unit shadowing and
providesoverrides no longer print a stderr notice on every load. Pass
--show-shadowsto see them when you actually want to audit which module won. --allow-duplicate-provideslets multiple units share a virtual. When
set, units in the same module may declare the sameprovides(apk-style "any
of these satisfies"); the first one wins forPROVIDESlookup. Needed for
units-alpine'slinux-firmware-*fan-out, where ~100 packages all provide
linux-firmware-any.patches=resolves relative to the unit's own .star file directory. A
unit can now ship its patches alongside its definition (e.g.
units/bsp/foo/patches/0001-fix.patchnext tounits/bsp/foo.star), and the
samepatches=["patches/foo/0001-fix.patch"]works whether the unit is loaded
from a local module override or a fetched remote module. Previously patches
were resolved against the project root, which meant module-shipped patches
couldn't be found unless every consumer copied them.
To update, run: yoe update
Or download the binary for your architecture and place it in your PATH.
Note: Yoe is in heavy development. We recommend cleaning your build directory and re-creating projects (yoe init) with each new release.