All checks were successful
Test / Create distribution (push) Successful in 2m53s
Test / Sandbox (push) Successful in 7m1s
Test / Hakurei (push) Successful in 8m58s
Test / ShareFS (push) Successful in 9m25s
Test / Sandbox (race detector) (push) Successful in 9m30s
Test / Hakurei (race detector) (push) Successful in 12m26s
Test / Flake checks (push) Successful in 2m36s
This enables non-native cures from the daemon. Signed-off-by: Ophestra <cat@gensokyo.uk>
61 lines
1.3 KiB
Go
61 lines
1.3 KiB
Go
package rosa
|
|
|
|
import (
|
|
"hakurei.app/fhs"
|
|
"hakurei.app/internal/pkg"
|
|
)
|
|
|
|
func (t Toolchain) newStage0() (pkg.Artifact, string) {
|
|
return t.New("rosa-stage0", 0, t.AppendPresets(nil,
|
|
Bzip2,
|
|
), nil, nil, `
|
|
umask 377
|
|
tar \
|
|
-vjc \
|
|
-C /stage0 \
|
|
-f /work/stage0-`+triplet()+`.tar.bz2 \
|
|
.
|
|
`, pkg.Path(fhs.AbsRoot.Append("stage0"), false, t.AppendPresets(nil,
|
|
LLVM,
|
|
Mksh,
|
|
toyboxEarly,
|
|
)...)), Unversioned
|
|
}
|
|
func init() {
|
|
artifactsM[Stage0] = Metadata{
|
|
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) {
|
|
return newTar(
|
|
"https://hakurei.app/seed/"+version+"/"+
|
|
"stage0-"+triplet()+".tar.bz2",
|
|
perArch[string]{
|
|
"amd64": "IQjFDkiAVLo1XzflgMMiLP3gnVY2hhDMTzl-QqJDCQhcLQ3lLtRzjI5WCxGyW_lk",
|
|
"arm64": "6fmwl2Umx2QssKQvxxb1JOGkAjzfA_MXKku0jVdGjYGb35OvwEVA5NYtd0HIy3yH",
|
|
}.unwrap(),
|
|
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)
|
|
}()
|
|
return
|
|
}
|