cmd/mbf: resolve runtime dependencies
All checks were successful
Test / Create distribution (push) Successful in 1m9s
Test / Sandbox (push) Successful in 2m55s
Test / Hakurei (push) Successful in 3m52s
Test / ShareFS (push) Successful in 3m55s
Test / Sandbox (race detector) (push) Successful in 5m10s
Test / Hakurei (race detector) (push) Successful in 6m12s
Test / Flake checks (push) Successful in 1m30s
All checks were successful
Test / Create distribution (push) Successful in 1m9s
Test / Sandbox (push) Successful in 2m55s
Test / Hakurei (push) Successful in 3m52s
Test / ShareFS (push) Successful in 3m55s
Test / Sandbox (race detector) (push) Successful in 5m10s
Test / Hakurei (race detector) (push) Successful in 6m12s
Test / Flake checks (push) Successful in 1m30s
This also adds the collection meta-artifact for concurrent curing. Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
@@ -477,17 +477,19 @@ func main() {
|
|||||||
"shell",
|
"shell",
|
||||||
"Interactive shell in the specified Rosa OS environment",
|
"Interactive shell in the specified Rosa OS environment",
|
||||||
func(args []string) error {
|
func(args []string) error {
|
||||||
root := make([]pkg.Artifact, 0, 6+len(args))
|
presets := make([]rosa.PArtifact, len(args))
|
||||||
for _, arg := range args {
|
for i, arg := range args {
|
||||||
p, ok := rosa.ResolveName(arg)
|
p, ok := rosa.ResolveName(arg)
|
||||||
if !ok {
|
if !ok {
|
||||||
return fmt.Errorf("unknown artifact %q", arg)
|
return fmt.Errorf("unknown artifact %q", arg)
|
||||||
}
|
}
|
||||||
root = append(root, rosa.Std.Load(p))
|
presets[i] = p
|
||||||
}
|
}
|
||||||
|
root := make(rosa.Collect, 0, 6+len(args))
|
||||||
|
root = rosa.Std.AppendPresets(root, presets...)
|
||||||
|
|
||||||
if flagWithToolchain {
|
if flagWithToolchain {
|
||||||
musl, compilerRT, runtimes, clang := rosa.Std.NewLLVM()
|
musl, compilerRT, runtimes, clang := (rosa.Std - 1).NewLLVM()
|
||||||
root = append(root, musl, compilerRT, runtimes, clang)
|
root = append(root, musl, compilerRT, runtimes, clang)
|
||||||
} else {
|
} else {
|
||||||
root = append(root, rosa.Std.Load(rosa.Musl))
|
root = append(root, rosa.Std.Load(rosa.Musl))
|
||||||
@@ -497,6 +499,12 @@ func main() {
|
|||||||
rosa.Std.Load(rosa.Toybox),
|
rosa.Std.Load(rosa.Toybox),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if _, _, err := cache.Cure(&root); err == nil {
|
||||||
|
return errors.New("unreachable")
|
||||||
|
} else if !errors.Is(err, rosa.Collected{}) {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
type cureRes struct {
|
type cureRes struct {
|
||||||
pathname *check.Absolute
|
pathname *check.Absolute
|
||||||
checksum unique.Handle[pkg.Checksum]
|
checksum unique.Handle[pkg.Checksum]
|
||||||
|
|||||||
Reference in New Issue
Block a user