Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package melange for openSUSE:Factory checked 
in at 2026-11-09 16:05:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/melange (Old)
 and      /work/SRC/openSUSE:Factory/.melange.new.3759290 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "melange"

Mon Nov  9 16:05:18 2026 rev:189 rq:1396238 version:0.64.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/melange/melange.changes  2026-11-06 
19:38:40.876724302 +0100
+++ /work/SRC/openSUSE:Factory/.melange.new.3759290/melange.changes     
2026-11-09 16:06:11.129690889 +0100
@@ -1,0 +2,11 @@
+Mon Nov 09 05:52:26 UTC 2026 - Johannes Kastl 
<[email protected]>
+
+- Update to version 0.64.1:
+  * fix(qemu): link melange clang configs into $HOME when it
+    differs
+  * build(deps): bump the gomod group across 1 directory with 2
+    updates (#2734)
+  * docs: update the apk version selection link for the move to
+    www.chainguard.dev/docs (#2729)
+
+-------------------------------------------------------------------

Old:
----
  melange-0.64.0.obscpio

New:
----
  melange-0.64.1.obscpio

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

Other differences:
------------------
++++++ melange.spec ++++++
--- /var/tmp/diff_new_pack.FN2ipE/_old  2026-11-09 16:06:13.252779872 +0100
+++ /var/tmp/diff_new_pack.FN2ipE/_new  2026-11-09 16:06:13.254779955 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           melange
-Version:        0.64.0
+Version:        0.64.1
 Release:        0
 Summary:        Build APKs from source code
 License:        Apache-2.0

++++++ _service ++++++
--- /var/tmp/diff_new_pack.FN2ipE/_old  2026-11-09 16:06:13.292781547 +0100
+++ /var/tmp/diff_new_pack.FN2ipE/_new  2026-11-09 16:06:13.299781840 +0100
@@ -3,7 +3,7 @@
     <param name="url">https://github.com/chainguard-dev/melange.git</param>
     <param name="scm">git</param>
     <param name="exclude">.git</param>
-    <param name="revision">refs/tags/v0.64.0</param>
+    <param name="revision">refs/tags/v0.64.1</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">v(.*)</param>
     <param name="changesgenerate">enable</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.FN2ipE/_old  2026-11-09 16:06:13.325782929 +0100
+++ /var/tmp/diff_new_pack.FN2ipE/_new  2026-11-09 16:06:13.328783055 +0100
@@ -3,6 +3,6 @@
                 <param 
name="url">https://github.com/chainguard-dev/melange</param>
               <param 
name="changesrevision">3f6115b820985d70ca3c93cdf8519c1b3b4cfe81</param></service><service
 name="tar_scm">
                 <param 
name="url">https://github.com/chainguard-dev/melange.git</param>
-              <param 
name="changesrevision">17d824ea19fdb2f6224905973ec052fd5ba0f029</param></service></servicedata>
+              <param 
name="changesrevision">76b6e9581635adca199571e8ea6ca6691dc46f8c</param></service></servicedata>
 (No newline at EOF)
 

++++++ melange-0.64.0.obscpio -> melange-0.64.1.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/melange-0.64.0/docs/BUILD-FILE.md 
new/melange-0.64.1/docs/BUILD-FILE.md
--- old/melange-0.64.0/docs/BUILD-FILE.md       2026-10-30 23:31:25.000000000 
+0100
+++ new/melange-0.64.1/docs/BUILD-FILE.md       2026-11-06 22:47:09.000000000 
+0100
@@ -470,7 +470,7 @@
     - foo=~4.5.6 # install any version with a name starting with "4.5.6" 
(e.g., 4.5.6-r7)
     - python3    # install the latest stable version of python3.
 ```
-For additional information, see the [Chainguard Academy 
article](https://edu.chainguard.dev/open-source/wolfi/apk-version-selection/).
+For additional information, see the [Chainguard Academy 
article](https://www.chainguard.dev/docs/open-source/wolfi/apk-version-selection).
 
 ## accounts
 Accounts support adding additional users and groups into the build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/melange-0.64.0/go.mod new/melange-0.64.1/go.mod
--- old/melange-0.64.0/go.mod   2026-10-30 23:31:25.000000000 +0100
+++ new/melange-0.64.1/go.mod   2026-11-06 22:47:09.000000000 +0100
@@ -3,7 +3,7 @@
 go 1.27.0
 
 require (
-       chainguard.dev/apko v1.4.13
+       chainguard.dev/apko v1.4.15
        chainguard.dev/license v0.1.2
        github.com/chainguard-dev/clog v1.8.1
        github.com/chainguard-dev/go-pkgconfig 
v0.0.0-20260625083649-3332107431aa
@@ -40,7 +40,7 @@
        go.opentelemetry.io/otel v1.47.0
        go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.47.0
        go.opentelemetry.io/otel/sdk v1.47.0
-       go.yaml.in/yaml/v2 v2.4.4
+       go.yaml.in/yaml/v2 v2.4.5
        golang.org/x/crypto v0.58.0
        golang.org/x/exp v0.0.0-20260908205506-85c1c2202aba
        golang.org/x/sync v0.24.0
@@ -58,12 +58,11 @@
 
 require (
        chainguard.dev/go-grpc-kit v0.20.0 // indirect
-       chainguard.dev/sdk v0.1.404 // indirect
+       chainguard.dev/sdk v0.1.426 // indirect
        cloud.google.com/go/auth v0.24.1-0.20261001053825-dbc26066f70a // 
indirect
        cloud.google.com/go/auth/oauth2adapt v0.3.0 // indirect
        cloud.google.com/go/compute/metadata v0.10.0 // indirect
        dario.cat/mergo v1.0.2 // indirect
-       filippo.io/edwards25519 v1.2.0 // indirect
        github.com/Azure/go-ansiterm v0.0.0-20260917205352-e937bb47801a // 
indirect
        github.com/Microsoft/go-winio v0.6.2 // indirect
        github.com/ProtonMail/go-crypto v1.5.2 // indirect
@@ -93,11 +92,12 @@
        github.com/docker/go-connections v0.8.1 // indirect
        github.com/docker/go-units v0.5.0 // indirect
        github.com/emirpasic/gods v1.18.1 // indirect
-       github.com/erofs/go-erofs v0.3.2-0.20260804074615-52cc42c5291c // 
indirect
+       github.com/erofs/go-erofs v0.3.2 // indirect
        github.com/felixge/httpsnoop v1.1.0 // indirect
+       github.com/fsnotify/fsnotify v1.9.0 // indirect
        github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
        github.com/go-git/go-billy/v5 v5.9.2 // indirect
-       github.com/go-jose/go-jose/v3 v3.0.5 // indirect
+       github.com/go-jose/go-jose/v4 v4.1.6 // indirect
        github.com/go-logfmt/logfmt v0.6.1 // indirect
        github.com/go-logr/logr v1.4.4 // indirect
        github.com/go-logr/stdr v1.2.2 // indirect
@@ -161,15 +161,14 @@
        go.opentelemetry.io/otel/metric v1.47.0 // indirect
        go.opentelemetry.io/otel/trace v1.47.0 // indirect
        go.opentelemetry.io/proto/otlp v1.11.0 // indirect
-       go.step.sm/crypto v0.91.0 // indirect
        go.yaml.in/yaml/v3 v3.0.5 // indirect
        golang.org/x/mod v0.42.0 // indirect
        golang.org/x/net v0.61.0 // indirect
        golang.org/x/oauth2 v0.37.0 // indirect
        golang.org/x/tools v0.51.0 // indirect
-       google.golang.org/api v0.305.0 // indirect
+       google.golang.org/api v0.308.0 // indirect
        google.golang.org/genproto/googleapis/api 
v0.0.0-20260928230214-8a89bd6388cc // indirect
-       google.golang.org/genproto/googleapis/rpc 
v0.0.0-20261005182115-fad411399dd8 // indirect
+       google.golang.org/genproto/googleapis/rpc 
v0.0.0-20261019180522-ce908d29299b // indirect
        google.golang.org/grpc v1.84.0 // indirect
        gopkg.in/warnings.v0 v0.1.2 // indirect
        k8s.io/apimachinery v0.37.1 // indirect
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/melange-0.64.0/go.sum new/melange-0.64.1/go.sum
--- old/melange-0.64.0/go.sum   2026-10-30 23:31:25.000000000 +0100
+++ new/melange-0.64.1/go.sum   2026-11-06 22:47:09.000000000 +0100
@@ -1,11 +1,11 @@
-chainguard.dev/apko v1.4.13 h1:g7s96W3nkLiMoUe/ZpVYoHQh3EbjonZXW91NIz1JrOE=
-chainguard.dev/apko v1.4.13/go.mod 
h1:gMJJ3+AuXseix3XRzK0YdZ+5cOkMYHZyRrjM0/3t/uk=
+chainguard.dev/apko v1.4.15 h1:gEsoMmrrXkK/8TD7WPlJRhp1VnXtXKAH29q3f5TRiZ4=
+chainguard.dev/apko v1.4.15/go.mod 
h1:rvDiW+AdyoFDdtAVoxi86KOnXAuTsPycK8FPH185b3k=
 chainguard.dev/go-grpc-kit v0.20.0 
h1:MDwZtTlUlMSMEPcoi9m8tnu4g+M88T1toUZ3Th/+0Gc=
 chainguard.dev/go-grpc-kit v0.20.0/go.mod 
h1:ocuwyRX9tqRRvJkS3/ZkDYGMnl+6FLC4bvF0cm6DGsk=
 chainguard.dev/license v0.1.2 h1:RAaaUgF6gCK7f1QRze4yzmqlRgPSNN45/fIsEKf4gX0=
 chainguard.dev/license v0.1.2/go.mod 
h1:x8aEF+mE33md+OANUrGjOb1XJeM4g4TDAzJX52u8zEM=
-chainguard.dev/sdk v0.1.404 h1:kUZOIcwuKgOiDbzLkS/hUNA+T7yDwTN/sX7d3FCZ6es=
-chainguard.dev/sdk v0.1.404/go.mod 
h1:EhyK8jxoiqdsFK7ZwdCXCy8R9zHs20Su6L9rk5ceilA=
+chainguard.dev/sdk v0.1.426 h1:TRZ7JwxEHjcpSYsQhu4LQf+MC6RTxzLivZF29DPlZy0=
+chainguard.dev/sdk v0.1.426/go.mod 
h1:/0tdxz+4GscwKmmsCfdQmAspOwjjf5TFlIVE+q+zFxo=
 cloud.google.com/go v0.26.0/go.mod 
h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
 cloud.google.com/go/auth v0.24.1-0.20261001053825-dbc26066f70a 
h1:jW1ZLFy9oa5ai8LOI40z6s+DL1cO/L1KSm9hVGnibn8=
 cloud.google.com/go/auth v0.24.1-0.20261001053825-dbc26066f70a/go.mod 
h1:1dmBXa9xfBvBr39ZnDUDkaaA91ccq9CcqENDgJA4d7c=
@@ -15,8 +15,6 @@
 cloud.google.com/go/compute/metadata v0.10.0/go.mod 
h1:rGFHRrIif570kSibjFTMbt6/4/tzgJWFGI/HVol4GIk=
 dario.cat/mergo v1.0.2 h1:85+piFYR1tMbRrLcDwR18y4UKJ3aH1Tbzi24VRW1TK8=
 dario.cat/mergo v1.0.2/go.mod h1:E/hbnu0NxMFBjpMIE34DRGLWqDy0g5FuKDhCb31ngxA=
-filippo.io/edwards25519 v1.2.0 h1:crnVqOiS4jqYleHd9vaKZ+HKtHfllngJIiOpNpoJsjo=
-filippo.io/edwards25519 v1.2.0/go.mod 
h1:xzAOLCNug/yB62zG1bQ8uziwrIqIuxhctzJT18Q77mc=
 github.com/Azure/go-ansiterm v0.0.0-20260917205352-e937bb47801a 
h1:4hxax9ktNjSDoFn1tZSeL6gXMTRMpO0FzjdKfT01jgY=
 github.com/Azure/go-ansiterm v0.0.0-20260917205352-e937bb47801a/go.mod 
h1:3EWSSOZ50kb+arhww0qIaEXHToib/3FjBj9Jj5lcP5g=
 github.com/BurntSushi/toml v0.3.1/go.mod 
h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
@@ -111,8 +109,8 @@
 github.com/envoyproxy/go-control-plane 
v0.9.1-0.20191026205805-5f8ba28d4473/go.mod 
h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
 github.com/envoyproxy/go-control-plane v0.9.4/go.mod 
h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
 github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod 
h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
-github.com/erofs/go-erofs v0.3.2-0.20260804074615-52cc42c5291c 
h1:l2NcPw9ioT/HNi0J3L4wiU2BcoYxiVx0xwWilF8S4p8=
-github.com/erofs/go-erofs v0.3.2-0.20260804074615-52cc42c5291c/go.mod 
h1:XkSeN9MHszGd4+3gcEjadJLYHCQpWzJ7/8yznzMuzJs=
+github.com/erofs/go-erofs v0.3.2 
h1:GBWc9wyDOBVMLpA9OC0MkFfs4AbiEAAEhNH8SpQwD/4=
+github.com/erofs/go-erofs v0.3.2/go.mod 
h1:XkSeN9MHszGd4+3gcEjadJLYHCQpWzJ7/8yznzMuzJs=
 github.com/fatih/color v1.19.0 h1:Zp3PiM21/9Ld6FzSKyL5c/BULoe/ONr9KlbYVOfG8+w=
 github.com/fatih/color v1.19.0/go.mod 
h1:zNk67I0ZUT1bEGsSGyCZYZNrHuTkJJB+r6Q9VuMi0LE=
 github.com/felixge/httpsnoop v1.1.0 
h1:3YtUj32ZZkqZtt3sZZsClsymw/QDuVfpNhoA31zeORc=
@@ -131,8 +129,8 @@
 github.com/go-git/go-git-fixtures/v4 
v4.3.2-0.20231010084843-55a94097c399/go.mod 
h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII=
 github.com/go-git/go-git/v5 v5.19.3 
h1:qHttbZ+Am7wEjdTpR1XMQ4rl42FK9SIXzZ4o9x7s6M4=
 github.com/go-git/go-git/v5 v5.19.3/go.mod 
h1:Ye4C8dVigkqrv9UsB4NMdSLV4yAIkLiIhW61gcOyhl4=
-github.com/go-jose/go-jose/v3 v3.0.5 
h1:BLLJWbC4nMZOfuPVxoZIxeYsn6Nl2r1fITaJ78UQlVQ=
-github.com/go-jose/go-jose/v3 v3.0.5/go.mod 
h1:5b+7YgP7ZICgJDBdfjZaIt+H/9L9T/YQrVfLAMboGkQ=
+github.com/go-jose/go-jose/v4 v4.1.6 
h1:sNRkftxFJxwsILiQukqp5z83QBSmntVwmgRY7AqBDO4=
+github.com/go-jose/go-jose/v4 v4.1.6/go.mod 
h1:x4oUasVrzR7071A4TnHLGSPpNOm2a21K9Kf04k1rs08=
 github.com/go-logfmt/logfmt v0.6.1 
h1:4hvbpePJKnIzH1B+8OR/JPbTx37NktoI9LE2QZBBkvE=
 github.com/go-logfmt/logfmt v0.6.1/go.mod 
h1:EV2pOAQoZaT1ZXZbqDl5hrymndi4SY9ED9/z6CO0XAk=
 github.com/go-logr/logr v1.2.2/go.mod 
h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
@@ -166,7 +164,6 @@
 github.com/google/go-cmp v0.5.2/go.mod 
h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/go-cmp v0.5.3/go.mod 
h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/go-cmp v0.5.4/go.mod 
h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.9/go.mod 
h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
 github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
 github.com/google/go-cmp v0.7.0/go.mod 
h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
 github.com/google/go-containerregistry v0.22.1 
h1:RZuuSYhTvlDvtsK+NkutoCZ//C0X2ebLK8X8l3ULs84=
@@ -328,7 +325,6 @@
 github.com/stretchr/testify v1.2.2/go.mod 
h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
 github.com/stretchr/testify v1.3.0/go.mod 
h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
 github.com/stretchr/testify v1.4.0/go.mod 
h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
-github.com/stretchr/testify v1.7.0/go.mod 
h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 github.com/stretchr/testify v1.7.1/go.mod 
h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 github.com/stretchr/testify v1.8.0/go.mod 
h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
 github.com/stretchr/testify v1.8.1/go.mod 
h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
@@ -348,7 +344,6 @@
 github.com/xo/terminfo v1.2.0/go.mod 
h1:lGzkSo8Fe7IRh/w+Gqz7n5mDog4FVXCj3gy/DYTBqio=
 github.com/yookoala/realpath v1.0.0 
h1:7OA9pj4FZd+oZDsyvXWQvjn5oBdcHRTV44PpdMSuImQ=
 github.com/yookoala/realpath v1.0.0/go.mod 
h1:gJJMA9wuX7AcqLy1+ffPatSCySA1FQ2S8Ya9AIoYBpE=
-github.com/yuin/goldmark v1.4.13/go.mod 
h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
 github.com/zealic/xignore v0.3.3 
h1:EpLXUgZY/JEzFkTc+Y/VYypzXtNz+MSOMVCGW5Q4CKQ=
 github.com/zealic/xignore v0.3.3/go.mod 
h1:lhS8V7fuSOtJOKsvKI7WfsZE276/7AYEqokv3UiqEAU=
 go.lsp.dev/uri v1.0.1 h1:ywxJN1UXoQ+v0I9lkoQNMmsm7lub5G9ZG7KXT8YTx30=
@@ -383,20 +378,16 @@
 go.opentelemetry.io/otel/trace v1.47.0/go.mod 
h1:jNaSLa2PZEYFG6fRjJABAu+bw4FS08uDmPg28lTghu0=
 go.opentelemetry.io/proto/otlp v1.11.0 
h1:5rrYs0Ykyj50sdU/JU0x8etU+LubXWb+gED6TbEdMIk=
 go.opentelemetry.io/proto/otlp v1.11.0/go.mod 
h1:SmVizdCOAm3XBtG1g1NnOdhW6jtddT72hLMhv8VwA8E=
-go.step.sm/crypto v0.91.0 h1:0mN0DwVOvUuh7VbyTnxABZuAkxwak/Grp8Y/b4YaZDU=
-go.step.sm/crypto v0.91.0/go.mod 
h1:NxxObRBymdbyXLoTCW5Ea6sLxuy5yI/xr9+hSBlbU/Q=
 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.4 h1:tuyd0P+2Ont/d6e2rl3be67goVK4R6deVxCUX5vyPaQ=
-go.yaml.in/yaml/v2 v2.4.4/go.mod 
h1:gMZqIpDtDqOfM0uNfy0SkpRhvUryYH0Z6wdMYcacYXQ=
+go.yaml.in/yaml/v2 v2.4.5 h1:a5nxWvYi94DRl6QSLlTbLpVmutgx2qg8EVjnJtuFpwI=
+go.yaml.in/yaml/v2 v2.4.5/go.mod 
h1:gMZqIpDtDqOfM0uNfy0SkpRhvUryYH0Z6wdMYcacYXQ=
 go.yaml.in/yaml/v3 v3.0.4/go.mod 
h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
 go.yaml.in/yaml/v3 v3.0.5 h1:N6y/pJk8buWs9NY5ERU2HSMfm+IuD/OtfdAnq6kESPw=
 go.yaml.in/yaml/v3 v3.0.5/go.mod 
h1:HVTZu1O7/Vkt2N+BFy8Zza+lnLsABggaTM2ZpNIGuKg=
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod 
h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod 
h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod 
h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
 golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod 
h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
-golang.org/x/crypto v0.19.0/go.mod 
h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
 golang.org/x/crypto v0.58.0 h1:COkYLr4k7nDI4r6QtMML2AfzeIswWHAJthLS6K/M/54=
 golang.org/x/crypto v0.58.0/go.mod 
h1:Xh+kl5A+M0gMiWDytH2Hhr5Z7WbNCpv/eB/EFgfSk+w=
 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod 
h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -405,8 +396,6 @@
 golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod 
h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
 golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod 
h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
 golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod 
h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod 
h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
-golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
 golang.org/x/mod v0.42.0 h1:ICeL3t2L30ljSPHHxDnR4fqVcBt/zR2zJAb9juavmQg=
 golang.org/x/mod v0.42.0/go.mod h1:u5fzIrRInkL8MaO1cbRkUHT64v303YIT5KEqpNr7jRs=
 golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod 
h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -414,13 +403,8 @@
 golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod 
h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod 
h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod 
h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod 
h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod 
h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod 
h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
 golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod 
h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod 
h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
-golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
-golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
 golang.org/x/net v0.61.0 h1:RR+6j/BTBCrggOLugxa+66R8FvoN6MHlzDlZIbN9YFw=
 golang.org/x/net v0.61.0/go.mod h1:WgDCOTH8iwtB66T4/GfI94AHo/hhdb7Hah9NDseQfiI=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod 
h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -429,8 +413,6 @@
 golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.24.0 h1:iqiDrGoDgyuvAKrhLQthUEzU/R378N78gXbBjxed7oA=
 golang.org/x/sync v0.24.0/go.mod 
h1:sUUOizhqBxiL6pEWpqNLUiaJn1ShEbZ6BBqskPbjZm0=
 golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod 
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -443,28 +425,15 @@
 golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod 
h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/sys v0.49.0 h1:XbzkgYJHdqh/8m2Uu0W/dQv8nktxx4BFHp1M0gROTXA=
 golang.org/x/sys v0.49.0/go.mod h1:hNLxWAXmnKAxqDtdwIYC4bM9oQPEecfsnNMuSxOs3og=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod 
h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
-golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod 
h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
-golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
-golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
-golang.org/x/term v0.17.0/go.mod 
h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
 golang.org/x/term v0.47.0 h1:cpyOwQkr2Nzxe2p6KnrTG7Ei2wtzjsuSjhpXXepZ/BM=
 golang.org/x/term v0.47.0/go.mod 
h1:efAfAuG6RKABvg1ArGebRkvX6LXul14SM67o2e4mUCY=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
-golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
-golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
-golang.org/x/text v0.14.0/go.mod 
h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
 golang.org/x/text v0.43.0 h1:1QivrlhwAsnMOcqgOdl9my7s9OyZl8O5/UGUTJVXoWc=
 golang.org/x/text v0.43.0/go.mod 
h1:hbSIYA/amXcRXTFSZqh8tWHEoqRvvbKPJ2uz/KU+a+s=
 golang.org/x/time v0.16.0 h1:vMb6ptszcQMkcwiRTAuNNU50gom6++Q/6gY2hDM6VDE=
@@ -474,17 +443,13 @@
 golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod 
h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
 golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod 
h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
 golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod 
h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
-golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod 
h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.1.12/go.mod 
h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
-golang.org/x/tools v0.6.0/go.mod 
h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
 golang.org/x/tools v0.51.0 h1:k4Xc/1Om9jwkBJBo4NVLMSARBoWtK10mx+W5BnXCeAI=
 golang.org/x/tools v0.51.0/go.mod 
h1:9eEncMayCV6zRMGhR5eZEC2iBx98qWcF1HZ9Z7wJOoA=
-golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod 
h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod 
h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4=
 gonum.org/v1/gonum v0.17.0/go.mod 
h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E=
-google.golang.org/api v0.305.0 h1:2+f87RXv3l6Rom0t2GN0zOr2dV+LqOKnxSFVOUEurnc=
-google.golang.org/api v0.305.0/go.mod 
h1:dcjRWAy1QdjGb3Z67Qu0gdBWH2gL8Qoy/RI2ZVuvdeE=
+google.golang.org/api v0.308.0 h1:iGb+4qT3nVb3uuIzwor3yP2nyu+rMZr31PvLFiRNJQk=
+google.golang.org/api v0.308.0/go.mod 
h1:4XMH+b/ZEfuTbK7FnrFRY9c4xfFHVflGTKuy/i5wUmE=
 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=
@@ -494,8 +459,8 @@
 google.golang.org/genproto v0.0.0-20260715232425-e75dac1f907d/go.mod 
h1:Wz2wFJntZFmLGo7pLDXZ3wYk5hyc0Mb+SkHhDDXT+lU=
 google.golang.org/genproto/googleapis/api v0.0.0-20260928230214-8a89bd6388cc 
h1:rZHRz0ogq4Pid1IKtA/ivHi8XONVF5tqUQXA2TtgpkE=
 google.golang.org/genproto/googleapis/api 
v0.0.0-20260928230214-8a89bd6388cc/go.mod 
h1:K/n0XLazCJHjD73YuMyNJsN38BPPy1kfFnKxUXaThFU=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20261005182115-fad411399dd8 
h1:0SXBqli5dnuCKMjI/X3FM226zEaEa0GUcSCJtN1vL2o=
-google.golang.org/genproto/googleapis/rpc 
v0.0.0-20261005182115-fad411399dd8/go.mod 
h1:OaIUM3+LpYcK2GXM4FTmhWoIq371Owdr+Cc7/BsYHHc=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20261019180522-ce908d29299b 
h1:6WNWHZk91dp4gZ25642OALkuG1UVNZbwENJD19DnB8k=
+google.golang.org/genproto/googleapis/rpc 
v0.0.0-20261019180522-ce908d29299b/go.mod 
h1:OaIUM3+LpYcK2GXM4FTmhWoIq371Owdr+Cc7/BsYHHc=
 google.golang.org/grpc v1.19.0/go.mod 
h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.23.0/go.mod 
h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
 google.golang.org/grpc v1.25.1/go.mod 
h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/melange-0.64.0/pkg/build/build.go 
new/melange-0.64.1/pkg/build/build.go
--- old/melange-0.64.0/pkg/build/build.go       2026-10-30 23:31:25.000000000 
+0100
+++ new/melange-0.64.1/pkg/build/build.go       2026-11-06 22:47:09.000000000 
+0100
@@ -714,6 +714,10 @@
                }()
        }
 
+       if err := pr.runner.Run(ctx, pr.config, map[string]string{}, 
append(shellLinkClangConfigs, WorkDir)...); err != nil {
+               log.Warnf("unable to link clang configs into $HOME, clang links 
will miss --package-metadata: %v", err)
+       }
+
        // run the main pipeline
        log.Debug("running the main pipeline")
        pipelines := b.Configuration.Pipeline
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/melange-0.64.0/pkg/build/compiler_config.go 
new/melange-0.64.1/pkg/build/compiler_config.go
--- old/melange-0.64.0/pkg/build/compiler_config.go     2026-10-30 
23:31:25.000000000 +0100
+++ new/melange-0.64.1/pkg/build/compiler_config.go     2026-11-06 
22:47:09.000000000 +0100
@@ -187,6 +187,31 @@
        return nil
 }
 
+// shellLinkClangConfigs links the clang driver configs createClangConfigFiles
+// wrote under the workspace into $HOME/.config, where clang reads user
+// configs. The qemu runner sends HOME=/home/build, but sshd resets HOME from
+// the passwd entry, so root builds with HOME=/root and clang would never read
+// the configs: every clang link would miss --package-metadata. Separating
+// $HOME from the build root for every runner (melange#2550) would remove the
+// need for this. It links whole directories, not files, because each cfg
+// includes ../../.melange.clang.cfg relative to its own location. It leaves an
+// existing entry alone and never fails the build: a missing note is no worse
+// than before.
+var shellLinkClangConfigs = []string{
+       "sh", "-c",
+       `w="$1"
+[ $# -eq 1 ] || { echo "must provide workspace dir. got $# args."; exit 1; }
+[ -n "$HOME" ] && [ -d "$w/.config" ] || exit 0
+mkdir -p "$HOME/.config" || { echo "cannot create $HOME/.config; clang links 
will miss --package-metadata" >&2; exit 0; }
+for d in "$w"/.config/clang-*; do
+  [ -d "$d" ] || continue
+  t="$HOME/.config/${d##*/}"
+  [ -e "$t" ] || [ -L "$t" ] || ln -s "$d" "$t" || echo "could not link $d to 
$t" >&2
+done
+exit 0`,
+       "shellLinkClangConfigs",
+}
+
 // For now, just the gcc spec file and clang config files with link settings.
 // In the future can control debug symbol generation, march/mtune, etc.
 func (b *Build) createCompilerConfigFiles(ctx context.Context) error {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/melange-0.64.0/pkg/build/compiler_config_test.go 
new/melange-0.64.1/pkg/build/compiler_config_test.go
--- old/melange-0.64.0/pkg/build/compiler_config_test.go        2026-10-30 
23:31:25.000000000 +0100
+++ new/melange-0.64.1/pkg/build/compiler_config_test.go        2026-11-06 
22:47:09.000000000 +0100
@@ -18,6 +18,7 @@
        "context"
        "fmt"
        "os"
+       "os/exec"
        "path/filepath"
        "strings"
        "testing"
@@ -352,3 +353,73 @@
                assert.FileExists(t, clangMinX86ClangCfg)
        })
 }
+
+func runLinkClangConfigs(t *testing.T, workspace, home string) {
+       t.Helper()
+       args := append(append([]string{}, shellLinkClangConfigs[1:]...), 
workspace)
+       cmd := exec.Command(shellLinkClangConfigs[0], args...)
+       cmd.Env = []string{"HOME=" + home, "PATH=" + os.Getenv("PATH")}
+       out, err := cmd.CombinedOutput()
+       require.NoError(t, err, string(out))
+}
+
+func TestShellLinkClangConfigs(t *testing.T) {
+       t.Run("links each clang config dir into a separate home", func(t 
*testing.T) {
+               workspace, home := t.TempDir(), t.TempDir()
+               for _, v := range []string{"clang-22", "clang-23"} {
+                       require.NoError(t, os.MkdirAll(filepath.Join(workspace, 
".config", v), 0o755))
+               }
+               require.NoError(t, os.MkdirAll(filepath.Join(workspace, 
".config", "other"), 0o755))
+
+               runLinkClangConfigs(t, workspace, home)
+
+               for _, v := range []string{"clang-22", "clang-23"} {
+                       target, err := os.Readlink(filepath.Join(home, 
".config", v))
+                       require.NoError(t, err)
+                       assert.Equal(t, filepath.Join(workspace, ".config", v), 
target)
+               }
+               _, err := os.Lstat(filepath.Join(home, ".config", "other"))
+               assert.True(t, os.IsNotExist(err), "only clang-* dirs are 
linked")
+       })
+
+       t.Run("home is the workspace", func(t *testing.T) {
+               workspace := t.TempDir()
+               dir := filepath.Join(workspace, ".config", "clang-23")
+               require.NoError(t, os.MkdirAll(dir, 0o755))
+
+               runLinkClangConfigs(t, workspace, workspace)
+
+               fi, err := os.Lstat(dir)
+               require.NoError(t, err)
+               assert.True(t, fi.IsDir(), "the workspace's own config dir is 
left as is")
+       })
+
+       t.Run("an existing entry in home is kept", func(t *testing.T) {
+               workspace, home := t.TempDir(), t.TempDir()
+               require.NoError(t, os.MkdirAll(filepath.Join(workspace, 
".config", "clang-23"), 0o755))
+               own := filepath.Join(home, ".config", "clang-23")
+               require.NoError(t, os.MkdirAll(own, 0o755))
+
+               runLinkClangConfigs(t, workspace, home)
+
+               fi, err := os.Lstat(own)
+               require.NoError(t, err)
+               assert.True(t, fi.IsDir())
+       })
+
+       t.Run("a home that cannot hold .config does not fail", func(t 
*testing.T) {
+               workspace := t.TempDir()
+               require.NoError(t, os.MkdirAll(filepath.Join(workspace, 
".config", "clang-23"), 0o755))
+
+               runLinkClangConfigs(t, workspace, "/dev/null")
+       })
+
+       t.Run("no clang configs in the workspace", func(t *testing.T) {
+               workspace, home := t.TempDir(), t.TempDir()
+
+               runLinkClangConfigs(t, workspace, home)
+
+               _, err := os.Lstat(filepath.Join(home, ".config"))
+               assert.True(t, os.IsNotExist(err))
+       })
+}

++++++ melange.obsinfo ++++++
--- /var/tmp/diff_new_pack.FN2ipE/_old  2026-11-09 16:06:14.358826200 +0100
+++ /var/tmp/diff_new_pack.FN2ipE/_new  2026-11-09 16:06:14.360826284 +0100
@@ -1,5 +1,5 @@
 name: melange
-version: 0.64.0
-mtime: 1793399485
-commit: 17d824ea19fdb2f6224905973ec052fd5ba0f029
+version: 0.64.1
+mtime: 1794001629
+commit: 76b6e9581635adca199571e8ea6ca6691dc46f8c
 

++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/melange/vendor.tar.gz 
/work/SRC/openSUSE:Factory/.melange.new.3759290/vendor.tar.gz differ: char 13, 
line 1

Reply via email to