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-01-09 15:11:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/apko (Old)
 and      /work/SRC/openSUSE:Factory/.apko.new.1881 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "apko"

Thu Jan  9 15:11:40 2025 rev:32 rq:1236094 version:0.22.6

Changes:
--------
--- /work/SRC/openSUSE:Factory/apko/apko.changes        2025-01-07 
20:54:28.851546674 +0100
+++ /work/SRC/openSUSE:Factory/.apko.new.1881/apko.changes      2025-01-09 
15:12:24.264659963 +0100
@@ -1,0 +2,12 @@
+Thu Jan 09 06:40:49 UTC 2025 - opensuse_buildserv...@ojkastl.de
+
+- Update to version 0.22.6:
+  * Base32-encode etag values (#1470)
+  * build(deps): bump docker/setup-qemu-action from 3.2.0 to 3.3.0
+    (#1469)
+  * Add the extra flags to `build-minirootfs` (#1467)
+  * Fix logging output of user.GID (#1466)
+  * build(deps): bump google.golang.org/api from 0.214.0 to 0.215.0
+    (#1465)
+
+-------------------------------------------------------------------

Old:
----
  apko-0.22.5.obscpio

New:
----
  apko-0.22.6.obscpio

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

Other differences:
------------------
++++++ apko.spec ++++++
--- /var/tmp/diff_new_pack.0YtJLi/_old  2025-01-09 15:12:26.352746457 +0100
+++ /var/tmp/diff_new_pack.0YtJLi/_new  2025-01-09 15:12:26.368747120 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           apko
-Version:        0.22.5
+Version:        0.22.6
 Release:        0
 Summary:        Build OCI images from APK packages directly without Dockerfile
 License:        Apache-2.0

++++++ _service ++++++
--- /var/tmp/diff_new_pack.0YtJLi/_old  2025-01-09 15:12:26.572755570 +0100
+++ /var/tmp/diff_new_pack.0YtJLi/_new  2025-01-09 15:12:26.600756731 +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.22.5</param>
+    <param name="revision">v0.22.6</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">v(.*)</param>
     <param name="changesgenerate">enable</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.0YtJLi/_old  2025-01-09 15:12:26.724761867 +0100
+++ /var/tmp/diff_new_pack.0YtJLi/_new  2025-01-09 15:12:26.752763027 +0100
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/chainguard-dev/apko</param>
-              <param 
name="changesrevision">20bf90264a9720492d623322989284b938601a5d</param></service></servicedata>
+              <param 
name="changesrevision">995ee5a40608591b2c4d2e7893abdffeca93f6ff</param></service></servicedata>
 (No newline at EOF)
 

++++++ apko-0.22.5.obscpio -> apko-0.22.6.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apko-0.22.5/.github/workflows/build-samples.yml 
new/apko-0.22.6/.github/workflows/build-samples.yml
--- old/apko-0.22.5/.github/workflows/build-samples.yml 2025-01-07 
00:34:42.000000000 +0100
+++ new/apko-0.22.6/.github/workflows/build-samples.yml 2025-01-09 
00:03:56.000000000 +0100
@@ -31,7 +31,7 @@
           go-version-file: 'go.mod'
           check-latest: true
       - name: Setup QEMU
-        uses: 
docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3.2.0
+        uses: 
docker/setup-qemu-action@53851d14592bedcffcf25ea515637cff71ef929a # v3.3.0
       - run: |
           make apko
           ./apko build ./examples/nginx.yaml nginx:build /tmp/nginx-${{ 
matrix.arch }}.tar --arch ${{ matrix.arch }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apko-0.22.5/go.mod new/apko-0.22.6/go.mod
--- old/apko-0.22.5/go.mod      2025-01-07 00:34:42.000000000 +0100
+++ new/apko-0.22.6/go.mod      2025-01-09 00:03:56.000000000 +0100
@@ -31,7 +31,7 @@
        golang.org/x/sync v0.10.0
        golang.org/x/sys v0.29.0
        golang.org/x/time v0.9.0
-       google.golang.org/api v0.214.0
+       google.golang.org/api v0.215.0
        gopkg.in/ini.v1 v1.67.0
        gopkg.in/yaml.v3 v3.0.1
        k8s.io/apimachinery v0.32.0
@@ -95,7 +95,7 @@
        github.com/google/s2a-go v0.1.8 // indirect
        github.com/google/uuid v1.6.0 // indirect
        github.com/googleapis/enterprise-certificate-proxy v0.3.4 // indirect
-       github.com/googleapis/gax-go/v2 v2.14.0 // indirect
+       github.com/googleapis/gax-go/v2 v2.14.1 // indirect
        github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // indirect
        github.com/grpc-ecosystem/go-grpc-prometheus 
v1.2.1-0.20210315223345-82c243799c99 // indirect
        github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0 // indirect
@@ -158,10 +158,10 @@
        golang.org/x/oauth2 v0.24.0 // indirect
        golang.org/x/term v0.27.0 // indirect
        golang.org/x/text v0.21.0 // indirect
-       google.golang.org/genproto/googleapis/api 
v0.0.0-20241118233622-e639e219e697 // indirect
-       google.golang.org/genproto/googleapis/rpc 
v0.0.0-20241209162323-e6fa225c2576 // indirect
+       google.golang.org/genproto/googleapis/api 
v0.0.0-20241209162323-e6fa225c2576 // indirect
+       google.golang.org/genproto/googleapis/rpc 
v0.0.0-20241223144023-3abc09e42ca8 // indirect
        google.golang.org/grpc v1.69.0 // indirect
-       google.golang.org/protobuf v1.36.0 // indirect
+       google.golang.org/protobuf v1.36.1 // indirect
        gopkg.in/warnings.v0 v0.1.2 // indirect
        gotest.tools/v3 v3.5.1 // indirect
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apko-0.22.5/go.sum new/apko-0.22.6/go.sum
--- old/apko-0.22.5/go.sum      2025-01-07 00:34:42.000000000 +0100
+++ new/apko-0.22.6/go.sum      2025-01-09 00:03:56.000000000 +0100
@@ -176,8 +176,8 @@
 github.com/google/uuid v1.6.0/go.mod 
h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/googleapis/enterprise-certificate-proxy v0.3.4 
h1:XYIDZApgAnrN1c855gTgghdIA6Stxb52D5RnLI1SLyw=
 github.com/googleapis/enterprise-certificate-proxy v0.3.4/go.mod 
h1:YKe7cfqYXjKGpGvmSg28/fFvhNzinZQm8DGnaburhGA=
-github.com/googleapis/gax-go/v2 v2.14.0 
h1:f+jMrjBPl+DL9nI4IQzLUxMq7XrAqFYB7hBPqMNIe8o=
-github.com/googleapis/gax-go/v2 v2.14.0/go.mod 
h1:lhBCnjdLrWRaPvLWhmc8IS24m9mr07qSYnHncrgo+zk=
+github.com/googleapis/gax-go/v2 v2.14.1 
h1:hb0FFeiPaQskmvakKu5EbCbpntQn48jyHuvrkurSS/Q=
+github.com/googleapis/gax-go/v2 v2.14.1/go.mod 
h1:Hb/NubMaVM88SrNkvl8X/o8XWwDJEPqouaLeN2IUxoA=
 github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 
h1:UH//fgunKIs4JdUbpDl1VZCDaL56wXCB/5+wF6uHfaI=
 github.com/grpc-ecosystem/go-grpc-middleware v1.4.0/go.mod 
h1:g5qyo/la0ALbONm6Vbp88Yd8NsDy6rZz+RcrMPxvld8=
 github.com/grpc-ecosystem/go-grpc-prometheus 
v1.2.1-0.20210315223345-82c243799c99 
h1:JYghRBlGCZyCF2wNUJ8W0cwaQdtpcssJ4CgC406g+WU=
@@ -494,17 +494,17 @@
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod 
h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod 
h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod 
h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-google.golang.org/api v0.214.0 h1:h2Gkq07OYi6kusGOaT/9rnNljuXmqPnaig7WGPmKbwA=
-google.golang.org/api v0.214.0/go.mod 
h1:bYPpLG8AyeMWwDU6NXoB00xC0DFkikVvd5MfwoxjLqE=
+google.golang.org/api v0.215.0 h1:jdYF4qnyczlEz2ReWIsosNLDuzXyvFHJtI5gcr0J7t0=
+google.golang.org/api v0.215.0/go.mod 
h1:fta3CVtuJYOEdugLNWm6WodzOS8KdFckABwN4I40hzY=
 google.golang.org/appengine v1.1.0/go.mod 
h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
 google.golang.org/appengine v1.4.0/go.mod 
h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
 google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod 
h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
 google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod 
h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
 google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod 
h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto/googleapis/api v0.0.0-20241118233622-e639e219e697 
h1:pgr/4QbFyktUv9CtQ/Fq4gzEE6/Xs7iCXbktaGzLHbQ=
-google.golang.org/genproto/googleapis/api 
v0.0.0-20241118233622-e639e219e697/go.mod 
h1:+D9ySVjN8nY8YCVjc5O7PZDIdZporIDY3KaGfJunh88=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576 
h1:8ZmaLZE4XWrtU3MyClkYqqtl6Oegr3235h7jxsDyqCY=
-google.golang.org/genproto/googleapis/rpc 
v0.0.0-20241209162323-e6fa225c2576/go.mod 
h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU=
+google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576 
h1:CkkIfIt50+lT6NHAVoRYEyAvQGFM7xEwXUUywFvEb3Q=
+google.golang.org/genproto/googleapis/api 
v0.0.0-20241209162323-e6fa225c2576/go.mod 
h1:1R3kvZ1dtP3+4p4d3G8uJ8rFk/fWlScl38vanWACI08=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20241223144023-3abc09e42ca8 
h1:TqExAhdPaB60Ux47Cn0oLV07rGnxZzIsaRhQaqS666A=
+google.golang.org/genproto/googleapis/rpc 
v0.0.0-20241223144023-3abc09e42ca8/go.mod 
h1:lcTa1sDdWEIHMWlITnIczmw5w60CF9ffkb8Z+DVmmjA=
 google.golang.org/grpc v1.18.0/go.mod 
h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs=
 google.golang.org/grpc v1.19.0/go.mod 
h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.23.0/go.mod 
h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
@@ -513,8 +513,8 @@
 google.golang.org/grpc v1.29.1/go.mod 
h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
 google.golang.org/grpc v1.69.0 h1:quSiOM1GJPmPH5XtU+BCoVXcDVJJAzNcoyfC2cCjGkI=
 google.golang.org/grpc v1.69.0/go.mod 
h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4=
-google.golang.org/protobuf v1.36.0 
h1:mjIs9gYtt56AzC4ZaffQuh88TZurBGhIJMBZGSxNerQ=
-google.golang.org/protobuf v1.36.0/go.mod 
h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
+google.golang.org/protobuf v1.36.1 
h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk=
+google.golang.org/protobuf v1.36.1/go.mod 
h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod 
h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod 
h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod 
h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apko-0.22.5/internal/cli/build-minirootfs.go 
new/apko-0.22.6/internal/cli/build-minirootfs.go
--- old/apko-0.22.5/internal/cli/build-minirootfs.go    2025-01-07 
00:34:42.000000000 +0100
+++ new/apko-0.22.6/internal/cli/build-minirootfs.go    2025-01-09 
00:03:56.000000000 +0100
@@ -34,6 +34,10 @@
        var buildArch string
        var sbomPath string
        var ignoreSignatures bool
+       var extraKeys []string
+       var extraBuildRepos []string
+       var extraRuntimeRepos []string
+       var extraPackages []string
 
        cmd := &cobra.Command{
                Use:     "build-minirootfs",
@@ -44,6 +48,10 @@
                RunE: func(cmd *cobra.Command, args []string) error {
                        return BuildMinirootFSCmd(cmd.Context(),
                                build.WithConfig(args[0], []string{}),
+                               build.WithExtraKeys(extraKeys),
+                               build.WithExtraBuildRepos(extraBuildRepos),
+                               build.WithExtraRuntimeRepos(extraRuntimeRepos),
+                               build.WithExtraPackages(extraPackages),
                                build.WithTarball(args[1]),
                                build.WithBuildDate(buildDate),
                                build.WithSBOM(sbomPath),
@@ -57,6 +65,10 @@
        cmd.Flags().StringVar(&buildArch, "build-arch", runtime.GOARCH, 
"architecture to build for -- default is Go runtime architecture")
        cmd.Flags().StringVar(&sbomPath, "sbom-path", "", "generate an SBOM")
        cmd.Flags().BoolVar(&ignoreSignatures, "ignore-signatures", false, 
"ignore repository signature verification")
+       cmd.Flags().StringSliceVarP(&extraKeys, "keyring-append", "k", 
[]string{}, "path to extra keys to include in the keyring")
+       cmd.Flags().StringSliceVarP(&extraBuildRepos, 
"build-repository-append", "b", []string{}, "path to extra repositories to 
include")
+       cmd.Flags().StringSliceVarP(&extraRuntimeRepos, "repository-append", 
"r", []string{}, "path to extra repositories to include")
+       cmd.Flags().StringSliceVarP(&extraPackages, "package-append", "p", 
[]string{}, "extra packages to include")
 
        return cmd
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apko-0.22.5/pkg/apk/apk/cache.go 
new/apko-0.22.6/pkg/apk/apk/cache.go
--- old/apko-0.22.5/pkg/apk/apk/cache.go        2025-01-07 00:34:42.000000000 
+0100
+++ new/apko-0.22.6/pkg/apk/apk/cache.go        2025-01-09 00:03:56.000000000 
+0100
@@ -16,6 +16,7 @@
 
 import (
        "context"
+       "encoding/base32"
        "fmt"
        "io"
        "net/http"
@@ -331,6 +332,11 @@
        }
        // When we get etags, they appear to be quoted.
        etag := strings.Trim(remoteEtag[0], `"`)
+
+       // To ensure these things are safe filenames, base32 encode them.
+       // (Avoiding base64 due to case sensitive filesystems.)
+       etag = base32.StdEncoding.EncodeToString([]byte(etag))
+
        return etag, etag != ""
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apko-0.22.5/pkg/apk/apk/repo_test.go 
new/apko-0.22.6/pkg/apk/apk/repo_test.go
--- old/apko-0.22.5/pkg/apk/apk/repo_test.go    2025-01-07 00:34:42.000000000 
+0100
+++ new/apko-0.22.6/pkg/apk/apk/repo_test.go    2025-01-09 00:03:56.000000000 
+0100
@@ -16,6 +16,7 @@
 
 import (
        "context"
+       "encoding/base32"
        "fmt"
        "io/fs"
        "net/http"
@@ -192,7 +193,7 @@
                require.NoErrorf(t, err, "unable to get indexes")
                require.Greater(t, len(indexes), 0, "no indexes found")
                // check that the contents are the same
-               index1, err := os.ReadFile(filepath.Join(repoDir, "APKINDEX", 
"an-etag.tar.gz"))
+               index1, err := os.ReadFile(filepath.Join(repoDir, "APKINDEX", 
base32.StdEncoding.EncodeToString([]byte("an-etag"))+".tar.gz"))
                require.NoError(t, err, "unable to read cache index file")
                index2, err := os.ReadFile(filepath.Join(testPrimaryPkgDir, 
indexFilename))
                require.NoError(t, err, "unable to read previous index file")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apko-0.22.5/pkg/build/types/image_configuration.go 
new/apko-0.22.6/pkg/build/types/image_configuration.go
--- old/apko-0.22.5/pkg/build/types/image_configuration.go      2025-01-07 
00:34:42.000000000 +0100
+++ new/apko-0.22.6/pkg/build/types/image_configuration.go      2025-01-09 
00:03:56.000000000 +0100
@@ -258,7 +258,7 @@
                log.Infof("    runas:  %s", ic.Accounts.RunAs)
                log.Infof("    users:")
                for _, u := range ic.Accounts.Users {
-                       log.Infof("      - uid=%d(%s) gid=%d", u.UID, 
u.UserName, u.GID)
+                       log.Infof("      - uid=%d(%s) gid=%d", u.UID, 
u.UserName, gidToInt(u.GID))
                }
                log.Infof("    groups:")
                for _, g := range ic.Accounts.Groups {
@@ -272,3 +272,10 @@
                }
        }
 }
+
+func gidToInt(gid GID) uint32 {
+       if gid == nil {
+               return 0
+       }
+       return *gid
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/apko-0.22.5/pkg/build/types/image_configuration_test.go 
new/apko-0.22.6/pkg/build/types/image_configuration_test.go
--- old/apko-0.22.5/pkg/build/types/image_configuration_test.go 2025-01-07 
00:34:42.000000000 +0100
+++ new/apko-0.22.6/pkg/build/types/image_configuration_test.go 2025-01-09 
00:03:56.000000000 +0100
@@ -60,6 +60,9 @@
 
        require.Equal(t, "/not/home", ic.Accounts.Users[0].HomeDir)
        require.Equal(t, "/home/user", ic.Accounts.Users[1].HomeDir)
+
+       // Ensure this does not cause panic when users[1].gid is empty 
(defaulting to 0)
+       ic.Summarize(ctx)
 }
 
 func TestMergeInto(t *testing.T) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apko-0.22.5/pkg/build/types/testdata/users.apko.yaml 
new/apko-0.22.6/pkg/build/types/testdata/users.apko.yaml
--- old/apko-0.22.5/pkg/build/types/testdata/users.apko.yaml    2025-01-07 
00:34:42.000000000 +0100
+++ new/apko-0.22.6/pkg/build/types/testdata/users.apko.yaml    2025-01-09 
00:03:56.000000000 +0100
@@ -12,6 +12,5 @@
       uid: 2
       homedir: "/not/home"
       username: "something-else"
-    - gid: 2
-      uid: 3
+    - uid: 3
       username: "user"

++++++ apko.obsinfo ++++++
--- /var/tmp/diff_new_pack.0YtJLi/_old  2025-01-09 15:12:28.336828643 +0100
+++ /var/tmp/diff_new_pack.0YtJLi/_new  2025-01-09 15:12:28.388830797 +0100
@@ -1,5 +1,5 @@
 name: apko
-version: 0.22.5
-mtime: 1736206482
-commit: 20bf90264a9720492d623322989284b938601a5d
+version: 0.22.6
+mtime: 1736377436
+commit: 995ee5a40608591b2c4d2e7893abdffeca93f6ff
 

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

Reply via email to