aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/stage0.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-05-17 13:07:12 +0900
committerOphestra <cat@gensokyo.uk>2026-05-17 15:56:53 +0900
commit30eb0d6a613ad268f6805ccbcdcabf158e7f526f (patch)
tree07e55baa52748fd139e183017eeb43f5f64cee59 /internal/rosa/stage0.go
parentc2ff9c9fa55ea569a5e70ee90d2eb0b2ee2a0540 (diff)
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>
Diffstat (limited to 'internal/rosa/stage0.go')
-rw-r--r--internal/rosa/stage0.go24
1 files changed, 12 insertions, 12 deletions
diff --git a/internal/rosa/stage0.go b/internal/rosa/stage0.go
index 3185bcc2..5f365703 100644
--- a/internal/rosa/stage0.go
+++ b/internal/rosa/stage0.go
@@ -5,57 +5,57 @@ import (
"hakurei.app/internal/pkg"
)
-func (t Toolchain) newStage0() (pkg.Artifact, string) {
- return t.New("rosa-stage0", 0, t.AppendPresets(nil,
+func (t Toolchain) newStage0(s *S) (pkg.Artifact, string) {
+ return s.New(t, "rosa-stage0", 0, s.AppendPresets(t, nil,
Bzip2,
), nil, nil, `
umask 377
tar \
-vjc \
-C /stage0 \
- -f /work/stage0-`+triplet()+`.tar.bz2 \
+ -f /work/stage0-`+s.triple()+`.tar.bz2 \
.
-`, pkg.Path(fhs.AbsRoot.Append("stage0"), false, t.AppendPresets(nil,
+`, pkg.Path(fhs.AbsRoot.Append("stage0"), false, s.AppendPresets(t, nil,
LLVM,
Mksh,
toyboxEarly,
)...)), Unversioned
}
func init() {
- artifactsM[Stage0] = Metadata{
+ native.MustRegister(&Artifact{
f: Toolchain.newStage0,
Name: "rosa-stage0",
Description: "Rosa OS stage0 toolchain tarball for bootstrap",
- }
+ })
}
func init() {
const version = "20260504"
- artifactsM[stage0Dist] = Metadata{
- f: func(Toolchain) (pkg.Artifact, string) {
+ native.MustRegister(&Artifact{
+ f: func(_ Toolchain, s *S) (pkg.Artifact, string) {
return newTar(
"https://hakurei.app/seed/"+version+"/"+
- "stage0-"+triplet()+".tar.bz2",
+ "stage0-"+s.triple()+".tar.bz2",
perArch[string]{
"amd64": "IQjFDkiAVLo1XzflgMMiLP3gnVY2hhDMTzl-QqJDCQhcLQ3lLtRzjI5WCxGyW_lk",
"arm64": "6fmwl2Umx2QssKQvxxb1JOGkAjzfA_MXKku0jVdGjYGb35OvwEVA5NYtd0HIy3yH",
"riscv64": "Z2ODV0rIoo9iQRUIu35bsaOBeXc_9qQfGcyb2aGneatzNUJlXh5emSpEV2bOklUL",
- }.unwrap(),
+ }.unwrap(s),
pkg.TarBzip2,
), version
},
Name: "stage0-dist",
Description: "Rosa OS stage0 bootstrap seed",
- }
+ })
}
// HasStage0 returns whether a stage0 distribution is available.
func HasStage0() (ok bool) {
func() {
defer func() { ok = recover() == nil }()
- toolchainStage0.Load(stage0Dist)
+ native.Load(toolchainStage0, stage0Dist)
}()
return
}