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
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
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
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
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
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
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
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
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
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
689f972976
internal/rosa/package: migrate stage0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-23 17:53:05 +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
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
af4c3bbff2
internal/rosa/package: migrate toybox
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-21 18:10:02 +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
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
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
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
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
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
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