From b79aa3ea1cb2e7d27db5f0b0554d80d4f29f4fe5 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Sat, 18 Jul 2026 23:05:52 +0900 Subject: [PATCH] internal/rosa/state: patch output-only packages This is useful for common patched source code. Signed-off-by: Ophestra --- internal/rosa/state.go | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/internal/rosa/state.go b/internal/rosa/state.go index a14f4a5d..cd010d5c 100644 --- a/internal/rosa/state.go +++ b/internal/rosa/state.go @@ -1041,12 +1041,6 @@ func (ctx *evalContext) pf( } meta.ID = int(anitya) - if output != nil { - v = cachedArtifact{&meta, output} - set = true - return - } - for _, pathname := range patches { var p []byte p, err = fs.ReadFile(ctx.b, pathname) @@ -1059,6 +1053,19 @@ func (ctx *evalContext) pf( }) } + if output != nil { + if len(attr.Patches) != 0 || attr.Chmod { + rn := string(name) + if meta.Version != Unversioned { + rn = string(name) + "-" + meta.Version + } + output = ctx.t.NewPatchedSource(rn, output, !attr.Chmod, attr.Patches...) + } + v = cachedArtifact{&meta, output} + set = true + return + } + if overlay == "" { for _, h := range extraH { _, a := ctx.t.MustLoad(h)