aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/rosa.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-01-29 20:41:38 +0900
committerOphestra <cat@gensokyo.uk>2026-01-29 20:44:43 +0900
commit9d9b7294a4a9e93301bfbbf327e9beb99cfa685b (patch)
tree237ddd47d946f2b95919a611b50600d6d8b22c2d /internal/rosa/rosa.go
parent6c1e2f10a763ac46fc582c0082a577de84f54d62 (diff)
internal/rosa: flags for toolchain-dependent artifact
This is much cleaner to add extra flags to. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa/rosa.go')
-rw-r--r--internal/rosa/rosa.go13
1 files changed, 9 insertions, 4 deletions
diff --git a/internal/rosa/rosa.go b/internal/rosa/rosa.go
index 201699f4..eb96947e 100644
--- a/internal/rosa/rosa.go
+++ b/internal/rosa/rosa.go
@@ -175,10 +175,15 @@ func fixupEnviron(env, extras []string, paths ...string) []string {
// build script under.
var absCureScript = fhs.AbsUsrBin.Append(".cure-script")
+const (
+ // TExclusive denotes an exclusive [pkg.Artifact].
+ TExclusive = 1 << iota
+)
+
// New returns a [pkg.Artifact] compiled on this toolchain.
func (t Toolchain) New(
name string,
- exclusive bool,
+ flag int,
extra []pkg.Artifact,
checksum *pkg.Checksum,
env []string,
@@ -219,7 +224,7 @@ func (t Toolchain) New(
args[0] = "bash"
support = slices.Concat([]pkg.Artifact{
cureEtc{},
- toolchainBusybox.New("stage3-"+version, false, nil, nil, nil, `
+ toolchainBusybox.New("stage3-"+version, 0, nil, nil, nil, `
tar -C /work -xf /usr/src/stage3.tar.xz
rm -rf /work/dev/ /work/proc/
ln -vs ../usr/bin /work/bin
@@ -272,7 +277,7 @@ ln -vs ../usr/bin /work/bin
}
return pkg.NewExec(
- name, checksum, pkg.ExecTimeoutMax, exclusive,
+ name, checksum, pkg.ExecTimeoutMax, flag&TExclusive != 0,
fhs.AbsRoot, env,
path, args,
@@ -321,7 +326,7 @@ cat /usr/src/` + name + `-patches/* | \
`
aname += "-patched"
}
- return t.New(aname, false, stage3Concat(t, []pkg.Artifact{},
+ return t.New(aname, 0, stage3Concat(t, []pkg.Artifact{},
t.Load(Patch),
), nil, nil, script, paths...)
}