internal/rosa/package: migrate stage0
All checks were successful
Test / Create distribution (push) Successful in 1m5s
Test / Sandbox (push) Successful in 2m58s
Test / ShareFS (push) Successful in 3m45s
Test / Hakurei (push) Successful in 3m53s
Test / Sandbox (race detector) (push) Successful in 5m33s
Test / Hakurei (race detector) (push) Successful in 6m34s
Test / Flake checks (push) Successful in 1m19s

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-05-23 17:53:05 +09:00
parent 3f33b62dfd
commit 689f972976
3 changed files with 28 additions and 37 deletions

View File

@@ -1,5 +1,31 @@
package stage0-dist {
package rosa-stage0 {
description = "Rosa OS stage0 bootstrap seed";
version = unversioned;
exclude = true;
source = hakurei-source;
extra = [
llvm,
mksh,
toybox-early,
];
overlay = "/stage0";
exec = generic {
build = `
umask 377
tar \
-vjc \
-C /stage0 \
-f /work/stage0-`+triple+`.tar.bz2 \
.
`;
};
inputs = [ bzip2 ];
}
package stage0-dist {
description = "Rosa OS stage0 bootstrap seed (binary distribution)";
exclude = true;
version* = "20260504";

View File

@@ -111,7 +111,7 @@ const (
stageIntermediateGentoo
// stageStdGentoo is like Std, but bootstrapped from stageGentoo. This
// toolchain creates the first [Stage0] distribution.
// toolchain creates the first stage0 distribution.
stageStdGentoo
// stageEarly denotes the stage0 toolchain. Special care must be taken
@@ -322,24 +322,6 @@ mkdir -vp /work/system/bin
)
}
// NewStage0 returns a [pkg.Artifact] curing to a stage0 distribution.
func (t Toolchain) NewStage0() pkg.Artifact {
return t.New("stage0", 0, t.Append(nil,
H("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,
)...))
}
// HasStageEarly returns whether a stage0 distribution is available.
func (s *S) HasStageEarly() (ok bool) {
func() {