internal/rosa: consistent stage0 paths
Some checks failed
Test / Create distribution (push) Successful in 1m25s
Test / Sandbox (push) Successful in 3m14s
Test / Flake checks (push) Has been cancelled
Test / Sandbox (race detector) (push) Has been cancelled
Test / Hakurei (push) Has been cancelled
Test / ShareFS (push) Has been cancelled
Test / Hpkg (push) Has been cancelled
Test / Hakurei (race detector) (push) Has been cancelled

This makes using the gentoo stage3 archive as our stage0 compatible with

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-02-10 19:21:37 +09:00
parent f511f0a9e9
commit ae7bf95f36

View File

@@ -173,7 +173,7 @@ func fixupEnviron(env, extras []string, paths ...string) []string {
// absCureScript is the absolute pathname [Toolchain.New] places the fixed-up
// build script under.
var absCureScript = fhs.AbsUsrBin.Append(".cure-script")
var absCureScript = AbsSystem.Append("bin", ".cure-script")
const (
// TExclusive denotes an exclusive [pkg.Artifact].
@@ -187,7 +187,7 @@ func (t Toolchain) New(
name string,
flag int,
extra []pkg.Artifact,
checksum *pkg.Checksum,
knownChecksum *pkg.Checksum,
env []string,
script string,
@@ -220,14 +220,14 @@ func (t Toolchain) New(
default:
panic("unsupported target " + runtime.GOARCH)
}
path = fhs.AbsRoot.Append("bin", "bash")
args[0] = "bash"
support = slices.Concat([]pkg.Artifact{
cureEtc{},
toolchainBusybox.New("stage0", 0, nil, nil, nil, `
tar -C /work -xf /usr/src/stage0.tar.xz
rm -rf /work/dev/ /work/proc/
ln -vs ../usr/bin /work/bin
mkdir -vp /work/system/bin
ln -vs ../../bin/sh /work/system/bin
`, pkg.Path(AbsUsrSrc.Append("stage0.tar.xz"), false,
pkg.NewHTTPGet(
nil, "https://basement.gensokyo.uk/seed/"+seed,
@@ -279,7 +279,7 @@ ln -vs ../usr/bin /work/bin
}
return pkg.NewExec(
name, checksum, pkg.ExecTimeoutMax, flag&TExclusive != 0,
name, knownChecksum, pkg.ExecTimeoutMax, flag&TExclusive != 0,
fhs.AbsRoot, env,
path, args,