aboutsummaryrefslogtreecommitdiffhomepage
path: root/cmd/mbf/main.go
AgeCommit message (Collapse)Author
13 hourspkg: move from internalHEADstagingmasterdevelopOphestra
Closes #43. Signed-off-by: Ophestra <cat@gensokyo.uk>
5 dayscontainer: enter init path earlyOphestra
There is generally no use case where any setup is required before init, and requiring the explicit function call is error-prone and unnecessary. It also causes trouble with packages using a similar trick. This change moves argv0 check early and makes it an import side effect. The stub will be removed in v0.5. Signed-off-by: Ophestra <cat@gensokyo.uk>
5 daysinternal/rosa: read-only access to built-insOphestra
This removes potential footguns caused by mutable builtins without requiring unnecessary clones. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-08-12internal/pkg: in-flight error resolutionOphestra
The DCE is a slow and overcomplicated solution to a simple problem. This change replaces the DCE by resolving errors in-flight. 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-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-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-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-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>
2026-05-07cmd/mbf: optional emulated target architectureOphestra
This enables transparent cross-compilation without breaking purity. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-07internal/pkg: optionally register binfmtOphestra
This transparently supports curing foreign exec artifacts. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-05cmd/mbf: optional init verbosityOphestra
This output is generally not needed and only useful when debugging container machinery itself. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-03cmd/mbf: optionally build on early stagesOphestra
This makes debugging the bootstrap process much less cumbersome. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-02cmd/mbf: package status dashboardmae
This displays package metadata with optional status from a report.