cat
c79ae7aed6
release: 0.4.6
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-09 20:48:28 +09:00
cat
396ae2ba2a
cmd/dist: replace readme with license
...
The readme document is pretty useless for anything other than the website, so replace it with something more relevant.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-09 20:40:52 +09:00
cat
1e85dca9e2
internal/rosa/package/python: setuptools 83.0.0 to 84.0.0
...
This has also turned into AI slop at some point, although its quality was never great to begin with. This may be a candidate to pin and ignore.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-09 19:13:05 +09:00
cat
d236c9eaf7
cmd/mbf: improve title format
...
This is cleaner for long-running daemon processes, and the additional information is more intuitive.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-08 13:10:18 +09:00
cat
3c1a6f0793
internal/rosa/package/python: vcs-versioning 2.2.3 to 2.2.4
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-08 13:05:30 +09:00
cat
16f84f9499
internal/rosa/package/kernel: 6.18.42 to 6.18.43
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-08 12:52:27 +09:00
cat
9deed030f0
internal/rosa/package/p11-kit: 0.26.4 to 0.26.5
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-08 12:51:55 +09:00
cat
69095e03c9
internal/rosa/package/nss: nspr 4.39 to 4.40
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-08 12:51:29 +09:00
cat
8138b2a3f0
internal/rosa/package/lvm2: 2.03.41 to 2.03.42
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-08 12:50:58 +09:00
cat
308c7d1846
internal/rosa/package/gcc: 16.1.0 to 16.2.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-08 12:50:13 +09:00
cat
807f4ccbeb
replace goreportcard badge
...
Closes #40 .
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-07 21:57:06 +09:00
cat
f1dd3a085b
command: hard wrap help message flags
...
This greatly improves readability when lots of flags are registered.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-07 20:32:24 +09:00
cat
b37c1d8993
command: use NUL for magic usage string
...
This change also improves documentation.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-07 18:57:01 +09:00
cat
6a7f124deb
internal/rosa/package: cryptsetup
...
Useful for now, will likely be replaced by a native implementation.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-06 18:16:41 +09:00
cat
a9a32284b6
internal/rosa/package/mesa: 26.1.6 to 26.2.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-06 18:16:08 +09:00
cat
255a1bbf74
internal/rosa/package/fontconfig: 2.18.2 to 2.18.3
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-06 18:15:48 +09:00
cat
96cdf4cc07
internal/rosa/package/python: 3.14.6 to 3.14.7
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-06 18:15:24 +09:00
cat
35a55854fd
internal/rosa/package/python: flit-core 3.12.0 to 4.0.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-06 18:14:57 +09:00
cat
2f057cc72f
internal/rosa/package/python: packaging 26.2 to 26.3
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-06 18:13:58 +09:00
cat
3356ca3e46
internal/rosa/package/python: mako 1.3.12 to 1.4.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-06 18:13:33 +09:00
cat
ccef0a086a
internal/rosa/package/pango: 1.58.1 to 1.58.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-06 18:12:39 +09:00
cat
edb694fb41
internal/rosa/package/x: libXfont2 2.0.8 to 2.0.9
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-06 18:12:17 +09:00
cat
90535adc89
internal/rosa/package: lvm2
...
This is only really packaged for devmapper, and will eventually be replaced by a native implementation.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-06 16:50:02 +09:00
cat
6fed6d67bd
internal/rosa/package: libaio
...
Library for the dreaded AIO syscalls. Test suite is absurdly expensive. Required by lvm2.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-06 15:51:05 +09:00
cat
dcaf67b3d7
internal/rosa/package: e2fsprogs
...
These are probably not worth reimplementing, and are quite useful for debugging, regardless.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-06 15:13:33 +09:00
cat
c7de3d45e3
internal/rosa/package: popt
...
Somewhat widely-used library. Required by cryptsetup.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-06 15:12:37 +09:00
cat
d9bddff160
internal/rosa/package/kernel: 6.18.41 to 6.18.42
...
A change to a single field in a btrfs struct caused world rebuild.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-04 15:04:54 +09:00
cat
5c6dcce543
internal/rosa/package/glslang: switch to vulkan-sdk tags
...
This restores compatibility with other SPIRV packages.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-04 13:12:13 +09:00
cat
905a69d2a0
internal/rosa/package/pango: 1.58.0 to 1.58.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-04 13:10:34 +09:00
cat
e453bc67d0
internal/rosa/package/lua: 5.5.0 to 5.5.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-04 13:10:11 +09:00
cat
0fa145a1a0
internal/rosa/package/libpsl: 0.23.0 to 0.23.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-02 10:15:12 +09:00
cat
b5a65d1255
internal/rosa/package/cmake: 4.4.1 to 4.4.2
...
Those regressions sure came quickly. Concerning.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-01 16:38:46 +09:00
cat
ccdc0fa37e
internal/rosa/package/libudev-zero: 1.0.4 to 1.0.5
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-01 16:38:20 +09:00
cat
b97518552d
internal/rosa/package/spirv: spirv-llvm-translator 22.1.4 to 22.1.5
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-01 16:37:51 +09:00
cat
67d14dc12c
internal/rosa/package/noto: 2026.07.01 to 2026.08.01
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-01 16:37:18 +09:00
cat
695b1b4845
internal/rosa/package/harfbuzz: 14.2.1 to 14.3.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-08-01 16:36:58 +09:00
cat
2e5d954f49
internal/rosa/package/hwdata: 0.409 to 0.410
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-31 21:07:22 +09:00
cat
e6af0c405a
internal/rosa/package: pipewire/wireplumber
...
These are built separately to avoid meson wrap.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-31 17:06:26 +09:00
cat
599a761b27
internal/rosa/package: lua
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-31 17:03:02 +09:00
cat
b7aa91f08f
cmd/mbf: set window title
...
This displays ongoing and complete cures via the notify channel.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-31 15:49:07 +09:00
cat
280a736ce3
internal/pkg: cure entry/exit notification
...
This enables cure status display without inspecting internal state.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-31 13:58:32 +09:00
cat
4e41b9bc99
cmd/mbf: all command
...
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-31 13:16:36 +09:00
cat
153c980a61
internal/rosa/package/kernel: 6.18.40 to 6.18.41
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-30 23:16:17 +09:00
cat
a2f97f7e0f
internal/rosa/package: use mirrors.kernel.org
...
The GNU mirror redirector was down yet again, and I have had enough. This change replaces all mentions of ftpmirror.gnu.org with mirrors.kernel.org.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-30 22:59:08 +09:00
cat
5e1b4bb0b8
cmd/mbf: print checksum to stdout
...
Same as the cure command, enables usage in scripts.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-30 22:45:05 +09:00
cat
e73f9e0626
internal/pkg: highlight miscellaneous verbose output
...
These were missed when adding highlight for core cache verbose output.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-30 22:41:18 +09:00
cat
ddd90b780b
internal/rosa: drain optional unstructured input
...
This was missed, causing non-minimal kindEtc IR to be rejected.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-30 22:39:29 +09:00
cat
89c32f5614
cmd/mbf: print outcome pathname to stdout
...
This enables use of the cure command in scripts.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-30 17:39:56 +09:00
cat
1567a3e582
internal/pkg: highlight cache verbose output
...
This highlights sections of messages, increasing readability in some cases.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-30 17:35:49 +09:00
cat
aa9952cd9e
internal/rosa/package/spirv: 1.4.350.1 to 1.4.357.0
...
This also switches spirv-tools to the vulkan-sdk tags to remain compatible with spriv-headers.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-30 16:52:25 +09:00
cat
99efc551ad
internal/rosa/package/meson: respect CLICOLOR_FORCE
...
Upstream had ticket and patch available since 2017, still unmerged and refuses to support the environment variable, so patch it in. This also strips out the variable for test execution to work around buggy test suites like glib.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-30 08:51:46 +09:00
cat
4dbfee0698
internal/rosa: force output colouring
...
This sets known de facto standard environment variables to enable colours during builds.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-30 06:01:54 +09:00
cat
4e65e41101
internal/rosa/package/mesa: 26.1.5 to 26.1.6
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-30 05:19:55 +09:00
cat
b8306fe9e2
internal/rosa/package/python: vcs-versioning 2.2.2 to 2.2.3
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-30 05:19:21 +09:00
cat
6b246e9036
internal/rosa/package/glib: 2.89.2 to 2.89.3
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-30 05:18:23 +09:00
cat
869820ec6d
cmd/mbf: enable output colouring
...
This respects the de facto standards, on top of checking stderr.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-30 05:16:39 +09:00
cat
6fb2065a51
internal/pkg: optionally colour output
...
This increases readability in some cases.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-30 05:15:19 +09:00
cat
698fd2d66a
internal/rosa/package/libarchive: 3.8.8 to 3.8.9
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-30 04:02:23 +09:00
cat
4cfbc93aa0
internal/rosa/package/gcc: binutils 2.46.1 to 2.47
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-30 04:02:00 +09:00
cat
feec4b0d22
internal/rosa/package/cmake: 4.4.0 to 4.4.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-30 03:24:48 +09:00
cat
6487b41d92
internal/rosa: remove legacy exec helper
...
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-30 00:18:22 +09:00
cat
7908fb9583
internal/rosa/llvm: exclude runtime symbols
...
These leak by default when static linking, which is considered unacceptable for many libraries.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-29 03:00:59 +09:00
cat
95aa7c205c
internal/rosa: remove calls to low-level exec helper
...
This method predates the helper infrastructure, it is awkward to use and difficult to maintain for the replacement bootstrap mechanism. This change prepares for its removal.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-27 18:24:38 +09:00
cat
bd0cc3656f
internal/rosa/llvm: statically link libc++
...
This avoids unnecessarily depending on the toolchain.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-27 18:15:00 +09:00
cat
0219240adb
internal/rosa/package/qemu: 11.0.2 to 11.0.3
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-25 14:23:25 +09:00
cat
aa4a15fc2c
cmd/mbf: move gentoo bootstrap path
...
This is a lot more flexible for troubleshooting when used with the cure command.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-25 14:17:03 +09:00
cat
0d3efeb456
internal/rosa: remove xz utils hack
...
This replaces all xz invocations with the native decompressor. This also significantly cleans up the Gentoo stage3 bootstrap path.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-25 14:14:34 +09:00
cat
35147f6dfb
internal/pkg: skip character device nodes
...
This allows unpacking of tarballs containing these entries.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-25 14:07:38 +09:00
cat
e5abf51296
internal/pkg: decompress xz streams
...
This uses a port of the public domain xz implementation.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-25 14:03:34 +09:00
cat
e26914cd6f
internal/rosa/package/kernel: 6.18.39 to 6.18.40
...
Kernel headers bumped due to struct bpf_map_info changes and IFLA_BOND_LACP_STRICT.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-25 13:58:12 +09:00
cat
b647170d0c
internal/rosa/package/strace: build from git sources
...
This removes xz input. This change also enables tests.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-25 01:40:47 +09:00
cat
5e655a0bf6
internal/rosa/package: gawk
...
Reintroduce this to build strace without xz-compressed release tarball: bootstrap script explicitly requires gawk.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-25 01:21:41 +09:00
cat
89eb3d27aa
internal/rosa/package/util-linux: add ncurses
...
This enables more.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-25 00:54:25 +09:00
cat
3b7a22ff9b
cmd/dist: default to /usr/local prefix
...
This conventionally makes more sense for software not installed by the package manager.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-24 19:12:59 +09:00
cat
6c2ca507b9
internal/rosa/package: byacc
...
Much cleaner than bison and compiles much faster. This should be used whenever possible.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-24 18:48:20 +09:00
cat
1a8212ee02
internal/rosa/package/libdisplay-info: 0.3.0 to 0.4.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-24 11:53:59 +09:00
cat
84bb2a5038
internal/rosa: update stage0 distribution
...
This also replaces the slow bzip2 compression with zstd.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-24 11:10:59 +09:00
cat
46b247f911
internal/rosa/package/zstd: use zstd-compressed tarball
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-24 00:06:18 +09:00
cat
390f3b2dae
internal/pkg: decompress zstd streams
...
This uses internal/zstd until compress/zstd becomes available.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-23 22:18:06 +09:00
cat
5d3e47d8e7
internal/rosa/package/libarchive: add runtime dependencies
...
These were missed due to being implied by the toolchain.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-23 22:02:06 +09:00
cat
6f2852547b
internal/rosa/package/netfilter: use git protocol
...
The https service is down but somehow the git protocol is still accessible. Security implications do not apply due to KnownChecksum measurement.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-23 21:56:52 +09:00
cat
3cff369368
internal/rosa/package/xkbcommon: use fallback update filter
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-23 18:10:50 +09:00
cat
09de939955
internal/rosa: make build script executable
...
This makes it slightly easier to invoke when working on a package via --enter.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-23 18:02:50 +09:00
cat
e0eec632d0
internal/pkg: optional executable files
...
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-23 17:10:22 +09:00
cat
67dbb68818
internal/pkg: implementation revisions
...
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-23 16:39:34 +09:00
cat
0e689d9983
internal/rosa/package: codeberg prefer release tarballs
...
Source archives are unstable.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-22 11:26:12 +09:00
cat
21a4067592
internal/rosa/package/perl: 5.42.2 to 5.44.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-22 11:24:46 +09:00
cat
639766dfca
internal/rosa/package/gnu: parallel 20260622 to 20260722
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-22 11:23:50 +09:00
cat
e4f025b9f1
internal/rosa/package/python: setuptools-scm 10.2.0 to 10.2.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-22 11:23:24 +09:00
cat
1b65c8107c
internal/rosa/package/kernel: 6.18.38 to 6.18.39
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-21 12:13:22 +09:00
cat
1857ad8763
internal/rosa: optionally exclude toolchain in azalea
...
This is useful for edge cases where programs rely on gcc bugs to behave correctly.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-19 03:38:35 +09:00
cat
c822ff9aca
internal/rosa: migrate early-compiler-rt to azalea
...
Had to do the cmake hack for now due to evaluator limitation with inherited version.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-18 23:56:05 +09:00
cat
9df1609660
internal/rosa: migrate early-runtimes to azalea
...
This is fully representable in azalea, so migrate it.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-18 23:23:16 +09:00
cat
22e9e85a03
internal/rosa: migrate llvm source to azalea
...
Previous change enabled this migration.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-18 23:14:18 +09:00
cat
b79aa3ea1c
internal/rosa/state: patch output-only packages
...
This is useful for common patched source code.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-18 23:05:52 +09:00
cat
8d9b14dfe1
internal/rosa/cmake: disable nuisance warnings
...
Author warnings are pointless here, and it makes no sense to make CMAKE_<LANG>_COMPILER_TARGET optional just to shut cmake up.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-18 13:44:41 +09:00
cat
5770f957e5
internal/rosa/package/gnu: libtool 2.5.4 to 2.6.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-18 12:07:05 +09:00
cat
e7903cf7e2
internal/rosa/package/wayland: 1.25.91 to 1.26.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-18 11:57:10 +09:00
cat
df199a8774
internal/rosa/package/nss: 3.125 to 3.126
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-18 11:56:46 +09:00
cat
d906bc2ee0
internal/rosa/package/spirv: disable arm64 broken tests
...
These were newly broken by the latest release.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-17 16:15:32 +09:00
cat
e0e9910243
internal/rosa/package/perl: fix release monitoring
...
The existing Microsoft Github monitoring is broken due to unconventional upstream tagging practices. This change switches to monitoring based on the web page instead.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-16 12:58:51 +09:00
cat
c8d54cebe9
internal/rosa/package/mesa: 26.1.4 to 26.1.5
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-16 12:56:02 +09:00
cat
74e7fb7818
internal/rosa/package/spirv: spirv-llvm-translator 22.1.2 to 22.1.4
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-15 14:36:12 +09:00
cat
8366cdd224
internal/rosa/package/spirv: spirv-tools 2026.1 to 2026.2
...
Upstream does not appear to understand the point of tags, so include relevant unreleased changes here.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-15 14:35:10 +09:00
cat
05f9939077
internal/rosa/package/glslang: 16.3.0 to 16.4.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-15 14:31:45 +09:00
cat
ae30f627dd
internal/rosa/package/glib: 2.89.1 to 2.89.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-15 01:41:12 +09:00
cat
b4916dd431
internal/rosa/package/tamago: 1.26.4 to 1.26.5
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-14 22:29:37 +09:00
cat
4cf235675a
internal/rosa/meson: always prepend D
...
All flags in practice use this convention. An escape hatch is available by leaving the value empty.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-14 22:17:51 +09:00
cat
098943ab46
internal/rosa/meson: optionally use muon
...
This is a much faster implementation free of python dependency hell, however currently fails to handle symbol visibility correctly, so unable to default to on. This change also cleans up some meson arguments.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-14 21:45:07 +09:00
cat
fb3df67ba6
internal/rosa/package: muon
...
Python-free meson drop-in replacement. Test suite still pulls in bootstrap python, but that is fine.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-14 20:09:41 +09:00
cat
b1c882b4de
internal/rosa/package/libucontext: 1.5.1 to 1.5.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-14 17:48:55 +09:00
cat
0ed0d8abde
internal/rosa/package/libpsl: 0.22.0 to 0.23.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-14 17:48:28 +09:00
cat
51e4426a4f
internal/rosa: remove gawk
...
This change fully eliminates gawk.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-13 00:10:38 +09:00
cat
316edeb17b
internal/rosa: fix GNU testsuite edge case
...
For segments with a single test.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-12 22:37:57 +09:00
cat
8facae53c7
internal/rosa/package: replace gawk
...
This replaces gawk in miscellaneous packages.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-12 22:09:56 +09:00
cat
7881bfd027
internal/rosa/package: awk
...
This should replace gawk in many cases.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-12 22:08:22 +09:00
cat
9e9469fe6c
internal/rosa/package/go: disable test broken on arm64
...
Not currently able to investigate the failure due to performance of the arm64 development machine.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-12 19:58:22 +09:00
cat
b6d90eb8e0
internal/rosa/package/gnu: findutils 4.10.0 to 4.11.0
...
Yet another broken gnulib test.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-12 19:34:02 +09:00
cat
879f911fd8
internal/rosa/package/p11-kit: 0.26.2 to 0.26.4
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-12 19:21:39 +09:00
cat
1066fc0097
internal/rosa/package/meson: 1.11.1 to 1.11.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-12 19:21:15 +09:00
cat
3a3d8efb1e
internal/rosa/package/python: early bootstrap variant
...
This avoids pulling in python's insane dependency tree into the bootstrap path.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-11 21:13:44 +09:00
cat
cb8c9e4e68
internal/rosa/package/git: disable more flaky tests
...
Discovered these during the most recent libffi-induced world rebuild.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-11 15:40:48 +09:00
cat
1c4a3b72bf
internal/rosa/package/libffi: 3.7.0 to 3.5.2
...
Appears to be the final non-contaminated release. This package cannot be safely blocked indefinitely like rsync and vim. This change discontinues frequent bumps and limits damage by regressions introduced by AI slop until long-term plans are decided.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-11 12:23:05 +09:00
cat
fdca05487c
internal/rosa/package/cmake: 4.3.4 to 4.4.0
...
This change also disables the bootstrap test because 4.4.0 broke the bootstrap test, and it makes little sense re-testing what has already succeeded.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-10 23:49:58 +09:00
cat
89db730bb9
internal/rosa/package/ncurses: enable deterministic archives
...
This is not done by default in upstream build system.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-10 17:48:32 +09:00
cat
5161fc24ec
internal/rosa/package/go: 1.26.4 to 1.26.5
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-10 15:51:57 +09:00
cat
e1f16e7720
internal/rosa: apply patches in specified order
...
This seems more intuitive than letting the filesystem decide, and having to use awkward names.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-10 15:39:55 +09:00
cat
8e9b3a2ed1
internal/rosa/go: migrate to azalea
...
Bootstrap still remains native, however the final toolchain is migrated to azalea.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-10 14:48:54 +09:00
cat
fd0a81b304
internal/rosa/package/libffi: 3.6.0 to 3.7.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-10 13:41:02 +09:00
cat
1d6d89a11a
internal/rosa/package/go: bootstrap 1.25.11 to 1.25.12
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-10 02:37:38 +09:00
cat
6a6fdab92d
internal/rosa/package/x: xwayland 24.1.12 to 24.1.13
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-10 02:37:15 +09:00
cat
67c67574e8
internal/rosa/package/x: xserver 21.1.23 to 21.1.24
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-10 02:36:53 +09:00
cat
79be25433b
internal/rosa/package/x: libXfont2 2.0.7 to 2.0.8
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-10 02:36:24 +09:00
cat
a4d78e8a32
internal/rosa/package/python: hatchling 1.17.0 to 1.17.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-10 02:35:41 +09:00
cat
ab3c37f75a
internal/rosa/package/wlroots: 0.20.1 to 0.20.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-10 02:35:07 +09:00
cat
e6757fe254
internal/rosa/package/wayland: 1.25.0 to 1.25.91
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-10 02:34:32 +09:00
cat
b0f0d9e060
internal/rosa/package/libva: 2.24.0 to 2.24.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-10 02:33:59 +09:00
cat
ce58895a0d
internal/rosa/package/fontconfig: 2.18.1 to 2.18.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-10 02:33:16 +09:00
cat
3c78551b24
cmd/mbf: expose target load average
...
There are often good reason to override this.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-09 20:07:16 +09:00
cat
223e8e56b3
internal/rosa/meson: respect preferred loadavg target and job count
...
This was missed when first implementing jobs and was missed again implementing loadavg.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-09 19:37:08 +09:00
cat
17383ab353
internal/rosa/package/gnu: disable flaky coreutils test
...
Another flaky test, once disabled but removed during an upgrade.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-09 10:50:53 +09:00
cat
237e793895
internal/rosa: respect preferred loadavg target
...
This generally improves build performance and system responsiveness.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-09 10:08:08 +09:00
cat
6cfd8fb934
internal/pkg: loadavg target in container environment
...
This exposes preferred loadavg target to the container initial process.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-09 09:45:43 +09:00
cat
2f1534853a
internal/pkg: consolidate cache attributes
...
This makes the interface stable.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-09 09:34:27 +09:00
cat
3f8e111d1c
configure Azalea language detection
...
This is not likely to be upstreamed anywhere, any time soon, so configure it here.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-09 03:13:11 +09:00
cat
9fae451dc0
internal/rosa/meson: set timeout multiplier
...
Current meson-based spurious test failures are generally always caused by timeouts under load, so mitigate that here.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-09 03:01:07 +09:00
cat
e3666cda21
internal/rosa/make: run in hardcoded directory
...
This actually eliminates some of the autotools nondeterminism, as autotools is not capable of stripping build pathnames.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-08 21:48:47 +09:00
cat
9c51805b47
internal/rosa/package/gnu: disable flaky coreutils tests
...
These are huge and have incomprehensible output. Probability of failure increases under load, so disable them.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-08 21:31:38 +09:00
cat
3dca68fc95
cmd/mbf: validate build determinism
...
This rebuilds a package repeatedly and compares outcomes.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-08 21:28:21 +09:00
cat
6495118165
cmd/mbf: print all available handles
...
Useful for scripting.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-08 15:30:27 +09:00
cat
472849cfd6
internal/pkg: optionally force implementation entry
...
For validation of build determinism.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-08 15:26:42 +09:00
cat
3c6e9b3d05
internal/pkg: expose cure whence
...
Useful for cure determinism validation of KindExec.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-08 14:19:17 +09:00
cat
aa5e77ef27
internal/rosa: populate mirror snapshot
...
This produces the same structure served by the dynamic server.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-07 21:14:57 +09:00
cat
76360979f9
internal/rosa: mirror response write methods
...
For the fs.FS implementation and static publishing.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-07 20:18:18 +09:00
cat
6d55ee536e
test: move nix files
...
These are too much clutter. Move them to test directory until the test suite replacement is upstreamed.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-07 18:56:27 +09:00
cat
c8e8651694
cmd/mbf: shallow by default
...
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-07-07 16:39:38 +09:00
cat
aa5d38981d
internal/pkg: optional shallow external cure
...
This saves time and is often more practical even for package maintainers.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-07 16:35:08 +09:00
cat
b08feac26c
internal/rosa/package: ipmitool
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-07 15:03:18 +09:00
cat
810b806a15
cmd/app: omit hidden files
...
This avoids vim swap files breaking scripts.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-07 13:26:58 +09:00
cat
4a42657d88
internal/rosa/package/gnu: disable sed flaky test
...
This is causing way too many spurious failures.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-05 23:02:02 +09:00
cat
f0b6659865
internal/rosa/package/kernel: 6.18.37 to 6.18.38
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-05 18:58:28 +09:00
cat
a8ffaa20e0
internal/rosa/package/hwdata: 0.408 to 0.409
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-05 18:57:40 +09:00
cat
fb62ae00e4
internal/rosa/package/python: setuptools 82.0.1 to 83.0.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-05 18:57:19 +09:00
cat
512d9b95bd
internal/pkg: remove status acquisition from extern helper
...
Doing this together just makes it awkward to query status early, having to deal with cleaning up.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-04 23:46:50 +09:00
cat
5bf87561f5
internal/pkg: move concurrent cure implementation
...
This is useful independent of cure and might replace the Collect hack.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-04 23:27:12 +09:00
cat
dde69dde61
internal/pkg: rename inputs method
...
Inputs is more correct than dependencies in the current terminology.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-02 23:21:31 +09:00
cat
3ba6609444
internal/pkg: move outcome dereferencing
...
This prepares substitute computation for shallow extern replacements.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-02 22:52:37 +09:00
cat
6dcc2fdc17
internal/rosa/package/mesa: 26.1.3 to 26.1.4
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-02 22:37:31 +09:00
cat
c553b74807
internal/rosa/package/libva: 2.23.0 to 2.24.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-02 22:35:57 +09:00
cat
8c853c3eb6
internal/rosa/package/libseccomp: 2.6.0 to 2.6.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-02 22:30:13 +09:00
cat
d2f322e911
internal/rosa/package/gnutls: fix arm64-specific configure flag
...
Automatic prefix does not happen for the value string.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-02 20:58:23 +09:00
cat
b538c69e01
internal/pkg: cache extern responses
...
This prepares substitute computation for shallow extern replacements.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-02 20:08:28 +09:00
cat
c921ba4680
internal/rosa/package/qemu: set TIMEOUT_MULTIPLIER
...
This uses the alpine linux value for now. The default timeouts make the test suite flaky under load.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-01 21:52:56 +09:00
cat
7404bf6025
internal/rosa/package/noto: 2026.06.01 to 2026.07.01
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-01 15:42:08 +09:00
cat
3975dd3e0f
internal/rosa: create /bin symlinks via helper
...
This centralises the workaround for surprisingly common buggy scripts with nonstandard hardcoded paths.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-01 15:03:26 +09:00
cat
3ab7116b29
internal/rosa/package/kernel: 6.12.94 to 6.18.37
...
Finally jumping from 6.12 to 6.18, and the patches can be dropped.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-07-01 02:32:20 +09:00
cat
9be165d6ee
internal/rosa/package/qemu: 11.0.1 to 11.0.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-30 19:53:21 +09:00
cat
1c55e7c772
internal/rosa/package/python: vcs-versioning 2.2.0 to 2.2.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-30 19:51:02 +09:00
cat
a981d185cf
internal/rosa/package/git: 2.54.0 to 2.55.0
...
For some reason rust is now forced on by default without any check whatsoever. No idea why the maintainers think it was such a good idea to be so in your face.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-30 19:43:25 +09:00
cat
d91951ca97
internal/rosa/package/acl: 2.3.2 to 2.4.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-30 19:16:42 +09:00
cat
09a2ffc3bc
internal/rosa/package/acl: attr 2.5.2 to 2.6.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-30 19:16:09 +09:00
cat
a6444658da
internal/rosa/package/json-c: 0.18-20240915 to 0.19-20260627
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-30 19:06:41 +09:00
cat
ed5615033c
internal/rosa/package/gnu: parallel 20260522 to 20260622
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-30 19:06:13 +09:00
cat
d1319a497c
internal/rosa: handle nil source
...
Source is not always required. This improves flexibility.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-28 18:02:54 +09:00
cat
cf7c34555c
cmd/earlyinit: improve error messages
...
This improves readability, especially on a small display.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-28 18:01:51 +09:00
cat
d96eecded0
internal/rosa/package/pango: 1.57.1 to 1.58.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-27 15:52:23 +09:00
cat
6863bcafd1
cmd/app: optional insecure options
...
These are useful for very specific cases by the maintainer. No app should ever require this.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-26 21:56:07 +09:00
cat
39f023d0e5
internal/rosa/package/glib: 2.89.0 to 2.89.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-26 11:33:10 +09:00
cat
a8a2f692e7
internal/rosa/package/libexpat: 2.8.1 to 2.8.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-26 11:29:27 +09:00
cat
19f24c7206
internal/rosa/package/python: setuptools-scm 10.1.2 to 10.2.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-25 20:29:18 +09:00
cat
320432774a
internal/rosa/package/python: vcs-versioning 2.1.2 to 2.2.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-25 20:28:48 +09:00
cat
0721b0fe6d
internal/rosa/package/curl: 8.20.0 to 8.21.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-25 14:08:07 +09:00
cat
418e4a874d
internal/rosa/package/libpsl: 0.21.5 to 0.22.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-25 14:07:38 +09:00
cat
8378e7a2c9
internal/rosa/package/vim: annotate blocked update
...
Releases are unreasonably frequent, and the package is never exposed to the end user and never expected to run unconfined or consume untrusted input. Additionally, upstream is accepting AI slop.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-25 14:06:03 +09:00
cat
6210c9f272
internal/rosa/package: noto
...
Internationalisation is required anyway, so just package the entire noto fonts.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-24 10:45:01 +09:00
cat
c2038fa925
internal/rosa/package: rename
...
Useful for packaging.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-24 10:39:38 +09:00
cat
d797cca1f2
internal/rosa/package/python: vcs-versioning 2.1.1 to 2.1.2
...
Another bug fix release already. Turns out upstream is using AI slop.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-24 09:52:59 +09:00
cat
2a51b433c8
cmd/app: exclude /tmp/ for X11 pathname socket
...
This would otherwise cover the pathname socket.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-24 08:49:16 +09:00
cat
e5ce36532b
internal/rosa/package/toybox: 0.8.13 to 0.8.14
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-24 06:41:56 +09:00
cat
4c647388b0
internal/rosa/package/hakurei: 0.4.4 to 0.4.5
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-24 06:28:56 +09:00
cat
3a5f4af114
release: 0.4.5
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-24 06:18:02 +09:00
cat
6195260480
internal/rosa/package/firmware: 20260519 to 20260622
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-24 06:11:20 +09:00
cat
21044d5a60
internal/rosa/package/vim: 9.2.0461 to 9.2.0707
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-24 06:10:58 +09:00
cat
025810bf0f
internal/rosa/package/python: setuptools-scm 10.0.5 to 10.1.2
...
All in-between releases are broken. Not sure how that happened.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-24 06:10:32 +09:00
cat
20354c0411
internal/rosa/package/python: vcs-versioning 1.1.1 to 2.1.1
...
The environment variable changed for this package only, did not appear to affect other packages.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-24 06:09:42 +09:00
cat
9fbcd0daf2
internal/rosa/package/libarchive: 3.8.7 to 3.8.8
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-24 06:08:47 +09:00
cat
248f44a5a7
cmd/app: zero state buffer before reuse
...
Package internal/store expects a zero-initialised buffer.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-23 09:19:11 +09:00
cat
401dd57cbc
cmd/app: display user-facing error message
...
This is required for useful error messages for errors originating from internal/store.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-23 09:09:55 +09:00
cat
854bcc998b
cmd/app: expose scheduling configuration
...
Useful for the music player.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-23 06:33:27 +09:00
cat
358247be5b
internal/rosa/package/x: xkeyboard-config 2.47 to 2.48
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-23 00:44:18 +09:00
cat
f517a8ef07
internal/rosa/package/libffi: 3.5.2 to 3.6.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-23 00:43:24 +09:00
cat
973218f91f
internal/rosa/package/qemu: disable netdev-socket test
...
This fails with ipv6 disabled.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-22 01:21:09 +09:00
cat
0ea195837b
internal/rosa/package/glib: disable gio suite
...
This fails with ipv6 disabled.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-22 00:53:40 +09:00
cat
1348991634
internal/rosa/meson: skip specific test suites
...
For disabling specific broken or flaky tests.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-22 00:53:17 +09:00
cat
14b445fde5
internal/rosa/package/openssl: disable test_bio_dgram
...
This fails when ipv6 is disabled.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-21 21:43:46 +09:00
cat
218f7fa345
cmd/app: enforce mutable instance exclusion
...
This avoids invoking undefined behaviour in the underlying overlay filesystem implementation.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-21 02:09:01 +09:00
cat
cd493fd95f
cmd/app: centralise workdir
...
This makes the directory structure significantly more manageable.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-21 00:48:18 +09:00
cat
9db70c83e3
cmd/app: configure username and hostname
...
These no longer need to be hardcoded since this is not subject to the limitations of home-manager.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-20 22:15:49 +09:00
cat
4e09241e5f
cmd/app: optional interactive shell
...
Enabling this unconditionally causes the new configuration prompt to be shown when started from a terminal, and is generally less robust than not reading zshrc unless explicitly required.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-20 19:08:47 +09:00
cat
bd4b300ea6
internal/rosa/package/cmake: 4.3.3 to 4.3.4
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-20 17:56:09 +09:00
cat
6dc8214a1a
internal/rosa/package/kernel: 6.12.93 to 6.12.94
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-20 17:55:49 +09:00
cat
cada5a46ad
internal/rosa/package/mesa: 26.1.2 to 26.1.3
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-20 17:55:08 +09:00
cat
e747942829
internal/rosa/package/python: pytest 9.1.0 to 9.1.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-20 17:54:38 +09:00
cat
33b855123e
internal/rosa/package/spirv: spirv-headers 1.4.350.0 to 1.4.350.1
...
This unfortunately does not unblock SPIRV-LLVM-Translator.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-20 04:43:04 +09:00
cat
58ce134718
internal/outcome: attempt nscd path-hiding if present
...
This avoids creating the mount point on musl setups which accomplishes nothing and can run into permission problems.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-20 02:42:35 +09:00
cat
2066093343
cmd/app: remove sysfs bind mounts
...
This should be in common instead.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-20 01:57:55 +09:00
cat
07509b3ba2
cmd/app: additional bind types
...
This adds optional and device mount points.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-20 01:51:57 +09:00
cat
a7485d587a
cmd/app: pass user-specified arguments
...
An extra argument is added to pad out argv0.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-20 01:44:47 +09:00
cat
4892beefc1
cmd/app: optionally override configured command
...
Useful for multiple applications sharing state.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-20 01:31:07 +09:00
cat
7ab54b8c94
internal/rosa: read overridden version string from source
...
This is more correct than the hardcoded string and is generally more robust against relative paths.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-20 01:18:12 +09:00
cat
a4fab67811
internal/pkg: optionally exempt implementations from cures counter
...
This avoids holding up many slots with a long pipeline.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-20 01:03:28 +09:00
cat
ed5cdd38a4
cmd/dist: build hsu separately
...
This program must be built with cgo disabled, and was missed when migrating build script.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-20 00:59:47 +09:00
cat
f6318304ee
hst: fix ephemeral overlay order
...
This is quite counterintuitive otherwise.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-20 00:20:31 +09:00
cat
cb618093d5
hst: optionally disable file placement
...
This works around stubborn package managers.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-20 00:16:35 +09:00
cat
b0b2471c0c
cmd/app: include template name in container metadata
...
This helps disambiguate active mutable containers.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-19 23:36:31 +09:00
cat
344d2b8207
cmd/app: use ROSA_ prefix
...
This avoids awkward case-insensitive zsh completion.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-19 23:29:51 +09:00
cat
3938e8bce5
cmd/app: multiple template uppers
...
Having multiple environments is useful, and this was trivial to implement.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-18 03:51:49 +09:00
cat
aee15b4f2a
cmd/app: common configuration file
...
Generally useful for shared storage and environment.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-18 02:35:56 +09:00
cat
18b1103fdc
internal/rosa/llvm: 22.1.7 to 22.1.8
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-17 21:49:38 +09:00
cat
c5a02da0f0
internal/rosa/package/python: 3.14.5 to 3.14.6
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-17 21:49:07 +09:00
cat
c0c2f3233a
internal/rosa/package/util-linux: 2.42.1 to 2.42.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-17 21:44:47 +09:00
cat
bda00ac90e
internal/rosa/package/hakurei: 0.4.3 to 0.4.4
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-17 21:40:04 +09:00
cat
79342e3053
release: 0.4.4
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-17 21:07:22 +09:00
cat
825bf24731
nix: read version from cmd/dist
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-17 21:06:03 +09:00
cat
08112f0b90
hst: optionally cover /run/ early
...
This works around awkward root permissions.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-17 02:59:48 +09:00
cat
e1a1e1e399
cmd/app: use ephemeral overlay root
...
This replaces autoroot.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-17 02:32:46 +09:00
cat
92b61889a6
hst: support ephemeral overlay mounts
...
This is useful for reusing a readonly template without autoroot.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-17 02:16:57 +09:00
cat
28e133c298
cmd/app: start application from configuration
...
This is currently not very usable due to hakurei immutable overlay mount limitations.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-17 01:54:29 +09:00
cat
323dcb2820
cmd/app: high-level app configuration syntax
...
This replaces the nixos module.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-17 01:50:53 +09:00
cat
f46a0370a7
cmd/app: initial container template command
...
This program is an experimental frontend for cmd/hakurei. This serves as a short-term replacement of the nixos module and a testing environment to implement API useful to planterette.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-16 23:27:50 +09:00
cat
5ee66a86ee
internal/rosa/python: respect toolchain opts
...
This was missed when migrating the pip helper.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-16 22:06:34 +09:00
cat
d75b8b6e32
internal/rosa/package/tamago: 1.26.3 to 1.26.4
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-16 21:49:04 +09:00
cat
7c9481d38d
internal/rosa/package/strace: 6.19 to 7.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-16 21:48:45 +09:00
cat
983ab4378f
internal/rosa/package/nss: 3.124 to 3.125
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-16 21:48:26 +09:00
cat
5b5c096d31
internal/rosa/package/iproute2: 7.0.0 to 7.1.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-16 21:48:04 +09:00
cat
5f49127120
internal/rosa/package/python: pytest 9.0.3 to 9.1.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-16 21:47:40 +09:00
cat
164f8c873d
internal/rosa/package/gcc: binutils 2.46.0 to 2.46.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-16 21:47:16 +09:00
cat
9274b642ec
internal/rosa/package/kernel: 6.12.92 to 6.12.93
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-16 21:37:42 +09:00
cat
5992be3dd3
internal/rosa/package/python: add kernel-headers
...
Missing kernel headers implicitly disables many useful things. This change also enables PGO and installs symlink, since a rebuild is unavoidable.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-10 16:30:52 +09:00
cat
c661a3b63a
cmd/mbf: migrate shell to enter
...
This reduces duplicate code. This change also adds resolv.conf to the container.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-10 13:34:44 +09:00
cat
df0bb877db
internal/rosa: export etc native artifact
...
This is useful for external container tooling.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-10 13:26:38 +09:00
cat
f333b8fbd6
cmd/mbf: register binfmt entry for shell
...
This fixes --arch for shell.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-10 12:51:09 +09:00
cat
928a9f61e9
cmd/hsu: remove parent check
...
This check serves no real purpose and only makes it more difficult to start containers.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-09 18:08:17 +09:00
cat
ce06539eca
internal/rosa: expose supported architectures
...
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-09 16:05:04 +09:00
cat
69908e5a41
internal/rosa: remove external toolchain reference
...
This should have used toolchain passed as the argument and was mistakenly never changed when migrating to late evaluation.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-09 15:58:02 +09:00
cat
b5445573a8
internal/rosa/package/ninja: work around test suite bug
...
The test suite hard codes /bin/echo.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-08 18:43:42 +09:00
cat
f869ff95a1
all: apply modernisers
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-08 14:58:24 +09:00
cat
725f2e0ef3
internal/rosa/package/wayland: wayland-protocols 1.48 to 1.49
...
This finally eliminates the backport patch.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-08 13:45:36 +09:00
cat
4ffa20cd3f
cmd/mbf: custom azalea path
...
This enables out-of-tree packaging.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-08 13:42:06 +09:00
cat
38450db74a
internal/rosa: access backing storage through fs
...
This is more versatile than hardcoding the os.Root implementation.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-07 22:08:57 +09:00
cat
9344f694c7
internal/pkg: defer directory permissions
...
This allows creation of directory structures with awkward permission bits.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-07 20:26:55 +09:00
cat
e8bb5a622d
internal/rosa: mirror service via external cache
...
This provides an authenticated implementation of the external cache.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-07 19:25:11 +09:00
cat
22e508fe17
internal/pkg: expose measured reader to extern status
...
This is always required by the implementation.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-07 16:14:54 +09:00
cat
b18ecf5832
nix: work around systemd nondeterminism
...
NixOS switched to systemd initramfs by default.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-07 14:10:06 +09:00
cat
ec29e755fb
internal/pkg: replace outcomes from external cache
...
This is primarily useful for implementing a mirror service. This change also works around the zero-dependency FloodArtifact edge case.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-07 13:52:26 +09:00
cat
9aaf160ff4
internal/pkg: do not hold up cures during status link
...
This is a bunch of string operation and a single syscall. Do not hold up queue here.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-07 02:28:45 +09:00
cat
e192fca762
internal/pkg: check for unclean shutdown
...
This avoids running into nasty surprises opening a cache that suffered unclean shutdown due to power loss. All other parts of the cache are not prone to inconsistent state.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-07 01:21:00 +09:00
cat
7eafc7b1e4
nix: update flake lock
...
Was unfortunately not able to implement vm test suite before this release. Hopefully the last nixos update we have to follow.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-06 13:14:09 +09:00
cat
282462c2f0
internal/rosa/package/mesa: 26.1.1 to 26.1.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-05 09:23:40 +09:00
cat
d9f522d648
internal/rosa/package/libinput: 1.31.2 to 1.31.3
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-05 09:23:11 +09:00
cat
a0b0c7ecc9
internal/rosa/package/libdrm: 2.4.133 to 2.4.134
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-05 09:22:50 +09:00
cat
2b8809da7a
internal/rosa/package/hwdata: 0.407 to 0.408
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-05 09:22:28 +09:00
cat
84cda19d63
internal/rosa/package/harfbuzz: 14.2.0 to 14.2.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-05 09:22:08 +09:00
cat
154ab953c1
internal/rosa/package/fontconfig: 2.18.0 to 2.18.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-05 09:21:43 +09:00
cat
34e11dd312
internal/rosa/package/python: hatchling 1.16.5 to 1.17.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-05 09:21:10 +09:00
cat
140cb3cc47
internal/rosa/package/python: trove-classifiers 2026.5.22.10 to 2026.6.1.19
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-06-05 09:20:42 +09:00
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
cat
6546ddc64b
internal/rosa: expose in-place behaviour in generic helper
...
This change also combines the createDir and wantsDir methods, and replaces the non-inplace target of the generic helper with a deterministic path.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-21 16:11:38 +09:00
cat
cbf18b302d
internal/rosa/package: migrate nss
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-21 15:36:10 +09:00
cat
1acb5b0105
internal/rosa: extra inputs in alternative path
...
This works around particularly unwieldy build systems.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-21 15:05:12 +09:00
cat
40b33f9fc7
internal/rosa: enforce exclusions
...
This restores unexported artifact behaviour.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-21 14:48:16 +09:00
cat
443a7a30f6
internal/rosa: use string pair for files
...
This is a much cleaner representation than the separator syntax.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-21 14:07:20 +09:00
cat
497e4a5642
internal/rosa/package/git: disable flaky test
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-21 13:35:21 +09:00
cat
c0e3841ddb
internal/rosa/llvm: 22.1.5 to 22.1.6
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-21 10:39:42 +09:00
cat
9ce2c325db
internal/rosa/package/kernel: populate riscv64 checksum
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-20 21:25:15 +09:00
cat
9836030c59
internal/rosa: reinitialise frame alongside cache
...
The cached frame can contain information made outdated by the DropCaches call.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-20 09:01:40 +09:00
cat
b482fd4abf
internal/rosa: remove global handles
...
These no longer serve any purpose.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-20 08:15:23 +09:00
cat
2e502ede6c
internal/rosa/package: migrate X packages
...
This also improves naming consistency.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-20 07:44:17 +09:00
cat
4bec0b890c
internal/rosa/package: migrate unzip
...
This is now possible via the generic helper.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-20 06:21:49 +09:00
cat
7770ccf0aa
internal/rosa/package: migrate wayland
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-20 06:12:19 +09:00
cat
656059278d
internal/rosa/package: migrate remaining trivial packages
...
The rest are migrated individually.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-20 05:57:26 +09:00
cat
1a9974ffdc
internal/rosa/package: migrate qemu
...
This has many dependencies.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-20 05:10:41 +09:00
cat
1a2699b486
internal/rosa/package: migrate multiple packages
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-20 05:01:06 +09:00
cat
1d3d621e2f
internal/rosa/package: migrate perl Module::Build
...
This is now possible via the generic helper.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-20 04:48:03 +09:00
cat
47f4e287fc
internal/rosa/package: migrate multiple libraries
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-20 04:37:58 +09:00
cat
2e710328a4
internal/rosa/package: migrate musl
...
This removes some legacy cruft, causing 2 rebuilds per stage.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-20 04:13:10 +09:00
cat
2e7b52d701
internal/rosa/package: migrate mesa
...
This has many dependencies.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-20 04:02:02 +09:00
cat
d728607505
internal/rosa/package: migrate mesa dependencies
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-20 03:51:48 +09:00
cat
ef414ab01a
internal/rosa/package: migrate many libraries
...
This also adds more string helpers.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-20 03:33:15 +09:00
cat
96abf266dd
internal/rosa/package: migrate hwdata, kmod, libarchive
...
This removes a blank line in CTestCustom.cmake, causing a libarchive rebuild. Resulting IR is identical otherwise.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-20 02:25:41 +09:00
cat
fcba32e9c4
internal/rosa/package: migrate glib
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-20 02:09:12 +09:00
cat
a7f5a5802d
internal/rosa/package: migrate spirv-llvm-translator
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-20 00:01:03 +09:00
cat
bb230378e0
internal/rosa/package: migrate glslang
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-19 23:48:39 +09:00
cat
f638c73933
internal/rosa: bind anitya functions
...
This is far more scalable than individual fields.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-19 23:34:21 +09:00
cat
98d915af3d
internal/rosa/package: migrate argp-standalone, dtc, elfutils, flex, freetype, fuse
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-19 23:26:34 +09:00
cat
c0593e8325
internal/rosa/package: migrate dbus
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-19 22:51:08 +09:00
cat
608d8303ec
internal/rosa/package: migrate git
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-19 22:37:24 +09:00
cat
1c6f30379e
internal/rosa/package: migrate bzip2, curl, connman
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-19 22:26:40 +09:00
cat
009a4e0d58
internal/rosa/hakurei: migrate to helper
...
This predates the helper infrastructure, so migrate it.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-19 22:10:39 +09:00
cat
e7c8656691
internal/rosa: remove fakeroot
...
This is unused and broken, so remove it.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-19 21:54:40 +09:00
cat
d6be116ff8
internal/rosa/package: migrate firmware
...
This does not depend on the kernel.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-19 21:46:40 +09:00
cat
962b02cf25
internal/rosa/package: migrate kernel
...
This introduces bindings for extra paths and KnownChecksum, and exposes a passthrough special case.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-19 21:40:15 +09:00
cat
6fd6d971ed
internal/rosa/package: migrate mksh
...
This benefits greatly from the new generic helper.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-19 19:47:57 +09:00
cat
548c96c7ec
internal/rosa/package: migrate make
...
This also introduces the generic helper for unusual build scripts.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-19 19:28:18 +09:00
cat
6e8bfa6c4c
internal/rosa/package: migrate cmake
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-19 18:42:54 +09:00
cat
a770d62b9b
internal/rosa/package: migrate meson
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-19 18:24:07 +09:00
cat
ff44060763
internal/rosa/package: migrate python packages
...
This also migrates LLVM LIT via the newly implemented special case.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-19 18:15:04 +09:00
cat
3010a209b5
internal/rosa/azalea: pass through source ident
...
For source handle special case.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-19 18:10:11 +09:00
cat
e65a3b435c
internal/rosa/package/gnutls: 3.8.12 to 3.8.13
...
The new release came with new broken tests, but at least nettle3 can be removed.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-19 04:36:32 +09:00
cat
23515f67c8
internal/rosa/package: migrate perl packages
...
Most of these are currently unused.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-19 04:08:22 +09:00
cat
4389df60ae
internal/rosa/perl: remove obsolete helper
...
This method predates the helper infrastructure.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-19 03:40:31 +09:00
cat
8092492018
internal/rosa/perl: Makefile.PL helper
...
This can be invoked from azalea.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-19 03:24:27 +09:00
cat
a7877844bf
internal/rosa/package: migrate perl interpreter
...
Packages will be migrated separtely.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-19 02:49:11 +09:00
cat
1ed027846d
internal/rosa/package: migrate python interpreter
...
Packages will take quite some work.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-19 02:06:17 +09:00
cat
2f376d4813
internal/rosa/package: rename buildcatrust
...
This causes a single rebuild due to substitution.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-19 01:50:03 +09:00
cat
dc3810b530
internal/rosa/python: remove unnecessary input
...
This is added by the helper. Removing it has no effect since it is promoted by Append.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-19 01:48:24 +09:00
cat
6e9e8c74f3
internal/rosa: migrate buildcatrust
...
Other nss-related packages are unlikely to be migrated any time soon.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-19 01:44:23 +09:00
cat
4d60fa5632
internal/rosa: evaluate packages late
...
This also enables concurrent evaluation.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-19 01:26:21 +09:00
cat
8807cbc730
internal/rosa: create metadata alongside artifact
...
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-19 00:44:24 +09:00
cat
0e95573f18
internal/rosa/package: migrate acl
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-18 22:42:43 +09:00
cat
eb2b53307a
internal/rosa/package: migrate gcc
...
The azalea implementation used an adaptation of this as testdata.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-18 22:29:53 +09:00
cat
682b3a2ce5
internal/rosa: track evaluation time
...
Useful to track performance regressions over migrations.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-18 22:18:09 +09:00
cat
594221eb78
internal/rosa/package: migrate gnutls
...
This is the first nontrivial package to be migrated to azalea. Validated to generate identical IR.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-18 22:06:00 +09:00
cat
34822925e1
internal/rosa: migrate GNU software
...
These are quite trivial, so migrate them in one pass.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-18 21:23:19 +09:00
cat
37df040d85
internal/rosa: evaluate packages from fs
...
This migrates GNU sed to azalea, and resulting IR matches.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-18 17:54:01 +09:00
cat
0360e779f3
internal/rosa: initial azalea bindings
...
Supported fields are still rather minimal, but evaluation works, and resulting artifacts cure correctly.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-18 02:56:38 +09:00
cat
3e236333a7
internal/rosa: panic error for invalid handle
...
This enables recovery and better error handling for errors originating from external azalea files.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-18 00:07:39 +09:00
cat
f24ae21af1
internal/rosa/azalea: package special case
...
This is more efficient for the inputs array and packages in general.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-17 23:49:19 +09:00
cat
99b324fb17
cmd/mbf: update pkgserver title text
...
This makes more sense for its purpose.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-17 18:57:26 +09:00
kat
6f50811dc9
cmd/mbf: bring back pkgserver's favicon!
...
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-17 19:47:42 +10:00
cat
6b87bac401
cmd/mbf: clone pkgserver order slices
...
These are no longer arrays, so must be cloned for sorting.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-17 18:30:57 +09:00
cat
a967aa3b6e
internal/rosa/kernel: arch-specific headers checksum
...
These headers differ by target architecture.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-17 18:01:11 +09:00
cat
38bc2c7508
internal/rosa: pass stage alongside state
...
This cleans up many function signatures.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-17 17:50:30 +09:00
cat
30eb0d6a61
internal/rosa: key metadata by string
...
For upcoming azalea integration. The API is quite ugly right now to ease migration.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-17 15:56:53 +09:00
cat
c2ff9c9fa5
internal/rosa/azalea: evaluator
...
Performance is sufficient for the use case, despite the fact that I could not even think of a lower-effort way to do this:
BenchmarkParse-128 55100 21494 ns/op
BenchmarkEvaluate-128 131670 9248 ns/op
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-17 12:44:34 +09:00
cat
d38d306147
internal/rosa/azalea: ast and parser
...
This syntax is not final, but acts as a stopgap solution and a proof of concept.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-16 14:29:28 +09:00
cat
c32c06b2e8
internal/rosa: mesa artifact
...
This has many dependencies.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-14 05:12:35 +09:00
cat
61199f734c
internal/rosa/glslang: remove headers prefix
...
Maintainers tried to be clever with this and breaks cmake paths.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-14 04:57:38 +09:00
cat
87cf0d4e6b
internal/rosa/mesa: libva artifact
...
Required by mesa.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-14 04:40:04 +09:00
cat
cf0dffa0f5
internal/rosa/mesa: libglvnd enable glx
...
Required to break circular dependency.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-14 04:35:50 +09:00
cat
686d7ec63a
internal/rosa/x: xserver artifact
...
Required by libglvnd test suite.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-14 04:15:48 +09:00
cat
4c653b1151
internal/rosa/x: xkeyboard-config artifact
...
Required by xserver test suite.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-14 03:59:22 +09:00
cat
0b0a63d151
internal/rosa/x: libxcb-util-wm artifact
...
Required by xserver xephyr.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-14 03:46:04 +09:00
cat
6231cfe2aa
internal/rosa/x: libxcb-util-image artifact
...
Required by xserver xephyr.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-14 03:36:45 +09:00
cat
712e80890b
internal/rosa/x: libxcb-util artifact
...
Required by xserver xephyr.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-14 03:25:24 +09:00
cat
3fe7d48014
internal/rosa/x: libxcb-render-util artifact
...
Required by xserver.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-14 03:09:37 +09:00
cat
16f9d39427
internal/rosa: libepoxy artifact
...
Required by xserver.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-14 02:16:55 +09:00
cat
c1cd5ba07b
internal/rosa: libtirpc artifact
...
Required by xserver.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-14 02:07:25 +09:00
cat
7b0cd2e472
internal/rosa/x: libXdmcp artifact
...
Required by xserver.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-14 01:44:37 +09:00
cat
e580307528
internal/rosa/x: libxcvt artifact
...
Required by xserver.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-14 01:24:00 +09:00
cat
ee1dffb676
internal/rosa/x: libXfont2 artifact
...
Required by xserver.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-14 01:17:27 +09:00
cat
f095fcf181
internal/rosa/x: font-util and libfontenc artifact
...
Required by libXfont2.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-14 01:14:12 +09:00
cat
ca8a130130
internal/rosa: freetype artifact
...
Required by libXfont.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-14 00:54:42 +09:00
cat
0ad6b00e41
internal/rosa/x: xkbcomp artifact
...
Required by xserver.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-13 22:24:08 +09:00
cat
ad0f1cf36b
internal/rosa/x: libxkbfile artifact
...
Required by xkbcomp.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-13 22:22:02 +09:00
cat
b12d924fa2
internal/rosa: pixman artifact
...
Required by xserver.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-13 22:07:53 +09:00
cat
c31d8ae41a
internal/rosa/x: libXfixes artifact
...
Required by libva.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-13 21:36:47 +09:00
cat
6dbbf15c0e
internal/rosa: lm_sensors artifact
...
Generally useful, and an optional dependency of mesa.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-13 20:11:37 +09:00
cat
be7de68a42
internal/rosa/perl: Test::Cmd artifact
...
Required by lm_sensors test suite.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-13 20:05:43 +09:00
cat
a759cf3666
internal/pkg: check exec substitution
...
This relies on the testtool having ident as relevant input to assert successful substitution.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-13 19:43:53 +09:00
cat
8c2dd3e984
internal/pkg: verify status kind
...
While it is still impossible to reliably determine the expected contents of these status files, this checks their nature for expected substitution behaviour.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-13 19:27:58 +09:00
cat
67038d5af4
internal/pkg: log fault in tests when available
...
This would otherwise only be available in verbose output, interleaved with everything else.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-13 18:58:18 +09:00
cat
53d8d12e7f
internal/rosa/git: disable flaky test
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-13 18:51:11 +09:00
cat
7997d79e56
cmd/mbf: display and destroy fault entries
...
This change extends cmd/mbf commands for working with fault entries.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-13 19:06:09 +09:00
cat
f2f1726190
internal/pkg: record cure faults
...
These are useful for troubleshooting. This change records them in a separate directory.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-13 17:58:18 +09:00
cat
f63203cb0a
internal/pkg: populate substitute status
...
These are not created when taking the fast path, but should be inherited from the alternative.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-13 16:16:37 +09:00
cat
19555c7670
internal/rosa/gtk: glib 2.88.0 to 2.88.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-13 00:48:38 +09:00
cat
a3beab8959
internal/rosa/libucontext: 1.5 to 1.5.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-13 00:48:15 +09:00
cat
2ea786d6a9
internal/rosa/libbsd: libmd 1.1.0 to 1.2.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-13 00:47:57 +09:00
cat
747d4ec4b0
internal/rosa/libexpat: 2.8.0 to 2.8.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-13 00:47:32 +09:00
cat
b76e6f6519
internal/rosa/tamago: 1.26.2 to 1.26.3
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-13 00:47:05 +09:00
cat
840d8f68bf
internal/rosa/git: disable flaky test
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-13 00:38:59 +09:00
cat
4bede7ecdd
internal/pkg: discontinue DCE resolution on signal
...
This serves as a stopgap measure to skip long-running DCE resolutions.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-13 00:29:01 +09:00
cat
487a03b5a3
internal/pkg: deduplicate DCE by ident
...
This eliminates edge cases where target artifacts do not compare equal.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-13 00:18:27 +09:00
cat
8f3c22896a
internal/pkg: DCE benchmark unwrap only
...
This eliminates noise at lower depths.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-12 19:56:59 +09:00
cat
a167c1aba5
internal/pkg: hold artifact in DCE
...
This is significantly slower but enables much better error reporting.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-12 19:45:25 +09:00
cat
a6008ef68b
internal/pkg: benchmark early DCE
...
This error has never had decent performance, now is a good time to improve that.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-12 18:59:25 +09:00
cat
5228b27362
internal/rosa/glslang: 16.2.0 to 16.3.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-12 17:53:35 +09:00
cat
f00d3a07ad
internal/rosa/python: trove-classifiers 2026.4.28.13 to 2026.5.7.17
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-12 17:53:17 +09:00
cat
f9538bc21b
internal/rosa/python: 3.14.4 to 3.14.5
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-12 17:52:53 +09:00
cat
6ae5efec56
internal/rosa/gnu: gcc 15.2.0 to 16.1.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-12 17:52:31 +09:00
cat
14f4c59c8c
internal/rosa/llvm: 22.1.4 to 22.1.5
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-12 17:52:13 +09:00
cat
688d43417b
internal/pkg: rename measured exec type
...
This type is no longer exclusive to KindExecNet.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-12 15:23:33 +09:00
cat
9f8fafa39b
internal/rosa: measure kernel headers
...
This makes version bumps robust and much less tedious.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-12 15:19:57 +09:00
cat
6643cfbeee
internal/pkg: optionally measure exec artifact
...
Useful for verifying deterministic output without enabling network access.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-12 15:11:17 +09:00
cat
dcde38f2e9
internal/rosa/llvm: set exclusive bit
...
This was missed when improving bootstrap.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-12 15:08:09 +09:00
cat
deebbf6b1a
internal/rosa/git: disable more flaky tests
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-12 04:13:02 +09:00
cat
0c557798bc
internal/rosa/curl: 8.19.0 to 8.20.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-12 04:12:40 +09:00
cat
327e6ed5a2
internal/rosa/kernel: 6.12.84 to 6.12.87
...
This change also pins header version constants to the same values, to be updated manually on a real API change. This eliminates rebuilds on bumping kernel version.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-12 04:05:30 +09:00
cat
76c7a423a9
internal/rosa/git: disable more flaky tests
...
Again, causing too many spurious failures.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-12 03:18:12 +09:00
cat
6e113b8836
internal/pkg: content-based dependency substitution
...
This change introduces a new fast path for FloodArtifact. It is taken when a curing artifact has identical-by-content controlled relevant inputs and are otherwise identical to an already-cured artifact.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-12 00:19:42 +09:00
cat
ce9f4b5f71
internal/rosa: vim artifact
...
Very useful for troubleshooting.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-10 21:45:56 +09:00
cat
8f727273ef
internal/pkg: add riscv64 sums
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-10 17:12:30 +09:00
cat
d0a63b942e
internal/pkg: add arm64 sums
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-10 16:42:42 +09:00
cat
7f2126df32
internal/rosa/hakurei: 0.4.1 to 0.4.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-10 16:30:12 +09:00
cat
0cf0e18e35
release: 0.4.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-10 16:16:59 +09:00
cat
ee5c0dd135
cmd/dist: optionally skip tests
...
Works around incomplete syscall translation by qemu.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-10 04:15:07 +09:00
cat
92c48d82e2
internal/rosa/go: respect check flag
...
These tests are also quite expensive, so optionally skip them.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-10 04:01:06 +09:00
cat
c79a4fe7f8
internal/rosa/stage0: add riscv64 tarball
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-09 10:51:19 +09:00
cat
0aeb2bccfb
internal/rosa: libconfig artifact
...
Required by mesa.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-09 00:33:27 +09:00
cat
50e079b99f
internal/rosa: xcb-util-keysyms artifact
...
Required by mesa.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-09 00:16:06 +09:00
cat
fb2cb5005a
internal/rosa: libdisplay-info artifact
...
Required by mesa.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-09 00:07:43 +09:00
cat
6e73c28a92
internal/rosa: hwdata artifact
...
Required by libdisplay-info.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-09 00:05:40 +09:00
cat
2c08aa3674
internal/rosa/glslang: disable broken arm64 tests
...
These just fail on arm64, so disable them.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-08 23:56:19 +09:00
cat
1af73ae7b4
internal/rosa/go: 1.26.2 to 1.26.3
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-08 23:25:57 +09:00
cat
c9aa5e04b1
internal/rosa/go: bootstrap 1.25.9 to 1.25.10
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-08 23:20:39 +09:00
cat
70a38bd3b0
internal/rosa: libarchive artifact
...
Required by mesa, also a cleaner implementation than GNU.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-08 23:16:33 +09:00
cat
533b15da89
internal/rosa/mksh: respect check flag
...
This skips the test suite when OptSkipCheck is set.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-08 21:20:20 +09:00
cat
a890e1d0e5
cmd/mbf: optionally override non-native flags
...
This is a clean workaround for configuration differences to save time during development.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-08 13:45:36 +09:00
cat
e3520835bb
cmd/mbf: optionally register all targets
...
This enables non-native cures from the daemon.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-08 13:29:58 +09:00
cat
0e56847754
cmd/mbf: add arm64 magic
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-08 00:23:09 +09:00
cat
145d03b366
cmd/mbf: optional emulated target architecture
...
This enables transparent cross-compilation without breaking purity.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-07 20:29:31 +09:00
cat
2886228d40
internal/rosa/qemu: build static binaries
...
Dynamic linking here barely saves space, and this is required for binfmt.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-07 20:25:13 +09:00
cat
e1e499b79e
internal/rosa/git: disable more broken tests
...
These are causing many spurious failures.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-07 20:06:11 +09:00
cat
65b7dd8b37
internal/rosa: configurable architecture
...
This enables curing via binfmt.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-07 20:01:44 +09:00
cat
8d72b9e5bd
internal/pkg: optionally register binfmt
...
This transparently supports curing foreign exec artifacts.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-07 19:43:06 +09:00
cat
8a3c3d145a
internal/pkg: correctly generate cure expects
...
This needs to dereference the identifier symlink.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-07 15:57:45 +09:00
cat
575ef307ad
container: binfmt registration
...
This arranges for binfmt entries to be registered for the container.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-07 15:55:19 +09:00
cat
d4144fcf7f
container: optionally map uid/gid 0 as init
...
Unfortunately required to work around flawed APIs like binfmt_misc.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-07 15:15:47 +09:00
cat
bad66facbc
container: improve capability handling
...
This cleans up preserving caps for expansion and correctly sets privileged caps.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-07 14:27:28 +09:00
cat
4aba014eac
container: abandon response on termination
...
This prevents blocking on early failure.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-07 00:58:02 +09:00
cat
779ba994ce
container: check capability in test helper
...
This makes corresponding nixos tests redundant.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-06 21:05:54 +09:00
cat
917be2de93
internal/pkg/exec: close early failure before wait
...
This avoids a deadlock on an early container failure.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-06 18:38:16 +09:00
cat
9aad98d409
internal/rosa: suppress init verbosity in tests
...
This is generally the preferred option.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-06 06:54:20 +09:00
cat
b0d06b67dc
internal/pkg: centralise exec testdata checksums
...
This significantly reduces maintenance burden.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-06 06:37:58 +09:00
cat
089100f29d
internal/rosa/stage0: add arm64 tarball
...
This was bootstrapped from the old tarball, but with the new patchset.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-06 05:47:14 +09:00
cat
dfd26abf6c
internal/pkg: improve output measuring
...
This significantly improves readability and maintainability.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-06 05:44:04 +09:00
cat
617ee21647
container/init: mount intermediate before early
...
This is usable as scratch space during early.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-06 00:55:45 +09:00
cat
15cdb37ec2
cmd/mbf: optional init verbosity
...
This output is generally not needed and only useful when debugging container machinery itself.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-05 23:56:16 +09:00
cat
1f0bdc7aca
internal/rosa/meson: disable fallback
...
For some reason nodownload still allows fallback in some cases.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-05 21:32:19 +09:00
cat
e3ffe85670
internal/rosa/python: pycparser artifact
...
Required by mesa.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-05 20:37:09 +09:00
cat
f4403ba5cd
internal/rosa: libpng artifact
...
Required by mesa.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-05 20:23:50 +09:00
cat
5a26895a22
internal/pkg: optionally suppress init verbosity
...
This flag applies to every exec artifact cured by the cache. It has no effect on cure outcome.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-05 20:03:06 +09:00
cat
09d9f766a9
container: optionally suppress init verbosity
...
This change also removes verbose output no longer considered useful.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-05 19:59:44 +09:00
cat
6558169666
internal/rosa/x: libXrandr artifact
...
Required by mesa.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-05 19:39:19 +09:00
cat
cccf970c57
internal/rosa/x: libXrender artifact
...
Required by libXrandr.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-05 19:37:11 +09:00
cat
57ffb21690
internal/rosa/x: libXxf86vm artifact
...
Required by mesa.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-05 19:27:59 +09:00
cat
9c560b455a
internal/rosa/stage0: replace amd64 tarball
...
This toolchain is built with the new patchset.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-05 04:39:53 +09:00
cat
4c7c0fbfc6
internal/rosa/llvm: update configuration for early runtimes
...
These were never updated when the bootstrap was moved to stage0-only.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-05 04:38:17 +09:00
cat
18b3b7904e
internal/rosa/llvm: exclude benchmarks
...
These are being built despite LLVM_BUILD_BENCHMARKS defaulting to off.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-05 03:11:26 +09:00
cat
fefefdf734
internal/rosa/llvm: insert Rosa OS paths via musl ldso
...
This is cleaner than unconditionally adding rpath, and avoids breaking rpath priority.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-05 02:44:26 +09:00
cat
b84bb09a80
internal/rosa/hakurei: 0.4.0 to 0.4.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-04 05:28:14 +09:00
cat
337bf20f50
release: 0.4.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-04 05:04:00 +09:00
cat
1cb792cf6e
cmd/dist: increase gzip level
...
Performance does not matter in this case.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-04 04:04:18 +09:00
cat
b2b40b07e8
cmd/dist: optional verbosity
...
This makes output less noisy. The build is fast enough not to require progress indication.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-04 04:02:02 +09:00
cat
da11b26ec1
container/initoverlay: configure via fsconfig
...
This works around the page size limit at the cost of negligible performance regressions.
Closes #34 .
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-04 02:29:56 +09:00
cat
024489e800
ext: wrap file-descriptor-based mount facilities
...
This only implements what is required by package container for now.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-04 01:54:35 +09:00
cat
0f795712b0
internal/rosa/llvm: enable LLVM_BUILD_TESTS
...
This arranges for tests to be built early, and is more efficient towards the end of the build.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-03 20:05:30 +09:00
cat
7e2210ff71
internal/rosa/llvm: provide runtimes early in stage0
...
The LLVM build system fails to handle a dynamically linked toolchain correctly, and leaks the system installation during builds.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-03 19:48:49 +09:00
cat
a71a008f3c
cmd/mbf: optionally build on early stages
...
This makes debugging the bootstrap process much less cumbersome.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-03 18:46:47 +09:00
cat
162265b47e
container: reject strings larger than a page
...
The vfs stores these values in a page obtained via GFP, and silently stops copying once the page is filled. This check prevents confusing behaviour in such cases.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-03 17:30:25 +09:00
cat
3fa7ac04e4
internal/rosa/x: combine with xcb
...
Separating them no longer makes sense.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-03 04:38:00 +09:00
cat
bf2867d653
internal/rosa/x: libxshmfence artifact
...
Required by mesa.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-03 04:35:39 +09:00
cat
ec0f0f6507
internal/rosa/x: libXext artifact
...
Required by mesa.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-03 04:23:20 +09:00
cat
a77a802955
internal/rosa/x: xlib artifact
...
Required by mesa.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-03 04:15:21 +09:00
cat
4407e14dfc
internal/rosa/x: migrate to xorgproto
...
This is much cleaner than the many protocol packages.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-03 04:09:36 +09:00
cat
e024d3184a
internal/rosa/clang: install cpp symlink
...
Required by some buggy autotools scripts.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-03 00:41:23 +09:00
cat
8e1bf00c2d
internal/rosa/stage0: add arm64 tarball
...
This replaces the previous, much larger stage0 distribution.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-02 23:53:08 +09:00
cat
b111e22050
internal/rosa/x: libxtrans artifact
...
Required by many X libraries.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-02 23:42:00 +09:00
cat
1fa458c0be
internal/rosa/glslang: SPIRV-LLVM-Translator artifact
...
Required by mesa.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-02 22:47:51 +09:00
cat
2c7ae67a67
internal/rosa/llvm: LIT args helper
...
This is useful for other projects using LIT.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-02 22:17:57 +09:00
cat
3826621b21
internal/rosa/python: lit artifact
...
Used by LLVM-related projects.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-02 22:15:37 +09:00
cat
041b505c2e
internal/rosa/cmake: implicit CMAKE_BUILD_TYPE
...
Lack of this behaviour is a holdover from when the helper was first split from the (now removed) LLVM helper.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-02 21:53:38 +09:00
cat
e6debce649
internal/rosa/llvm: make source independently available
...
This is unfortunately still required, due to the monorepo nature of LLVM.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-02 21:47:01 +09:00
cat
aa26b86fce
internal/rosa/llvm: skip multiple-compile-threads-basic on arm64
...
This intermittently crashes.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-02 12:39:46 +09:00
cat
a57a8fd5d8
internal/rosa/llvm: skip unwind_leaffunction on arm64
...
This unexpectedly passes.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-02 05:53:00 +09:00
maemachinebroke and cat
1d5d063d6a
cmd/mbf: package status dashboard
...
This displays package metadata with optional status from a report.
2026-05-02 05:05:56 +09:00
cat
e61628a34e
cmd/mbf: test cure all via daemon
...
This is the daemon equivalent of CureAll in internal/rosa.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-02 02:39:12 +09:00
cat
5a18f14929
internal/rosa/gnu: bison disable broken test
...
This is miscompiled by the current toolchain.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-02 02:23:51 +09:00
cat
f12880688d
internal/rosa/gnu: test skip helper
...
The terribleness of GNU invites interesting helpers.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-02 05:19:54 +09:00
cat
bb5bbfe16a
internal/rosa/go: disable tsan test
...
The newly enabled tsan does not play well with go126, so disable for now.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-02 00:12:41 +09:00
cat
427e1ca37c
internal/rosa/go: bootstrap 1.25.7 to 1.25.9
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-01 23:24:07 +09:00
cat
96fdd9ecc5
internal/rosa: disable LTO in tests
...
This is too expensive and not feasible for development.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-01 20:08:26 +09:00
cat
02771b655b
internal/rosa/stage0: replace amd64 tarball
...
This is a non-LTO distribution with the new layer configuration.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-01 18:57:28 +09:00
cat
d1c8d2c39b
internal/rosa/gnu: skip libtool tests in stage0
...
This upsets the linker in stage0.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-01 05:26:40 +09:00
cat
0efd742e8a
internal/rosa/llvm: enable libclc as a runtime
...
Enabling this as a project is deprecated.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-01 05:17:02 +09:00
cat
ae1fe638d5
internal/rosa/stage0: remove unused layers
...
The stage0 toolchain no longer requires bundled dependencies other than the bare toolchain and environment itself.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-01 03:52:41 +09:00
cat
445d95023b
internal/rosa: global preset flags
...
These changes preset behaviour globally. Useful for ad hoc workarounds for development or bootstrapping on resource-constrained systems.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-01 03:42:48 +09:00
cat
fc66f0bb47
internal/rosa/llvm: use llvm build system
...
This removes the multistep bootstrap hack. Stage0 exceptions are also eliminated for a later change to bring the stage0 distribution down to just a bare toolchain, toybox and shell. This change also enables dynamic linking and ThinLTO.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-01 03:36:58 +09:00
cat
2cd6b35bee
internal/rosa/cmake: run tests
...
This uses the standard CMake test target.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-01 03:04:59 +09:00
cat
09a216c6ec
internal/rosa/perl: make /system/bin writable
...
This enables cure in stage0 where /system/bin is read-only.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-30 19:25:46 +09:00
cat
44d17325c2
internal/rosa: raise stage0 extra layers
...
This enables extras to override stage0 tarball.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-30 18:58:42 +09:00
cat
544ce77cbc
internal/rosa/make: do not attempt check
...
This is circular during bootstrap, and tests are silently skipped without perl, so disable them explicitly.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-30 17:36:46 +09:00
cat
63c3c30b23
internal/rosa/zlib: compile with -fPIC
...
For static linking into shared libraries. This was missed when migrating to CMake.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-30 15:55:46 +09:00
cat
d23c4ecc7c
internal/rosa/llvm: use correct triple for rpath
...
MultiarchTriple produces a generic glibc triple string.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-30 00:39:13 +09:00
cat
a46656dff8
internal/rosa/python: mako 1.3.11 to 1.3.12
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-29 14:25:26 +09:00
cat
77db153ff5
internal/rosa/python: trove-classifiers 2026.1.14.14 to 2026.4.28.13
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-29 14:25:07 +09:00
cat
520d95bc07
internal/rosa/libxslt: fetch source tarball
...
This does not have submodules, so the overhead of git is unnecessary.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-28 18:31:44 +09:00
cat
451df3f4e7
internal/rosa/libxml2: fetch source tarball
...
This does not have submodules, so the overhead of git is unnecessary.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-28 18:31:28 +09:00
cat
011fac15ed
internal/rosa/git: 2.53.0 to 2.54.0
...
This release broke httpd detection and job control on mksh.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-28 18:23:20 +09:00
cat
347682ad0b
internal/rosa/kernel: 6.12.83 to 6.12.84
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-28 17:44:20 +09:00
cat
1a2b979add
internal/rosa/rsync: 3.4.1 to 3.4.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-28 16:37:47 +09:00
cat
b1c90cc380
internal/rosa/libexpat: 2.7.5 to 2.8.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-28 16:37:16 +09:00
cat
3a66b8143a
internal/rosa/nss: 3.123 to 3.123.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-28 16:15:14 +09:00
cat
64bbd3aabd
internal/rosa/mesa: libdrm 2.4.131 to 2.4.133
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-28 16:03:49 +09:00
cat
08799a13d0
internal/rosa/glslang: spirv-tools check stable versions
...
This hides release candidates.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-28 16:03:29 +09:00
cat
1aef9c3bbb
internal/rosa/python: pathspec 1.0.4 to 1.1.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-28 16:02:19 +09:00
cat
1f38303747
internal/rosa/python: packaging 26.1 to 26.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-28 16:01:56 +09:00
cat
640777b00c
internal/rosa/gnu: parallel 20260322 to 20260422
...
This pulls in bash with nonstandard hardcoded path.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-28 15:58:59 +09:00
cat
1d657193cf
internal/rosa/kernel: disable md
...
This is entirely unused and is a somewhat large attack surface, so disable it.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-28 15:48:20 +09:00
cat
bab5406295
internal/rosa/go: require popcnt for x86
...
This backports https://go.dev/cl/746640 .
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-28 14:36:59 +09:00
cat
725ae7d64d
nix: remove all explicit timeouts
...
These were useful during development because timing out is often the only indication of failure due to the terrible design of nixos vm test harness. This has become a nuisance however especially when the system is under load, so remove explicit values and fall back to the ludicrously high default.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-23 13:07:22 +09:00
cat
37a0c3967e
internal/rosa/gnu: mpc fetch source tarball
...
This does not have submodules, so the overhead of git is unnecessary.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-23 12:57:11 +09:00
cat
ea0692548f
internal/rosa/gnu: coreutils 9.10 to 9.11
...
Test regression was fixed, dropping patch.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-23 12:30:46 +09:00
cat
48ea23e648
internal/rosa/gnu: sed 4.9 to 4.10
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-23 12:30:06 +09:00
cat
40320e4920
internal/rosa/meson: 1.11.0 to 1.11.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-23 12:29:17 +09:00
cat
3ca0f61632
internal/rosa/llvm: 22.1.3 to 22.1.4
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-23 12:28:55 +09:00
cat
6ffaac96e3
internal/rosa/cmake: 4.3.1 to 4.3.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-23 12:28:34 +09:00
cat
13c7713d0c
internal/rosa/kernel: 6.12.82 to 6.12.83
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-23 12:28:14 +09:00
cat
42389f7ec5
internal/rosa/qemu: 10.2.2 to 11.0.0
...
This pulls in some python packages.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-23 01:15:13 +09:00
cat
30f130c691
internal/rosa/python: wheel artifact
...
No idea why this ended up as a package.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-23 01:07:14 +09:00
cat
ceb4d26087
internal/pkg: record cache variant on-disk
...
This makes custom artifacts much less error-prone to use.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-23 00:53:21 +09:00
cat
852f3a9b3d
internal/rosa/kernel: 6.12.81 to 6.12.82
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-20 22:11:13 +09:00
cat
5e02dbdb0d
internal/rosa/python: remove pypi helpers
...
Pypi is disallowed by policy so these helpers are no longer useful.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-20 02:37:10 +09:00
cat
6a3248d472
internal/rosa/python: install pyyaml from source
...
Required by mesa.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-20 02:35:30 +09:00
cat
67404c98d9
internal/rosa/nss: install buildcatrust from source
...
Dependencies are now available, so this no longer has to rely on the release.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-20 02:09:24 +09:00
cat
b9bf69cfce
internal/rosa/python: install mako from source
...
Required by mesa.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-20 01:55:23 +09:00
cat
4648f98272
internal/rosa/python: run tests via helper
...
Despite the lack of standards, pytest seems somewhat widely agreed upon.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-20 01:50:57 +09:00
cat
11d99439ac
internal/rosa/python: install markupsafe from source
...
Required by mesa.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-20 01:26:11 +09:00
cat
39e4c5b8ac
internal/rosa/python: optionally install before check
...
Some test suites require package to be installed globally.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-20 01:25:43 +09:00
cat
e8f6db38b6
internal/rosa/python: install pytest from source
...
Used by many python packages.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 23:17:38 +09:00
cat
20d5b71575
internal/rosa/python: install iniconfig from source
...
This also required the setuptools-scm hack.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 22:53:32 +09:00
cat
e903e7f542
internal/rosa/python: install pygments from source
...
This finally has its dependencies.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 22:40:43 +09:00
cat
1caa051f4d
internal/rosa/python: hatchling artifact
...
Required by many python packages.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 22:35:18 +09:00
cat
dcdc6f7f6d
internal/rosa/python: trove-classifiers artifact
...
Required by hatchling.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 22:32:12 +09:00
cat
5ad6f26b46
internal/rosa/python: install packaging from source
...
This is required by many packages.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 22:12:49 +09:00
cat
7ba75a79f4
internal/rosa/python: install pluggy from source
...
This finally has all its dependencies at this point.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 21:55:55 +09:00
cat
9ef84d3904
internal/rosa/python: setuptools-scm artifact
...
Awful hack required by many packages.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 21:38:44 +09:00
cat
3b7b6e51fb
internal/rosa/python: pass build dependencies separately
...
This is cleaner with less duplicate code.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 20:26:41 +09:00
cat
b1b4debb82
internal/rosa/python: pathspec artifact
...
Required by hatchling, which is required by many python packages.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 20:13:26 +09:00
cat
021cbbc2a8
cmd/mbf: default daemon socket in cache
...
This location makes more sense than the current directory.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 19:50:54 +09:00
cat
a4a54a4a4d
cmd/mbf: remove pointless recover
...
This used to scrub the cache, and was not fully removed when that became nonviable.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 19:49:01 +09:00
cat
04a344aac6
internal/rosa/python: flirt_core artifact
...
A build system required by a dependency of another build system, which is required by yet another build system.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 19:25:04 +09:00
cat
6b98156a3d
internal/rosa/python: change insane strict_timestamps default
...
There is no scenario where this is useful, and it breaks builds.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 18:56:22 +09:00
cat
753432cf09
cmd/mbf: optionally wait for cancel
...
Synchronisation is not needed here during interactive use.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 18:24:11 +09:00
cat
f8902e3679
internal/rosa/python: append to source path
...
This gets around messy projects with multiple packages.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 17:51:00 +09:00
cat
8ee53a5164
internal/rosa: use builtin for checksum warning
...
This avoids having to configure the logger early.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 17:50:12 +09:00
cat
3981d44757
internal/rosa/python: migrate setuptools to wrapper
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 15:36:43 +09:00
cat
9fd67e47b4
internal/rosa/python: wrap python package
...
Metadata for this is somewhat boilerplate-heavy, so wrap it to create metadata in one call.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 15:22:18 +09:00
cat
4dcec40156
cmd/mbf: close on cancel completion
...
Like the previous change, this enables synchronisation on the client side via epoll.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 15:03:52 +09:00
cat
9a274c78a3
cmd/mbf: close on abort completion
...
This enables synchronisation on the client side via epoll.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 14:53:28 +09:00
cat
5647c3a91f
internal/rosa/meson: run meson test suite
...
Tests requiring internet access or unreasonable dependencies are removed.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 01:07:20 +09:00
cat
992139c75d
internal/rosa/python: extra script after install
...
This is generally for test suite, due to the lack of standard or widely agreed upon convention.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 00:35:24 +09:00
cat
57c69b533e
internal/rosa/meson: migrate to helper
...
This also migrates to source from the Microsoft Github release.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 00:16:22 +09:00
cat
6f0c2a80f2
internal/rosa/python: migrate setuptools to helper
...
This is much cleaner, and should be functionally equivalent.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 00:04:19 +09:00
cat
08dfefb28d
internal/rosa/python: pip helper
...
Binary pip releases are not considered acceptable, this more generic helper is required for building from source.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-19 00:03:36 +09:00
cat
b081629662
internal/rosa/libxml2: 2.15.2 to 2.15.3
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-18 09:05:49 +09:00
cat
fba541f301
internal/rosa/nss: 3.122.1 to 3.123
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-18 09:05:23 +09:00
cat
5f0da3d5c2
internal/rosa/gnu: mpc 1.4.0 to 1.4.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-18 09:04:33 +09:00
cat
4d5841dd62
internal/rosa: elfutils 0.194 to 0.195
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-18 09:03:49 +09:00
cat
9e752b588a
internal/pkg: drop cached error on cancel
...
This avoids disabling the artifact when using the individual cancel method. Unfortunately this makes the method blocking.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-18 03:24:48 +09:00
cat
27b1aaae38
internal/pkg: pending error alongside done channel
...
This significantly simplifies synchronisation of access to identErr.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-18 03:10:37 +09:00
cat
9e18de1dc2
internal/pkg: flush cached errors on abort
...
This avoids disabling the artifact until cache is reopened. The same has to be implemented for Cancel in a future change.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-18 02:59:44 +09:00
cat
b80ea91a42
cmd/mbf: abort remote cures
...
This command arranges for all pending cures to be aborted. It does not wait for cures to complete.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-17 22:47:02 +09:00
cat
30a9dfa4b8
internal/pkg: abort all pending cures
...
This cancels all current pending cures without closing the cache.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-17 22:40:35 +09:00
cat
8d657b6fdf
cmd/mbf: cancel remote cure
...
This exposes the new fine-grained cancel API in cmd/mbf.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-17 22:00:04 +09:00
cat
ae9b9adfd2
internal/rosa: retry in SIGSEGV test
...
Munmap is not always immediate.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-17 20:45:19 +09:00
cat
dd6a480a21
cmd/mbf: handle flags in serve
...
This enables easier expansion of the protocol.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-17 20:14:09 +09:00
cat
3942272c30
internal/pkg: fine-grained cancellation
...
This enables a specific artifact to be targeted for cancellation.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-17 19:33:21 +09:00
cat
9036986156
cmd/mbf: optionally ignore reply
...
An acknowledgement is not always required in this use case. This change also adds 64 bits of connection configuration for future expansion.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-17 16:46:49 +09:00
cat
a394971dd7
cmd/mbf: do not abort cache acquisition during testing
...
This can sometimes fire during testing due to how short the test is.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-17 02:06:51 +09:00
cat
9daba60809
cmd/mbf: daemon command
...
This services internal/pkg artifact IR with Rosa OS extensions originating from another process.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-17 02:05:59 +09:00
cat
bcd79a22ff
cmd/mbf: do not open cache for IR encoding
...
This can now be allocated independently.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-17 01:04:39 +09:00
cat
0ff7ab915b
internal/pkg: move IR primitives out of cache
...
These are memory management and caching primitives. Having them as part of Cache is cumbersome and requires a temporary directory that is never used. This change isolates them from Cache to enable independent use.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-17 01:02:13 +09:00
cat
823575acac
cmd/mbf: move info command
...
This is cleaner with less shared state.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-16 17:43:52 +09:00
cat
136bc0917b
cmd/mbf: optionally open cache
...
Some commands do not require the cache. This change also makes acquisition of locked cache cancelable.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-16 15:59:34 +09:00
cat
d6b082dd0b
internal/rosa/ninja: bootstrap with verbose output
...
This otherwise outputs nothing, and appears to hang until the (fully single-threaded) bootstrap completes.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-15 22:19:05 +09:00
cat
89d6d9576b
internal/rosa/make: optionally format value as is
...
This enables correct formatting for awkward configure scripts.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-15 22:17:58 +09:00
cat
fafce04a5d
internal/rosa/kernel: firmware 20260309 to 20260410
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-15 22:16:47 +09:00
cat
5d760a1db9
internal/rosa/kernel: 6.12.80 to 6.12.81
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-15 22:16:30 +09:00
cat
d197e40b2a
internal/rosa/python: mako 1.3.10 to 1.3.11
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-15 22:21:54 +09:00
cat
2008902247
internal/rosa/python: packaging 26.0 to 26.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-15 22:15:18 +09:00
cat
30ac985fd2
internal/rosa/meson: 1.10.2 to 1.11.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-15 22:14:52 +09:00
cat
e9fec368f8
internal/rosa/nss: 3.122 to 3.122.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-15 22:13:45 +09:00
cat
46add42f58
internal/rosa/openssl: disable building docs
...
These take very long and are never used in the Rosa OS environment.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-15 22:13:18 +09:00
cat
377b61e342
internal/rosa/openssl: do not double test job count
...
The test suite is racy, this reduces flakiness.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-15 22:12:36 +09:00
cat
520c36db6d
internal/rosa: respect preferred job count
...
This discontinues use of nproc, and also overrides detection behaviour in ninja.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-15 18:49:36 +09:00
cat
3352bb975b
internal/pkg: job count in container environment
...
This exposes preferred job count to the container initial process.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-15 15:49:21 +09:00
cat
f7f48d57e9
internal/pkg: pass impure job count
...
This is cleaner than checking cpu count during cure, it is impossible to avoid impurity in both situations but this is configurable.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-15 15:36:44 +09:00
cat
5c2345128e
internal/rosa/llvm: autodetect stage0 target
...
This is fine, now that stages beyond stage0 have explicit target.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-14 03:10:26 +09:00
cat
78f9676b1f
internal/rosa/llvm: centralise llvm source
...
This avoids having to sidestep the NewPackage name formatting machinery to take the cache fast path.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-14 03:03:06 +09:00
cat
5b5b676132
internal/rosa/cmake: remove variant
...
This has no effect outside formatting of name and is a remnant of the old llvm helpers.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-14 02:57:47 +09:00
cat
78383fb6e8
internal/rosa/llvm: migrate libclc
...
This eliminates newLLVMVariant.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-14 02:40:13 +09:00
cat
e97f6a393f
internal/rosa/llvm: migrate runtimes and clang
...
This eliminates most newLLVM family of functions.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-14 02:07:13 +09:00
cat
eeffefd22b
internal/rosa/llvm: migrate compiler-rt helper
...
This also removes unused dependencies.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-14 01:12:56 +09:00
cat
ac825640ab
internal/rosa/llvm: migrate musl
...
This removes the pointless special treatment given to musl.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-14 00:35:42 +09:00
cat
a7f7ce1795
internal/rosa/llvm: migrate compiler-rt
...
The newLLVM family of functions predate the package system. This change migrates compiler-rt without changing any resulting artifacts.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-14 00:19:33 +09:00
cat
38c639e35c
internal/rosa/llvm: remove project/runtime helper
...
More remnants from early days, these are not reusable at all but that was not known at the time.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-14 00:03:23 +09:00
cat
b2cb13e94c
internal/rosa/llvm: centralise patches
...
This enables easier reuse of the patchset.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-13 23:52:44 +09:00
cat
46f98d12d6
internal/rosa/llvm: remove conditional flags in helper
...
The llvm helper is a remnant from very early days, and ended up not being very useful, but was never removed. This change begins its removal, without changing the resulting artifacts for now.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-13 23:38:11 +09:00
cat
503c7f953c
internal/rosa/x: libpciaccess artifact
...
Required by userspace gpu drivers.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-13 19:04:38 +09:00
cat
15c9f6545d
internal/rosa/perl: populate anitya identifiers
...
These are also tracked by Anitya.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-13 18:44:43 +09:00
cat
83b0e32c55
internal/rosa: helpers for common url formats
...
This cleans up call site of NewPackage.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-13 18:02:57 +09:00
cat
eeaf26e7a2
internal/rosa: wrapper around git helper
...
This results in much cleaner call site for the majority of use cases.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-13 15:20:51 +09:00
cat
b587caf2e8
internal/rosa: assume file source is xz-compressed
...
XZ happens to be the only widely-used format that is awful to deal with, everything else is natively supported.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-13 15:07:30 +09:00
cat
f1c2ca4928
internal/rosa/mesa: libdrm artifact
...
Required by mesa.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-13 03:27:09 +09:00
cat
0ca301219f
internal/rosa/python: pyyaml artifact
...
Mesa unfortunately requires this horrible format.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-13 03:18:47 +09:00
cat
e2199e1276
internal/rosa/python: mako artifact
...
This unfortunately pulls in platform-specific package.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-13 03:11:38 +09:00
cat
86eacb3208
cmd/mbf: checksum command
...
This computes and encodes sha384 checksum of data streamed from standard input.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-13 03:09:21 +09:00
cat
8541bdd858
internal/rosa: wrap per-arch values
...
This is cleaner syntax in some specific cases.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-13 02:59:55 +09:00
cat
46be0b0dc8
internal/rosa/nss: buildcatrust 0.4.0 to 0.5.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-13 02:18:21 +09:00
cat
cbe37e87e7
internal/rosa/python: pytest 9.0.2 to 9.0.3
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-13 02:18:02 +09:00
cat
66d741fb07
internal/rosa/python: pygments 2.19.2 to 2.20.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-13 02:13:04 +09:00
cat
0d449011f6
internal/rosa/python: use predictable URLs
...
This is much cleaner and more maintainable than specifying URL prefix manually. This change also populates Anitya project identifiers.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-13 02:08:22 +09:00
cat
46428ed85d
internal/rosa/python: url pip wheel helper
...
This enables a cleaner higher-level helper.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-13 01:59:28 +09:00
cat
081d6b463c
internal/rosa/llvm: libclc artifact
...
This is built independently of llvm build system to avoid having to build llvm again.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-12 22:57:04 +09:00
cat
11b3171180
internal/rosa/glslang: glslang artifact
...
Required by mesa.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-12 22:34:17 +09:00
cat
adbb84c3dd
internal/rosa/glslang: spirv-tools artifact
...
Required by glslang.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-12 22:27:49 +09:00
cat
1084e31d95
internal/rosa/glslang: spirv-headers artifact
...
Required by spirv-tools.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-12 22:16:29 +09:00
cat
27a1b8fe0a
internal/rosa/mesa: libglvnd artifact
...
Required by mesa.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-12 21:27:30 +09:00
cat
b2141a41d7
internal/rosa/dbus: xdg-dbus-proxy artifact
...
This is currently a hakurei runtime dependency, but will eventually be removed.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-12 19:41:49 +09:00
cat
c0dff5bc87
internal/rosa/gnu: gcc set with-multilib-list as needed
...
This breaks riscv64.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-12 18:03:45 +09:00
cat
04513c0510
internal/rosa/gnu: gmp explicit CC
...
The configure script is hard coded to use gcc without fallback on riscv64.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-12 17:25:15 +09:00
cat
28ebf973d6
nix: add sharefs supplementary group
...
This works around vfs inode file attribute race.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-11 23:28:18 +09:00
cat
41aeb404ec
internal/rosa/hakurei: 0.3.7 to 0.4.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-11 10:53:29 +09:00
cat
0b1009786f
release: 0.4.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-11 10:49:43 +09:00
cat
b390640376
internal/landlock: relocate from package container
...
This is not possible to use directly, so remove it from the public API.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-10 23:56:45 +09:00
cat
ad2c9f36cd
container: unexport PR_SET_NO_NEW_PRIVS wrapper
...
This is subtle to use correctly. It also does not make sense as part of the container API.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-10 23:45:51 +09:00
cat
67db3fbb8d
check: use encoding interfaces
...
This turned out not to require specific treatment, so the shared interfaces are cleaner.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-10 22:11:53 +09:00
cat
560cb626a1
hst: remove enablement json adapter
...
The go116 behaviour of built-in new function makes this cleaner.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-10 20:47:30 +09:00
cat
c33a6a5b7e
hst: optionally reject insecure options
...
This prevents inadvertent use of insecure compatibility features.
Closes #30 .
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-10 19:34:02 +09:00
cat
952082bd9b
internal/rosa/python: 3.14.3 to 3.14.4
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-10 02:38:22 +09:00
cat
24a9b24823
internal/rosa/openssl: 3.6.1 to 3.6.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-10 02:38:02 +09:00
cat
c2e61e7987
internal/rosa/libcap: 2.77 to 2.78
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-10 02:37:04 +09:00
cat
86787b3bc5
internal/rosa/tamago: 1.26.1 to 1.26.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-10 02:31:57 +09:00
cat
cdfcfe6ce0
internal/rosa/go: 1.26.1 to 1.26.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-10 02:18:27 +09:00
cat
68a2f0c240
internal/rosa/llvm: remove unused field
...
This change also renames confusingly named flags field and corrects its doc comment.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-10 02:13:26 +09:00
cat
7319c7adf9
internal/rosa/llvm: use latest version on arm64
...
This also removes arch-specific patches because they were not useful.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-10 01:07:25 +09:00
cat
e9c890cbb2
internal/rosa/llvm: enable cross compilation
...
This now passes the test suite.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-10 00:59:14 +09:00
cat
6f924336fc
internal/rosa/llvm: increase stack size
...
Some aarch64 regression tests fail intermittently on the default size.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-10 00:56:51 +09:00
cat
bd88f10524
internal/rosa/llvm: 22.1.2 to 22.1.3
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-09 17:36:23 +09:00
cat
e34e3b917e
internal/kobject: process uevent message
...
This deals with environment variables generally present in every message.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-08 18:00:04 +09:00
cat
b0ba165107
cmd/sharefs: group-accessible permission bits
...
This works around the race in vfs via supplementary group.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-08 16:14:47 +09:00
cat
351d6c5a35
cmd/sharefs: reproduce vfs inode file attribute race
...
This happens in the vfs permissions check only and stale data appears to never reach userspace.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-08 15:51:36 +09:00
cat
f23f73701c
cmd/mbf: optional host abstract
...
This works around kernels with Landlock LSM disabled. Does not affect cure outcome.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-07 18:15:49 +09:00
cat
876917229a
internal/rosa/go: enable riscv64 bootstrap path
...
This is quite expensive, but no other option, unfortunately.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-07 18:11:42 +09:00
cat
0558032c2d
container: do not set static deadline
...
This usually ends up in the buffer, or completes well before the deadline, however this can still timeout on a very slow system.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-07 17:00:20 +09:00
cat
c61cdc505f
internal/params: relocate from package container
...
This does not make sense as part of the public API, so make it internal.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-07 16:37:44 +09:00
cat
062edb3487
container: remove setup pipe helper
...
The API forces use of finalizer to close the read end of the setup pipe, which is no longer considered acceptable. Exporting this as part of package container also imposes unnecessary maintenance burden.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-07 16:05:33 +09:00
cat
e4355279a1
all: optionally forbid degrading in tests
...
This enables transparently degradable tests to be forced on in environments known to support them.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-07 15:22:52 +09:00
cat
289fdebead
container: transparently degrade landlock in tests
...
Explicitly requiring landlock in tests will be supported in a future change.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-07 15:03:48 +09:00
cat
9c9e190db9
ldd: remove timeout
...
The program generally never blocks, and it is more flexible to leave it up to the caller to set a timeout.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-07 14:49:20 +09:00
cat
d7d42c69a1
internal/pkg: transparently degrade landlock in tests
...
This does not test package container, so should transparently cope with Landlock LSM being unavailable.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-07 14:44:34 +09:00
cat
c758e762bd
container: skip landlock on hostnet
...
This overlaps with net namespace, so can be skipped without degrading security.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-07 14:36:44 +09:00
cat
10f8b1c221
internal/pkg: optional landlock LSM
...
The alpine linux riscv64 kernel does not enable Landlock LSM, and kernel compilation is not yet feasible.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-07 12:44:07 +09:00
cat
6907700d67
cmd/dist: set hsu tar header mode bits
...
This has no effect, but is nice to have.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-06 23:37:38 +09:00
cat
0243f3ffbd
internal/rosa/stage0: add riscv64 tarball
...
This had not yet passed all test suites because emulator is prohibitively slow.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-06 13:57:43 +09:00
cat
cd0beeaf8e
internal/uevent: optionally pass UUID during coldboot
...
This enables rejection of non-coldboot synthetic events.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-06 12:42:47 +09:00
cat
a69273ab2a
cmd/dist: replace dist/release.sh
...
This is much more robust than a shell script.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-05 23:58:08 +09:00
cat
4cd0f57e48
dist: remove redundant cleanup
...
This breaks on shells that do not evaluate pathnames.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-05 16:16:37 +09:00
cat
33a0e6c01b
hst: conditionally skip root remount
...
This enables the writable root overlay use case.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-05 14:04:21 +09:00
cat
d58f5c7590
dist: destroy workdir on exist
...
This no longer relies on the hermetic build system to clean up.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-05 13:32:16 +09:00
cat
1da992e342
dist: prefix from environment
...
These are baked in, so make them configurable for the build.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-05 13:11:44 +09:00
cat
9641805ec2
container/init: ignore finished process
...
This is not considered an error, if the process finishes while the signal is being delivered.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-05 00:38:33 +09:00
cat
0738f4889a
internal/rosa/gnu: fetch mpc source via git
...
Eliminates the xz dependency.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-05 00:35:15 +09:00
cat
7de3cfe221
internal/rosa/netfilter: fetch iptables source via git
...
Eliminates the xz dependency.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-05 00:19:40 +09:00
cat
8b0648dd5d
internal/rosa/netfilter: fetch libnftnl source via git
...
Eliminates the xz dependency.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-05 00:14:45 +09:00
cat
4667fac76c
internal/rosa/libbsd: fetch source via git
...
Eliminates the xz dependency.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-05 00:05:56 +09:00
cat
52e5443b0e
internal/rosa/libbsd: fetch libmd source via git
...
Eliminates the xz dependency.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-05 00:02:56 +09:00
cat
130e470b60
internal/rosa/libxslt: fetch source via git
...
Eliminates the xz dependency.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-04 23:05:10 +09:00
cat
ba5ee8e3ee
internal/rosa/libxml2: fetch source via git
...
Eliminates the xz dependency. This also switches to meson to avoid pulling in autotools.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-04 22:58:29 +09:00
cat
d1cef30877
internal/rosa/gtk: fetch glib source via git
...
This eliminates xz dependency.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-04 22:47:10 +09:00
cat
0188a3f0c7
internal/rosa/gnu: gnutls disable arm64 hardware acceleration
...
Hardware on arm64 is quite messy, this miscompiles.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-04 23:37:18 +09:00
cat
04fe3b24ce
internal/rosa/gnu: gnutls configure trust store
...
The test suite is somehow happy on amd64 but fails on arm64.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-04 22:33:51 +09:00
cat
93ad551054
internal/rosa/git: shallow clone
...
The .git directory is destroyed anyway, so no point fetching more than the bare minimum.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-04 20:14:40 +09:00
cat
3d54d1f176
internal/rosa: drop caches
...
This enables accurate benchmarking of the toolchain abstraction.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-03 20:58:23 +09:00
cat
9feac7738f
internal/pkg: optionally suppress via assumed checksum
...
This is quite error-prone and causes cache inconsistency similar to the store inconsistency seen on nix when a similar condition happens. Keep this behind a flag in case it is ever beneficial.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-03 20:33:59 +09:00
cat
591a60bac9
internal/pkg: per-cache SCHED_IDLE
...
This is cleaner than setting it globally, and is impossible to race.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-03 16:49:34 +09:00
cat
5093a06026
internal/pkg: cache flags
...
This is cleaner for extending the API.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-03 16:16:55 +09:00
cat
50c1d7f880
internal/rosa/kernel: 6.12.78 to 6.12.80
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-03 16:14:16 +09:00
cat
9e63633fbc
container: remove test timeouts
...
These timeouts are no longer useful, and causes spurious test failures under load.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-03 10:51:37 +09:00
cat
61f981a34a
internal/rosa/perl: 5.42.1 to 5.42.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-03 10:45:25 +09:00
cat
d717c41bbe
internal/rosa/cmake: 4.3.0 to 4.3.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-03 10:45:07 +09:00
cat
b896eec9b7
internal/rosa/gnu: parallel 20260222 to 20260322
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-03 10:44:48 +09:00
cat
8ab99e5e40
internal/rosa/util-linux: 2.41.3 to 2.42
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-03 10:44:25 +09:00
cat
2b6160ef7d
internal/rosa/wayland: wayland-protocols 1.47 to 1.48
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-03 10:44:04 +09:00
cat
4dcac7f133
internal/rosa/xz: 5.8.2 to 5.8.3
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-03 10:43:37 +09:00
cat
966fd4df9e
internal/rosa: connman artifact
...
Will be gradually replaced with a native implementation.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-03 01:17:10 +09:00
cat
a2cf59b989
internal/rosa/ncurses: also build dynamic library
...
GNU readline breaks without this.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-03 01:13:04 +09:00
cat
e87f59c4e4
internal/rosa/gnu: readline artifact
...
Nice to have library for command line programs.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-03 00:42:59 +09:00
cat
3b221c3e77
internal/rosa/gnu: gnutls artifact
...
Incredibly ugly and expensive package, but unfortunately required by some packages.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-03 00:36:28 +09:00
cat
ff3b385b12
internal/rosa: libunistring artifact
...
Required by GnuTLS.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-03 00:00:13 +09:00
cat
c6920e6ab7
cmd/mbf: pick up $TERM
...
This improves behaviour of some programs.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-02 23:59:15 +09:00
cat
59b25d45fe
internal/pkg: pick up $TERM if attaching stdin
...
This improves behaviour of some programs.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-02 23:50:07 +09:00
cat
9b99650eb1
internal/rosa: libev artifact
...
Required by gnutls.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-02 23:35:01 +09:00
cat
15bff9e1a6
internal/rosa/git: determine reporting name from url
...
This is generally correct, and is a lot cleaner to call.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-02 22:42:16 +09:00
cat
b948525c07
internal/rosa: nettle3 artifact
...
Removed after all packages upgrade for nettle 4.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-02 22:12:39 +09:00
cat
9acbd16e9a
internal/rosa/p11: explicitly enable libffi
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-02 22:05:07 +09:00
cat
64e5a1068b
internal/rosa: libtasn1 artifact
...
Optional dependency of p11-kit.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-01 17:20:12 +09:00
cat
b6cbd49d8c
internal/rosa: p11-kit artifact
...
Another package distributed in xz only. This is fetched from the git remote directly to avoid XZ Utils.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-01 16:34:30 +09:00
cat
6913b9224a
internal/rosa/git: recursively clone submodules
...
There is generally no reason to disable this, so it was not made optional.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-01 16:21:46 +09:00
cat
9584958ecc
internal/rosa/pkg-config: generate build system
...
This unfortunately pulls automake, libtool and their dependencies into stage2.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-01 15:31:24 +09:00
cat
389844b1ea
internal/rosa/gnu: mpc 1.3.1 to 1.4.0
...
This package now unfortunately switched to xz as well.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-31 23:56:20 +09:00
cat
5b7ab35633
internal/rosa: iptables artifact
...
This also pulls in netlink libraries from netfilter project.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-31 23:47:16 +09:00
cat
52b1a5a725
internal/rosa: use type P in helper interface
...
This is easier to type and serialises correctly.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-31 23:45:01 +09:00
cat
6b78df8714
internal/rosa: libmd and libbsd artifacts
...
These provide headers that are provided by glibc but not musl.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-31 22:57:08 +09:00
cat
dadf170a46
internal/rosa: dbus artifact
...
Unfortunate ugly indirect dependency we cannot yet get rid of.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-31 21:47:05 +09:00
cat
9594832302
internal/rosa/meson: disallow download
...
This will fail and waste time on KindExec, and cause nondeterminism in KindExecNet.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-31 21:38:09 +09:00
cat
91a2d4d6e1
internal/uevent: integrate error handling in event loop
...
There are many subtleties when recovering from errors in the event loop, and coldboot requires internals to drain the receive buffer as synthetic uevents are being arranged.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-31 00:10:14 +09:00
cat
a854719b9f
internal/netlink: optional recvmsg without netpoll
...
For draining the socket receive buffer.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-30 23:18:43 +09:00
cat
f03c0fb249
internal/uevent: synthetic events for coldboot
...
This causes the kernel to regenerate events that happened before earlyinit started.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-30 23:01:08 +09:00
cat
a6600be34a
all: use filepath
...
This makes package check portable, and removes nonportable behaviour from package pkg, pipewire, and system. All other packages remain nonportable due to their nature. No latency increase was observed due to this change on amd64 and arm64 linux.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-30 18:24:53 +09:00
cat
b5592633f5
internal/uevent: separate recvmsg helper
...
This enables messages to be received separately.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-30 02:53:26 +09:00
cat
584e302168
internal/netlink: set receive buffer size
...
This is done by both systemd sd-device and AOSP ueventd to improve robustness. Rosa OS will still handle ENOBUFS via coldboot but a big buffer should mitigate this as well.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-30 02:14:47 +09:00
cat
141958656f
internal/uevent: handle state divergence
...
This requires the caller to arrange for a coldboot to happen, some time after this error is encountered, and to resume event processing.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-30 01:50:09 +09:00
cat
648079f42c
internal/netlink: switch to recvmsg/sendmsg
...
These are more flexible than recvfrom/sendto.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-29 23:36:00 +09:00
cat
19c76e0831
cmd: document Rosa OS programs
...
The earlyinit and mbf program are not covered by the compatibility promise, so specify that here.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-28 22:43:25 +09:00
cat
71fcc972ba
cmd/hsu: alternative hsurc path for Rosa OS
...
Rosa OS does not have /etc.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-28 18:22:55 +09:00
cat
62002efd08
cmd/hsu: document hsurc format and internals
...
This was previously only documented via an unexported function.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-28 18:17:31 +09:00
cat
e33294db9c
cmd/hakurei: document stable behaviour
...
These are undocumented anywhere else and is required by tools invoking hakurei.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-28 17:31:46 +09:00
cat
b1ea3b4acf
cmd/hakurei: rename app to run
...
The run command was a legacy holdover from very early days and is only useful for testing and demonstration these days. This change also renames it to exec.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-28 16:48:26 +09:00
cat
2c254c70b8
cmd/hakurei: remove linkname directive
...
This used to be a function that did much more, and was later relocated to another package and exported.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-28 16:20:02 +09:00
cat
ea014d6af2
internal/uevent: consume kernel-originated events
...
These are not possible to cover outside integration vm. Extreme care is required when dealing with this method, so keep it simple.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-28 15:39:16 +09:00
cat
1b48484c16
internal/uevent: exclusive socket access
...
This is a much simplified mutex, since blocking is not required.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-28 01:01:06 +09:00
cat
713bff3eb0
internal/uevent: decode uevent messages
...
The wire format and behaviour is entirely undocumented. This is implemented by reading lib/kobject_uevent.c, with testdata collected from the internal/rosa kernel.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-28 00:49:34 +09:00
cat
30f459e690
internal/uevent: nontrivial errors
...
These errors are best represented as JSON.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-28 00:07:56 +09:00
cat
8766fddcb3
internal/uevent: recoverable errors
...
This runs in the Rosa OS init, so recover as much as possible, as otherwise it is likely to require a full system reboot to resume event processing. The caller is responsible for reporting the error.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-27 22:58:16 +09:00
cat
2745602be3
internal/uevent: wrap netlink socket
...
Unfortunately these messages do not have the same format as rtnetlink.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-27 22:46:18 +09:00
cat
ee22847dde
internal/uevent: kobject_action lookup
...
This is encoded as part of kobject uevent message headers.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-27 22:39:43 +09:00
cat
c61188649b
internal/netlink: export generic connection
...
This enables abstractions around some families to be implemented in a separate package.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-27 19:08:48 +09:00
cat
6a87a96838
internal/rosa/kernel: 6.12.77 to 6.12.78
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-27 10:40:27 +09:00
cat
2548a681e9
internal/rosa: key-value type
...
This type is used very frequently. The new type is much easier to type and can receive helper methods eventually if needed.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-26 16:23:15 +09:00
cat
d514d0679f
internal/rosa: set PYTHONUNBUFFERED=1
...
Some python tools try to be clever and buffers output. This makes the build process appear to hang and is quite frustrating. Instead of trying to address this on a case-by-case basis, this is turned off globally for the interpreter.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-26 15:29:29 +09:00
cat
4407892632
cmd/mbf: optionally enter cure container
...
This is very useful for troubleshooting failing tests and such. The ephemeral state is cleaned up by internal/pkg.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-26 15:10:11 +09:00
cat
e661260607
internal/pkg: enter exec container
...
This enables much easier troubleshooting of failing cures.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-26 15:05:04 +09:00
cat
044490e0a5
cmd/mbf: retain session by default
...
This almost never make sense to be turned off.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-26 14:59:17 +09:00
cat
af038c89ff
internal/pkg: collection helper-artifact
...
This was moved from internal/rosa because it is considered generally useful.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-26 14:11:10 +09:00
cat
d2f30173cd
internal/pkg: isolate container params
...
This enables exporting container params for interactive troubleshooting within the cure container.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-26 14:02:58 +09:00
cat
5319ea994c
internal/rosa/libseccomp: fix upstream out-of-bounds read
...
This was revealed by optimisation changes in the latest toolchain.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-26 10:43:11 +09:00
cat
bbe178be3e
internal/rosa/llvm: 22.1.1 to 22.1.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-26 09:56:34 +09:00
cat
ca28e9936b
internal/rosa/musl: 1.2.5 to 1.2.6
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-26 09:56:06 +09:00
cat
f61c6ade56
internal/rosa/nss: 3.121 to 3.122
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-26 09:55:27 +09:00
cat
fce3d63823
internal/rosa/gnu: autoconf 2.72 to 2.73
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-26 09:54:44 +09:00
cat
722c3cc54f
internal/netlink: optional check header as reply
...
Not every received message is a reply.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-25 19:33:01 +09:00
cat
372d509e5c
internal/netlink: expose multicast groups
...
This also gets rid of the cached pid value for port since that prevents multiple sockets from being open at once.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-25 17:55:35 +09:00
cat
d62516ed1e
internal/netlink: enlarge recvfrom buffer
...
This also uses an array type for the buffer since its size now uses the hardcoded value found in the kernel.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-25 17:18:56 +09:00
cat
d2b635eb55
cmd/mbf: correctly describe --with-toolchain
...
The behaviour of this was changed to include the stage2 toolchain instead, but the help text was never updated.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-25 15:41:28 +09:00
cat
50403e9d60
internal/netlink: wrap netpoll via context
...
This removes netpoll boilerplate for the most common use case.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-25 15:39:29 +09:00
cat
b98c5f2e21
internal/netlink: nonblocking socket I/O
...
This enables use with blocking calls like when used with NETLINK_KOBJECT_UEVENT.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-25 14:06:59 +09:00
cat
d972cffe5a
internal/netlink: make full response available
...
The previous API makes it impossible to retrieve remaining messages in the current iteration.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-23 16:39:25 +09:00
cat
d8648304bb
internal/netlink: isolate receive method
...
This enables use with epoll for receiving events only.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-23 15:03:15 +09:00
cat
f7bfa9a6c2
internal/rosa/go: disable go1.25.7 smtp test
...
This uses certs that had just expired.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-20 17:52:54 +09:00
cat
7035b4b598
internal/rosa/cmake: 4.2.3 to 4.3.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-20 16:39:57 +09:00
cat
094b8400dd
internal/rosa/qemu: 10.2.1 to 10.2.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-20 16:13:51 +09:00
cat
4652d921d8
internal/rosa/wayland: 1.24.91 to 1.25.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-20 16:13:28 +09:00
cat
066213c245
internal/rosa/libexpat: 2.7.4 to 2.7.5
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-20 16:00:50 +09:00
cat
98832c21ee
internal/rosa/fuse: 3.18.1 to 3.18.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-20 15:57:49 +09:00
cat
6cdb6a652b
internal/rosa/gtk: glib 2.87.5 to 2.88.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-17 20:58:39 +09:00
cat
7c932cbceb
internal/rosa: strace artifact
...
This is not part of the system, but a useful development tool. The test suite is quite broken but that is considered acceptable for now.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-17 20:40:17 +09:00
cat
20ebddd9bf
internal/rosa: export source kind
...
This is set for an exported field, so export the constants as well.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-17 20:09:44 +09:00
cat
420c721c7d
all: raise timeout defaults
...
This avoids timing out on systems running very slowly.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-17 17:04:06 +09:00
cat
bac583f89e
internal/stub: move from container
...
This package solves a very specific stubbing use case, in a less than elegant manner.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-17 16:09:14 +09:00
cat
722989c682
fhs: move from container
...
This package is not container-specific.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-17 15:56:36 +09:00
cat
b852402f67
ext: move syscall wrappers from container
...
These are generally useful, and none of them are container-specific. Syscalls subtle to use and requiring container-specific setup remains in container.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-17 15:48:40 +09:00
cat
6d015a949e
check: move from container
...
This package is not container specific, and widely used across the project.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-17 15:39:03 +09:00
cat
e9a72490db
vfs: move from container
...
This package is not container-specific.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-17 15:30:30 +09:00
cat
0a12d456ce
container: set CLOEXEC via close_range
...
This is guarded behind the close_range build tag for now.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-17 14:19:00 +09:00
cat
d1fc1a3db7
ext: wrap close_range syscall
...
This is useful for container when called with CLOSE_RANGE_CLOEXEC.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-17 14:15:16 +09:00
cat
1c2d5f6b57
ext: integer limit values
...
For portably using C integers without cgo.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-17 14:09:38 +09:00
cat
faea1f4bd6
all: remove deprecated packages
...
Closes #24 .
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-17 13:54:56 +09:00
cat
0cb1007daa
ldd: remove deprecated API
...
Closes #25 .
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-17 13:53:14 +09:00
cat
e292031624
ext: move lookup test
...
This was kept in-place to reduce patch size in the previous patch.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-17 13:44:59 +09:00
cat
cd5959fe5a
ext: isolate from container/std
...
These are too general to belong in the container package. This targets the v0.4 release to reduce the wrapper maintenance burden.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-17 13:39:26 +09:00
cat
08c35ca24f
container: use new netlink implementation
...
This is adapted from the container netlink implementation and is much more reusable.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-16 23:33:52 +09:00
cat
72bd3fb05e
internal/netlink: generalise implementation from container
...
This is useful for uevent implementation.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-16 23:07:51 +09:00
cat
59c66747df
internal/rosa/kernel: 6.12.76 to 6.12.77
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-16 15:21:33 +09:00
cat
9e6fe8db4b
internal/rosa/meson: 1.10.1 to 1.10.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-16 13:41:06 +09:00
cat
5168ee3e13
internal/rosa/python: remove pre_commit
...
This is unused and introduces many dependencies.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-16 13:39:56 +09:00
cat
c8313c2dc4
internal/rosa/tamago: disable cgo
...
This toolchain does not support cgo for the new target, anyway, and disabling it altogether avoids adding a dependency on arm64.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-16 13:22:10 +09:00
cat
3fcdadb669
internal/rosa/curl: remove broken test
...
Upstream testdata is not broken on the arm64 builder, but breaks reproducibly on amd64.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-16 12:54:03 +09:00
cat
3966bc5152
internal/rosa/hakurei: 0.3.6 to 0.3.7
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-15 21:43:55 +09:00
cat
b208af8b85
release: 0.3.7
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-15 21:04:55 +09:00
cat
8d650c0c8f
all: migrate to rosa/hakurei
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-15 20:12:51 +09:00
cat
a720efc32d
internal/rosa/llvm: arch-specific versions
...
This enables temporarily avoiding a broken release on specific targets.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-15 15:06:36 +09:00
cat
400540cd41
internal/rosa/llvm: arch-specific patches
...
Broken aarch64 tests in LLVM seem unlikely to be fixed soon.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-15 11:37:24 +09:00
cat
1113efa5c2
internal/rosa/kernel: enable arm64 block drivers
...
These are added separately to the amd64 patch due to the arm64 toolchain not being available at that time.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-15 00:22:05 +09:00
cat
8b875f865c
cmd/earlyinit: remount root and set firmware path
...
The default search paths cannot be configured, configuring them here is most sound for now.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-14 19:50:04 +09:00
cat
8905d653ba
cmd/earlyinit: mount pseudo-filesystems
...
The proposal for merging both init programs was unanimously accepted, so this is set up here alongside devtmpfs.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-14 19:43:42 +09:00
cat
9c2fb6246f
internal/rosa/kernel: enable FW_LOADER
...
This wants to be loaded early, so having it as a dlkm is not helpful as it will always be loaded anyway.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-14 19:32:14 +09:00
cat
9c116acec6
internal/rosa/kernel: enable amd64 block drivers
...
These have to be built into initramfs, anyway, so build them into the kernel instead. The arm64 toolchain is not yet ready, so will be updated in a later patch.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-14 19:22:56 +09:00
cat
988239a2bc
internal/rosa: basic system image
...
This is a simple image for debugging and is not yet set up for dm-verity.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-14 15:54:13 +09:00
cat
bc03118142
cmd/earlyinit: handle args from cmdline
...
These are set by the bootloader.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-14 15:13:52 +09:00
cat
74c213264a
internal/rosa/git: install libexec symlinks
...
This is less clumsy to represent.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-13 20:43:23 +09:00
cat
345cffddc2
cmd/mbf: optionally export output
...
This is for debugging for now, as no program consumes this format yet.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-13 19:53:55 +09:00
cat
49163758c8
internal/rosa/llvm: 22.1.0 to 22.1.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-13 16:08:49 +09:00
cat
ad22c15fb1
internal/rosa/perl: 5.42.0 to 5.42.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-13 16:08:24 +09:00
cat
9c774f7e0a
internal/rosa/python: setuptools 82.0.0 to 82.0.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-13 15:32:00 +09:00
cat
707f0a349f
internal/rosa/gtk: glib 2.87.3 to 2.87.5
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-13 15:26:42 +09:00
cat
7c35be066a
internal/rosa/tamago: 1.26.0 to 1.26.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-13 15:23:29 +09:00
cat
f91d55fa5e
internal/rosa/curl: 8.18.0 to 8.19.0
...
The test suite now depends on python to run mock servers. SMB is disabled because it is completely unused, and pulls in a python dependency for tests. A broken test is fixed and the patch hopefully upstreamed before next release.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-13 15:23:07 +09:00
cat
5862cc1966
internal/rosa/kernel: firmware 20260221 to 20260309
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-13 14:06:21 +09:00
cat
b3f0360a05
internal/rosa: populate runtime dependencies
...
This also removes manually resolved indirect dependencies.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-13 13:23:30 +09:00
cat
8938994036
cmd/mbf: display runtime dependency info
...
This only presents top-level dependencies, resolving indirect dependencies can be misleading in this context.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-13 10:46:37 +09:00
cat
96d382f805
cmd/mbf: resolve runtime dependencies
...
This also adds the collection meta-artifact for concurrent curing.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-13 10:41:22 +09:00
cat
5c785c135c
internal/rosa: collection meta-artifact
...
This is a stub FloodArtifact for concurrently curing multiple artifacts.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-13 10:34:45 +09:00
cat
0130f8ea6d
internal/rosa: represent runtime dependencies
...
This also resolves indirect dependencies, reducing noise.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-13 10:31:14 +09:00
cat
faac5c4a83
internal/rosa: store artifact results in struct
...
This is cleaner and makes adding additional values easier.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-12 18:08:41 +09:00
cat
620062cca9
hst: expose scheduling priority
...
This is useful when limits are configured to allow it.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-12 02:15:14 +09:00
cat
196b200d0f
container: expose priority and SCHED_OTHER policy
...
The more explicit API removes the arbitrary limit preventing use of SCHED_OTHER (referred to as SCHED_NORMAL in the kernel). This change also exposes priority value to set.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-12 01:14:03 +09:00
cat
04e6bc3c5c
hst: expose scheduling policy
...
This is primarily useful for poorly written music players for now.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-12 00:52:18 +09:00
cat
5c540f90aa
internal/outcome: improve doc comments
...
This improves readability on smaller displays.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-11 21:04:02 +09:00
cat
1e8ac5f68e
container: use policy name in log message
...
This is more helpful than having the user resolve the integer.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-11 20:20:34 +09:00
cat
fd515badff
container: move scheduler policy constants to std
...
This avoids depending on cgo.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-11 20:03:08 +09:00
cat
330a344845
hst: improve doc comments
...
These now read a lot better both in source and on pkgsite.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-11 19:21:55 +09:00
cat
48cdf8bf85
go: 1.26
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-10 03:29:19 +09:00
cat
7fb42ba49d
internal/rosa/llvm: set LLVM_LIT_ARGS
...
This replaces the progress bar, which was worse than useless.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-10 02:05:11 +09:00
cat
19a2737148
container: sched policy string representation
...
This also uses priority obtained via sched_get_priority_min, and improves bounds checking.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-09 18:38:31 +09:00
cat
baf2def9cc
internal/rosa/kmod: prefix moduledir
...
This change also works around the kernel build system being unaware of this option.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-09 16:40:55 +09:00
cat
242e042cb9
internal/rosa/nss: rename from ssl
...
The SSL name came from earlier on and is counterintuitive.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-09 14:58:31 +09:00
cat
6988c9c4db
internal/rosa: firmware artifact
...
Required for generic hardware.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-08 22:50:36 +09:00
cat
d6e0ed8c76
internal/rosa/python: various pypi artifacts
...
These are dependencies of pre-commit.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-08 22:25:16 +09:00
cat
53be3309c5
internal/rosa: rdfind artifact
...
Required by linux firmware.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-08 20:26:15 +09:00
cat
644dd18a52
internal/rosa: nettle artifact
...
Required by rdfind, which is required by linux firmware.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-08 20:22:09 +09:00
cat
27c6f976df
internal/rosa/gnu: parallel artifact
...
Used by linux firmware.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-08 19:56:40 +09:00
cat
279a973633
internal/rosa: build independent earlyinit
...
This avoids unnecessarily rebuilding hakurei during development.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-08 18:29:04 +09:00
cat
9c1b522689
internal/rosa/hakurei: optional hostname tool
...
This makes it more efficient to reuse the helper for partial builds.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-08 18:26:03 +09:00
cat
5c8cd46c02
internal/rosa: update arm64 kernel config
...
This was not feasible during the bump, now there is a viable toolchain.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-08 03:17:53 +09:00
cat
2dba550a2b
internal/rosa/zlib: 1.3.1 to 1.3.2
...
This also switches to the CMake build system because upstream broke their old build system.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-08 02:36:59 +09:00
cat
8c64812b34
internal/rosa: add zlib runtime dependency
...
For transitioning to dynamically linking zlib.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-08 02:36:09 +09:00
cat
d1423d980d
internal/rosa/cmake: bake in CMAKE_INSTALL_LIBDIR
...
There is never a good reason to set this to anything else, and the default value of lib64 breaks everything. This did not manifest on LLVM (which the CMake helper was initially written for) because it did not use this value.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-08 01:20:41 +09:00
cat
104da0f66a
internal/rosa/cmake: pass correct prefix
...
This can change build output similar to autotools --prefix and DESTDIR, but was not clearly indicated to do so.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-08 01:04:02 +09:00
cat
d996d9fbb7
internal/rosa/cmake: pass parallel argument for make
...
This uses the default value for each build system, which is parallel for ninja but not for make.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-08 00:55:58 +09:00
cat
469f97ccc1
internal/rosa/gnu: libiconv 1.18 to 1.19
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-08 00:36:38 +09:00
cat
af7a6180a1
internal/rosa/cmake: optionally use makefile
...
This breaks the dependency loop in zlib.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-07 22:47:30 +09:00
cat
03b5c0e20a
internal/rosa/tamago: populate Anitya project id
...
This had to wait quite a while due to Microsoft Github rate-limiting.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-07 19:37:03 +09:00
cat
6a31fb4fa3
internal/rosa: hakurei 0.3.5 to 0.3.6
...
This also removes the backport patch.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-07 18:53:48 +09:00
cat
bae45363bc
release: 0.3.6
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-07 16:32:04 +09:00
cat
2c17d1abe0
cmd/mbf: create report with reasonable perm
...
Making it inaccessible certainly is not reasonable.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-07 16:16:47 +09:00
cat
0aa459d1a9
cmd/mbf: check for updates concurrently
...
Runs much faster this way.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-07 16:05:16 +09:00
cat
00053e6287
internal/rosa: set User-Agent for Anitya requests
...
This is cleaner than using the default string.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-07 16:03:06 +09:00
cat
3a0c020150
internal/rosa/gnu: coreutils 9.9 to 9.10
...
This breaks two tests, one of them is fixed and the other disabled. Additionally, two fixed tests are re-enabled.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-07 14:31:03 +09:00
cat
78655f159e
internal/rosa/ncurses: use stable Anitya project
...
The alpine mapping points to ncurses~devel for some reason.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-07 13:43:38 +09:00
cat
30bb52e380
internal/rosa/x: libXau 1.0.7 to 1.0.12
...
This also switches to individual releases.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-07 13:39:48 +09:00
cat
66197ebdb2
internal/rosa/x: xproto 7.0.23 to 7.0.31
...
This also switches to individual releases.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-07 13:39:23 +09:00
cat
f7a2744025
internal/rosa/x: util-macros 1.17 to 1.20.2
...
This also switches to individual releases.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-07 13:38:54 +09:00
cat
f16b7bfaf0
internal/rosa: do not keep underlying file
...
No operation require further filesystem interaction for now.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-07 13:04:06 +09:00
cat
6228cda7ad
cmd/mbf: optionally read report in info
...
This is a useful frontend for the report files before web server is ready.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-07 02:26:35 +09:00
cat
86c336de88
cmd/mbf: cure status report command
...
This emits a report stream for the opened cache into the specified file.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-07 02:20:40 +09:00
cat
ba5d882ef2
internal/rosa: stream format for cure report
...
This is for efficient cure status retrieval by the package website server.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-07 02:18:00 +09:00
cat
1e0d68a29e
internal/pkg: move output buffer to reader
...
This side is the read end of a pipe and buffering reads from it ended up performing better than buffering one half of the TeeReader (which already goes through the kernel page cache anyway).
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-06 23:39:12 +09:00
cat
80f2367c16
cmd/mbf: merge status and info commands
...
This is cleaner, and offers better integration with the work-in-progress report file.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-06 23:20:00 +09:00
cat
5ea4dae4b8
cmd/mbf: info accept multiple names
...
This also improves formatting for use with multiple info blocks.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-06 23:10:43 +09:00
cat
eb1a3918a8
internal/rosa/gnu: texinfo 7.2 to 7.3
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-06 22:09:00 +09:00
cat
349011a5e6
internal/rosa/perl: compile dynamic libperl
...
Required by texinfo 7.3.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-06 22:08:38 +09:00
cat
861249751a
internal/rosa/openssl: 3.5.5 to 3.6.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-06 21:39:52 +09:00
cat
e3445c2a7e
internal/rosa/libffi: 3.4.5 to 3.5.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-06 21:39:25 +09:00
cat
7315e64a8a
internal/rosa/ssl: nss 3.120 to 3.121
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-06 21:38:41 +09:00
cat
7d74454f6d
internal/rosa/python: 3.14.2 to 3.14.3
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-06 21:38:17 +09:00
cat
96956c849a
internal/rosa/gnu: gawk 5.3.2 to 5.4.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-06 21:30:37 +09:00
cat
aabdcbba1c
internal/rosa/gnu: m4 1.4.20 to 1.4.21
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-06 21:22:33 +09:00
cat
38cc4a6429
internal/rosa/openssl: check stable versions
...
This has a bunch of strange malformed tags.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-06 19:22:41 +09:00
cat
27ef7f81fa
internal/rosa/perl: check stable versions
...
This uses odd-even versioning.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-06 19:16:07 +09:00
cat
f7888074b9
internal/rosa/util-linux: check stable versions
...
Anitya appears to get confused when seeing release candidates.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-06 19:15:16 +09:00
cat
95ffe0429c
internal/rosa: overridable version check
...
For projects with strange versioning practices.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-06 19:13:55 +09:00
cat
16d0cf04c1
internal/rosa/python: setuptools 80.10.1 to 82.0.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-06 18:40:55 +09:00
cat
6a2b32b48c
internal/rosa/libxml2: 2.15.1 to 2.15.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-06 18:36:06 +09:00
cat
c1472fc54d
internal/rosa/wayland: 1.24.0 to 1.24.91
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-06 18:33:26 +09:00
cat
179cf07e48
internal/rosa/git: 2.52.0 to 2.53.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-06 18:32:41 +09:00
cat
c2d2795e2b
internal/rosa/libexpat: 2.7.3 to 2.7.4
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-06 18:22:39 +09:00
cat
2c1d7edd7a
internal/rosa/squashfs: 4.7.4 to 4.7.5
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-06 17:47:23 +09:00
cat
1ee8d09223
internal/rosa/pcre2: 10.43 to 10.47
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-06 17:46:59 +09:00
cat
7f01cb3d59
internal/rosa/gtk: glib 2.86.4 to 2.87.3
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-06 17:46:32 +09:00
cat
65ae4f57c2
internal/rosa/go: 1.26.0 to 1.26.1
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-06 17:46:05 +09:00
cat
77110601cc
internal/rosa/gnu: binutils 2.45 to 2.46.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-06 17:45:10 +09:00
cat
c5b1949430
internal/rosa/kernel: backport AMD display patches
...
These reduce stack usage in dml30_ModeSupportAndSystemConfigurationFull enough to fix compile on clang 22.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-06 16:22:20 +09:00
cat
17805cdfa8
internal/rosa/kernel: 6.12.73 to 6.12.76
...
Toolchain is broken on arm64 at the moment so the configuration is not updated.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-06 15:01:01 +09:00
cat
9c9befb4c9
internal/rosa/llvm: separate major version
...
For pathname formatting at compile time.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-05 22:59:51 +09:00
cat
fcdf9ecee4
internal/rosa/llvm: 21.1.8 to 22.1.0
...
New patch should not be affected next time.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-05 22:42:27 +09:00
cat
fbd97b658f
cmd/mbf: display metadata
...
For viewing package metadata before the website is ready.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-05 22:11:26 +09:00
cat
c93725ac58
internal/rosa: prefix python constants
...
These have confusing names.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-05 21:37:06 +09:00
cat
f14ab80253
internal/rosa: populate Anitya project ids
...
This enables release monitoring for all applicable projects.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-05 21:32:15 +09:00
cat
9989881dd9
internal/rosa/llvm: populate metadata
...
This enables use of release monitoring for LLVM.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-05 21:27:33 +09:00
cat
a36b3ece16
internal/rosa: release monitoring via Anitya
...
This is much more sustainable than manual package flagging.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-05 20:57:05 +09:00
cat
75970a5650
internal/rosa: check name uniqueness
...
This should prevent adding packages with nonunique names.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-05 18:37:55 +09:00
cat
572c99825d
Revert "internal/rosa/zlib: 1.3.1 to 1.3.2"
...
The bump broke elfutils build.
This reverts commit 0eb2bfa12e .
2026-03-05 17:06:15 +09:00
cat
ebdf9dcecc
cmd/mbf: preset status command
...
This exposes the new OpenStatus cache method.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-05 16:59:47 +09:00
cat
8ea2a56d5b
internal/pkg: expose status file
...
This is useful for external tooling.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-05 16:58:52 +09:00
cat
159a45c027
internal/rosa: export preset bounds
...
These are useful for external tooling.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-05 16:34:25 +09:00
cat
0eb2bfa12e
internal/rosa/zlib: 1.3.1 to 1.3.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-05 15:49:18 +09:00
cat
e19a98244a
internal/rosa: zlib use stable archive url
...
These do not get removed on new release.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-05 15:46:10 +09:00
cat
7e2f13fa1b
internal/rosa: cure checks
...
This cures all presets if a cache directory is supplied and verbose is set.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-05 00:47:39 +09:00
cat
97448e2104
internal/rosa/squashfs: enter correct directory
...
This was missed during the make helper migration.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-05 00:43:50 +09:00
cat
a87ad28b8b
internal/pkg: scrub for dangling status
...
These cause build to fail to start.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-05 00:39:15 +09:00
cat
883d4ee4af
internal/pkg: return writer after sync
...
This fixes a use-after-free.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-05 00:23:24 +09:00
cat
d2c6d486b0
internal/rosa: provide package metadata
...
This had to be done out-of-band because there was no way to efficiently represent these within Artifact.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-05 00:20:27 +09:00
cat
6fdd800b2b
internal/pkg: check filtered error
...
This avoids filtering some unrelated os.ErrExist.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-04 17:43:17 +09:00
cat
94e3debc63
internal/pkg: write per-artifact logs
...
This is currently only used by execArtifact. A later patch will add additional logging facilities.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-04 17:27:54 +09:00
cat
ea87664a75
internal/pkg: cancel on scanner error
...
This avoids discarding output thus appearing unresponsive.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-03 22:20:43 +09:00
cat
04d9984da0
internal/rosa/meson: migrate to helper interface
...
This change also removes some unused options.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-02 14:07:16 +09:00
cat
145ccd1c92
remove .github
...
This is no longer needed after discontinuation of the Microsoft GitHub mirror.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-02 13:46:24 +09:00
cat
c5089cad78
cmd: remove hpkg
...
This proof-of-concept was abandoned long ago. Its test suite is flaky, heavy on I/O and does not increase test coverage. This change fully removes hpkg and supporting code.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-02 13:42:49 +09:00
cat
c83905f311
internal/rosa/cmake: enable check
...
CMake was packaged very early, before the current infrastructure existed to support this. This change patches out broken tests and enables the test suite.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-02 13:12:20 +09:00
cat
b7cc14f296
internal/rosa/cmake: 4.2.1 to 4.2.3
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-02 13:09:21 +09:00
cat
57e1e5141d
internal/rosa/ninja: remove cmake dependency
...
This does not actually depend on cmake. This is left over from very early on.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-02 13:08:18 +09:00
cat
1440195c3f
internal/rosa/llvm: pass patches via helper
...
This was missed while migrating LLVM to the new interface.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-02 01:30:14 +09:00
cat
cc60e0d15d
internal/rosa/make: migrate to helper interface
...
This also updates all affected artifacts to use new behaviour.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-02 01:24:50 +09:00
cat
9deaf853f0
internal/rosa/cmake: migrate to helper interface
...
This change also removes some unused options.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-01 23:50:22 +09:00
cat
2baa9df133
internal/rosa: general helper abstraction
...
This greatly increases code sharing and makes implementations far simpler.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-01 23:39:43 +09:00
cat
51d3df2419
internal/rosa/make: split build and check
...
Doing these together breaks far too many buggy makefiles.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-01 14:41:34 +09:00
cat
1d0fcf3a75
internal/rosa/perl: migrate to make helper
...
This uses the new configure helper behaviour.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-01 10:45:25 +09:00
cat
e92971e0c2
internal/rosa/make: alternative configure script
...
This enables using the configure helper with non-autotools configure scripts.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-01 10:42:20 +09:00
cat
6159c74e96
internal/rosa/toybox: migrate to make helper
...
A previous change caused world rebuild, so it is a good time to do this.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-01 10:02:36 +09:00
cat
2a34a269d0
internal/rosa: stricter cure-script options
...
This change also moves .cure-script out of /system/bin.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-28 23:29:22 +09:00
cat
ef130adb27
internal/rosa/kernel: early serial
...
Having serial driver before initramfs is helpful.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-28 23:22:18 +09:00
cat
5694e528e6
cmd/mbf: use standalone musl in container
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-28 23:12:13 +09:00
cat
b4e82e68a7
internal/rosa/images: initramfs via gen_init_cpio
...
This is much cleaner than hacking around the cpio tool.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-28 23:04:58 +09:00
cat
d041fee791
internal/rosa: export musl
...
This can be useful externally.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-28 22:49:54 +09:00
cat
cefd02e960
internal/rosa: gen_init_cpio artifact
...
This works much better than hacking around the toybox cpio implementation.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-28 21:19:03 +09:00
cat
ad8f799703
container/std: rename seccomp types
...
Aliases will be kept until 0.4.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-28 20:48:30 +09:00
cat
c74c269b66
container: use /proc/self/exe directly
...
This is a more reliable form of pathname to self and also cheaper than os.Executable.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-28 20:44:44 +09:00
cat
4b0cce4db5
ldd: treat nil pathname as self
...
This is a helpful shortcut for examining a test program's ldd output.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-28 20:37:01 +09:00
cat
cd9b534d6b
container: improve documentation
...
This change removes inconsistencies collected over time in this package.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-28 20:18:30 +09:00
cat
84e6922f30
cmd/mbf: optionally set SCHED_IDLE
...
None of the other supported policies are applicable here.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-26 16:50:35 +09:00
cat
c16725a679
internal/pkg: set container scheduling policy
...
This is not as necessary as it was for nix, since internal/pkg only unblocks exclusive artifacts one at a time. Still, this is useful when running alongside an unprivileged music player which cannot set itself to a higher priority.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-26 16:35:23 +09:00
cat
a6160cd410
container: set scheduling policy
...
This is thread-directed so cannot be done externally. The glibc wrapper exposes this behaviour so most multithreaded programs using this is straight up incorrect.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-26 16:29:47 +09:00
cat
826347fe1f
internal/rosa: expose standalone musl
...
This is useful in the system image and might also be used elsewhere.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-26 14:21:32 +09:00
cat
085eaed7ba
cmd/earlyinit: early /dev/ and io setup
...
This establishes an environment where devtmpfs is mounted, and if the kernel fails to set up console, 1 and 2 is pointed at /dev/kmsg.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-25 16:37:42 +09:00
cat
37d368a7f9
internal/rosa: initramfs artifact
...
This constructs a single-program initramfs and populates /dev/null so the runtime does not throw if the kernel fails to set up console.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-25 16:31:52 +09:00
cat
2aeac7f582
internal/rosa: fakeroot artifact
...
XSLT is untamable and extremely unpleasant to work with. This patches out the broken docs for now in the interest of getting some work done.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-25 01:20:31 +09:00
cat
2b93631f52
cmd/mbf: use stage2 musl when possible
...
This avoids pulling in the stage3 toolchain when it is not requested.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-25 01:05:49 +09:00
cat
b3749aaf0b
internal/rosa/kernel: arm64 configuration
...
These new dependencies do not apply to amd64, but adding them anyway in case they are needed some day.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-24 23:57:28 +09:00
cat
c8bb88cced
internal/rosa: libxslt artifact
...
For building documentation that cannot be turned off.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-24 23:41:54 +09:00
cat
f7f80f95b9
internal/rosa/perl: various perl module artifacts
...
This change includes helpers for both Makefile.PL and Build.PL as well as various modules.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-24 23:09:55 +09:00
cat
6ea6c794fb
internal/rosa/gnu: build single-binary coreutils
...
This enables more fine-grained toybox replacements.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-24 16:15:15 +09:00
cat
6c2da4c4b2
internal/rosa: libcap artifact
...
Required by fakeroot. Quite refreshing to package a non-autotools project.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-24 16:02:54 +09:00
cat
90f915a708
internal/rosa/kernel: disable DEBUG_STACK_USAGE
...
This is no longer needed.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-24 14:10:37 +09:00
cat
a5fea4686e
internal/rosa: make toolchain optional
...
The final Rosa OS image does not need the toolchain.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-23 18:07:38 +09:00
cat
ae8c365c0f
internal/rosa/hakurei: optionally use embedded source
...
This builds hakurei in Rosa OS between releases.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-23 17:56:16 +09:00
cat
485db515f7
internal/pkg/ir: raise string limit to 16 MiB
...
A string holds "current" hakurei source code. For now the compressed tarball is 4.9 MiB long.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-23 15:12:19 +09:00
cat
ec7ee0789e
internal/rosa/fuse: fix init script path
...
The default value is quite misleading.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-23 14:39:36 +09:00
cat
42c93a57a4
internal/rosa: fix patches
...
Turns out alacritty clobbers output. It turns tabs into spaces and also removes whitespace-only lines for some reason.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-23 02:12:09 +09:00
cat
b1b14810ac
internal/rosa/kernel: increase audio powersave timeout
...
This feature is incredibly annoying as some amplifiers take time to wake up, and causes a non-insignificant amount of audio to be dropped.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-22 21:28:39 +09:00
cat
de117ef365
internal/rosa: ncurses artifact
...
For running menuconfig.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-22 18:07:24 +09:00
cat
5e4bf23e0c
internal/rosa/musl: migrate to make helper
...
This is much cleaner and eliminates the early ugliness.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-22 15:53:41 +09:00
cat
d4519e2075
internal/rosa/make: expose --host
...
This should be set alongside --build.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-22 15:14:09 +09:00
cat
7f1e4cf43c
internal/rosa: kernel artifact
...
The configuration still wants some cleanup, but this works fine as a generic kernel for now.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-21 23:19:16 +09:00
cat
d021621fba
internal/rosa: install kernel headers out-of-tree
...
This is somewhat cheaper than the implementation with extra artifact and is more friendly to the make helper.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-21 19:16:10 +09:00
cat
56567307ec
internal/rosa: gnu tar artifact
...
Initially, libarchive was going to be used, but its test suite simply does not want to work under musl, not even with libiconv. The ticket last discussing this ceased any activity in 2020.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-21 18:09:51 +09:00
cat
0264a1ef09
internal/rosa: libiconv artifact
...
For software that assumes glibc.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-21 14:35:32 +09:00
cat
0123bbee3d
internal/rosa: bc artifact
...
Required by the kernel.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-21 00:30:40 +09:00
cat
771adad603
internal/rosa: texinfo artifact
...
Yet another wheel reinvented by GNU. Required to shut some GNU programs up.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-21 00:28:21 +09:00
cat
178305cb22
internal/rosa: elfutils artifact
...
Required by the kernel.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-20 21:51:07 +09:00
cat
c2456e252c
internal/rosa: musl-obstack artifact
...
Yet another nonstandard glibc extension used by elfutils.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-20 21:34:59 +09:00
cat
273068b90c
internal/rosa: musl-fts artifact
...
Another nonstandard glibc extension used by elfutils.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-20 21:29:09 +09:00
cat
16b20e1d34
internal/rosa: argp-standalone artifact
...
Nonstandard glibc extension used by elfutils.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-20 21:19:34 +09:00
cat
b983917a6e
internal/rosa: expose kernel source
...
This also removes the unused kernel helper.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-20 18:45:42 +09:00
cat
e1b8f40add
cmd/mbf: cache dir via environment
...
This is much less cumbersome than dragging the flag around all the time.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-19 15:32:25 +09:00
cat
6df0d37c5a
cmd/mbf: Rosa OS container helper
...
This sets up a Rosa OS container with its shell as the initial process.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-19 15:12:16 +09:00
cat
1619b06541
internal/pkg: export layer promotion
...
This is a useful helper for external tooling.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-19 15:06:10 +09:00
cat
e335d99c6b
internal/pkg: export seccomp presets
...
This is useful for external tooling providing an execArtifact-like environment.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-19 14:30:31 +09:00
cat
d888d09b6d
cmd/mbf: explicit help command
...
Not having this command is counterintuitive.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-19 13:55:05 +09:00
cat
54176e7315
internal/rosa: use LTS kernel
...
For out-of-tree modules.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-19 01:22:08 +09:00
cat
3bfe99d3d8
internal/lockedfile: keep objects alive while stopping cleanups
...
Fixes https://go.dev/issues/74780 .
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-18 20:00:32 +09:00
cat
149dfbb6af
internal/rosa: tamago toolchain artifact
...
Currently used by the (wip) bootloader, might not make it into the final OS.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-18 19:26:42 +09:00
cat
58801b44d4
internal/rosa: util-linux artifact
...
This stuff will likely be implemented natively in the final system. For now, it is useful for debugging.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-18 14:21:59 +09:00
cat
e065bbf792
internal/rosa: procps artifact
...
Generally pretty useful, and required by util-linux test suite.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-18 14:07:36 +09:00
cat
a883e57e7d
internal/rosa: qemu artifact
...
This is still a quite minimal build. More features will be enabled as dependencies become available. The powerpc failure will be investigated if it is ever needed.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-17 17:34:25 +09:00
cat
ef9bd8ecbf
internal/rosa/go: 1.25.7 to 1.26.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-17 14:40:24 +09:00
cat
a40527dcb2
internal/pkg/ir: document reason for avoiding ident cache
...
This got brought up earlier today as a potential optimisation. This change documents why it is not viable, and hopefully clears up some performance implications of using IRDecoder, namely that its decoding costs do not amortise.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-17 14:38:42 +09:00
cat
88d9a6163e
container/initplace: return nil for createTemp error injection
...
This matches os package behaviour, and avoids adding the cleanup.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-17 14:16:54 +09:00
cat
47860b0387
internal/rosa/python: enable bzip2 and xz
...
This is required by qemu test suite.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-17 02:39:11 +09:00
cat
50c9da8b6d
internal/rosa/python: enable openssl
...
This is required by qemu test suite.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-17 02:01:57 +09:00
cat
16966043c7
internal/rosa: dtc artifact
...
Required by qemu.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-17 00:54:34 +09:00
cat
a3515a6ef5
internal/rosa: bison artifact
...
Required by dtc, which is required by qemu.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-17 00:32:04 +09:00
cat
7f05baab28
internal/rosa: flex artifact
...
Required by dtc, which is required by qemu.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-16 23:55:36 +09:00
cat
d4d5e631ae
internal/rosa: glib artifact
...
Unfortunately required by many programs, even non-gtk ones.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-16 19:01:02 +09:00
cat
1df3bcc3b9
nix: mount tmpfs on /tmp
...
This hopefully eliminates spurious test failures caused by /tmp running out of space.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-16 18:22:29 +09:00
cat
1809b53e52
internal/rosa/wayland: build-only tests patch
...
This patch last had any discussion eight months ago and is still not merged.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-16 13:55:34 +09:00
cat
67b2914c94
internal/rosa: meson helper
...
This is used by quite a few projects.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-16 13:49:13 +09:00
cat
74dee11822
internal/rosa/cmake: optional variant string
...
This improves consistency with other helpers and removes the usually unnecessary variant suffix.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-16 12:44:40 +09:00
cat
a58c9258cc
internal/rosa/pcre2: downgrade to 10.43
...
Latest release breaks assumptions made by GLib.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-16 01:51:38 +09:00
cat
710b164c91
internal/pkg: allow devel syscalls
...
This is required by the GLib test suite, and possibly others.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-16 01:46:28 +09:00
cat
93911d6015
internal/rosa: pcre2 artifact
...
Required by GLib.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-16 01:20:52 +09:00
cat
bb097536d4
internal/rosa: remove libcxxabi hack
...
This was caused by stack overflow which was resolved many commits ago.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-15 21:59:09 +09:00
cat
49b6526a38
internal/rosa: remove redundant meson flags
...
These have no effect.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-15 20:18:34 +09:00
cat
f9c31df94d
internal/rosa: fixed-size toolchain enum
...
This fits in an inlined uint32 IR value.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-15 00:58:14 +09:00
cat
4f570cc5c9
internal/pkg: expose extra methods to file
...
This is useful for FileArtifact processing another stream.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-15 00:45:37 +09:00
cat
5828631e79
internal/pkg: split off context common
...
For making these methods available to RContext.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-15 00:39:24 +09:00
cat
4f9f4875d7
internal/rosa/openssl: scale jobs based on cpu count
...
The hardcoded value of 256 causes test failures due to excessive load on some machines. Twice the cpu count appears to almost saturate all cpus without causing spurious failures.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-13 03:34:08 +09:00
cat
d49e654482
internal/rosa: kmod artifact
...
Required by the kernel.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-13 03:15:27 +09:00
cat
b746e352e5
internal/rosa/zstd: fix libdir
...
CMake implicitly changes it to lib64 which is not supported.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-13 03:14:30 +09:00
cat
c620d88dce
update README document
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-13 01:38:50 +09:00
cat
7cd14b8865
internal/rosa: squashfs-tools artifact
...
The Makefile is very poorly written, so had to be configured through the environment.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-12 02:33:33 +09:00
cat
3e18a4b397
internal/rosa: zstd artifact
...
Optional dependency of many programs, and generally useful to have around.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-12 01:48:21 +09:00
cat
1791b604b5
internal/rosa/make: configurable configure and install
...
This makes the helper useful for non-autotools build systems.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-12 01:19:40 +09:00
cat
59ff6db7ec
internal/rosa: toolchain type methods
...
This improves readability for toolchain-specific checks.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-11 18:18:11 +09:00
cat
430e099556
internal/rosa/stage0: add arm64 tarball
...
This took far longer to complete because the aarch64 development machine is much slower.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-11 17:57:54 +09:00
cat
17b64bb42c
internal/pkg: skip resolved cure errors
...
This significantly improves error resolution performance.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-11 17:50:18 +09:00
cat
dbb89dfb0f
internal/pkg: buffer tar reader
...
This significantly improves performance and is a good assumption since the primary use case of FileArtifact is over the network.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-11 02:08:44 +09:00
cat
de06ea2be4
internal/pkg: read buffer free list
...
Reader has a non-insignificant buffer that is worth saving as well.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-11 02:02:46 +09:00
cat
1ef7bedfb5
internal/rosa/toybox: do not assume bash location
...
For compatibility with Gentoo stage3 as bootstrap seed.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-11 01:36:41 +09:00
cat
05a828c474
internal/pkg: validate tar pathnames
...
TContext no longer validates FileArtifact ahead of time, validation outcome is instead determined after consuming the reader to EOF. All data must therefore be treated as untrusted input until the reader is closed.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-11 00:40:54 +09:00
cat
0061d11f93
internal/rosa: use self-hosted stage0
...
This removes the bootstrap dependency on Gentoo stage3 tarball.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-10 22:31:08 +09:00
cat
fb101a02f2
internal/rosa: self-host stage0 tarball
...
This replaces gentoo stage3 tarballs.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-10 21:22:46 +09:00
cat
3dbd67d113
internal/rosa: consistent stage0 paths
...
This makes using the gentoo stage3 as our stage0 compatible with Rosa OS stage0 tarballs.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-10 19:28:47 +09:00
cat
f511f0a9e9
internal/rosa: bzip2 artifact
...
For creating the stage0 tarball. Might be replaced by a custom artifact at some point.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-09 02:26:52 +09:00
cat
47995137b3
internal/rosa/perl: skip installing manpages
...
Perl manpages ignore prefix and gets installed to /. This change does not use the configure script because it is completely broken and specifying either "none" or a single space character (undocumented) has no effect.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-09 01:50:52 +09:00
cat
e1b8607101
internal/rosa: rename stage0 toolchain
...
This is stage0 relative to Rosa OS, and stage3 relative to the toolchain it is compiled on (Gentoo in this case). Referring to the toolchain itself as stage3 is counterintuitive and misleading.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-09 00:55:07 +09:00
cat
3d3bd45b95
internal/rosa/hakurei: 0.3.4 to 0.3.5
...
This removes all backport patches.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-09 00:27:45 +09:00
cat
9fb0b2452e
release: 0.3.5
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-09 00:11:20 +09:00
cat
a3e87dd0ef
container: ignore uninterpreted source
...
These can be set to anything by the distribution.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-08 19:39:39 +09:00
cat
90a38c0708
container: strip host-dependent opts in test cases
...
This change also improves plumbing for stripping options.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-08 19:35:20 +09:00
cat
39cc8caa93
container: add riscv64 constants
...
This target is unlikely to become viable any time soon.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-08 19:03:47 +09:00
cat
c4f64f7606
dist: include target in filename
...
Backport patch will be removed in the next release.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-08 16:03:41 +09:00
cat
a9e2a5e59f
internal/rosa/go: 1.25.6 to 1.25.7
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-08 15:42:58 +09:00
cat
9fb0722cdf
internal/rosa/go: alternative bootstrap path
...
For targets where the bootstrap toolchain is not available.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-08 15:04:03 +09:00
cat
2f3e323c46
internal/rosa/gnu: gcc toolchain artifact
...
This toolchain is hacked to pieces. It works well enough to bootstrap Go, though.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-08 01:00:15 +09:00
cat
1fc9c3200f
internal/rosa: libucontext artifact
...
Required by GCC on musl.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-07 22:33:12 +09:00
cat
096a25ad3a
cmd/mbf: dump IR of artifact presets
...
This exposes IR outside test cases, useful for verifying correctness of alternative IR emitters.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-07 17:21:43 +09:00
cat
ffd2f979fb
internal/pkg: skip duplicate early
...
This significantly increases IR generation performance.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-07 17:11:41 +09:00
cat
31a8cc9b5c
internal/rosa/gnu: binutils artifact
...
Appears to be required by GCC? It complains with stuff installed by LLVM.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-07 14:02:23 +09:00
cat
bb3f60fc74
internal/rosa/gnu: gmp, mpfr, mpc artifacts
...
Required by GCC.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-07 13:55:40 +09:00
cat
697c91e04d
internal/rosa/cmake: expose earlier build script
...
This allows for more flexible build setups.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-07 13:23:13 +09:00
cat
3f7b8b4332
internal/rosa/git: git clone helper
...
For obtaining sources of projects that stubbornly refuse to provide release tarballs.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-06 21:10:59 +09:00
cat
fa94155f42
internal/rosa/etc: resolv.conf
...
Required by programs that download from the internet in measured execArtifact.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-06 21:04:59 +09:00
cat
233bd163fb
internal/rosa/git: disable flaky test
...
This fails intermittently.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-06 20:45:52 +09:00
cat
f9b69c94bc
internal/rosa/ssl: prefix CA paths
...
This makes prefixes consistent with everything else since this will end up in the final Rosa OS image.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-06 20:41:58 +09:00
cat
68aefa6d59
internal/rosa/openssl: fix paths
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-06 19:53:51 +09:00
cat
159fd55dbb
internal/rosa/ssl: fix dependencies
...
These used to be provided by busybox.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-05 19:12:48 +09:00
cat
ce6b3ff53b
internal/rosa: unzip artifact
...
Because the zip format is too awful and cannot be streamed anyway, supporting it natively comes with no benefit.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-05 19:10:32 +09:00
cat
30afa0e2ab
internal/rosa/git: compile with http support
...
This should be able to fetch repositories deterministically.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-05 18:51:02 +09:00
cat
9b751de078
internal/rosa/gnu: fix test suite flags
...
This sets the correct flag and also avoids changing ident per system.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-05 18:29:47 +09:00
cat
d77ad3bb6e
internal/rosa: curl artifact
...
Required for http support in git.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-05 18:15:16 +09:00
cat
0142fc90b0
internal/rosa/make: post-configure script
...
Required for some projects with broken build scripts.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-05 18:13:48 +09:00
cat
3c9f7cfcd0
internal/rosa: libpsl artifact
...
Required by curl.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-05 18:06:33 +09:00
cat
a3526b3ceb
internal/rosa: openssl artifact
...
Optional for many programs.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-05 18:03:18 +09:00
cat
6ad21e2288
internal/rosa: register custom artifacts
...
This also encodes extra information for iana-etc.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-05 17:50:48 +09:00
cat
27e2e3f996
internal/rosa/llvm: drop git dependency
...
This was added quite early and has no effect. Remove it to avoid compiling git early.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-05 17:44:58 +09:00
cat
e0c720681b
internal/pkg: standardise artifact IR
...
This should hopefully provide good separation between the artifact curing backend implementation and the (still work in progress) language. Making the IR parseable also guarantees uniqueness of the representation.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-05 08:24:09 +09:00
cat
f982b13a59
internal/pkg: improve error resolution
...
This was taking way too long for early failures.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-03 10:01:44 +09:00
cat
443911ada1
internal/rosa: use stage3 mirror
...
These get taken down periodically and causes way too many rebuilds when they are taken down. Use mirror until a more elegant solution is available.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-02 23:43:34 +09:00
cat
d7a3706db3
internal/rosa/x: regenerate build system
...
These come with 16-year-old scripts that do not understand aarch64 or really anything else relevant to Rosa OS.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-02 19:57:39 +09:00
cat
3226dc44dc
internal/rosa/gnu: libtool artifact
...
Required when generating autotools build systems.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-02 19:52:08 +09:00
cat
9f98d12ad8
internal/rosa/gnu: automake artifact
...
This is very expensive. Avoid.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-02 18:49:18 +09:00
cat
550e83dda9
internal/rosa/gnu: grep artifact
...
Some GNU software do not like the grep in toybox.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-02 18:38:01 +09:00
cat
7877b4e627
cmd/mbf: print extra stage3 information
...
This includes ident of all three stages and the matching checksum if check is passing.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-02 18:33:16 +09:00
cat
47ce6f5bd0
internal/rosa/llvm: conditionally add Rosa OS paths
...
This change also moves rpath flags to a more appropriate method.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-02 07:29:35 +09:00
cat
48f4ccba33
internal/rosa/llvm: add rosa vendor
...
This cleans up checks specific to Rosa OS, and fixes stack overflow in llvm under certain conditions.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-31 22:47:13 +09:00
cat
c31884bee4
internal/rosa: disable broken tests
...
These fail when running as users with supplementary groups, since they are unmapped in the container. This was not the case in the development container where all groups were dropped, so the failure was missed.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-31 14:12:40 +09:00
cat
f8661ad479
internal/rosa/hakurei: backport test case fix
...
This patch will be removed in the next release.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-31 12:00:21 +09:00
cat
536f0cbae6
internal/rosa/gnu: gettext 0.26 to 1.0
...
This now requires kernel headers for some reason.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-31 11:41:07 +09:00
cat
8d872ff1cd
internal/rosa: fetch from gnu mirror
...
GNU infrastructure is extraordinarily flaky and fetching from it killed the server too many times.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-31 11:26:48 +09:00
cat
bf14a412e4
container: fix host-dependent test cases
...
These are not fully controlled by hakurei and may change depending on host configuration.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-31 10:59:56 +09:00
cat
8b4576bc5f
internal/rosa: migrate to make helper
...
This migrates artifacts that the helper cannot produce an identical instance of.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-31 08:55:33 +09:00
cat
29ebc52e26
internal/rosa/hakurei: suffix variants
...
This makes log output more useful.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-31 05:03:15 +09:00
cat
5f81aac0e2
internal/rosa: make helper
...
This change only migrates artifacts that remain unchanged under the helper, so this change should not cause any rebuilds.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-31 05:01:22 +09:00
cat
47490823be
internal/rosa: improve cmake interface
...
This should make the call site look better for new artifacts.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-31 02:42:01 +09:00
cat
1ac8ca7a80
internal/rosa: isolate make implementation
...
This will come with a helper eventually.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-31 02:33:14 +09:00
cat
fd8b2fd522
internal/rosa: fix up dependencies
...
These are no longer provided by the (incomplete) toybox implementations, so they need to be specified explicitly.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-30 03:11:16 +09:00
cat
20a8519044
internal/rosa/mksh: also build lksh
...
This is better suited for /system/bin/sh. Full mksh is still included, installed at /system/bin/mksh.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-30 00:54:30 +09:00
cat
8c4fd00c50
internal/rosa/ninja: build in $TMPDIR
...
This used to build in /work/system/bin/ and unfortunately leaves its garbage there. This behaviour is from very early stages of this package, and was never fixed. This change updates it to use the "$(mktemp -d)" convention that every other artifact uses.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-30 00:36:43 +09:00
cat
bc3dd6fbb0
internal/rosa: chmod via patch helper
...
This works around the zfs overlay mount overhead and significantly reduces I/O in general.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-30 00:29:44 +09:00
cat
616ed29edf
internal/rosa: early toybox variant
...
This is a variant of toybox with unfinished tools enabled, for artifacts that will end up in a dependency loop without them.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-30 00:24:14 +09:00
cat
9d9b7294a4
internal/rosa: flags for toolchain-dependent artifact
...
This is much cleaner to add extra flags to.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-29 20:44:43 +09:00
cat
6c1e2f10a7
internal/rosa: remove busybox artifact
...
This is no longer used and its implementation is unacceptably shaky.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-29 19:58:51 +09:00
cat
abf96d2283
internal/rosa: replace busybox with toybox
...
The busybox artifact does not run on aarch64, and the workarounds required for it to compile successfully on x86_64 is unacceptably shaky. This change fully replaces it with toybox.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-29 19:51:18 +09:00
cat
6c90e879da
internal/rosa/llvm: enable asan
...
This is required by test suite of latest toybox.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-29 18:30:37 +09:00
cat
d1b404dc3a
internal/rosa: findutils artifact
...
Required by llvm test suite, compiler-rt sanitisers-related tests fail on toybox xargs.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-29 18:24:01 +09:00
cat
744e4e0632
internal/rosa: sed artifact
...
Required by various GNU programs as they are not happy with toybox sed.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-29 18:17:18 +09:00
cat
85eda49b2b
internal/rosa: xz artifact
...
Wanted to avoid this as much as possible. Unfortunately newer versions of GNU findutils only come in xz and is required for llvm compiler-rt sanitisers.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-29 18:06:17 +09:00
cat
b26bc05bb0
internal/rosa: remove unused receiver
...
This returns the preset itself, it is up to the caller to load the underlying artifact.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-29 17:52:50 +09:00
cat
2d63ea8fee
internal/rosa: gzip artifact
...
Toybox does not implement this, and it is used by many programs, including toybox itself.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-29 17:46:30 +09:00
cat
dd4326418c
internal/rosa: toybox artifact
...
This compiles surprisingly quickly and required no workarounds, unlike busybox.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-29 17:44:30 +09:00
cat
79c0106ea0
internal/rosa: replace busybox dash with mksh
...
Toybox does not provide a shell, mksh fills that gap.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-29 02:00:32 +09:00
cat
536db533de
internal/rosa: install bash as sh
...
This works around software relying on bashisms even when explicitly invoking sh.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-29 01:25:44 +09:00
cat
07927006a8
internal/pkg: set User-Agent header
...
Avoid living under the default user agent and be at the mercy of some IDS.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-29 01:17:35 +09:00
cat
77ea27b038
internal/rosa: mksh artifact
...
This provides a shell, as part of the effort to replace busybox.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-29 00:51:32 +09:00
cat
e76bc6a13a
internal/rosa: resolve preset by name
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-28 20:57:51 +09:00
cat
cc403c96d8
internal/rosa: remove busybox patch
...
This allows different versions of busybox to be attempted, to find one that works on arm.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-28 01:24:56 +09:00
cat
66118ba941
internal/rosa: gawk artifact
...
Replaces broken awk in busybox.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-28 01:22:42 +09:00
cat
823ba08dbc
internal/rosa: use patch helper
...
This is significantly cleaner and runs somewhat faster.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-28 00:58:34 +09:00
cat
660835151e
internal/rosa: disable busybox SHA1_HWACCEL
...
This also pretties up the build output and sets correct linker path.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-28 00:51:09 +09:00
cat
53e6df7e81
internal/rosa: remove uname
...
This does not change ident based on target.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-27 23:37:29 +09:00
cat
bd80327a8f
internal/rosa: add arm64 strings
...
This enables building on arm64.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-27 21:12:39 +09:00
cat
41f9aebbb7
internal/pkg: allow multiarch
...
The armv8l busybox binary release needs this to run correctly.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-27 21:07:18 +09:00
cat
a2a0e36802
internal/rosa: cross-platform stage3
...
The stage3 binary seed is arch-specific.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-27 20:58:31 +09:00
cat
fbe93fc771
internal/rosa/busybox: cross-platform binary
...
The initial binary seed is arch-specific.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-27 20:54:11 +09:00
cat
968d8dbaf1
internal/pkg: encode checksum in ident
...
This also rearranges the ident ir to be more predictable, and avoids an obvious and somewhat easy to get into inconsistent state.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-27 20:18:34 +09:00
cat
f1758a6fa8
internal/rosa: nss artifacts
...
Not used by anything for now, but will be part of Rosa OS.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-27 08:17:58 +09:00
cat
88aaa4497c
internal/rosa/hakurei: dist tarball
...
The patch will be removed in the next release.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-27 07:34:45 +09:00
cat
b7ea68de35
internal/rosa/hakurei: isolate hakurei helper
...
For creating the dist tarball, which runs in the same environment.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-27 07:28:13 +09:00
cat
67e453f5c4
dist: run tests
...
This used to be impossible due to nix jank which has been addressed.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-27 07:00:39 +09:00
cat
67092c835a
internal/rosa/hakurei: v0.3.3 to v0.3.4
...
This now contains the sharefs program which pulls in fuse.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-27 05:40:53 +09:00
cat
18918d9a0d
internal/rosa: fuse artifact
...
Required by hakurei for sharefs.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-27 05:34:42 +09:00
cat
380ca4e022
internal/rosa: pytest artifact
...
Required by libfuse. This pulls in many dependencies.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-27 05:20:37 +09:00
cat
887aef8514
internal/rosa: python pip helper
...
Fuse requires pytest which depends on many packages. This helper eases the pain of packaging them.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-27 05:14:59 +09:00
cat
d61faa09eb
release: 0.3.4
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-27 03:56:06 +09:00
cat
50153788ef
internal/rosa: hakurei artifact
...
This does not yet have fuse from staging. Everything else works perfectly, though.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-27 02:24:49 +09:00
cat
c84fe63217
internal/rosa: various X artifacts
...
Required by xcb which is required by hakurei.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-27 02:02:49 +09:00
cat
eb67e5e0a8
internal/pkg: exclusive artifacts
...
This alleviates scheduler overhead when curing many artifacts.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-27 01:23:50 +09:00
cat
948afe33e5
internal/rosa/acl: use patch helper
...
This is significantly less ugly.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-27 00:30:50 +09:00
cat
76c657177d
internal/rosa: patch ignore whitespace
...
This makes it work better with patches emitted by git.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-26 21:56:36 +09:00
cat
4356f978aa
internal/rosa: kernel patching
...
The side effect of this is to work around zfs performance issue with chmod on overlay mount.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-26 21:20:52 +09:00
cat
4f17dad645
internal/rosa: isolate patching helper
...
This is useful outside llvm as well.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-26 21:00:29 +09:00
cat
68b7d41c65
internal/rosa: parallel autoconf tests
...
These take forever and run sequentially by default for some reason.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-26 19:52:59 +09:00
cat
e48f303e38
internal/rosa: parallel perl tests
...
This is found in the github action, the test target does not appear to support parallelisation.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-26 19:45:50 +09:00
cat
f1fd406b82
internal/rosa: link libc ldd
...
Musl appears to implement this behaviour but does not install the symlink by default.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-26 08:00:03 +09:00
cat
53b1de3395
internal/rosa: enable static on various artifacts
...
This is implicitly enabled sometimes, but better to be explicit.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-26 07:56:14 +09:00
cat
92dcadbf27
internal/acl: connect getfacl stderr
...
This shows whatever failure is happening in the cure container.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-26 07:51:16 +09:00
cat
0bd6a18326
internal/rosa: acl artifact
...
Required by hakurei.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-26 07:38:56 +09:00
cat
67d592c337
internal/pkg: close gzip reader on success
...
The Close method panics otherwise.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-26 07:06:38 +09:00
cat
fdc8a8419b
internal/rosa: static libwayland
...
Required by hakurei.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-26 06:49:08 +09:00
cat
122cfbf63a
internal/rosa: run wayland tests
...
Broken test is disabled for now.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-26 06:39:45 +09:00
cat
504f5d28fe
internal/rosa: libseccomp artifact
...
Required by hakurei.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-26 05:28:36 +09:00
cat
3eadd5c580
internal/rosa: gperf artifact
...
Required by libseccomp.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-26 05:25:39 +09:00
cat
4d29333807
internal/rosa: wayland-protocols artifact
...
Required by hakurei.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-26 05:13:30 +09:00
cat
e1533fa4c6
internal/rosa: wayland artifact
...
Required by hakurei.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-26 05:10:35 +09:00
cat
9a74d5273d
internal/rosa: libgd artifact
...
Required by graphviz which is required by wayland.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-26 04:20:11 +09:00
cat
2abc8c454e
internal/pkg: absolute hard link
...
This cannot be relative since the curing process is not in the temp directory.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-26 04:03:05 +09:00
cat
fecb963e85
internal/rosa: libxml2 artifact
...
Required by wayland. Release tarball is xz only, unfortunately.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-26 03:47:42 +09:00
cat
cd9da57f20
internal/rosa: libexpat artifact
...
Required by wayland.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-26 03:15:25 +09:00
cat
c6a95f5a6a
internal/rosa: meson artifact
...
Required by wayland and pipewire.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-26 03:03:21 +09:00
cat
228489371d
internal/rosa: setuptools artifact
...
Apparently the only way to install python stuff offline.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-26 02:28:47 +09:00
cat
490471d22b
cmd/mbf: verbose by default
...
It usually does not make sense to use this without verbose.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-26 02:12:56 +09:00
cat
763d2572fe
internal/rosa: pkg-config artifact
...
Used by hakurei and many other programs.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-26 01:26:54 +09:00
cat
bb1b6beb87
internal/rosa: name suffix by toolchain
...
This makes output more useful during bootstrap.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-26 00:57:03 +09:00
cat
3224a7da63
cmd/mbf: disable threshold by default
...
This is not very useful.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-26 00:05:59 +09:00
cat
8a86cf74ee
internal/rosa/go: symlink executables
...
This avoids having to fix up $PATH for every artifact.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-25 23:59:08 +09:00
cat
e34a59e332
internal/rosa/go: run toolchain tests
...
LLVM patches and a TMPDIR backed by tmpfs fixed most tests. Broken tests in older versions are disabled.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-25 21:21:53 +09:00
cat
861801597d
internal/pkg: expose response body
...
This uses the new measured reader provided by Cache. This should make httpArtifact zero-copy.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-25 16:10:34 +09:00
cat
334578fdde
internal/pkg: expose underlying reader
...
This will be fully implemented in httpArtifact in a future commit.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-25 14:48:25 +09:00
cat
20790af71e
internal/rosa: lazy initialise all artifacts
...
This improves performance, though not as drastically as lazy initialising llvm.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-25 01:43:18 +09:00
cat
43b8a40fc0
internal/rosa: lazy initialise llvm
...
This significantly improves performance.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-25 00:29:46 +09:00
cat
87c3059214
internal/rosa: run perl tests
...
A broken test with unexplainable failure is disabled.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-24 18:58:09 +09:00
cat
6956dfc31a
internal/pkg: block on implementation entry
...
This avoids blocking while not in Cure method of the implementation.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-24 16:02:50 +09:00
cat
d9ebaf20f8
internal/rosa: stage3 special case helper
...
This makes it cleaner to specify non-stage3 and stage3-exclusive dependencies.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-24 12:23:35 +09:00
cat
acee0b3632
internal/pkg: increase output buffer size
...
This avoids truncating unreasonably long lines from llvm.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-24 11:45:44 +09:00
cat
5e55a796df
internal/rosa: gnu patch artifact
...
This is more robust than the busybox implementation.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-24 11:32:27 +09:00
cat
f6eaf76ec9
internal/rosa: patch library paths
...
This removes the need for reference LDFLAGS in the standard toolchain.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-24 11:22:25 +09:00
cat
5c127a7035
internal/rosa: patch header search paths
...
This removes the need for reference CFLAGS in the standard toolchain.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-23 01:56:52 +09:00
cat
8a26521f5b
internal/rosa/go: run bootstrap toolchain tests
...
The objdump test will be re-enabled after fixing llvm search paths.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-22 07:05:48 +09:00
cat
0fd4556e38
internal/rosa/llvm: fix broken test patch
...
Both stage1 and stage2 passes at this point.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-22 06:42:04 +09:00
cat
50b82dcf82
internal/rosa/gnu: coreutils artifact
...
Required by llvm unit and regression tests.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-22 05:42:23 +09:00
cat
20a8d30821
internal/rosa/busybox: link /usr/bin/env
...
This is required by many scripts which uses bash but still pretends to be portable.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-22 04:21:06 +09:00
cat
cdf2e4a2fb
internal/rosa: bash artifact
...
Required by llvm unit and regression tests.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-22 04:06:48 +09:00
cat
dcb8a6ea06
internal/rosa: fix toolchain layer order
...
This allows extras to override toolchain artifacts.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-22 03:37:46 +09:00
cat
094a62ba9d
internal/rosa: diffutils artifact
...
LLVM tests are not happy with busybox diff.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-22 03:00:59 +09:00
cat
6420b6e6e8
internal/rosa: libffi artifact
...
Required by python during llvm test suite.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-22 02:47:47 +09:00
cat
d7d058fdc5
internal/rosa/gnu: disable broken tests
...
These are documented as broken via comments yet not disabled on musl for some reason.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-21 23:31:45 +09:00
cat
84795b5d9f
internal/rosa/git: add dependencies
...
These are required outside the stage3 toolchain.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-21 22:14:48 +09:00
cat
f84d30deed
internal/rosa/gnu: run checks
...
Checks are not run for gettext for now since it contains broken tests.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-21 22:07:08 +09:00
cat
77821feb8b
internal/rosa: gettext artifact
...
Compile time dependency of git.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-21 21:52:50 +09:00
cat
eb1060f395
internal/rosa: autoconf artifact
...
Required by git to reconfigure some options.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-21 21:44:49 +09:00
cat
0e08254595
internal/rosa: m4 artifact
...
Autotools dependency.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-21 21:42:25 +09:00
cat
349d8693bf
internal/rosa: perl artifact
...
This runs without tests for now, will be enabled after some toolchain patches.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-21 21:33:12 +09:00
cat
e88ae87e50
internal/rosa/llvm: run unit and regression tests
...
Two tests are marked expected to fail for Rosa OS.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-21 08:25:36 +09:00
cat
7cd4aa838c
internal/rosa/llvm: patch source tree
...
A few patches are required for disabling broken tests and changing default search paths.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-21 08:25:17 +09:00
cat
641942a4e3
internal/rosa/cmake: chmod entire source tree
...
This works around builds that traverse out of the appended pathname.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-21 07:26:36 +09:00
cat
b6a66acfe4
internal/rosa: git artifact
...
This is required by the clang unit and regression tests.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-21 07:00:14 +09:00
cat
b72dc43bc3
internal/pkg: report dependency graph size
...
This is an interesting value to know when profiling.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-21 05:35:28 +09:00
cat
8e59ff98b5
internal/rosa: include iana-etc
...
This is used by some programs and will likely end up in the Rosa OS system image anyway.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-21 05:28:41 +09:00
cat
f06d7fd387
cmd/mbf: expose some artifacts for curing
...
This will remain until dist is successfully bootstrapped.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-21 05:18:08 +09:00
cat
ba75587132
internal/pkg: allow user namespace creation
...
No good reason to filter this in the execArtifact container, and the extended filter breaks certain programs.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-21 04:49:25 +09:00
cat
9a06ce2db0
internal/rosa: bootstrap go toolchain
...
This runs without tests for now. Will be fixed in a later commit.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-20 07:14:11 +09:00
cat
3ec15bcdf1
internal/rosa/cmake: use hardcoded build directory
...
This eliminates some nondeterminism. Still getting 3-stage non-determinism in runtimes and clang, though.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-19 22:51:34 +09:00
cat
d933234784
internal/pkg: make checksum available to cure
...
This enables deduplication by value as implemented in execArtifact.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-19 21:29:56 +09:00
cat
1c49c75f95
cmd/mbf: toolchain 3-stage non-determinism check
...
This unfortunately fails right now. Requires further investigation.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-19 04:40:44 +09:00
cat
6a01a55d7e
internal/rosa: parallel cmake bootstrap
...
This takes a very long time otherwise.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-19 03:21:29 +09:00
cat
b14964a66d
internal/rosa: standard toolchain via 2-stage bootstrap
...
This implements the 2-stage bootstrap build without clumping the stages together in the cmake target.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-19 02:57:28 +09:00
cat
ff98c9ded9
internal/rosa: llvm bootstrap artifacts
...
This bootstraps the LLVM toolchain across multiple artifacts.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-19 02:48:44 +09:00
cat
7f3d1d6375
internal/rosa: llvm artifact abstraction
...
The llvm bootstrap is multi-stage by nature, and cannot be completed in a single artifact.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-19 02:29:06 +09:00
cat
3a4f20b759
internal/rosa: cmake abstraction
...
This is a helper for generating cure script for a cmake-based project.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-19 02:20:37 +09:00
cat
21858ecfe4
internal/rosa: ninja artifact
...
Generated by cmake, recommended format for llvm toolchain.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-19 02:08:17 +09:00
cat
574a64aa85
internal/rosa: cpython artifact
...
Dependency of llvm build scripts, also an optional cure dependency of ninja.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-19 01:58:53 +09:00
cat
85d27229fd
internal/rosa: zlib artifact
...
Dependency of llvm build scripts.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-19 01:48:27 +09:00
cat
83fb80d710
internal/rosa: cmake artifact
...
This is required for compiling the toolchain and many other programs.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-19 01:36:38 +09:00
cat
fe6dc62ebf
internal/rosa: musl libc artifact
...
This will likely be included in Rosa OS. The installation is modified to be entirely contained in prefix.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-19 01:25:41 +09:00
cat
823f9c76a7
internal/rosa: busybox from source
...
This will be part of the standard toolchain.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-19 01:12:47 +09:00
cat
2df913999b
internal/rosa: kernel headers
...
This is required by the toolchain and many other programs.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-19 01:03:19 +09:00
cat
52c959bd6a
internal/rosa: minimal rsync artifact
...
For installing kernel headers.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-19 00:58:34 +09:00
cat
d258dea0bf
internal/rosa: bootstrap on gentoo stage3
...
This contains a fully working musl+llvm toolchain and many build systems in a pretty small package.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-19 00:51:49 +09:00
cat
dc96302111
internal/rosa: GNU make artifact
...
This compiles GNU make from source. This is unfortunately required by many programs, but is a cure dependency only.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-19 00:40:25 +09:00
cat
88e9a143d6
internal/rosa: toolchain abstraction
...
This provides a clean and easy to use API over toolchains. A toolchain is an opaque set of artifacts and environment fixups. Exported toolchains should be functionally indistinguishable from each other.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-19 00:28:16 +09:00
cat
8d06c0235b
internal/rosa: busybox binary artifact
...
This installs a statically linked busybox binary distribution for decompressing the gentoo stage3 tarball, since there is no native xz implementation.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-19 00:07:56 +09:00
cat
4155adc16a
internal/rosa: static etc artifact
...
This places configuration files with hardcoded content in /etc to silence test suites expecting them to be present.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-18 23:51:45 +09:00
cat
2a9525c77a
cmd/mbf: command handling
...
This tool is a frontend for bootstrapping hakurei via internal/pkg. Named mbf for now for "maiden's best friend" as a tribute to the DOOM source port.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-18 22:19:19 +09:00
cat
efc90c3221
internal/pkg: deduplicate dependency errors
...
This significantly simplifies error reporting for caller.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-17 14:41:00 +09:00
cat
610ee13ab3
internal/pkg: lock on-filesystem cache
...
Any fine-grained file-based locking here significantly hurts performance and is not part of the use case of the package. This change guarantees exclusive access to prevent inconsistent state on the filesystem.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-16 18:12:51 +09:00
cat
5936e6a4aa
internal/pkg: parallelise scrub
...
This significantly improves scrubbing performance. Since the cache directory structure is friendly to simultaneous access, this is possible without synchronisation.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-16 02:47:59 +09:00
cat
3499a82785
internal/pkg: cache computed identifiers
...
This eliminates duplicate identifier computations. The new implementation also significantly reduces allocations while computing identifier for a large dependency tree.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-15 23:30:43 +09:00
cat
088d35e4e6
internal/pkg: optional dependency graph size limit
...
This provides a quick check against cyclic dependencies without hurting cure performance.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-14 18:25:46 +09:00
cat
1667df9c43
internal/pkg: zero atime and mtime
...
This is significantly more practical than keeping track of them in directory flattening format and setting this in every non-artifact implementation. Only tarArtifact can have meaningful deterministic checksums that are not zero and zeroing them still keeps autotools happy.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-13 01:30:30 +09:00
cat
156dd767ef
internal/pkg: remove typeflag promotion loop
...
Expanding this enables sharing of code common between types.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-13 00:33:13 +09:00
cat
5fe166a4a7
internal/pkg: exec prefix verbose output
...
This proxies program output through msg with a name and fd prefix. This also avoids introducing additional information to the container via process stdout/stderr.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-12 22:15:01 +09:00
cat
41a8d03dd2
internal/pkg: cure completion verbose messages
...
This reports cure completions to the user.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-12 21:56:00 +09:00
cat
610572d0e6
internal/pkg: optionally named static file
...
These are generally for generating configuration files or build scripts, naming them is quite useful.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-12 04:34:50 +09:00
cat
29951c5174
internal/pkg: caller-supplied reporting name for exec
...
This does not have a reasonable way of inferring the underlying name. For zero value it falls back to base of executable pathname.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-12 04:17:47 +09:00
cat
91c3594dee
internal/pkg: append user-facing name in messages
...
This makes verbose messages much more useful.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-12 03:53:19 +09:00
cat
7ccc2fc5ec
internal/pkg: exec with specific timeout
...
This change also updates the documentation of NewExec.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-11 17:46:04 +09:00
cat
63e137856e
internal/pkg: do not discard the result of compact
...
This result was mistakenly unused resulting in incorrect identifiers for artifacts with duplicate dependencies.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-11 04:40:24 +09:00
cat
e1e46504a1
container/check: return error backed by string type
...
The struct turned out not necessary during initial implementation but was not unwrapped into its single string field. This change replaces it with the underlying string and removes the indirection.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-11 04:23:55 +09:00
cat
ec9343ebd6
container/check: intern absolute pathnames
...
This improves performance in heavy users like internal/pkg.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-11 04:18:11 +09:00
cat
423808ac76
nix: use package from module in default
...
This makes overriding hakurei easier. Also avoids building hakurei twice since nix does that for some reason.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-11 03:50:08 +09:00
cat
2494ede106
container/init: configure interface lo
...
This enables loopback networking when owning the net namespace.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-11 03:36:20 +09:00
cat
da3848b92f
internal/pkg: compare interfaces for host net
...
An upcoming improvement in the container init makes the current host net check return the same result for both cases. This change
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-11 00:30:32 +09:00
cat
34cb4ebd3b
internal/pkg: pass context to file cure
...
This removes the left over embedded contexts.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-09 05:31:38 +09:00
cat
f712466714
internal/pkg: move dependency flooding to cache
...
This imposes a hard upper limit to concurrency during dependency satisfaction and moves all dependency-related code out of individual implementations of Artifact. This change also includes ctx and msg as part of Cache.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-09 05:20:34 +09:00
cat
f2430b5f5e
internal/pkg: use short wait delay
...
The cure is condemned at the point of cancellation and all of its state is destroyed by the deferred cleanup, so it makes little sense to wait for it much.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-08 18:58:51 +09:00
cat
863e6f5db6
internal/pkg: use correct artifact count
...
This updates buffer sizes and counters to use correct total artifact count.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-08 08:45:37 +09:00
cat
23df2ab999
internal/pkg: place ephemeral upperdir in tmp
...
This enables the use of directories made writable this way as scratch space.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-08 08:23:16 +09:00
cat
7bd4d7d0e6
internal/pkg: support explicit overlay mount
...
This removes all but the /work/ auto overlay behaviour and enables much greater flexibility. This also renames ExecContainerPath to ExecPath so it is easier to type.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-08 07:55:09 +09:00
cat
b3c30bcc51
internal/pkg: set container WaitDelay
...
This prevents a container from blocking forever after context is canceled.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-08 06:23:57 +09:00
cat
38059db835
internal/pkg: make tar temporary directory writable
...
This allows it to be renamed to work directory.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-08 04:32:14 +09:00
cat
409fd3149e
internal/pkg: reserve kind range
...
This is useful for custom implementations of Artifact.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-08 01:21:51 +09:00
cat
4eea136308
internal/pkg: do not connect stdin
...
This introduces external state when verbose.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-07 23:17:58 +09:00
cat
c86ff02d8d
internal/pkg: tar optional file
...
This allows tar to take a single-file directory Artifact as input.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-07 22:16:26 +09:00
cat
e8dda70c41
internal/pkg: return reader for files
...
This improves efficiency for cache hits.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-07 21:36:47 +09:00
cat
7ea4e8b643
internal/pkg: support tarball compressed via bzip2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-07 20:18:28 +09:00
cat
5eefebcb48
internal/pkg: reject entry types disallowed in the cache
...
These are not encoded in the format, they are rejected here to serve as a check for cache since checksum is computed for every directory.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-07 03:22:44 +09:00
cat
8e08e8f518
internal/pkg: automatic overlay mount on work
...
This directly submits the upperdir to cache. It is primarily used in bootstrapping where tools are limited and should not be used unless there is a very good reason to.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-07 03:14:33 +09:00
cat
54da6ce03d
internal/pkg: respect mount order for overlay temp
...
Setting it up after everything else prevents covering files in /tmp.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-07 01:03:49 +09:00
cat
3a21ba1bca
internal/pkg: implement file artifact
...
This is an Artifact implementing File, backed by a constant, caller-supplied byte slice.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-07 00:39:29 +09:00
cat
45301559bf
internal/pkg: fail on empty output directory
...
This works around the fact that execArtifact always creates the work directory when setting up the bind mount.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-07 00:04:32 +09:00
cat
0df87ab111
internal/pkg: automatic overlay mount on tmp
...
This sets up the last Artifact to target /tmp as a writable overlay mount backed by the host side temp directory. This is useful for an Artifact containing source code to be built for another Artifact for example.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-06 23:45:08 +09:00
cat
aa0a949cef
internal/pkg: do not clear execute bit
...
Only write should be cleared here, clearing execute causes execArtifact to be unable to start anything since no Artifact is able to produce an executable file.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-06 22:31:44 +09:00
cat
ce0064384d
internal/pkg: automatic overlay mount on root
...
This makes it possible to use an Artifact as root without arranging for directory creation in the Artifact ahead of time.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-06 22:19:47 +09:00
cat
53d80f4b66
internal/pkg/testdata: check network
...
This validates hostNet state.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-06 21:32:10 +09:00
cat
156096ac98
internal/pkg: known checksum exec artifact
...
This optionally attaches an output checksum to an execArtifact and enables host networking for the resulting container.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-06 20:58:34 +09:00
cat
ceb75538cf
internal/pkg: update http checksum signature
...
This was using the old pre-KnownChecksum function signature. It did not affect correctness since httpArtifact performs internal validation to avoid the strict mode vfs roundtrip, but it prevented content-addressed cache hits.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-06 18:24:31 +09:00
cat
0741a614ed
internal/pkg: relocate testtool workaround
...
This can be reused in other test cases.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-06 18:06:56 +09:00
cat
e7e9b4caea
internal/pkg: exec nil path check during cure
...
This results in os.ErrInvalid instead of a panic, which hopefully improves user experience.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-06 17:46:12 +09:00
cat
f6d32e482a
internal/pkg: ensure parent for non-directory entries
...
This works around streams containing out of order entries.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-06 05:55:24 +09:00
cat
79adf217f4
internal/pkg: implement exec artifact
...
This runs a program in a container environment. Artifacts can be made available to the container, they are cured concurrently and mounted in order.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-06 05:05:34 +09:00
cat
8efffd72f4
internal/pkg: destroy temp during deferred cleanup
...
This avoids missing the cleanup when cure returns an error.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-06 04:24:54 +09:00
cat
86ad8b72aa
internal/pkg: expose cure through cure context
...
This allows a curing Artifact to cure Artifact it depends on.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-06 01:04:06 +09:00
cat
e91049c3c5
internal/pkg: pass cure context as single value
...
This cleans up the function signature and makes backwards compatible API changes possible.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-06 00:56:49 +09:00
cat
3d4d32932d
internal/pkg: verify checksum after uneventful scrub
...
This checks that scrub did not condemn any entry without reporting it.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-05 22:54:16 +09:00
cat
0ab6c13c77
internal/pkg: consistency check for on-disk cache
...
This change adds a method to check on-disk cache consistency and destroy inconsistent entries as they are encountered. This primarily helps verify artifact implementation correctness, but can also repair a cache that got into an inconsistent state from curing a misbehaving artifact, without having to destroy the entire cache.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-05 05:30:29 +09:00
cat
834cb0d40b
internal/pkg: override "." for directory checksum
...
This makes the checksum consistent with the final resting state of artifact directories without incurring the cost of an extra pair of chown syscalls.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-05 04:00:13 +09:00
cat
7548a627e5
internal/pkg: delete stale done channels
...
There is no reason to keep these around.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-05 02:12:34 +09:00
cat
b98d27f773
internal/pkg: expand single directory tarball
...
This enables much cleaner use of their output without giving up any meaningful data.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-05 01:43:23 +09:00
cat
f3aa31e401
internal/pkg: temporary scratch space for cure
...
This allows for more flexibility during implementation. The use case that required this was for expanding single directory tarballs.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-05 01:39:18 +09:00
cat
4da26681b5
internal/pkg: compute http identifier from url
...
The previous implementation exposes arbitrary user input to the cache as an identifier, which is highly error-prone and can cause the cache to enter an inconsistent state if the user is not careful. This change replaces the implementation to compute identifier late, using url string as params.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-05 00:43:21 +09:00
cat
4897b0259e
internal/pkg: improve artifact interface
...
This moves all cache I/O code to Cache. Artifact now only contains methods for constructing their actual contents.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-05 00:01:23 +09:00
cat
d6e4f85864
internal/pkg: ignore typeflag 'g'
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-04 12:46:56 +09:00
cat
3eb927823f
internal/pkg: create symlinks for files
...
These are much easier to handle than hard links and should be just as transparent for this use case.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-04 01:48:53 +09:00
cat
d76b9d04b8
internal/pkg: implement tar artifact
...
This is useful for unpacking tarballs downloaded from the internet.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-04 01:34:30 +09:00
cat
fa93476896
internal/pkg: override working directory perms
...
This must be writable to enable renaming, and the final result is conventionally read-only alongside the entire directory contents. This change overrides the permission bits as part of Store.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-04 00:55:52 +09:00
cat
bd0ef086b1
internal/pkg: enable cache access during store
...
This is still not ideal as it makes entry into Store sequential. This will be improved after more usage code is written.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-04 00:39:14 +09:00
cat
05202cf994
internal/pkg: pass context in request wrapper
...
This method is for the most common use case, and in actual use there will always be an associated context.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-03 23:53:52 +09:00
cat
40081e7a06
internal/pkg: implement caching for directories
...
This works on any directories and should be robust against any bad state the artifact curing process might have failed at.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-03 22:54:46 +09:00
cat
863d3dcf9f
internal/pkg: wrap checksum string encoding
...
This wraps base64.URLEncoding.EncodeToString for cleaner call site.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-03 22:03:25 +09:00
cat
8ad9909065
internal/pkg: compute identifier from deps
...
This provides infrastructure for computing a deterministic identifier based on current artifact kind, opaque parameters data, and optional dependency kind and identifiers.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-03 21:26:25 +09:00
cat
deda16da38
internal/pkg: create work directory
...
This is used for artifacts that cure into directories.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-03 20:56:11 +09:00
cat
55465c6e72
internal/pkg: optionally validate flat pathnames
...
This makes the decoder safe against untrusted input without hurting performance for a trusted stream. This should still not be called against untrusted input though.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-03 18:59:18 +09:00
cat
ce249d23f1
internal/pkg: implement http artifact
...
This is useful for downloading source tarballs from the internet.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-03 15:29:58 +09:00
cat
dd5d792d14
go: 1.25
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-03 15:25:28 +09:00
cat
d15d2ec2bd
internal/pkg: relocate cache test helper
...
This is useful for other tests that need a cache instance.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-02 16:08:43 +09:00
cat
3078c41ce7
internal/pkg: encode entry in custom format
...
The fact that Gob serialisation is deterministic is an implementation detail. This change replaces Gob with a simple custom format.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-02 15:39:42 +09:00
cat
e9de5d3aca
internal/pkg: implement caching for files
...
This change contains primitives for validating and caching single-file artifacts.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-02 12:57:19 +09:00
cat
993afde840
dist: install sharefs
...
This also removes the deprecated hpkg program.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-01-02 00:57:51 +09:00
cat
c9cd16fd2a
cmd/sharefs: prepare directory early
...
This change also checks against filesystem daemon running as root early.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-12-27 23:17:02 +09:00
cat
e42ea32dbe
nix: configure sharefs via fileSystems
...
Turns out this did not work because in the vm test harness, virtualisation.fileSystems completely and silently overrides fileSystems, causing its contents to not even be evaluated anymore. This is not documented as far as I can tell, and is not obvious by any stretch of the imagination. The current hack is cargo culted from nix-community/impermanence and hopefully lasts until this project fully replaces nix.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-12-27 23:14:08 +09:00
cat
e7982b4ee9
cmd/sharefs: create directory as root
...
This optional behaviour is required on NixOS as it is otherwise impossible to set this up: systemd.mounts breaks startup order somehow even though my unit looks identical to generated ones, fileSystems does not support any kind of initialisation or ordering other than against other mount points.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-12-27 22:14:33 +09:00
cat
ef1ebf12d9
cmd/sharefs: handle mount -t fuse.sharefs
...
This should have been handled in a custom option parsing function, but that much extra complexity is unnecessary for this edge case. Honestly I do not know why libfuse does not handle this itself.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-12-27 20:49:27 +09:00
cat
775a9f57c9
cmd/sharefs: check option parsing behaviour
...
This change makes it possible to check parseOpts behaviour as part of Go tests.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-12-27 17:33:12 +09:00
cat
2f8ca83376
cmd/sharefs: containerise filesystem daemon
...
This replaces the forking daemonise libfuse function which prevents Go callbacks from calling into the runtime. This also enforces least privilege on the daemon process.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-12-27 10:16:35 +09:00
cat
3d720ada92
container: optionally allow orphan
...
This is required for the typical daemonise use case.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-12-27 09:12:02 +09:00
cat
2e5362e536
cmd/sharefs: opaque setup state
...
This allows unrestricted use of the type system and prepares setup code for cross-process initialisation.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-12-27 04:14:00 +09:00
cat
6d3bd27220
cmd/sharefs: expand fuse_main
...
This change should not change behaviour other than making output more consistent.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-12-27 02:30:28 +09:00
cat
a27305cb4a
cmd/sharefs: improve help message
...
This improves consistency with the fuse_main help message.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-12-27 02:20:41 +09:00
cat
0e476c5e5b
cmd/sharefs: allocate sharefs_private early
...
This also removes global state used by sharefs_init.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-12-26 08:08:41 +09:00
cat
54712e0426
nix: set noatime on sharefs
...
Could improve performance, atime is not useful for this filesystem anyway.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-12-26 05:34:05 +09:00
cat
b77c1ecfdb
cmd/sharefs/test: check option handling
...
This verifies behaviour related to setuid/setgid when starting as root.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-12-26 05:28:45 +09:00
cat
dce5839a79
nix: do not restart sharefs
...
This avoids disrupting running containers.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-12-26 04:12:14 +09:00
cat
d597592e1f
cmd/sharefs: rename fuse-helper to fuse-operations
...
This is not really just library wrapper functions, but instead implements the callbacks, so fuse-operations makes more sense.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-12-26 03:19:32 +09:00
cat
056f5b12d4
cmd/sharefs: move translate_pathname body to macro wrapper
...
This is never called directly anywhere and it is simple enough to be included in the macro. This avoids passing the pointer around and dereferencing errno location, resulting in over 5% increase in throughput on the clang build. No change in the gcc build though.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-12-26 02:10:59 +09:00
cat
da2bb546ba
cmd/sharefs: remove readlink
...
This filesystem does not support symbolic links, so readlink is not useful, and unreachable in this case because of the check in getattr.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-12-25 06:00:58 +09:00
cat
7bfbd59810
cmd/sharefs: implement shared filesystem
...
This is for passing files between applications, similar to android /sdcard.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-12-25 05:13:02 +09:00
cat
ea815a59e8
nix: disable source fortification in devShell
...
This generates warnings when compiling without optimisation.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-12-21 02:22:28 +09:00
cat
28a8dc67d2
internal/pipewire: raise Core::Sync timeout
...
Hopefully relieves spurious failures on a very overloaded system.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-12-19 00:49:33 +09:00
cat
ec49c63c5f
internal/pipewire: EPOLL_CTL_ADD instead of EPOLL_CTL_MOD
...
Implementation is no longer tied down by the limitations of SyscallConn.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-12-19 00:43:44 +09:00
cat
5a50bf80ee
internal/pipewire: hold socket fd directly
...
The interface provided by net is not used here and is a leftover from a previous implementation. This change removes it.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-12-19 00:28:24 +09:00
cat
ce06b7b663
internal/pipewire: inform conn of blocking intent
...
The interface does not expose underlying kernel notification mechanisms. This change removes the need to poll in situations were the next call might block.
This is made cumbersome by the SyscallConn interface left over from a previous implementation, it will be replaced in a later commit as the current implementation does not make use of any net.Conn methods other than Close.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-12-19 00:00:33 +09:00
cat
08bdc68f3a
internal/pipewire: sendmsg/recvmsg errors are fatal
...
When returned wrapped as a syscall error, these are impossible to recover from, so wrap them as a fatal error.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2025-12-18 23:33:12 +09:00