Commit Graph
100 Commits
Author SHA1 Message Date
cat 82c974d656 internal/rosa/package/xkbcommon: 1.13.1 to 1.13.2
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-05 09:20:12 +09:00
cat 8c17f201e5 internal/rosa/package/x: xwayland 24.1.11 to 24.1.12
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-05 09:19:46 +09:00
cat 63e0457538 internal/rosa/package/x: xserver 21.1.22 to 21.1.23
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-05 09:19:22 +09:00
cat ca93264c1f internal/rosa/package/dtc: 1.8.0 to 1.8.1
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-05 09:18:53 +09:00
cat 94173eafff internal/rosa/llvm: 22.1.6 to 22.1.7
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-04 20:13:26 +09:00
cat e28c4aa3c0 internal/rosa/package/kernel: 6.12.91 to 6.12.92
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-04 20:10:27 +09:00
cat 8e8410ce38 internal/pkg: archive unpack artifact
This unpacks an internal/pkg archive stream used in the upcoming mirror service.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-04 19:46:36 +09:00
cat 8fb6fdaa80 internal/pkg: prefix reporting names
This reads better than suffixes.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-04 19:05:36 +09:00
cat db69dcf0be internal/pkg: remove tar built-in decompressor
This is replaced by decompressArtifact and is no longer necessary.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-04 18:54:43 +09:00
cat 76c1fb84c8 internal/pkg: stream decompress artifact
The tarArtifact predates FileArtifact pipelining. This migrates decompression and buffering into a standalone artifact implementation.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-04 18:33:04 +09:00
cat 729be19af3 internal/pkg: rename archive checksum helpers
These names are more consistent with other helper names, so rename them while the API is still internal.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-04 14:13:20 +09:00
cat 4d04f86f4a internal/rosa/go: 1.26.3 to 1.26.4
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-03 16:18:04 +09:00
cat 42cea1e7c6 internal/pkg: streaming archive reader/writer
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-03 16:00:36 +09:00
cat 83498b5a8a cmd/mbf: keep non-native entries alive
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-02 16:06:04 +09:00
cat 9e824452bd internal/pkg: expose snapshot of binfmt entries
This is otherwise not externally accessible. The resulting map can be safely mutated.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-02 16:05:09 +09:00
cat 56937ac396 internal/rosa: populate opts of cloned S
This was missed when migrating opts into S.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-02 16:00:51 +09:00
cat 6c2f7089b6 internal/pkg: destroy unreachable status entries
These must be destroyed alongside their corresponding identifier or substitute entries to avoid inconsistent state.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-02 15:50:30 +09:00
cat 74c18390b4 internal/pkg: correctly scrub substitute status
Scrubbing for status predates substitutes. This change fixes scrub handling of substitute status entries.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-02 15:37:55 +09:00
cat 1490b32387 cmd/mbf: garbage collection commands
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-02 13:37:46 +09:00
cat fbd2329d50 internal/pkg: garbage collection
This destroys cache entries not referred to by user-specified artifacts and optionally their inputs.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-06-02 13:28:24 +09:00
cat f398f71fa9 internal/pkg: input iterator via IR cache
Primarily useful for garbage collection.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-31 14:19:27 +09:00
cat 4d017b1309 internal/rosa/package/rsync: annotate blocked update
Despite rsync being practically feature complete, with minimal changes in many years, it recently had a large number of poor quality AI-generated changes, with the first release including them apparently being 3.4.2. Release 3.4.3 then introduced a dependency on kernel-headers, creating a dependency loop that prevented directly upgrading to it. This change annotates the blockage since it is not worth working around the dependency loop for AI-generated garbage.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-30 23:15:04 +09:00
cat cd1d447664 internal/rosa/package/rsync: 3.4.2 to 3.4.1
This appears to be the last release not to contain AI slop.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-30 19:10:40 +09:00
cat 8b87e0eb76 internal/rosa: annotate blocked updates
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-30 18:56:55 +09:00
cat f4215ddda5 internal/rosa/package/qemu: 11.0.0 to 11.0.1
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-28 12:16:55 +09:00
cat 652b4c2ba0 internal/rosa/package/gnu: parallel 20260422 to 20260522
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-28 12:16:05 +09:00
cat 75715f4590 cmd/earlyinit: mount /dev/shm
Required by many programs.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 23:59:48 +09:00
cat 87c3b3663d cmd/earlyinit: improve change message formatting
This is significantly more readable.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 23:51:46 +09:00
cat 6d792023b2 internal/rosa/package: seatd
Required by wlroots sessions.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 23:17:33 +09:00
cat 3e62cf379f internal/rosa/package: libliftoff
Wanted by wlroots.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 23:07:53 +09:00
cat 6d991f2644 cmd/earlyinit: downgrade target error severity
This happens during coldboot, before reporting gains persistent state.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 18:58:30 +09:00
cat a2cc28f53c cmd/earlyinit: load device drivers
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 18:54:05 +09:00
cat 598c7aa30f internal/report: strict-exempt severity
For reportable but inconsequential errors like modprobe by MODALIAS failures.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 18:53:15 +09:00
cat b18f40d974 internal/kobject: pass action kind for range
Useful for handling most uevents.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 17:58:01 +09:00
cat 12a6061051 internal/rosa/package: sway
Required by vm test suite.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 17:10:18 +09:00
cat 02c3823ed7 internal/rosa/package: libinput
Required by sway.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 17:07:49 +09:00
cat cfbd8bd6f1 internal/rosa/package: libudev-zero
Avoids systemd, required by many projects.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 17:07:35 +09:00
cat fc7a339ed2 internal/rosa/package/kernel: 6.12.90 to 6.12.91
This unfortunately updates headers linux/mii.h and linux/virtio_net.h.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 15:47:53 +09:00
cat 97fdd5db8b internal/rosa/package/dtc: 1.7.2 to 1.8.0
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 15:46:58 +09:00
cat a5d9f76f50 internal/rosa/cmake: use DESTDIR instead of --prefix
Turns out --prefix is deeply broken, and DESTDIR works even when using ninja.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 15:45:58 +09:00
cat b313dfefb0 internal/rosa/package: libevdev
Required by sway.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 13:07:10 +09:00
cat 5b32297178 internal/rosa/package: check
Required by libevdev.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 13:05:24 +09:00
cat 32cc72821e internal/rosa/package: pango
Required by sway.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 12:33:10 +09:00
cat 958473e6f4 internal/rosa/package: harfbuzz
Required by pango.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 12:32:59 +09:00
cat cc52bb3035 internal/rosa/package: fribidi
Required by pango.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 12:13:31 +09:00
cat 7816f8b523 internal/rosa/package: cairo
Required by sway, which is required by vm test suite.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 12:00:13 +09:00
cat 91e4229e32 internal/rosa/package: json-c
Required by sway, which is required by vm test suite.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 11:20:28 +09:00
cat c346cb4c57 internal/rosa/package: wlroots
Required by sway, which is required by vm test suite.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 10:59:09 +09:00
cat 0e0d5e8def internal/rosa/package/x: xwayland
Generally useful for wayland display servers.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 10:45:03 +09:00
cat ea875416d4 internal/rosa/package: enable libglvnd in libepoxy
This is no longer circular because xserver does not require libepoxy.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 10:38:22 +09:00
cat 8c7109a2d5 cmd/earlyinit: mount system device
This currently relies on a trusted bootloader to determine the boot device.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-27 10:37:45 +09:00
cat caf3e0db4b internal/kobject: improve error JSON representation
This is now usable by internal/report.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-26 18:39:09 +09:00
cat 12b9f51128 internal/report: report errors with persistent backing
This is useful for reporting errors from processes that must never terminate.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-26 14:56:16 +09:00
cat d15f965d0c internal/kobject: range over objects
For matching devices based on some criteria.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-25 23:17:14 +09:00
cat fadd1b14f7 internal/kobject: process uevent
This tracks kernel state by merging a stream of uevent. Inconsistencies are reported and recovered from gracefully.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-25 21:31:59 +09:00
cat 3458806685 internal/rosa: resolve runtime for overlay extras
This is generally for system image creation, so this behaviour makes more sense.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-25 10:37:21 +09:00
cat 8ca70550ab internal/rosa/package: db
For iproute2.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-25 10:31:45 +09:00
cat 7eebf49b98 internal/rosa/package: libbpf
For eBPF support in iproute2.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-25 09:51:26 +09:00
cat 8c84883af6 internal/rosa/package: iproute2
Useful for debugging for now.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-25 09:33:32 +09:00
cat 4e1359aa95 internal/rosa/package: ignore local directory
For testing packages noneligible for upstream.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-24 16:47:24 +09:00
cat a3867ad65f internal/rosa/azalea: replace binding token
This replaces the '*' placeholder with a less confusing '#'.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-24 16:20:26 +09:00
cat 689f972976 internal/rosa/package: migrate stage0
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 17:53:05 +09:00
cat 3f33b62dfd internal/rosa/package: migrate system image
The overlay argument also enables migration of stage0.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 17:44:38 +09:00
cat ac5488eef6 internal/rosa/package: migrate initramfs image
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 17:30:39 +09:00
cat 77a15130c7 internal/rosa/package: foot
Used by vm test suite.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 16:51:32 +09:00
cat 4c1e823908 internal/rosa/package: fcft
Required by foot.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 16:45:42 +09:00
cat 5f5a398a5b internal/rosa/package: utf8proc
Required by foot.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 16:35:38 +09:00
cat d5e4a2e6a7 internal/rosa/package: tllist
Required by foot.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 16:35:24 +09:00
cat 57c6b84b60 internal/rosa/package: fontconfig
Required by foot.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 16:23:06 +09:00
cat 4269627b4b internal/rosa/package: xkbcommon
Required by foot.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 16:22:51 +09:00
cat d50e3c3d5b internal/rosa/package/glib: 2.88.1 to 2.89.0
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 14:33:37 +09:00
cat eae2890d98 internal/rosa/package/python: trove-classifiers 2026.5.7.17 to 2026.5.22.10
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 14:33:20 +09:00
cat f8ebfd71a7 internal/rosa/package/spirv: spirv-headers 1.4.341.0 to 1.4.350.0
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 14:32:52 +09:00
cat dce1a05f6c internal/rosa/package/firmware: 20260410 to 20260519
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 14:32:16 +09:00
cat eff265837c internal/rosa/package/mesa: 26.1.0 to 26.1.1
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 14:32:01 +09:00
cat 7d809eb15f internal/rosa/package/nss: 3.123.1 to 3.124
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 14:31:36 +09:00
cat 9accc2f961 internal/rosa/package/nss: nspr 4.38.2 to 4.39
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 14:31:19 +09:00
cat e5a4094298 internal/rosa: remove unused helpers
These are no longer needed after migration.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 14:00:18 +09:00
cat 410c4f8bb0 internal/rosa/package/cmake: 4.3.2 to 4.3.3
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 13:02:23 +09:00
cat 2e23c6d367 internal/rosa/package/kernel: 6.12.87 to 6.12.90
Unfortunately this causes rebuilds due to a single io_uring API change.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 13:01:44 +09:00
cat f5e9a0c04e internal/pkg: destroy new substitution status on fault
This avoids leaving behind the substitution status path of a faulted cure.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 01:31:13 +09:00
cat 3bd4ef616c internal/pkg: report errors exiting cure
This makes ongoing errors more obvious when multiple failures occur.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 01:25:42 +09:00
cat 41402fd578 internal/rosa/package/util-linux: 2.42 to 2.42.1
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-23 01:00:27 +09:00
cat b47fa1a214 internal/rosa: IR-curable source override
This creates a tarball in-memory for overriding hakurei-source.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-22 22:24:16 +09:00
cat 9e363cb2c9 internal/rosa/go: runtime dependencies for alterative path
The GCC toolchain is not dependency-free, so append them here.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-22 13:42:02 +09:00
cat 1389c77022 internal/rosa/package/hakurei: 0.4.2 to 0.4.3
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-22 03:16:56 +09:00
cat e231341e48 release: 0.4.3
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-22 02:18:10 +09:00
cat 70f977627d internal/pkg: arch-specific expected offline substituted
IR includes the target architecture name.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-22 01:51:15 +09:00
cat f3a6f7ddf9 internal/rosa/package: migrate hakurei
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-22 00:07:25 +09:00
cat 2a9aa3b400 cmd/dist: include version in release
This makes HAKUREI_VERSION optional during build.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-21 23:37:08 +09:00
cat 68a91523b9 internal/rosa/package: migrate bison
This is the final remaining trivial legacy artifact.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-21 23:06:34 +09:00
cat 5647321622 internal/rosa: move azalea builtins
This improves readability.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-21 22:51:50 +09:00
cat cdd31dd27b internal/rosa/azalea: integer arrays
This is useful for some helper functions. Performance is unaffected.

