diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-01-29 20:41:38 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-01-29 20:44:43 +0900 |
| commit | 9d9b7294a4a9e93301bfbbf327e9beb99cfa685b (patch) | |
| tree | 237ddd47d946f2b95919a611b50600d6d8b22c2d /internal/rosa/rosa.go | |
| parent | 6c1e2f10a763ac46fc582c0082a577de84f54d62 (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.go | 13 |
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...) } |
