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:
2026-05-19 00:03:42 +09:00
parent 0e95573f18
commit 8807cbc730
88 changed files with 612 additions and 874 deletions

View File

@@ -249,7 +249,7 @@ func (t Toolchain) New(
support = append(support, extra...)
support = append(support, cureEtc{})
if t.stage == stageEarly {
a, _ := t.Load(stage0Dist)
_, a := t.MustLoad(stage0Dist)
support = append(support, a)
} else {
support = append(support, t.S.New(_stageBusybox).New("gentoo", 0, nil, nil, nil, `
@@ -438,10 +438,11 @@ func (t Toolchain) appendHandle(a []pkg.Artifact, pv pa, p ArtifactH) []pkg.Arti
}
pv[p] = struct{}{}
for _, d := range t.MustGet(p).Dependencies {
meta, _ := t.MustLoad(p)
for _, d := range meta.Dependencies {
a = t.appendHandle(a, pv, d)
}
d, _ := t.Load(p)
_, d := t.MustLoad(p)
return append(a, d)
}