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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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