diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-05-19 00:03:42 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-05-19 00:44:24 +0900 |
| commit | 8807cbc7305e424725b2be8eed7ecd9234f7772e (patch) | |
| tree | 5998f055396505becf0f99fcba3c86514f00650b /cmd/mbf/main.go | |
| parent | 0e95573f187f64de1a46f27af67325e57037b9a9 (diff) | |
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>
Diffstat (limited to 'cmd/mbf/main.go')
| -rw-r--r-- | cmd/mbf/main.go | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/cmd/mbf/main.go b/cmd/mbf/main.go index 526dce50..1910a100 100644 --- a/cmd/mbf/main.go +++ b/cmd/mbf/main.go @@ -118,7 +118,7 @@ func main() { rosa.Native().DropCaches("", flags) cross := flagArch != "" && flagArch != runtime.GOARCH if flagQEMU || cross { - cm.qemu, _ = rosa.Native().Std().Load(rosa.QEMU) + _, cm.qemu = rosa.Native().Std().MustLoad(rosa.QEMU) } if cross { @@ -358,7 +358,7 @@ func main() { for range max(flagJobs, 1) { wg.Go(func() { for p := range w { - meta := rosa.Native().MustGet(p) + meta, _ := rosa.Native().Std().MustLoad(p) if meta.ID == 0 { continue } @@ -371,13 +371,9 @@ func main() { continue } - _, version := rosa.Native().Std().Load(p) - if current, latest := - version, - meta.GetLatest(v); current != latest { - + if latest := meta.GetLatest(v); meta.Version != latest { n.Add(1) - log.Printf("%s %s < %s", meta.Name, current, latest) + log.Printf("%s %s < %s", meta.Name, meta.Version, latest) continue } @@ -453,7 +449,7 @@ func main() { ) if err = cm.Do(func(cache *pkg.Cache) (err error) { - llvm, _ := rosa.Native().New(s - 2).Load(rosa.LLVM) + _, llvm := rosa.Native().New(s - 2).Load(rosa.LLVM) pathname, _, err = cache.Cure(llvm) return }); err != nil { @@ -462,7 +458,7 @@ func main() { log.Println("stage1:", pathname) if err = cm.Do(func(cache *pkg.Cache) (err error) { - llvm, _ := rosa.Native().New(s - 1).Load(rosa.LLVM) + _, llvm := rosa.Native().New(s - 1).Load(rosa.LLVM) pathname, checksum[0], err = cache.Cure(llvm) return }); err != nil { @@ -470,7 +466,7 @@ func main() { } log.Println("stage2:", pathname) if err = cm.Do(func(cache *pkg.Cache) (err error) { - llvm, _ := rosa.Native().New(s).Load(rosa.LLVM) + _, llvm := rosa.Native().New(s).Load(rosa.LLVM) pathname, checksum[1], err = cache.Cure(llvm) return }); err != nil { @@ -492,7 +488,7 @@ func main() { if flagStage0 { if err = cm.Do(func(cache *pkg.Cache) (err error) { - stage0, _ := rosa.Native().New(s).Load(rosa.Stage0) + _, stage0 := rosa.Native().New(s).Load(rosa.Stage0) pathname, _, err = cache.Cure(stage0) return }); err != nil { @@ -546,7 +542,7 @@ func main() { t -= 1 } - a, _ := rosa.Native().New(t).Load(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]) } @@ -762,7 +758,7 @@ func main() { handles := make([]rosa.ArtifactH, len(args)+3) for i, arg := range args { handles[i] = rosa.ArtifactH(unique.Make(arg)) - if rosa.Native().Get(handles[i]) == nil { + if meta, _ := rosa.Native().Std().Load(handles[i]); meta == nil { return fmt.Errorf("unknown artifact %q", arg) } } |
