diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-05-19 00:03:42 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-05-19 00:44:24 +0900 |
| commit | 8807cbc7305e424725b2be8eed7ecd9234f7772e (patch) | |
| tree | 5998f055396505becf0f99fcba3c86514f00650b /internal/rosa/stage0.go | |
| parent | 0e95573f187f64de1a46f27af67325e57037b9a9 (diff) | |
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>
Diffstat (limited to 'internal/rosa/stage0.go')
| -rw-r--r-- | internal/rosa/stage0.go | 58 |
1 files changed, 28 insertions, 30 deletions
diff --git a/internal/rosa/stage0.go b/internal/rosa/stage0.go index 4197ffac..05335ab5 100644 --- a/internal/rosa/stage0.go +++ b/internal/rosa/stage0.go @@ -5,10 +5,16 @@ import ( "hakurei.app/internal/pkg" ) -func (t Toolchain) newStage0() (pkg.Artifact, string) { - return t.New("rosa-stage0", 0, t.Append(nil, - Bzip2, - ), nil, nil, ` +func init() { + meta := Metadata{ + Name: "rosa-stage0", + Description: "Rosa OS stage0 toolchain tarball for bootstrap", + Version: Unversioned, + } + native.MustRegister(meta.Name, func(t Toolchain) (*Metadata, pkg.Artifact) { + return &meta, t.New("rosa-stage0", 0, t.Append(nil, + Bzip2, + ), nil, nil, ` umask 377 tar \ -vjc \ @@ -16,38 +22,30 @@ tar \ -f /work/stage0-`+t.triple()+`.tar.bz2 \ . `, pkg.Path(fhs.AbsRoot.Append("stage0"), false, t.Append(nil, - LLVM, - Mksh, - toyboxEarly, - )...)), Unversioned -} -func init() { - native.MustRegister(&Artifact{ - f: Toolchain.newStage0, - - Name: "rosa-stage0", - Description: "Rosa OS stage0 toolchain tarball for bootstrap", + LLVM, + Mksh, + toyboxEarly, + )...)) }) } func init() { - const version = "20260504" - native.MustRegister(&Artifact{ - f: func(t Toolchain) (pkg.Artifact, string) { - return newTar( - "https://hakurei.app/seed/"+version+"/"+ - "stage0-"+t.triple()+".tar.bz2", - perArch[string]{ - "amd64": "IQjFDkiAVLo1XzflgMMiLP3gnVY2hhDMTzl-QqJDCQhcLQ3lLtRzjI5WCxGyW_lk", - "arm64": "6fmwl2Umx2QssKQvxxb1JOGkAjzfA_MXKku0jVdGjYGb35OvwEVA5NYtd0HIy3yH", - "riscv64": "Z2ODV0rIoo9iQRUIu35bsaOBeXc_9qQfGcyb2aGneatzNUJlXh5emSpEV2bOklUL", - }.unwrap(t.S), - pkg.TarBzip2, - ), version - }, - + meta := Metadata{ Name: "stage0-dist", Description: "Rosa OS stage0 bootstrap seed", + Version: "20260504", + } + native.MustRegister(meta.Name, func(t Toolchain) (*Metadata, pkg.Artifact) { + return &meta, newTar( + "https://hakurei.app/seed/"+meta.Version+"/"+ + "stage0-"+t.triple()+".tar.bz2", + perArch[string]{ + "amd64": "IQjFDkiAVLo1XzflgMMiLP3gnVY2hhDMTzl-QqJDCQhcLQ3lLtRzjI5WCxGyW_lk", + "arm64": "6fmwl2Umx2QssKQvxxb1JOGkAjzfA_MXKku0jVdGjYGb35OvwEVA5NYtd0HIy3yH", + "riscv64": "Z2ODV0rIoo9iQRUIu35bsaOBeXc_9qQfGcyb2aGneatzNUJlXh5emSpEV2bOklUL", + }.unwrap(t.S), + pkg.TarBzip2, + ) }) } |
