Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package apko for openSUSE:Factory checked in 
at 2025-11-04 18:43:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/apko (Old)
 and      /work/SRC/openSUSE:Factory/.apko.new.1980 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "apko"

Tue Nov  4 18:43:03 2025 rev:74 rq:1315455 version:0.30.20

Changes:
--------
--- /work/SRC/openSUSE:Factory/apko/apko.changes        2025-11-03 
18:55:36.974849423 +0100
+++ /work/SRC/openSUSE:Factory/.apko.new.1980/apko.changes      2025-11-04 
18:44:27.110715961 +0100
@@ -1,0 +2,17 @@
+Tue Nov 04 08:34:53 UTC 2025 - Johannes Kastl 
<[email protected]>
+
+- Update to version 0.30.20 (.19 was not released):
+  * chore: pin cosign to v2.x (#1913)
+  * auth: Reuse sts exchanger (#1912)
+  * build(deps): bump github/codeql-action from 4.31.0 to 4.31.2
+    (#1908)
+  * build(deps): bump go.step.sm/crypto from 0.72.0 to 0.73.0
+    (#1906)
+  * build(deps): bump google.golang.org/api from 0.253.0 to 0.254.0
+    (#1905)
+  * build(deps): bump sigstore/cosign-installer from 3.10.0 to
+    4.0.0 (#1894)
+  * oci: in docker image history comment set image title and vendor
+    (#1907)
+
+-------------------------------------------------------------------

Old:
----
  apko-0.30.18.obscpio

New:
----
  apko-0.30.20.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ apko.spec ++++++
--- /var/tmp/diff_new_pack.3Fha7a/_old  2025-11-04 18:44:29.698824818 +0100
+++ /var/tmp/diff_new_pack.3Fha7a/_new  2025-11-04 18:44:29.718825659 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           apko
-Version:        0.30.18
+Version:        0.30.20
 Release:        0
 Summary:        Build OCI images from APK packages directly without Dockerfile
 License:        Apache-2.0

++++++ _service ++++++
--- /var/tmp/diff_new_pack.3Fha7a/_old  2025-11-04 18:44:30.094841474 +0100
+++ /var/tmp/diff_new_pack.3Fha7a/_new  2025-11-04 18:44:30.134843157 +0100
@@ -3,7 +3,7 @@
     <param name="url">https://github.com/chainguard-dev/apko</param>
     <param name="scm">git</param>
     <param name="exclude">.git</param>
-    <param name="revision">v0.30.18</param>
+    <param name="revision">v0.30.20</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">v(.*)</param>
     <param name="changesgenerate">enable</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.3Fha7a/_old  2025-11-04 18:44:30.366852915 +0100
+++ /var/tmp/diff_new_pack.3Fha7a/_new  2025-11-04 18:44:30.406854598 +0100
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/chainguard-dev/apko</param>
-              <param 
name="changesrevision">ef42165351c6a0f6964aa6a85784f4356350316e</param></service></servicedata>
+              <param 
name="changesrevision">60404f94c61fefb78291c4c5091c62c610da05e7</param></service></servicedata>
 (No newline at EOF)
 

++++++ apko-0.30.18.obscpio -> apko-0.30.20.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apko-0.30.18/go.mod new/apko-0.30.20/go.mod
--- old/apko-0.30.18/go.mod     2025-10-27 16:09:20.000000000 +0100
+++ new/apko-0.30.20/go.mod     2025-11-04 04:30:38.000000000 +0100
@@ -24,12 +24,12 @@
        go.lsp.dev/uri v0.3.0
        go.opentelemetry.io/otel v1.38.0
        go.opentelemetry.io/otel/trace v1.38.0
-       go.step.sm/crypto v0.72.0
+       go.step.sm/crypto v0.73.0
        golang.org/x/oauth2 v0.32.0
        golang.org/x/sync v0.17.0
        golang.org/x/sys v0.37.0
        golang.org/x/time v0.14.0
-       google.golang.org/api v0.253.0
+       google.golang.org/api v0.254.0
        gopkg.in/ini.v1 v1.67.0
        gopkg.in/yaml.v3 v3.0.1
        k8s.io/apimachinery v0.34.1
@@ -130,7 +130,7 @@
        golang.org/x/net v0.46.0 // indirect
        golang.org/x/text v0.30.0 // indirect
        google.golang.org/genproto/googleapis/api 
v0.0.0-20250825161204-c5933d9347a5 // indirect
-       google.golang.org/genproto/googleapis/rpc 
v0.0.0-20251014184007-4626949a642f // indirect
+       google.golang.org/genproto/googleapis/rpc 
v0.0.0-20251022142026-3a174f9686a8 // indirect
        google.golang.org/grpc v1.76.0 // indirect
        google.golang.org/protobuf v1.36.10 // indirect
        gopkg.in/warnings.v0 v0.1.2 // indirect
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apko-0.30.18/go.sum new/apko-0.30.20/go.sum
--- old/apko-0.30.18/go.sum     2025-10-27 16:09:20.000000000 +0100
+++ new/apko-0.30.20/go.sum     2025-11-04 04:30:38.000000000 +0100
@@ -288,8 +288,8 @@
 go.opentelemetry.io/otel/trace v1.38.0/go.mod 
h1:j1P9ivuFsTceSWe1oY+EeW3sc+Pp42sO++GHkg4wwhs=
 go.opentelemetry.io/proto/otlp v1.7.1 
h1:gTOMpGDb0WTBOP8JaO72iL3auEZhVmAQg4ipjOVAtj4=
 go.opentelemetry.io/proto/otlp v1.7.1/go.mod 
h1:b2rVh6rfI/s2pHWNlB7ILJcRALpcNDzKhACevjI+ZnE=
-go.step.sm/crypto v0.72.0 h1:cwkxbmnN8jj8YWmoXdoGhaac81d2SwXguwmHN9KJxHw=
-go.step.sm/crypto v0.72.0/go.mod 
h1:EAy7MSOXxCvCaDAKJqz0bLdTSDdhpEM9xqye8XsfrM4=
+go.step.sm/crypto v0.73.0 h1:SNFpslZJa+kTNADpWYJJeMsQqzwDiuxFq0ei5OPLIUg=
+go.step.sm/crypto v0.73.0/go.mod 
h1:pw2MKw7aPgx3bVjVwYrKbpMIawLRwth/5cyhZf6QnBM=
 go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
 go.uber.org/goleak v1.3.0/go.mod 
h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
 go.yaml.in/yaml/v2 v2.4.2 h1:DzmwEr2rDGHl7lsFgAHxmNz/1NlQ7xLIrlN2h5d1eGI=
@@ -380,12 +380,12 @@
 golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod 
h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk=
 gonum.org/v1/gonum v0.16.0/go.mod 
h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E=
-google.golang.org/api v0.253.0 h1:apU86Eq9Q2eQco3NsUYFpVTfy7DwemojL7LmbAj7g/I=
-google.golang.org/api v0.253.0/go.mod 
h1:PX09ad0r/4du83vZVAaGg7OaeyGnaUmT/CYPNvtLCbw=
+google.golang.org/api v0.254.0 h1:jl3XrGj7lRjnlUvZAbAdhINTLbsg5dbjmR90+pTQvt4=
+google.golang.org/api v0.254.0/go.mod 
h1:5BkSURm3D9kAqjGvBNgf0EcbX6Rnrf6UArKkwBzAyqQ=
 google.golang.org/genproto/googleapis/api v0.0.0-20250825161204-c5933d9347a5 
h1:BIRfGDEjiHRrk0QKZe3Xv2ieMhtgRGeLcZQ0mIVn4EY=
 google.golang.org/genproto/googleapis/api 
v0.0.0-20250825161204-c5933d9347a5/go.mod 
h1:j3QtIyytwqGr1JUDtYXwtMXWPKsEa5LtzIFN1Wn5WvE=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20251014184007-4626949a642f 
h1:1FTH6cpXFsENbPR5Bu8NQddPSaUUE6NA2XdZdDSAJK4=
-google.golang.org/genproto/googleapis/rpc 
v0.0.0-20251014184007-4626949a642f/go.mod 
h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20251022142026-3a174f9686a8 
h1:M1rk8KBnUsBDg1oPGHNCxG4vc1f49epmTO7xscSajMk=
+google.golang.org/genproto/googleapis/rpc 
v0.0.0-20251022142026-3a174f9686a8/go.mod 
h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk=
 google.golang.org/grpc v1.76.0 h1:UnVkv1+uMLYXoIz6o7chp59WfQUYA2ex/BXQ9rHZu7A=
 google.golang.org/grpc v1.76.0/go.mod 
h1:Ju12QI8M6iQJtbcsV+awF5a4hfJMLi4X0JLo94ULZ6c=
 google.golang.org/protobuf v1.36.10 
h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apko-0.30.18/hack/update-golden.sh 
new/apko-0.30.20/hack/update-golden.sh
--- old/apko-0.30.18/hack/update-golden.sh      2025-10-27 16:09:20.000000000 
+0100
+++ new/apko-0.30.20/hack/update-golden.sh      2025-11-04 04:30:38.000000000 
+0100
@@ -8,6 +8,6 @@
 (cd internal/cli && \
   rm -rf ./testdata/golden && \
   mkdir -p ./testdata/golden/sboms && \
-  apko build --sbom-formats spdx --sbom-path ./testdata/golden/sboms 
./testdata/apko.yaml golden:latest ./testdata/golden &&
+  apko build --annotations "org.opencontainers.image.vendor:Vendor" 
--annotations "org.opencontainers.image.title:Title" --sbom-formats spdx 
--sbom-path ./testdata/golden/sboms ./testdata/apko.yaml golden:latest 
./testdata/golden &&
   sed -i 's,Tool: apko ([^)]\+),Tool: apko (devel),' 
./testdata/golden/sboms/*.json
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apko-0.30.18/internal/cli/build_test.go 
new/apko-0.30.20/internal/cli/build_test.go
--- old/apko-0.30.18/internal/cli/build_test.go 2025-10-27 16:09:20.000000000 
+0100
+++ new/apko-0.30.20/internal/cli/build_test.go 2025-11-04 04:30:38.000000000 
+0100
@@ -41,7 +41,15 @@
        config := filepath.Join("testdata", "apko.yaml")
 
        archs := types.ParseArchitectures([]string{"amd64", "arm64"})
-       opts := []build.Option{build.WithConfig(config, []string{}), 
build.WithSBOMFormats([]string{"spdx"}), build.WithTags("golden:latest")}
+       opts := []build.Option{
+               build.WithConfig(config, []string{}),
+               build.WithSBOMFormats([]string{"spdx"}),
+               build.WithTags("golden:latest"),
+               build.WithAnnotations(map[string]string{
+                       "org.opencontainers.image.vendor": "Vendor",
+                       "org.opencontainers.image.title":  "Title",
+               }),
+       }
 
        sbomPath := filepath.Join(tmp, "sboms")
        err := os.MkdirAll(sbomPath, 0o750)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/apko-0.30.18/internal/cli/testdata/golden/blobs/sha256/08add62f39aefa7be337e13d54c801981506bed0c5ec9d317c22a886972d2302
 
new/apko-0.30.20/internal/cli/testdata/golden/blobs/sha256/08add62f39aefa7be337e13d54c801981506bed0c5ec9d317c22a886972d2302
--- 
old/apko-0.30.18/internal/cli/testdata/golden/blobs/sha256/08add62f39aefa7be337e13d54c801981506bed0c5ec9d317c22a886972d2302
 2025-10-27 16:09:20.000000000 +0100
+++ 
new/apko-0.30.20/internal/cli/testdata/golden/blobs/sha256/08add62f39aefa7be337e13d54c801981506bed0c5ec9d317c22a886972d2302
 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-{"schemaVersion":2,"mediaType":"application/vnd.oci.image.manifest.v1+json","config":{"mediaType":"application/vnd.oci.image.config.v1+json","size":593,"digest":"sha256:cb514252775000e07b87566a56f2af9eae812fcd4c0abbb24f8a8894619e655e"},"layers":[{"mediaType":"application/vnd.oci.image.layer.v1.tar+gzip","size":2961,"digest":"sha256:9eabb85591b31baef9775807813b51708321c03b281f70aeb1c88476d190aa5f"}],"annotations":{"org.opencontainers.image.created":"1970-01-01T00:00:00Z"}}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/apko-0.30.18/internal/cli/testdata/golden/blobs/sha256/18f0f327158b3faef0749e774a6221638080b318ef93683272d3cb8dec130ac0
 
new/apko-0.30.20/internal/cli/testdata/golden/blobs/sha256/18f0f327158b3faef0749e774a6221638080b318ef93683272d3cb8dec130ac0
--- 
old/apko-0.30.18/internal/cli/testdata/golden/blobs/sha256/18f0f327158b3faef0749e774a6221638080b318ef93683272d3cb8dec130ac0
 1970-01-01 01:00:00.000000000 +0100
+++ 
new/apko-0.30.20/internal/cli/testdata/golden/blobs/sha256/18f0f327158b3faef0749e774a6221638080b318ef93683272d3cb8dec130ac0
 2025-11-04 04:30:38.000000000 +0100
@@ -0,0 +1 @@
+{"architecture":"arm64","author":"github.com/chainguard-dev/apko","created":"1970-01-01T00:00:00Z","history":[{"author":"apko","created":"1970-01-01T00:00:00Z","created_by":"apko","comment":"Title
 by 
Vendor"}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:eb9640d19167d1e06f69bb57163e696ad254548869faddb5f14d34a933d22a72"]},"config":{"Entrypoint":["/bin/sh","-l"],"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin","SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt"],"Labels":{"org.opencontainers.image.created":"1970-01-01T00:00:00Z","org.opencontainers.image.title":"Title","org.opencontainers.image.vendor":"Vendor"}}}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/apko-0.30.18/internal/cli/testdata/golden/blobs/sha256/3fa87a64fb699f65953caad1adcba9f5d3f25134bfff43f92a1ed097712cd79a
 
new/apko-0.30.20/internal/cli/testdata/golden/blobs/sha256/3fa87a64fb699f65953caad1adcba9f5d3f25134bfff43f92a1ed097712cd79a
--- 
old/apko-0.30.18/internal/cli/testdata/golden/blobs/sha256/3fa87a64fb699f65953caad1adcba9f5d3f25134bfff43f92a1ed097712cd79a
 1970-01-01 01:00:00.000000000 +0100
+++ 
new/apko-0.30.20/internal/cli/testdata/golden/blobs/sha256/3fa87a64fb699f65953caad1adcba9f5d3f25134bfff43f92a1ed097712cd79a
 2025-11-04 04:30:38.000000000 +0100
@@ -0,0 +1 @@
+{"schemaVersion":2,"mediaType":"application/vnd.oci.image.manifest.v1+json","config":{"mediaType":"application/vnd.oci.image.config.v1+json","size":658,"digest":"sha256:d0fb5f2c116b1db6b99ed363c37565c22826ab99a7148e4497fe5630d3569665"},"layers":[{"mediaType":"application/vnd.oci.image.layer.v1.tar+gzip","size":3006,"digest":"sha256:622ca92e75385bab9884a8c8c65c3f4a4c3dd0eafbd2a57f2762bafcb393a456"}],"annotations":{"org.opencontainers.image.created":"1970-01-01T00:00:00Z","org.opencontainers.image.title":"Title","org.opencontainers.image.vendor":"Vendor"}}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/apko-0.30.18/internal/cli/testdata/golden/blobs/sha256/462b8caeb0369dd5ec14eb4f698cddd327f26ba65720561497217ffad2e96d6a
 
new/apko-0.30.20/internal/cli/testdata/golden/blobs/sha256/462b8caeb0369dd5ec14eb4f698cddd327f26ba65720561497217ffad2e96d6a
--- 
old/apko-0.30.18/internal/cli/testdata/golden/blobs/sha256/462b8caeb0369dd5ec14eb4f698cddd327f26ba65720561497217ffad2e96d6a
 1970-01-01 01:00:00.000000000 +0100
+++ 
new/apko-0.30.20/internal/cli/testdata/golden/blobs/sha256/462b8caeb0369dd5ec14eb4f698cddd327f26ba65720561497217ffad2e96d6a
 2025-11-04 04:30:38.000000000 +0100
@@ -0,0 +1 @@
+{"schemaVersion":2,"mediaType":"application/vnd.oci.image.manifest.v1+json","config":{"mediaType":"application/vnd.oci.image.config.v1+json","size":658,"digest":"sha256:18f0f327158b3faef0749e774a6221638080b318ef93683272d3cb8dec130ac0"},"layers":[{"mediaType":"application/vnd.oci.image.layer.v1.tar+gzip","size":3018,"digest":"sha256:b075b4a14ed0c1e236bac3448fa494c77772feb140cfad4033450e45010da27f"}],"annotations":{"org.opencontainers.image.created":"1970-01-01T00:00:00Z","org.opencontainers.image.title":"Title","org.opencontainers.image.vendor":"Vendor"}}
\ No newline at end of file
Binary files 
old/apko-0.30.18/internal/cli/testdata/golden/blobs/sha256/53ac09950a84b6a7e42051773c3aa3c1b138dd3f21937468e337e65b418cdfc0
 and 
new/apko-0.30.20/internal/cli/testdata/golden/blobs/sha256/53ac09950a84b6a7e42051773c3aa3c1b138dd3f21937468e337e65b418cdfc0
 differ
Binary files 
old/apko-0.30.18/internal/cli/testdata/golden/blobs/sha256/622ca92e75385bab9884a8c8c65c3f4a4c3dd0eafbd2a57f2762bafcb393a456
 and 
new/apko-0.30.20/internal/cli/testdata/golden/blobs/sha256/622ca92e75385bab9884a8c8c65c3f4a4c3dd0eafbd2a57f2762bafcb393a456
 differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/apko-0.30.18/internal/cli/testdata/golden/blobs/sha256/97f908cd70e44ddb88d54d4a2467b87ed1aced90e0de1186a2065cbe4fa44562
 
new/apko-0.30.20/internal/cli/testdata/golden/blobs/sha256/97f908cd70e44ddb88d54d4a2467b87ed1aced90e0de1186a2065cbe4fa44562
--- 
old/apko-0.30.18/internal/cli/testdata/golden/blobs/sha256/97f908cd70e44ddb88d54d4a2467b87ed1aced90e0de1186a2065cbe4fa44562
 2025-10-27 16:09:20.000000000 +0100
+++ 
new/apko-0.30.20/internal/cli/testdata/golden/blobs/sha256/97f908cd70e44ddb88d54d4a2467b87ed1aced90e0de1186a2065cbe4fa44562
 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-{"schemaVersion":2,"mediaType":"application/vnd.oci.image.manifest.v1+json","config":{"mediaType":"application/vnd.oci.image.config.v1+json","size":593,"digest":"sha256:a69520e8cefce30aabbd13f7615af794c9216b67282bd60109c8fb358d342eda"},"layers":[{"mediaType":"application/vnd.oci.image.layer.v1.tar+gzip","size":2968,"digest":"sha256:53ac09950a84b6a7e42051773c3aa3c1b138dd3f21937468e337e65b418cdfc0"}],"annotations":{"org.opencontainers.image.created":"1970-01-01T00:00:00Z"}}
\ No newline at end of file
Binary files 
old/apko-0.30.18/internal/cli/testdata/golden/blobs/sha256/9eabb85591b31baef9775807813b51708321c03b281f70aeb1c88476d190aa5f
 and 
new/apko-0.30.20/internal/cli/testdata/golden/blobs/sha256/9eabb85591b31baef9775807813b51708321c03b281f70aeb1c88476d190aa5f
 differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/apko-0.30.18/internal/cli/testdata/golden/blobs/sha256/a69520e8cefce30aabbd13f7615af794c9216b67282bd60109c8fb358d342eda
 
new/apko-0.30.20/internal/cli/testdata/golden/blobs/sha256/a69520e8cefce30aabbd13f7615af794c9216b67282bd60109c8fb358d342eda
--- 
old/apko-0.30.18/internal/cli/testdata/golden/blobs/sha256/a69520e8cefce30aabbd13f7615af794c9216b67282bd60109c8fb358d342eda
 2025-10-27 16:09:20.000000000 +0100
+++ 
new/apko-0.30.20/internal/cli/testdata/golden/blobs/sha256/a69520e8cefce30aabbd13f7615af794c9216b67282bd60109c8fb358d342eda
 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-{"architecture":"arm64","author":"github.com/chainguard-dev/apko","created":"1970-01-01T00:00:00Z","history":[{"author":"apko","created":"1970-01-01T00:00:00Z","created_by":"apko","comment":"This
 is an apko single-layer 
image"}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:8910b9d90c4916c388dd73617dd1d558a0e51f7445cc1ea6a80379ca5d82f179"]},"config":{"Entrypoint":["/bin/sh","-l"],"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin","SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt"],"Labels":{"org.opencontainers.image.created":"1970-01-01T00:00:00Z"}}}
\ No newline at end of file
Binary files 
old/apko-0.30.18/internal/cli/testdata/golden/blobs/sha256/b075b4a14ed0c1e236bac3448fa494c77772feb140cfad4033450e45010da27f
 and 
new/apko-0.30.20/internal/cli/testdata/golden/blobs/sha256/b075b4a14ed0c1e236bac3448fa494c77772feb140cfad4033450e45010da27f
 differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/apko-0.30.18/internal/cli/testdata/golden/blobs/sha256/cb514252775000e07b87566a56f2af9eae812fcd4c0abbb24f8a8894619e655e
 
new/apko-0.30.20/internal/cli/testdata/golden/blobs/sha256/cb514252775000e07b87566a56f2af9eae812fcd4c0abbb24f8a8894619e655e
--- 
old/apko-0.30.18/internal/cli/testdata/golden/blobs/sha256/cb514252775000e07b87566a56f2af9eae812fcd4c0abbb24f8a8894619e655e
 2025-10-27 16:09:20.000000000 +0100
+++ 
new/apko-0.30.20/internal/cli/testdata/golden/blobs/sha256/cb514252775000e07b87566a56f2af9eae812fcd4c0abbb24f8a8894619e655e
 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-{"architecture":"amd64","author":"github.com/chainguard-dev/apko","created":"1970-01-01T00:00:00Z","history":[{"author":"apko","created":"1970-01-01T00:00:00Z","created_by":"apko","comment":"This
 is an apko single-layer 
image"}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:d39fc061734cb58a0e734e93250752fc741218d9cadfcf86f8764ecf1c90d1c2"]},"config":{"Entrypoint":["/bin/sh","-l"],"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin","SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt"],"Labels":{"org.opencontainers.image.created":"1970-01-01T00:00:00Z"}}}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/apko-0.30.18/internal/cli/testdata/golden/blobs/sha256/d0fb5f2c116b1db6b99ed363c37565c22826ab99a7148e4497fe5630d3569665
 
new/apko-0.30.20/internal/cli/testdata/golden/blobs/sha256/d0fb5f2c116b1db6b99ed363c37565c22826ab99a7148e4497fe5630d3569665
--- 
old/apko-0.30.18/internal/cli/testdata/golden/blobs/sha256/d0fb5f2c116b1db6b99ed363c37565c22826ab99a7148e4497fe5630d3569665
 1970-01-01 01:00:00.000000000 +0100
+++ 
new/apko-0.30.20/internal/cli/testdata/golden/blobs/sha256/d0fb5f2c116b1db6b99ed363c37565c22826ab99a7148e4497fe5630d3569665
 2025-11-04 04:30:38.000000000 +0100
@@ -0,0 +1 @@
+{"architecture":"amd64","author":"github.com/chainguard-dev/apko","created":"1970-01-01T00:00:00Z","history":[{"author":"apko","created":"1970-01-01T00:00:00Z","created_by":"apko","comment":"Title
 by 
Vendor"}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:5f11680e484ee94fedf9e105f1411d174e7a15185c3d976d1f7ce028e07bf26c"]},"config":{"Entrypoint":["/bin/sh","-l"],"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin","SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt"],"Labels":{"org.opencontainers.image.created":"1970-01-01T00:00:00Z","org.opencontainers.image.title":"Title","org.opencontainers.image.vendor":"Vendor"}}}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apko-0.30.18/internal/cli/testdata/golden/index.json 
new/apko-0.30.20/internal/cli/testdata/golden/index.json
--- old/apko-0.30.18/internal/cli/testdata/golden/index.json    2025-10-27 
16:09:20.000000000 +0100
+++ new/apko-0.30.20/internal/cli/testdata/golden/index.json    2025-11-04 
04:30:38.000000000 +0100
@@ -1 +1 @@
-{"schemaVersion":2,"mediaType":"application/vnd.oci.image.index.v1+json","manifests":[{"mediaType":"application/vnd.oci.image.manifest.v1+json","size":476,"digest":"sha256:08add62f39aefa7be337e13d54c801981506bed0c5ec9d317c22a886972d2302","platform":{"architecture":"amd64","os":"linux"}},{"mediaType":"application/vnd.oci.image.manifest.v1+json","size":476,"digest":"sha256:97f908cd70e44ddb88d54d4a2467b87ed1aced90e0de1186a2065cbe4fa44562","platform":{"architecture":"arm64","os":"linux"}}],"annotations":{"org.opencontainers.image.created":"1970-01-01T00:00:00Z"}}
\ No newline at end of file
+{"schemaVersion":2,"mediaType":"application/vnd.oci.image.index.v1+json","manifests":[{"mediaType":"application/vnd.oci.image.manifest.v1+json","size":560,"digest":"sha256:3fa87a64fb699f65953caad1adcba9f5d3f25134bfff43f92a1ed097712cd79a","platform":{"architecture":"amd64","os":"linux"}},{"mediaType":"application/vnd.oci.image.manifest.v1+json","size":560,"digest":"sha256:462b8caeb0369dd5ec14eb4f698cddd327f26ba65720561497217ffad2e96d6a","platform":{"architecture":"arm64","os":"linux"}}],"annotations":{"org.opencontainers.image.created":"1970-01-01T00:00:00Z","org.opencontainers.image.title":"Title","org.opencontainers.image.vendor":"Vendor"}}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/apko-0.30.18/internal/cli/testdata/golden/sboms/sbom-aarch64.spdx.json 
new/apko-0.30.20/internal/cli/testdata/golden/sboms/sbom-aarch64.spdx.json
--- old/apko-0.30.18/internal/cli/testdata/golden/sboms/sbom-aarch64.spdx.json  
2025-10-27 16:09:20.000000000 +0100
+++ new/apko-0.30.20/internal/cli/testdata/golden/sboms/sbom-aarch64.spdx.json  
2025-11-04 04:30:38.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "SPDXID": "SPDXRef-DOCUMENT",
-  "name": 
"sbom-sha256:53ac09950a84b6a7e42051773c3aa3c1b138dd3f21937468e337e65b418cdfc0",
+  "name": 
"sbom-sha256:b075b4a14ed0c1e236bac3448fa494c77772feb140cfad4033450e45010da27f",
   "spdxVersion": "SPDX-2.3",
   "creationInfo": {
     "created": "1970-01-01T00:00:00Z",
@@ -13,13 +13,13 @@
   "dataLicense": "CC0-1.0",
   "documentNamespace": "https://spdx.org/spdxdocs/apko/";,
   "documentDescribes": [
-    
"SPDXRef-Package-sha256-97f908cd70e44ddb88d54d4a2467b87ed1aced90e0de1186a2065cbe4fa44562"
+    
"SPDXRef-Package-sha256-462b8caeb0369dd5ec14eb4f698cddd327f26ba65720561497217ffad2e96d6a"
   ],
   "packages": [
     {
-      "SPDXID": 
"SPDXRef-Package-sha256-97f908cd70e44ddb88d54d4a2467b87ed1aced90e0de1186a2065cbe4fa44562",
-      "name": 
"sha256:97f908cd70e44ddb88d54d4a2467b87ed1aced90e0de1186a2065cbe4fa44562",
-      "versionInfo": 
"sha256:97f908cd70e44ddb88d54d4a2467b87ed1aced90e0de1186a2065cbe4fa44562",
+      "SPDXID": 
"SPDXRef-Package-sha256-462b8caeb0369dd5ec14eb4f698cddd327f26ba65720561497217ffad2e96d6a",
+      "name": 
"sha256:462b8caeb0369dd5ec14eb4f698cddd327f26ba65720561497217ffad2e96d6a",
+      "versionInfo": 
"sha256:462b8caeb0369dd5ec14eb4f698cddd327f26ba65720561497217ffad2e96d6a",
       "filesAnalyzed": false,
       "description": "apko container image",
       "downloadLocation": "NOASSERTION",
@@ -28,20 +28,20 @@
       "checksums": [
         {
           "algorithm": "SHA256",
-          "checksumValue": 
"97f908cd70e44ddb88d54d4a2467b87ed1aced90e0de1186a2065cbe4fa44562"
+          "checksumValue": 
"462b8caeb0369dd5ec14eb4f698cddd327f26ba65720561497217ffad2e96d6a"
         }
       ],
       "externalRefs": [
         {
           "referenceCategory": "PACKAGE-MANAGER",
-          "referenceLocator": 
"pkg:oci/golden@sha256%3A97f908cd70e44ddb88d54d4a2467b87ed1aced90e0de1186a2065cbe4fa44562?arch=arm64\u0026mediaType=application%2Fvnd.oci.image.manifest.v1%2Bjson\u0026os=linux",
+          "referenceLocator": 
"pkg:oci/golden@sha256%3A462b8caeb0369dd5ec14eb4f698cddd327f26ba65720561497217ffad2e96d6a?arch=arm64\u0026mediaType=application%2Fvnd.oci.image.manifest.v1%2Bjson\u0026os=linux",
           "referenceType": "purl"
         }
       ]
     },
     {
-      "SPDXID": 
"SPDXRef-Package-sha256-53ac09950a84b6a7e42051773c3aa3c1b138dd3f21937468e337e65b418cdfc0",
-      "name": 
"sha256:53ac09950a84b6a7e42051773c3aa3c1b138dd3f21937468e337e65b418cdfc0",
+      "SPDXID": 
"SPDXRef-Package-sha256-b075b4a14ed0c1e236bac3448fa494c77772feb140cfad4033450e45010da27f",
+      "name": 
"sha256:b075b4a14ed0c1e236bac3448fa494c77772feb140cfad4033450e45010da27f",
       "versionInfo": "1.0.0",
       "filesAnalyzed": false,
       "description": "apko operating system layer",
@@ -50,7 +50,7 @@
       "externalRefs": [
         {
           "referenceCategory": "PACKAGE-MANAGER",
-          "referenceLocator": 
"pkg:oci/golden@sha256%3A53ac09950a84b6a7e42051773c3aa3c1b138dd3f21937468e337e65b418cdfc0?arch=arm64\u0026mediaType=application%2Fvnd.oci.image.layer.v1.tar%2Bgzip\u0026os=linux",
+          "referenceLocator": 
"pkg:oci/golden@sha256%3Ab075b4a14ed0c1e236bac3448fa494c77772feb140cfad4033450e45010da27f?arch=arm64\u0026mediaType=application%2Fvnd.oci.image.layer.v1.tar%2Bgzip\u0026os=linux",
           "referenceType": "purl"
         }
       ]
@@ -142,9 +142,9 @@
   ],
   "relationships": [
     {
-      "spdxElementId": 
"SPDXRef-Package-sha256-97f908cd70e44ddb88d54d4a2467b87ed1aced90e0de1186a2065cbe4fa44562",
+      "spdxElementId": 
"SPDXRef-Package-sha256-462b8caeb0369dd5ec14eb4f698cddd327f26ba65720561497217ffad2e96d6a",
       "relationshipType": "CONTAINS",
-      "relatedSpdxElement": 
"SPDXRef-Package-sha256-53ac09950a84b6a7e42051773c3aa3c1b138dd3f21937468e337e65b418cdfc0"
+      "relatedSpdxElement": 
"SPDXRef-Package-sha256-b075b4a14ed0c1e236bac3448fa494c77772feb140cfad4033450e45010da27f"
     },
     {
       "spdxElementId": "SPDXRef-Package-pretend-baselayout-1.0.0-r0",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/apko-0.30.18/internal/cli/testdata/golden/sboms/sbom-index.spdx.json 
new/apko-0.30.20/internal/cli/testdata/golden/sboms/sbom-index.spdx.json
--- old/apko-0.30.18/internal/cli/testdata/golden/sboms/sbom-index.spdx.json    
2025-10-27 16:09:20.000000000 +0100
+++ new/apko-0.30.20/internal/cli/testdata/golden/sboms/sbom-index.spdx.json    
2025-11-04 04:30:38.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "SPDXID": "SPDXRef-DOCUMENT",
-  "name": 
"sbom-sha256:2373c0d94ce26cdb27457cb0cf9b5040bcdf0bba4a3639a9e108383ec2995d2c",
+  "name": 
"sbom-sha256:dca012567a108b20ddbae2b1701530ce24b60d2dbe88ad8eb3c99422e2db99a2",
   "spdxVersion": "SPDX-2.3",
   "creationInfo": {
     "created": "1970-01-01T00:00:00Z",
@@ -13,13 +13,13 @@
   "dataLicense": "CC0-1.0",
   "documentNamespace": "https://spdx.org/spdxdocs/apko/";,
   "documentDescribes": [
-    
"SPDXRef-Package-sha256-2373c0d94ce26cdb27457cb0cf9b5040bcdf0bba4a3639a9e108383ec2995d2c"
+    
"SPDXRef-Package-sha256-dca012567a108b20ddbae2b1701530ce24b60d2dbe88ad8eb3c99422e2db99a2"
   ],
   "packages": [
     {
-      "SPDXID": 
"SPDXRef-Package-sha256-2373c0d94ce26cdb27457cb0cf9b5040bcdf0bba4a3639a9e108383ec2995d2c",
-      "name": 
"sha256:2373c0d94ce26cdb27457cb0cf9b5040bcdf0bba4a3639a9e108383ec2995d2c",
-      "versionInfo": 
"sha256:2373c0d94ce26cdb27457cb0cf9b5040bcdf0bba4a3639a9e108383ec2995d2c",
+      "SPDXID": 
"SPDXRef-Package-sha256-dca012567a108b20ddbae2b1701530ce24b60d2dbe88ad8eb3c99422e2db99a2",
+      "name": 
"sha256:dca012567a108b20ddbae2b1701530ce24b60d2dbe88ad8eb3c99422e2db99a2",
+      "versionInfo": 
"sha256:dca012567a108b20ddbae2b1701530ce24b60d2dbe88ad8eb3c99422e2db99a2",
       "filesAnalyzed": false,
       "description": "Multi-arch image index",
       "downloadLocation": "NOASSERTION",
@@ -29,21 +29,21 @@
       "checksums": [
         {
           "algorithm": "SHA256",
-          "checksumValue": 
"2373c0d94ce26cdb27457cb0cf9b5040bcdf0bba4a3639a9e108383ec2995d2c"
+          "checksumValue": 
"dca012567a108b20ddbae2b1701530ce24b60d2dbe88ad8eb3c99422e2db99a2"
         }
       ],
       "externalRefs": [
         {
           "referenceCategory": "PACKAGE-MANAGER",
-          "referenceLocator": 
"pkg:oci/golden@sha256%3A2373c0d94ce26cdb27457cb0cf9b5040bcdf0bba4a3639a9e108383ec2995d2c?mediaType=application%2Fvnd.oci.image.index.v1%2Bjson",
+          "referenceLocator": 
"pkg:oci/golden@sha256%3Adca012567a108b20ddbae2b1701530ce24b60d2dbe88ad8eb3c99422e2db99a2?mediaType=application%2Fvnd.oci.image.index.v1%2Bjson",
           "referenceType": "purl"
         }
       ]
     },
     {
-      "SPDXID": 
"SPDXRef-Package-sha256-08add62f39aefa7be337e13d54c801981506bed0c5ec9d317c22a886972d2302",
-      "name": 
"sha256:08add62f39aefa7be337e13d54c801981506bed0c5ec9d317c22a886972d2302",
-      "versionInfo": 
"sha256:08add62f39aefa7be337e13d54c801981506bed0c5ec9d317c22a886972d2302",
+      "SPDXID": 
"SPDXRef-Package-sha256-3fa87a64fb699f65953caad1adcba9f5d3f25134bfff43f92a1ed097712cd79a",
+      "name": 
"sha256:3fa87a64fb699f65953caad1adcba9f5d3f25134bfff43f92a1ed097712cd79a",
+      "versionInfo": 
"sha256:3fa87a64fb699f65953caad1adcba9f5d3f25134bfff43f92a1ed097712cd79a",
       "filesAnalyzed": false,
       "downloadLocation": "NOASSERTION",
       "supplier": "Organization: Chainguard, Inc.",
@@ -51,21 +51,21 @@
       "checksums": [
         {
           "algorithm": "SHA256",
-          "checksumValue": 
"08add62f39aefa7be337e13d54c801981506bed0c5ec9d317c22a886972d2302"
+          "checksumValue": 
"3fa87a64fb699f65953caad1adcba9f5d3f25134bfff43f92a1ed097712cd79a"
         }
       ],
       "externalRefs": [
         {
           "referenceCategory": "PACKAGE-MANAGER",
-          "referenceLocator": 
"pkg:oci/golden@sha256%3A08add62f39aefa7be337e13d54c801981506bed0c5ec9d317c22a886972d2302?arch=amd64\u0026mediaType=application%2Fvnd.oci.image.manifest.v1%2Bjson\u0026os=linux",
+          "referenceLocator": 
"pkg:oci/golden@sha256%3A3fa87a64fb699f65953caad1adcba9f5d3f25134bfff43f92a1ed097712cd79a?arch=amd64\u0026mediaType=application%2Fvnd.oci.image.manifest.v1%2Bjson\u0026os=linux",
           "referenceType": "purl"
         }
       ]
     },
     {
-      "SPDXID": 
"SPDXRef-Package-sha256-97f908cd70e44ddb88d54d4a2467b87ed1aced90e0de1186a2065cbe4fa44562",
-      "name": 
"sha256:97f908cd70e44ddb88d54d4a2467b87ed1aced90e0de1186a2065cbe4fa44562",
-      "versionInfo": 
"sha256:97f908cd70e44ddb88d54d4a2467b87ed1aced90e0de1186a2065cbe4fa44562",
+      "SPDXID": 
"SPDXRef-Package-sha256-462b8caeb0369dd5ec14eb4f698cddd327f26ba65720561497217ffad2e96d6a",
+      "name": 
"sha256:462b8caeb0369dd5ec14eb4f698cddd327f26ba65720561497217ffad2e96d6a",
+      "versionInfo": 
"sha256:462b8caeb0369dd5ec14eb4f698cddd327f26ba65720561497217ffad2e96d6a",
       "filesAnalyzed": false,
       "downloadLocation": "NOASSERTION",
       "supplier": "Organization: Chainguard, Inc.",
@@ -73,13 +73,13 @@
       "checksums": [
         {
           "algorithm": "SHA256",
-          "checksumValue": 
"97f908cd70e44ddb88d54d4a2467b87ed1aced90e0de1186a2065cbe4fa44562"
+          "checksumValue": 
"462b8caeb0369dd5ec14eb4f698cddd327f26ba65720561497217ffad2e96d6a"
         }
       ],
       "externalRefs": [
         {
           "referenceCategory": "PACKAGE-MANAGER",
-          "referenceLocator": 
"pkg:oci/golden@sha256%3A97f908cd70e44ddb88d54d4a2467b87ed1aced90e0de1186a2065cbe4fa44562?arch=arm64\u0026mediaType=application%2Fvnd.oci.image.manifest.v1%2Bjson\u0026os=linux",
+          "referenceLocator": 
"pkg:oci/golden@sha256%3A462b8caeb0369dd5ec14eb4f698cddd327f26ba65720561497217ffad2e96d6a?arch=arm64\u0026mediaType=application%2Fvnd.oci.image.manifest.v1%2Bjson\u0026os=linux",
           "referenceType": "purl"
         }
       ]
@@ -87,14 +87,14 @@
   ],
   "relationships": [
     {
-      "spdxElementId": 
"SPDXRef-Package-sha256-2373c0d94ce26cdb27457cb0cf9b5040bcdf0bba4a3639a9e108383ec2995d2c",
+      "spdxElementId": 
"SPDXRef-Package-sha256-dca012567a108b20ddbae2b1701530ce24b60d2dbe88ad8eb3c99422e2db99a2",
       "relationshipType": "VARIANT_OF",
-      "relatedSpdxElement": 
"SPDXRef-Package-sha256-08add62f39aefa7be337e13d54c801981506bed0c5ec9d317c22a886972d2302"
+      "relatedSpdxElement": 
"SPDXRef-Package-sha256-3fa87a64fb699f65953caad1adcba9f5d3f25134bfff43f92a1ed097712cd79a"
     },
     {
-      "spdxElementId": 
"SPDXRef-Package-sha256-2373c0d94ce26cdb27457cb0cf9b5040bcdf0bba4a3639a9e108383ec2995d2c",
+      "spdxElementId": 
"SPDXRef-Package-sha256-dca012567a108b20ddbae2b1701530ce24b60d2dbe88ad8eb3c99422e2db99a2",
       "relationshipType": "VARIANT_OF",
-      "relatedSpdxElement": 
"SPDXRef-Package-sha256-97f908cd70e44ddb88d54d4a2467b87ed1aced90e0de1186a2065cbe4fa44562"
+      "relatedSpdxElement": 
"SPDXRef-Package-sha256-462b8caeb0369dd5ec14eb4f698cddd327f26ba65720561497217ffad2e96d6a"
     }
   ]
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/apko-0.30.18/internal/cli/testdata/golden/sboms/sbom-x86_64.spdx.json 
new/apko-0.30.20/internal/cli/testdata/golden/sboms/sbom-x86_64.spdx.json
--- old/apko-0.30.18/internal/cli/testdata/golden/sboms/sbom-x86_64.spdx.json   
2025-10-27 16:09:20.000000000 +0100
+++ new/apko-0.30.20/internal/cli/testdata/golden/sboms/sbom-x86_64.spdx.json   
2025-11-04 04:30:38.000000000 +0100
@@ -1,6 +1,6 @@
 {
   "SPDXID": "SPDXRef-DOCUMENT",
-  "name": 
"sbom-sha256:9eabb85591b31baef9775807813b51708321c03b281f70aeb1c88476d190aa5f",
+  "name": 
"sbom-sha256:622ca92e75385bab9884a8c8c65c3f4a4c3dd0eafbd2a57f2762bafcb393a456",
   "spdxVersion": "SPDX-2.3",
   "creationInfo": {
     "created": "1970-01-01T00:00:00Z",
@@ -13,13 +13,13 @@
   "dataLicense": "CC0-1.0",
   "documentNamespace": "https://spdx.org/spdxdocs/apko/";,
   "documentDescribes": [
-    
"SPDXRef-Package-sha256-08add62f39aefa7be337e13d54c801981506bed0c5ec9d317c22a886972d2302"
+    
"SPDXRef-Package-sha256-3fa87a64fb699f65953caad1adcba9f5d3f25134bfff43f92a1ed097712cd79a"
   ],
   "packages": [
     {
-      "SPDXID": 
"SPDXRef-Package-sha256-08add62f39aefa7be337e13d54c801981506bed0c5ec9d317c22a886972d2302",
-      "name": 
"sha256:08add62f39aefa7be337e13d54c801981506bed0c5ec9d317c22a886972d2302",
-      "versionInfo": 
"sha256:08add62f39aefa7be337e13d54c801981506bed0c5ec9d317c22a886972d2302",
+      "SPDXID": 
"SPDXRef-Package-sha256-3fa87a64fb699f65953caad1adcba9f5d3f25134bfff43f92a1ed097712cd79a",
+      "name": 
"sha256:3fa87a64fb699f65953caad1adcba9f5d3f25134bfff43f92a1ed097712cd79a",
+      "versionInfo": 
"sha256:3fa87a64fb699f65953caad1adcba9f5d3f25134bfff43f92a1ed097712cd79a",
       "filesAnalyzed": false,
       "description": "apko container image",
       "downloadLocation": "NOASSERTION",
@@ -28,20 +28,20 @@
       "checksums": [
         {
           "algorithm": "SHA256",
-          "checksumValue": 
"08add62f39aefa7be337e13d54c801981506bed0c5ec9d317c22a886972d2302"
+          "checksumValue": 
"3fa87a64fb699f65953caad1adcba9f5d3f25134bfff43f92a1ed097712cd79a"
         }
       ],
       "externalRefs": [
         {
           "referenceCategory": "PACKAGE-MANAGER",
-          "referenceLocator": 
"pkg:oci/golden@sha256%3A08add62f39aefa7be337e13d54c801981506bed0c5ec9d317c22a886972d2302?arch=amd64\u0026mediaType=application%2Fvnd.oci.image.manifest.v1%2Bjson\u0026os=linux",
+          "referenceLocator": 
"pkg:oci/golden@sha256%3A3fa87a64fb699f65953caad1adcba9f5d3f25134bfff43f92a1ed097712cd79a?arch=amd64\u0026mediaType=application%2Fvnd.oci.image.manifest.v1%2Bjson\u0026os=linux",
           "referenceType": "purl"
         }
       ]
     },
     {
-      "SPDXID": 
"SPDXRef-Package-sha256-9eabb85591b31baef9775807813b51708321c03b281f70aeb1c88476d190aa5f",
-      "name": 
"sha256:9eabb85591b31baef9775807813b51708321c03b281f70aeb1c88476d190aa5f",
+      "SPDXID": 
"SPDXRef-Package-sha256-622ca92e75385bab9884a8c8c65c3f4a4c3dd0eafbd2a57f2762bafcb393a456",
+      "name": 
"sha256:622ca92e75385bab9884a8c8c65c3f4a4c3dd0eafbd2a57f2762bafcb393a456",
       "versionInfo": "1.0.0",
       "filesAnalyzed": false,
       "description": "apko operating system layer",
@@ -50,7 +50,7 @@
       "externalRefs": [
         {
           "referenceCategory": "PACKAGE-MANAGER",
-          "referenceLocator": 
"pkg:oci/golden@sha256%3A9eabb85591b31baef9775807813b51708321c03b281f70aeb1c88476d190aa5f?arch=amd64\u0026mediaType=application%2Fvnd.oci.image.layer.v1.tar%2Bgzip\u0026os=linux",
+          "referenceLocator": 
"pkg:oci/golden@sha256%3A622ca92e75385bab9884a8c8c65c3f4a4c3dd0eafbd2a57f2762bafcb393a456?arch=amd64\u0026mediaType=application%2Fvnd.oci.image.layer.v1.tar%2Bgzip\u0026os=linux",
           "referenceType": "purl"
         }
       ]
@@ -142,9 +142,9 @@
   ],
   "relationships": [
     {
-      "spdxElementId": 
"SPDXRef-Package-sha256-08add62f39aefa7be337e13d54c801981506bed0c5ec9d317c22a886972d2302",
+      "spdxElementId": 
"SPDXRef-Package-sha256-3fa87a64fb699f65953caad1adcba9f5d3f25134bfff43f92a1ed097712cd79a",
       "relationshipType": "CONTAINS",
-      "relatedSpdxElement": 
"SPDXRef-Package-sha256-9eabb85591b31baef9775807813b51708321c03b281f70aeb1c88476d190aa5f"
+      "relatedSpdxElement": 
"SPDXRef-Package-sha256-622ca92e75385bab9884a8c8c65c3f4a4c3dd0eafbd2a57f2762bafcb393a456"
     },
     {
       "spdxElementId": "SPDXRef-Package-pretend-baselayout-1.0.0-r0",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apko-0.30.18/pkg/apk/auth/chainguard.go 
new/apko-0.30.20/pkg/apk/auth/chainguard.go
--- old/apko-0.30.18/pkg/apk/auth/chainguard.go 2025-10-27 16:09:20.000000000 
+0100
+++ new/apko-0.30.20/pkg/apk/auth/chainguard.go 2025-11-04 04:30:38.000000000 
+0100
@@ -27,6 +27,7 @@
                id:        identity,
                iss:       issuer,
                aud:       audience,
+               exchg:     sts.New(issuer, audience, 
sts.WithIdentity(identity), sts.WithUserAgent("apko")),
                sometimes: rate.Sometimes{Interval: 10 * time.Minute},
        }
 }
@@ -34,6 +35,8 @@
 type cgAuth struct {
        id, iss, aud string
 
+       exchg sts.Exchanger
+
        sometimes rate.Sometimes
        cgtok     string
        cgerr     error
@@ -61,7 +64,7 @@
                        return
                }
 
-               ctok, err := sts.ExchangePair(ctx, a.iss, a.aud, 
tok.AccessToken, sts.WithIdentity(a.id))
+               ctok, err := a.exchg.Exchange(ctx, tok.AccessToken)
                if err != nil {
                        a.cgerr = fmt.Errorf("exchanging token: %w", err)
                }
@@ -77,6 +80,8 @@
 type k8sAuth struct {
        path, id, iss, aud string
 
+       exchg sts.Exchanger
+
        sometimes rate.Sometimes
        cgtok     string
        cgerr     error
@@ -95,6 +100,7 @@
                id:        identity,
                iss:       issuer,
                aud:       audience,
+               exchg:     sts.New(issuer, audience, 
sts.WithIdentity(identity), sts.WithUserAgent("apko-k8s")),
                sometimes: rate.Sometimes{Interval: 10 * time.Minute},
        }
 }
@@ -115,7 +121,7 @@
                        return
                }
                clog.FromContext(ctx).With("iss", k.iss, "aud", 
k.aud).Info("Exchanging K8s token for Chainguard identity " + k.id)
-               ctok, err := sts.ExchangePair(ctx, k.iss, k.aud, string(b), 
sts.WithIdentity(k.id))
+               ctok, err := k.exchg.Exchange(ctx, string(b))
                if err != nil {
                        k.cgerr = fmt.Errorf("exchanging token: %w", err)
                }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apko-0.30.18/pkg/build/oci/image.go 
new/apko-0.30.20/pkg/build/oci/image.go
--- old/apko-0.30.18/pkg/build/oci/image.go     2025-10-27 16:09:20.000000000 
+0100
+++ new/apko-0.30.20/pkg/build/oci/image.go     2025-11-04 04:30:38.000000000 
+0100
@@ -50,11 +50,16 @@
                return nil, err
        }
 
+       // Compute comment
        comment := "This is an apko single-layer image"
        if len(layers) > 1 {
-               // TODO: Consider plumbing per-layer info here?
                comment = ""
        }
+       title, titleok := ic.Annotations["org.opencontainers.image.title"]
+       vendor, vendorok := ic.Annotations["org.opencontainers.image.vendor"]
+       if titleok && vendorok {
+               comment = title + " by " + vendor
+       }
 
        adds := make([]mutate.Addendum, 0, len(layers))
        for _, layer := range layers {

++++++ apko.obsinfo ++++++
--- /var/tmp/diff_new_pack.3Fha7a/_old  2025-11-04 18:44:33.522985663 +0100
+++ /var/tmp/diff_new_pack.3Fha7a/_new  2025-11-04 18:44:33.574987850 +0100
@@ -1,5 +1,5 @@
 name: apko
-version: 0.30.18
-mtime: 1761577760
-commit: ef42165351c6a0f6964aa6a85784f4356350316e
+version: 0.30.20
+mtime: 1762227038
+commit: 60404f94c61fefb78291c4c5091c62c610da05e7
 

++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/apko/vendor.tar.gz 
/work/SRC/openSUSE:Factory/.apko.new.1980/vendor.tar.gz differ: char 31, line 1

Reply via email to