aboutsummaryrefslogtreecommitdiffhomepage
path: root/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'cmd')
-rw-r--r--cmd/mbf/main.go42
1 files changed, 20 insertions, 22 deletions
diff --git a/cmd/mbf/main.go b/cmd/mbf/main.go
index e593c33b..c69ba0a6 100644
--- a/cmd/mbf/main.go
+++ b/cmd/mbf/main.go
@@ -396,24 +396,27 @@ func main() {
rosa.SetGentooStage3(flagGentoo, checksum)
}
- _, stage1 := (t - 2).NewLLVM()
- _, stage2 := (t - 1).NewLLVM()
- _, stage3 := t.NewLLVM()
var (
pathname *check.Absolute
checksum [2]unique.Handle[pkg.Checksum]
)
- if pathname, _, err = cache.Cure(stage1); err != nil {
+ if pathname, _, err = cache.Cure(
+ (t - 2).Load(rosa.LLVMClang),
+ ); err != nil {
return err
}
log.Println("stage1:", pathname)
- if pathname, checksum[0], err = cache.Cure(stage2); err != nil {
+ if pathname, checksum[0], err = cache.Cure(
+ (t - 1).Load(rosa.LLVMClang),
+ ); err != nil {
return err
}
log.Println("stage2:", pathname)
- if pathname, checksum[1], err = cache.Cure(stage3); err != nil {
+ if pathname, checksum[1], err = cache.Cure(
+ t.Load(rosa.LLVMClang),
+ ); err != nil {
return err
}
log.Println("stage3:", pathname)
@@ -565,7 +568,7 @@ func main() {
"shell",
"Interactive shell in the specified Rosa OS environment",
func(args []string) error {
- presets := make([]rosa.PArtifact, len(args))
+ presets := make([]rosa.PArtifact, len(args)+3)
for i, arg := range args {
p, ok := rosa.ResolveName(arg)
if !ok {
@@ -573,25 +576,20 @@ func main() {
}
presets[i] = p
}
- root := make(pkg.Collect, 0, 6+len(args))
- root = rosa.Std.AppendPresets(root, presets...)
- if flagWithToolchain {
- boot := rosa.Std - 1
- runtimes, clang := boot.NewLLVM()
- root = append(root,
- boot.Load(rosa.Musl),
- boot.Load(rosa.LLVMCompilerRT),
- runtimes, clang,
- )
- } else {
- root = append(root, rosa.Std.Load(rosa.Musl))
+ base := rosa.LLVMClang
+ if !flagWithToolchain {
+ base = rosa.Musl
}
- root = append(root,
- rosa.Std.Load(rosa.Mksh),
- rosa.Std.Load(rosa.Toybox),
+ presets = append(presets,
+ base,
+ rosa.Mksh,
+ rosa.Toybox,
)
+ root := make(pkg.Collect, 0, 6+len(args))
+ root = rosa.Std.AppendPresets(root, presets...)
+
if _, _, err := cache.Cure(&root); err == nil {
return errors.New("unreachable")
} else if !pkg.IsCollected(err) {