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
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
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
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
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
d49e654482
internal/rosa: kmod artifact
...
Required by the kernel.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-13 03:15:27 +09:00
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
c620d88dce
update README document
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-13 01:38:50 +09:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
9fb0b2452e
release: 0.3.5
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-09 00:11:20 +09:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
68aefa6d59
internal/rosa/openssl: fix paths
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-02-06 19:53:51 +09:00
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
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
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
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
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
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