package rosa import ( "hakurei.app/fhs" "hakurei.app/internal/pkg" ) 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 \ -C /stage0 \ -f /work/stage0-`+t.triple()+`.tar.bz2 \ . `, pkg.Path(fhs.AbsRoot.Append("stage0"), false, t.Append(nil, LLVM, Mksh, toyboxEarly, )...)) }) } func init() { 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, ) }) } // HasStage0 returns whether a stage0 distribution is available. func HasStage0() (ok bool) { func() { defer func() { ok = recover() == nil }() native.New(stageEarly).Load(stage0Dist) }() return }