diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-05-17 13:07:12 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-05-17 15:56:53 +0900 |
| commit | 30eb0d6a613ad268f6805ccbcdcabf158e7f526f (patch) | |
| tree | 07e55baa52748fd139e183017eeb43f5f64cee59 /internal/rosa/stage0.go | |
| parent | c2ff9c9fa55ea569a5e70ee90d2eb0b2ee2a0540 (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.go | 24 |
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 } |
