forked from rosa/hakurei
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>
This commit is contained in:
@@ -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,
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user