Before:
BenchmarkStage3-128     	    8308	   1960687 ns/op	 1023794 B/op	   14755 allocs/op
BenchmarkAll-128        	    3331	   5518571 ns/op	 2902320 B/op	   37993 allocs/op

After:
BenchmarkStage3-128     	    8330	   1946273 ns/op	 1023046 B/op	   14750 allocs/op
BenchmarkAll-128        	    3296	   5585805 ns/op	 2901746 B/op	   37991 allocs/op

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-21 22:47:41 +09:00
cat 0615899e56 internal/rosa: do not register stage0
Nothing can depend on this, so remove it from the namespace.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-21 22:20:01 +09:00
cat 0914569e62 internal/rosa/go: migrate to generic helper
The go toolchain predates all abstractions currently available. This migration causes rebuilds due to internal cleanups affecting the final build script.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-21 19:55:38 +09:00
cat 25d9edfc64 internal/rosa/package: migrate tamago
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-21 19:40:16 +09:00
cat af4c3bbff2 internal/rosa/package: migrate toybox
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-21 18:10:02 +09:00
cat 54aae9d72a internal/rosa/package: migrate llvm patches
LLVM itself is unlikely to ever be migrated due to complexity of the bootstrap, so migrate patches instead.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-21 17:51:23 +09:00
cat 58646f8ea5 internal/rosa/package/googletest: 1.16.0 to 1.17.0
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-21 17:02:40 +09:00
cat 9d7a27d8ac internal/rosa/package: migrate ninja
The ninja package predates all abstractions currently available. This migration causes rebuilds due to the old package being nonreproducible.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-21 16:48:10 +09:00