aboutsummaryrefslogtreecommitdiffhomepage
path: root/cmd/mbf
AgeCommit message (Collapse)Author
2026-08-08cmd/mbf: improve title formatOphestra
This is cleaner for long-running daemon processes, and the additional information is more intuitive. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-31cmd/mbf: set window titleOphestra
This displays ongoing and complete cures via the notify channel. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-31cmd/mbf: all commandOphestra
This is a convenience command to cure all registered packages to avoid relying on the test. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-30cmd/mbf: print checksum to stdoutOphestra
Same as the cure command, enables usage in scripts. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-30cmd/mbf: print outcome pathname to stdoutOphestra
This enables use of the cure command in scripts. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-30cmd/mbf: enable output colouringOphestra
This respects the de facto standards, on top of checking stderr. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-30internal/rosa: remove legacy exec helperOphestra
This change also adds a fourth stage to the bootstrap machinery, offering more correct toolchain validation that works around LLVM dynamic linking flaws. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-25cmd/mbf: move gentoo bootstrap pathOphestra
This is a lot more flexible for troubleshooting when used with the cure command. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-23internal/pkg: optional executable filesOphestra
This enables a FileArtifact implementation to specify whether its resulting file should be executable. This change also implements shebang and ELF magic checks in the file artifact. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-23internal/pkg: implementation revisionsOphestra
This enables changing the behaviour of an artifact implementation without changing its IR structure. Unfortunately this changes the IR header structure resulting in many rebuilds. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-09cmd/mbf: expose target load averageOphestra
There are often good reason to override this. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-09internal/pkg: consolidate cache attributesOphestra
This makes the interface stable. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-08cmd/mbf: validate build determinismOphestra
This rebuilds a package repeatedly and compares outcomes. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-08cmd/mbf: print all available handlesOphestra
Useful for scripting. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-08internal/pkg: optionally force implementation entryOphestra
For validation of build determinism. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-07internal/rosa: populate mirror snapshotOphestra
This produces the same structure served by the dynamic server. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-07internal/rosa: mirror response write methodsOphestra
For the fs.FS implementation and static publishing. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-07-07cmd/mbf: shallow by defaultOphestra
This is going to be used most of the time, with --deep only useful for fetching bootstrap artifacts. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-10cmd/mbf: migrate shell to enterOphestra
This reduces duplicate code. This change also adds resolv.conf to the container. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-10cmd/mbf: register binfmt entry for shellOphestra
This fixes --arch for shell. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-09internal/rosa: expose supported architecturesOphestra
This information is useful to external tooling and makes a lot more sense in this package than cmd/mbf. This change also fixes non-native artifact resolution during clean. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-08all: apply modernisersOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-08cmd/mbf: custom azalea pathOphestra
This enables out-of-tree packaging. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-07internal/rosa: access backing storage through fsOphestra
This is more versatile than hardcoding the os.Root implementation. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-07internal/rosa: mirror service via external cacheOphestra
This provides an authenticated implementation of the external cache. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-03internal/pkg: streaming archive reader/writerOphestra
This is much more robust and efficient than the simple buffering implementation for larger files. Allocations happen almost exclusively in WalkDir. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-02cmd/mbf: keep non-native entries aliveOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-02cmd/mbf: garbage collection commandsOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-30internal/rosa: annotate blocked updatesOphestra
These situations, while unfortunate, are inevitable at a larger scale. This change enables annotation and optional hiding of blocked updates. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27internal/rosa/cmake: use DESTDIR instead of --prefixOphestra
Turns out --prefix is deeply broken, and DESTDIR works even when using ninja. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23internal/rosa/package: migrate stage0Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-22internal/rosa: IR-curable source overrideOphestra
This creates a tarball in-memory for overriding hakurei-source. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-21internal/rosa: do not register stage0Ophestra
Nothing can depend on this, so remove it from the namespace. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-21internal/rosa: enforce exclusionsOphestra
This restores unexported artifact behaviour. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-20internal/rosa: remove global handlesOphestra
These no longer serve any purpose. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-20internal/rosa/package: migrate remaining trivial packagesOphestra
The rest are migrated individually. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-19internal/rosa/package: migrate kernelOphestra
This introduces bindings for extra paths and KnownChecksum, and exposes a passthrough special case. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-19internal/rosa: evaluate packages lateOphestra
This also enables concurrent evaluation. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-19internal/rosa: create metadata alongside artifactOphestra
This enables deferring evaluation of azalea-based packages and fixes the longstanding quirk of version being disjoint from other metadata. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-18internal/rosa: track evaluation timeOphestra
Useful to track performance regressions over migrations. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-18internal/rosa: evaluate packages from fsOphestra
This migrates GNU sed to azalea, and resulting IR matches. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-18internal/rosa: panic error for invalid handleOphestra
This enables recovery and better error handling for errors originating from external azalea files. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-17cmd/mbf: update pkgserver title textOphestra
This makes more sense for its purpose. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-17cmd/mbf: bring back pkgserver's favicon!kat
It existed in mae's #33, but ozy was not satisfied with including a binary file identical to https://hakurei.app's favicon, and hence removed it. However, it's possible to explicitly specify the favicon with a link tag [1]; provided a content security policy that isn't too strong, this should work fine. [1]: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/rel#icon
2026-05-17cmd/mbf: clone pkgserver order slicesOphestra
These are no longer arrays, so must be cloned for sorting. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-17internal/rosa: pass stage alongside stateOphestra
This cleans up many function signatures. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-17internal/rosa: key metadata by stringOphestra
For upcoming azalea integration. The API is quite ugly right now to ease migration. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-13cmd/mbf: display and destroy fault entriesOphestra
This change extends cmd/mbf commands for working with fault entries. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-08cmd/mbf: optionally override non-native flagsOphestra
This is a clean workaround for configuration differences to save time during development. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-08cmd/mbf: optionally register all targetsOphestra
This enables non-native cures from the daemon. Signed-off-by: Ophestra <cat@gensokyo.uk>