internal/rosa: pass stage alongside state
All checks were successful
Test / Create distribution (push) Successful in 1m4s
Test / Sandbox (push) Successful in 2m57s
Test / ShareFS (push) Successful in 3m45s
Test / Hakurei (push) Successful in 3m50s
Test / Sandbox (race detector) (push) Successful in 5m19s
Test / Hakurei (race detector) (push) Successful in 6m31s
Test / Flake checks (push) Successful in 1m17s

This cleans up many function signatures.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-05-17 16:44:13 +09:00
parent 30eb0d6a61
commit 38bc2c7508
89 changed files with 563 additions and 558 deletions

View File

@@ -36,6 +36,7 @@ func commandInfo(
}
}
t := rosa.Native().Std()
for i, name := range args {
handle := rosa.ArtifactH(unique.Make(name))
if meta := rosa.Native().Get(handle); meta == nil {
@@ -43,7 +44,7 @@ func commandInfo(
} else {
var suffix string
a, version := rosa.Native().MustLoad(rosa.Std, handle)
a, version := t.MustLoad(handle)
if version != rosa.Unversioned {
suffix += "-" + version
}
@@ -58,7 +59,7 @@ func commandInfo(
mustPrint("depends on :")
for _, d := range meta.Dependencies {
s := rosa.Native().MustGet(d).Name
if _, _version := rosa.Native().Load(rosa.Std, d); _version != rosa.Unversioned {
if _, _version := t.Load(d); _version != rosa.Unversioned {
s += "-" + _version
}
mustPrint(" " + s)

View File

@@ -21,12 +21,13 @@ import (
func TestInfo(t *testing.T) {
t.Parallel()
_, qemuVersion := rosa.Native().Load(rosa.Std, rosa.QEMU)
_, glibVersion := rosa.Native().Load(rosa.Std, rosa.GLib)
zlib, zlibVersion := rosa.Native().Load(rosa.Std, rosa.Zlib)
_, zstdVersion := rosa.Native().Load(rosa.Std, rosa.Zstd)
_, hakureiVersion := rosa.Native().Load(rosa.Std, rosa.Hakurei)
_, hakureiDistVersion := rosa.Native().Load(rosa.Std, rosa.HakureiDist)
_t := rosa.Native().Std()
_, qemuVersion := _t.Load(rosa.QEMU)
_, glibVersion := _t.Load(rosa.GLib)
zlib, zlibVersion := _t.Load(rosa.Zlib)
_, zstdVersion := _t.Load(rosa.Zstd)
_, hakureiVersion := _t.Load(rosa.Hakurei)
_, hakureiDistVersion := _t.Load(rosa.HakureiDist)
testCases := []struct {
name string
@@ -139,7 +140,7 @@ status : not in report
if tc.status != nil {
for name, status := range tc.status {
a, _ := rosa.Native().Load(rosa.Std, rosa.ArtifactH(unique.Make(name)))
a, _ := _t.Load(rosa.ArtifactH(unique.Make(name)))
if a == nil {
t.Fatalf("invalid name %q", name)
}

View File

@@ -61,7 +61,7 @@ func (index *packageIndex) populate(report *rosa.Report) (err error) {
index.names = make(map[string]*metadata)
ir := pkg.NewIR()
for i, handle := range handles {
a, version := rosa.Native().Load(rosa.Std, handle)
a, version := rosa.Native().Std().MustLoad(handle)
m := metadata{
handle: handle,

View File

@@ -100,7 +100,7 @@ func main() {
rosa.Native().DropCaches("", flags)
cross := flagArch != "" && flagArch != runtime.GOARCH
if flagQEMU || cross {
cm.qemu, _ = rosa.Native().Load(rosa.Std, rosa.QEMU)
cm.qemu, _ = rosa.Native().Std().Load(rosa.QEMU)
}
if cross {
@@ -349,7 +349,7 @@ func main() {
continue
}
_, version := rosa.Native().Load(rosa.Std, p)
_, version := rosa.Native().Std().Load(p)
if current, latest :=
version,
meta.GetLatest(v); current != latest {
@@ -412,9 +412,9 @@ func main() {
"stage3",
"Check for toolchain 3-stage non-determinism",
func(args []string) (err error) {
t := rosa.Std
s := rosa.Std
if flagGentoo != "" {
t -= 3 // magic number to discourage misuse
s -= 3 // magic number to discourage misuse
var checksum pkg.Checksum
if len(flagChecksum) != 0 {
@@ -431,7 +431,7 @@ func main() {
)
if err = cm.Do(func(cache *pkg.Cache) (err error) {
llvm, _ := rosa.Native().Load(t-2, rosa.LLVM)
llvm, _ := rosa.Native().New(s - 2).Load(rosa.LLVM)
pathname, _, err = cache.Cure(llvm)
return
}); err != nil {
@@ -440,7 +440,7 @@ func main() {
log.Println("stage1:", pathname)
if err = cm.Do(func(cache *pkg.Cache) (err error) {
llvm, _ := rosa.Native().Load(t-1, rosa.LLVM)
llvm, _ := rosa.Native().New(s - 1).Load(rosa.LLVM)
pathname, checksum[0], err = cache.Cure(llvm)
return
}); err != nil {
@@ -448,7 +448,7 @@ func main() {
}
log.Println("stage2:", pathname)
if err = cm.Do(func(cache *pkg.Cache) (err error) {
llvm, _ := rosa.Native().Load(t, rosa.LLVM)
llvm, _ := rosa.Native().New(s).Load(rosa.LLVM)
pathname, checksum[1], err = cache.Cure(llvm)
return
}); err != nil {
@@ -470,7 +470,7 @@ func main() {
if flagStage0 {
if err = cm.Do(func(cache *pkg.Cache) (err error) {
stage0, _ := rosa.Native().Load(t, rosa.Stage0)
stage0, _ := rosa.Native().New(s).Load(rosa.Stage0)
pathname, _, err = cache.Cure(stage0)
return
}); err != nil {
@@ -524,7 +524,7 @@ func main() {
t -= 1
}
a, _ := rosa.Native().Load(t, rosa.ArtifactH(unique.Make(args[0])))
a, _ := rosa.Native().New(t).Load(rosa.ArtifactH(unique.Make(args[0])))
if a == nil {
return fmt.Errorf("unknown artifact %q", args[0])
}
@@ -756,7 +756,7 @@ func main() {
)
root := make(pkg.Collect, 0, 6+len(args))
root = rosa.Native().AppendPresets(rosa.Std, root, handles...)
root = rosa.Native().Std().Append(root, handles...)
if err := cm.Do(func(cache *pkg.Cache) error {
_, _, err := cache.Cure(&root)

View File

@@ -36,7 +36,7 @@ func TestCureAll(t *testing.T) {
})
for _, handle := range rosa.Native().Collect() {
a, _ := rosa.Native().MustLoad(rosa.Std, handle)
a, _ := rosa.Native().Std().MustLoad(handle)
t.Run(rosa.Native().MustGet(handle).Name, func(t *testing.T) {
_, err := cureRemote(t.Context(), &addr, a, 0)
if err != nil {