diff --git a/packages/_/_project/_staging_workflow b/packages/_/_project/_staging_workflow index d2f2d788b32..4fd8a999c06 100644 --- a/packages/_/_project/_staging_workflow +++ b/packages/_/_project/_staging_workflow @@ -66,7 +66,6 @@ - @@ -111,44 +110,16 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + diff --git a/packages/b/bind/.files b/packages/b/bind/.files index 20a4c1bf168..1ddd802544e 100644 Binary files a/packages/b/bind/.files and b/packages/b/bind/.files differ diff --git a/packages/b/bind/.rev b/packages/b/bind/.rev index b3d4b27d6bf..8545729f3a0 100644 --- a/packages/b/bind/.rev +++ b/packages/b/bind/.rev @@ -2429,4 +2429,13 @@ New Features - Update to release 9.20.3 1216662 + + 3ae6141e4557acb978a2c9288722f21b + 9.20.3 + + anag+factory + - update root hints file to 2024-11-20 version (boo#1234406) + + 1231270 + diff --git a/packages/b/bind/bind.changes b/packages/b/bind/bind.changes index 4bb327005de..7f0ab5cce6b 100644 --- a/packages/b/bind/bind.changes +++ b/packages/b/bind/bind.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Dec 12 09:54:08 UTC 2024 - Andreas Stieger + +- update root hints file to 2024-11-20 version (boo#1234406) + ------------------------------------------------------------------- Mon Oct 21 08:42:47 UTC 2024 - Jorik Cronenberg diff --git a/packages/b/bind/bind.spec b/packages/b/bind/bind.spec index 17c233c109a..eeacb4a3d1d 100644 --- a/packages/b/bind/bind.spec +++ b/packages/b/bind/bind.spec @@ -2,6 +2,7 @@ # spec file for package bind # # Copyright (c) 2024 SUSE LLC +# Copyright (c) 2024 Andreas Stieger # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -67,7 +68,7 @@ Source1: https://downloads.isc.org/isc/bind9/%{version}/bind-%{version}.t Source2: vendor-files.tar.bz2 # from http://www.isc.org/about/openpgp/ ... changes yearly apparently. Source3: %{name}.keyring -Source9: ftp://ftp.internic.net/domain/named.root +Source9: https://www.internic.net/domain/named.root Source40: dnszone-schema.txt Source60: dlz-schema.txt # configuration file for systemd-tmpfiles diff --git a/packages/b/bind/named.root b/packages/b/bind/named.root index a86caeff8f8..ffc8068e2c1 100644 --- a/packages/b/bind/named.root +++ b/packages/b/bind/named.root @@ -9,8 +9,8 @@ ; on server FTP.INTERNIC.NET ; -OR- RS.INTERNIC.NET ; -; last update: July 28, 2021 -; related version of root zone: 2021072802 +; last update: November 20, 2024 +; related version of root zone: 2024112001 ; ; FORMERLY NS.INTERNIC.NET ; @@ -21,8 +21,8 @@ A.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:ba3e::2:30 ; FORMERLY NS1.ISI.EDU ; . 3600000 NS B.ROOT-SERVERS.NET. -B.ROOT-SERVERS.NET. 3600000 A 199.9.14.201 -B.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:200::b +B.ROOT-SERVERS.NET. 3600000 A 170.247.170.2 +B.ROOT-SERVERS.NET. 3600000 AAAA 2801:1b8:10::b ; ; FORMERLY C.PSI.NET ; diff --git a/packages/b/buildpacks-cli/.files b/packages/b/buildpacks-cli/.files index bfa5e0bc635..074f21ff5cf 100644 Binary files a/packages/b/buildpacks-cli/.files and b/packages/b/buildpacks-cli/.files differ diff --git a/packages/b/buildpacks-cli/.rev b/packages/b/buildpacks-cli/.rev index 47231cef65a..f215bd99efd 100644 --- a/packages/b/buildpacks-cli/.rev +++ b/packages/b/buildpacks-cli/.rev @@ -23,4 +23,12 @@ 1226877 + + 2ef120a64e52f580a2543e11195926d1 + 0.36.1 + + anag+factory + + 1231796 + diff --git a/packages/b/buildpacks-cli/_service b/packages/b/buildpacks-cli/_service index 90d3ed0a6f6..c5358c147ed 100644 --- a/packages/b/buildpacks-cli/_service +++ b/packages/b/buildpacks-cli/_service @@ -3,7 +3,7 @@ https://github.com/buildpacks/pack git .git - v0.36.0 + v0.36.1 @PARENT_TAG@ v(.*) enable diff --git a/packages/b/buildpacks-cli/_servicedata b/packages/b/buildpacks-cli/_servicedata index 2281a4218e6..ccb84fb8ce7 100644 --- a/packages/b/buildpacks-cli/_servicedata +++ b/packages/b/buildpacks-cli/_servicedata @@ -1,4 +1,4 @@ https://github.com/buildpacks/pack - 92bc87b297695e4ac6baf559bad2efd55aecec1f \ No newline at end of file + 852fcaa56aefd5a0252c7292a8dc349ac00648fd \ No newline at end of file diff --git a/packages/b/buildpacks-cli/buildpacks-cli-0.36.0.obscpio b/packages/b/buildpacks-cli/buildpacks-cli-0.36.0.obscpio deleted file mode 120000 index b3f16cd81dc..00000000000 --- a/packages/b/buildpacks-cli/buildpacks-cli-0.36.0.obscpio +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeielk6yeb4muu5j55ga5bapq6jfsyupoavynfzjn5rvvr3rkbjgasy \ No newline at end of file diff --git a/packages/b/buildpacks-cli/buildpacks-cli-0.36.1.obscpio b/packages/b/buildpacks-cli/buildpacks-cli-0.36.1.obscpio new file mode 120000 index 00000000000..5813288b9fe --- /dev/null +++ b/packages/b/buildpacks-cli/buildpacks-cli-0.36.1.obscpio @@ -0,0 +1 @@ +/ipfs/bafybeierbcjzra4ioonp5yol6wjsn467zpkugevl2r2mhvb2xnowkauusm \ No newline at end of file diff --git a/packages/b/buildpacks-cli/buildpacks-cli.changes b/packages/b/buildpacks-cli/buildpacks-cli.changes index 0d2c88c6ae8..b641af7c793 100644 --- a/packages/b/buildpacks-cli/buildpacks-cli.changes +++ b/packages/b/buildpacks-cli/buildpacks-cli.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Wed Dec 18 06:50:01 UTC 2024 - opensuse_buildservice@ojkastl.de + +- Update to version 0.36.1: + * build(deps): bump the go-dependencies group with 2 updates + * build(deps): bump the go-dependencies group with 7 updates + * Correct wording for `buildpack new` targets flag + * build(deps): bump the go-dependencies group across 1 directory + with 4 updates + * build(deps): bump buildpacks/github-actions from 5.8.1 to 5.8.3 + * acceptance tests on arm64 + ------------------------------------------------------------------- Wed Nov 27 09:55:16 UTC 2024 - opensuse_buildservice@ojkastl.de diff --git a/packages/b/buildpacks-cli/buildpacks-cli.obsinfo b/packages/b/buildpacks-cli/buildpacks-cli.obsinfo index 7be6683bda2..27820e7625f 100644 --- a/packages/b/buildpacks-cli/buildpacks-cli.obsinfo +++ b/packages/b/buildpacks-cli/buildpacks-cli.obsinfo @@ -1,4 +1,4 @@ name: buildpacks-cli -version: 0.36.0 -mtime: 1731609602 -commit: 92bc87b297695e4ac6baf559bad2efd55aecec1f +version: 0.36.1 +mtime: 1734444804 +commit: 852fcaa56aefd5a0252c7292a8dc349ac00648fd diff --git a/packages/b/buildpacks-cli/buildpacks-cli.spec b/packages/b/buildpacks-cli/buildpacks-cli.spec index 58c716be2ab..d30ca464371 100644 --- a/packages/b/buildpacks-cli/buildpacks-cli.spec +++ b/packages/b/buildpacks-cli/buildpacks-cli.spec @@ -19,7 +19,7 @@ %define executable_name pack Name: buildpacks-cli -Version: 0.36.0 +Version: 0.36.1 Release: 0 Summary: CLI for building apps using Cloud Native Buildpacks License: Apache-2.0 diff --git a/packages/b/buildpacks-cli/vendor.tar.gz b/packages/b/buildpacks-cli/vendor.tar.gz index 64703d3e0ca..3ba4792f992 120000 --- a/packages/b/buildpacks-cli/vendor.tar.gz +++ b/packages/b/buildpacks-cli/vendor.tar.gz @@ -1 +1 @@ -/ipfs/bafybeigprpz4fkdhd3mhqqjgimlignlvqd35xmezx362s24dndbzt6leoq \ No newline at end of file +/ipfs/bafybeigeq4uuwxy23g72kn2jrfapb2gdohlkdwvdxariq5upshgcnqcjpm \ No newline at end of file diff --git a/packages/c/CastXML/.files b/packages/c/CastXML/.files index 98064146bf2..07021a209a0 100644 Binary files a/packages/c/CastXML/.files and b/packages/c/CastXML/.files differ diff --git a/packages/c/CastXML/.rev b/packages/c/CastXML/.rev index 61867a5d428..ea4b12f2ccd 100644 --- a/packages/c/CastXML/.rev +++ b/packages/c/CastXML/.rev @@ -167,4 +167,16 @@ test: Fix expected cc-gnu predefined macro ordering (πŸ€–: Submission of CastXML via https://src.opensuse.org/pool/CastXML/pulls/2 by badshah400) 1189090 + + c013aadb8e4f1d80ee907435f8fd7b04 + 0.6.10 + + anag+factory + Update to version 0.6.10. + + + +(πŸ€–: Submission of CastXML via https://src.opensuse.org/pool/CastXML/pulls/3 by badshah400) + 1231860 + diff --git a/packages/c/CastXML/CastXML-0.6.10.tar.gz b/packages/c/CastXML/CastXML-0.6.10.tar.gz new file mode 120000 index 00000000000..ec3c8a2837c --- /dev/null +++ b/packages/c/CastXML/CastXML-0.6.10.tar.gz @@ -0,0 +1 @@ +/ipfs/bafkreigyjgfttngphvlwoesuavqbhxqxp5d7y6rgqpy2kmcjvocu3bnnku \ No newline at end of file diff --git a/packages/c/CastXML/CastXML-0.6.8.tar.gz b/packages/c/CastXML/CastXML-0.6.8.tar.gz deleted file mode 120000 index 24c36722c56..00000000000 --- a/packages/c/CastXML/CastXML-0.6.8.tar.gz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafkreifvc6u5ddo3p5y3hmctv5q7yoj53aprpei6nrwvhkc7h5jdxkfnmq \ No newline at end of file diff --git a/packages/c/CastXML/CastXML.changes b/packages/c/CastXML/CastXML.changes index 1b7bf6fe051..8e25cc2eb91 100644 --- a/packages/c/CastXML/CastXML.changes +++ b/packages/c/CastXML/CastXML.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Dec 18 11:02:22 UTC 2024 - Atri Bhattacharya + +- Update to version 0.6.10: + * Enable -fsized-deallocation when simulated compiler does. + * cmake: bump minimum required version to 3.10. + ------------------------------------------------------------------- Mon Jul 22 17:59:59 UTC 2024 - Atri Bhattacharya diff --git a/packages/c/CastXML/CastXML.spec b/packages/c/CastXML/CastXML.spec index bd38a114363..9b2639e10cf 100644 --- a/packages/c/CastXML/CastXML.spec +++ b/packages/c/CastXML/CastXML.spec @@ -17,7 +17,7 @@ Name: CastXML -Version: 0.6.8 +Version: 0.6.10 Release: 0 Summary: C-family Abstract Syntax Tree XML Output License: Apache-2.0 diff --git a/packages/c/CastXML/_scmsync.obsinfo b/packages/c/CastXML/_scmsync.obsinfo index 2b476d43ab0..ee8da6b1a65 100644 --- a/packages/c/CastXML/_scmsync.obsinfo +++ b/packages/c/CastXML/_scmsync.obsinfo @@ -1,4 +1,4 @@ -mtime: 1721671220 -commit: 3d33fbffcd9d8c39a7b1109fd12cd13643402961dc72250017ea2232cddc1075 +mtime: 1734519880 +commit: b0c0c1ae8ea83e42a5d2a7ce8177f151af82065ab462a7ed26161d2e95dac536 url: https://src.opensuse.org/badshah400/CastXML.git -revision: 3d33fbffcd9d8c39a7b1109fd12cd13643402961dc72250017ea2232cddc1075 +revision: b0c0c1ae8ea83e42a5d2a7ce8177f151af82065ab462a7ed26161d2e95dac536 diff --git a/packages/c/CastXML/build.specials.obscpio b/packages/c/CastXML/build.specials.obscpio index 7112180b8cd..cf2ffaeef14 120000 --- a/packages/c/CastXML/build.specials.obscpio +++ b/packages/c/CastXML/build.specials.obscpio @@ -1 +1 @@ -/ipfs/bafkreidmwslncxpsrih635e4waivucmtbtuzlq2wovlykpvyxdakzpouia \ No newline at end of file +/ipfs/bafkreig5qyoebtqvxqkmloefvc2fqv5njrd26sknxwhdkjbappvay7dnxi \ No newline at end of file diff --git a/packages/c/clusterctl/.files b/packages/c/clusterctl/.files index eaa2d087fb5..f0bbe44cf90 100644 Binary files a/packages/c/clusterctl/.files and b/packages/c/clusterctl/.files differ diff --git a/packages/c/clusterctl/.rev b/packages/c/clusterctl/.rev index b1b5338b9d8..2ea1b57f889 100644 --- a/packages/c/clusterctl/.rev +++ b/packages/c/clusterctl/.rev @@ -63,4 +63,12 @@ 1230267 + + 9d3d14d3688e307f9786cbf6cab7d23e + 1.9.1 + + anag+factory + + 1231794 + diff --git a/packages/c/clusterctl/_service b/packages/c/clusterctl/_service index 1a450661641..64cd8154193 100644 --- a/packages/c/clusterctl/_service +++ b/packages/c/clusterctl/_service @@ -3,7 +3,7 @@ https://github.com/kubernetes-sigs/cluster-api git .git - v1.9.0 + v1.9.1 @PARENT_TAG@ v(.*) enable diff --git a/packages/c/clusterctl/_servicedata b/packages/c/clusterctl/_servicedata index f1ee5e2ffd1..0be9b7e82d9 100644 --- a/packages/c/clusterctl/_servicedata +++ b/packages/c/clusterctl/_servicedata @@ -1,4 +1,4 @@ https://github.com/kubernetes-sigs/cluster-api - e5c96a612bb9e5fca8439bb024e73840205bc4d8 \ No newline at end of file + b04c79ca02d3bed23c84115e5c42fa3de1a163dc \ No newline at end of file diff --git a/packages/c/clusterctl/clusterctl-1.9.0.obscpio b/packages/c/clusterctl/clusterctl-1.9.0.obscpio deleted file mode 120000 index 2280a835f98..00000000000 --- a/packages/c/clusterctl/clusterctl-1.9.0.obscpio +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeidnr7jiqgoqkz2uhjrfvox55gtkfwlv7ow52er64i33t6pzrkbf5e \ No newline at end of file diff --git a/packages/c/clusterctl/clusterctl-1.9.1.obscpio b/packages/c/clusterctl/clusterctl-1.9.1.obscpio new file mode 120000 index 00000000000..fffafe5188b --- /dev/null +++ b/packages/c/clusterctl/clusterctl-1.9.1.obscpio @@ -0,0 +1 @@ +/ipfs/bafybeigm35u7tf7loiti45rktfc3q2jo3smiova4zo676jmsjitvbzmzdy \ No newline at end of file diff --git a/packages/c/clusterctl/clusterctl.changes b/packages/c/clusterctl/clusterctl.changes index cdccea0e7a5..7296cbbbd83 100644 --- a/packages/c/clusterctl/clusterctl.changes +++ b/packages/c/clusterctl/clusterctl.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Wed Dec 18 06:41:11 UTC 2024 - opensuse_buildservice@ojkastl.de + +- Update to version 1.9.1: + * Update version page + * CONTRIBUTING.md fix dead links + * Bump golang.org/x/net + * Bump golang.org/x/crypto + * book: fix versions.md for v1.32 + * Set v1.7 EOL date and update CoreDns version table + * Allow scalability to have custom deletion timeout + * Bump default kind image to v1.32.0 + * machine: remove solved todo comment + * Bump Kubernetes in tests to v1.32.0 and claim support for v1.32 + * πŸ“– Update clusterctl version to v1.9.x in quick start + * πŸ“– add release 1.8 book link + ------------------------------------------------------------------- Wed Dec 11 08:49:50 UTC 2024 - opensuse_buildservice@ojkastl.de diff --git a/packages/c/clusterctl/clusterctl.obsinfo b/packages/c/clusterctl/clusterctl.obsinfo index 495ba82df43..98cf829aa5f 100644 --- a/packages/c/clusterctl/clusterctl.obsinfo +++ b/packages/c/clusterctl/clusterctl.obsinfo @@ -1,4 +1,4 @@ name: clusterctl -version: 1.9.0 -mtime: 1733754363 -commit: e5c96a612bb9e5fca8439bb024e73840205bc4d8 +version: 1.9.1 +mtime: 1734445731 +commit: b04c79ca02d3bed23c84115e5c42fa3de1a163dc diff --git a/packages/c/clusterctl/clusterctl.spec b/packages/c/clusterctl/clusterctl.spec index dbbb6b2ab76..8a8f686363e 100644 --- a/packages/c/clusterctl/clusterctl.spec +++ b/packages/c/clusterctl/clusterctl.spec @@ -20,7 +20,7 @@ %define version_git_minor 8 Name: clusterctl -Version: 1.9.0 +Version: 1.9.1 Release: 0 Summary: CLI tool to handle the lifecycle of a Cluster API management cluster License: Apache-2.0 diff --git a/packages/c/clusterctl/vendor.tar.gz b/packages/c/clusterctl/vendor.tar.gz index fd3924050c3..d6b6dbc73d6 120000 --- a/packages/c/clusterctl/vendor.tar.gz +++ b/packages/c/clusterctl/vendor.tar.gz @@ -1 +1 @@ -/ipfs/bafybeia7axozaj63zezmb7fzbe2g67q2u3kuv5gojovlr3kk5iup4agj4m \ No newline at end of file +/ipfs/bafybeicnkhjjnhod5tpnilvwoswgpktaifeyuls6ulrhpdsb6sxllclvoq \ No newline at end of file diff --git a/packages/c/crossplane-cli/.files b/packages/c/crossplane-cli/.files index 8ca3c151bb2..a7bface0c4f 100644 Binary files a/packages/c/crossplane-cli/.files and b/packages/c/crossplane-cli/.files differ diff --git a/packages/c/crossplane-cli/.rev b/packages/c/crossplane-cli/.rev index d2a7a4016bc..08653b3d1f7 100644 --- a/packages/c/crossplane-cli/.rev +++ b/packages/c/crossplane-cli/.rev @@ -31,4 +31,12 @@ 1227327 + + 5eab0aaf25e1486f21cda67c223b38bd + 1.18.2 + + anag+factory + + 1231791 + diff --git a/packages/c/crossplane-cli/_service b/packages/c/crossplane-cli/_service index 76e15bd9cf0..2ffb35b440d 100644 --- a/packages/c/crossplane-cli/_service +++ b/packages/c/crossplane-cli/_service @@ -3,7 +3,7 @@ https://github.com/crossplane/crossplane git .git - v1.18.1 + v1.18.2 @PARENT_TAG@ v(.*) enable diff --git a/packages/c/crossplane-cli/_servicedata b/packages/c/crossplane-cli/_servicedata index 8e8cdf0cc96..bc83bbba956 100644 --- a/packages/c/crossplane-cli/_servicedata +++ b/packages/c/crossplane-cli/_servicedata @@ -1,4 +1,4 @@ https://github.com/crossplane/crossplane - 0ca82e4f152067f69af11d907ab7b4a0a21fed37 \ No newline at end of file + ebadfb3ef7985ba0f1fe3ffc1b5d90e526a0c5d5 \ No newline at end of file diff --git a/packages/c/crossplane-cli/crossplane-cli-1.18.1.obscpio b/packages/c/crossplane-cli/crossplane-cli-1.18.1.obscpio deleted file mode 120000 index 8360c9bb033..00000000000 --- a/packages/c/crossplane-cli/crossplane-cli-1.18.1.obscpio +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeica7s2kzjifrk2ogqjss56brfiv2eomrh7fzj2j2gnrkdk2kmzhum \ No newline at end of file diff --git a/packages/c/crossplane-cli/crossplane-cli-1.18.2.obscpio b/packages/c/crossplane-cli/crossplane-cli-1.18.2.obscpio new file mode 120000 index 00000000000..8004bb43ba9 --- /dev/null +++ b/packages/c/crossplane-cli/crossplane-cli-1.18.2.obscpio @@ -0,0 +1 @@ +/ipfs/bafybeigetue2o5lwpzol7anty5n5ci2truchcykk62do4uyrj2dxvcslg4 \ No newline at end of file diff --git a/packages/c/crossplane-cli/crossplane-cli.changes b/packages/c/crossplane-cli/crossplane-cli.changes index fb826704ba0..a5502249a1c 100644 --- a/packages/c/crossplane-cli/crossplane-cli.changes +++ b/packages/c/crossplane-cli/crossplane-cli.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Dec 18 06:30:23 UTC 2024 - opensuse_buildservice@ojkastl.de + +- Update to version 1.18.2: + no CLI-related changes in changelog + ------------------------------------------------------------------- Fri Nov 29 12:22:37 UTC 2024 - opensuse_buildservice@ojkastl.de diff --git a/packages/c/crossplane-cli/crossplane-cli.obsinfo b/packages/c/crossplane-cli/crossplane-cli.obsinfo index 0139dcb28af..4ae905302c3 100644 --- a/packages/c/crossplane-cli/crossplane-cli.obsinfo +++ b/packages/c/crossplane-cli/crossplane-cli.obsinfo @@ -1,4 +1,4 @@ name: crossplane-cli -version: 1.18.1 -mtime: 1732873193 -commit: 0ca82e4f152067f69af11d907ab7b4a0a21fed37 +version: 1.18.2 +mtime: 1734453905 +commit: ebadfb3ef7985ba0f1fe3ffc1b5d90e526a0c5d5 diff --git a/packages/c/crossplane-cli/crossplane-cli.spec b/packages/c/crossplane-cli/crossplane-cli.spec index 3f1404d8d59..d8ff5188f39 100644 --- a/packages/c/crossplane-cli/crossplane-cli.spec +++ b/packages/c/crossplane-cli/crossplane-cli.spec @@ -21,7 +21,7 @@ %define executable_name crossplane Name: crossplane-cli -Version: 1.18.1 +Version: 1.18.2 Release: 0 Summary: The Cloud Native Control Plane License: Apache-2.0 diff --git a/packages/c/crossplane-cli/vendor.tar.gz b/packages/c/crossplane-cli/vendor.tar.gz index e1e7f2cd748..eecbadd0127 120000 --- a/packages/c/crossplane-cli/vendor.tar.gz +++ b/packages/c/crossplane-cli/vendor.tar.gz @@ -1 +1 @@ -/ipfs/bafybeidemjbwranh4r3ltmhn2rq2tmbmvc5mpofast3k3vhurx2tpm7h5u \ No newline at end of file +/ipfs/bafybeigz3c3xterdq2a5mzxagr7yvurmylu4nu4dhh5jtdc4rv5zviybzm \ No newline at end of file diff --git a/packages/d/docker-stable/.files b/packages/d/docker-stable/.files index 09c42436617..d571b6dc9b6 100644 Binary files a/packages/d/docker-stable/.files and b/packages/d/docker-stable/.files differ diff --git a/packages/d/docker-stable/.rev b/packages/d/docker-stable/.rev index cb61912bfc2..4138af74910 100644 --- a/packages/d/docker-stable/.rev +++ b/packages/d/docker-stable/.rev @@ -39,4 +39,12 @@ 1231697 + + e051f90cec8e6d114cc12424456625c3 + unknown + + anag+factory + + 1231782 + diff --git a/packages/d/docker-stable/0001-SECRETS-daemon-allow-directory-creation-in-run-secre.patch b/packages/d/docker-stable/0001-SECRETS-daemon-allow-directory-creation-in-run-secre.patch index a079aa73c39..fb2570b178f 100644 --- a/packages/d/docker-stable/0001-SECRETS-daemon-allow-directory-creation-in-run-secre.patch +++ b/packages/d/docker-stable/0001-SECRETS-daemon-allow-directory-creation-in-run-secre.patch @@ -1,7 +1,7 @@ From a94378d92f7ef523b17aa399ce83b27f7986980f Mon Sep 17 00:00:00 2001 From: Aleksa Sarai Date: Wed, 8 Mar 2017 12:41:54 +1100 -Subject: [PATCH 01/13] SECRETS: daemon: allow directory creation in +Subject: [PATCH 01/11] SECRETS: daemon: allow directory creation in /run/secrets Since FileMode can have the directory bit set, allow a SecretStore @@ -70,5 +70,5 @@ index 290ec59a34a7..b7013fb89c83 100644 return errors.Wrap(err, "error setting ownership for secret") } -- -2.47.0 +2.47.1 diff --git a/packages/d/docker-stable/0002-SECRETS-SUSE-implement-SUSE-container-secrets.patch b/packages/d/docker-stable/0002-SECRETS-SUSE-implement-SUSE-container-secrets.patch index 751c33eb162..ef143c05734 100644 --- a/packages/d/docker-stable/0002-SECRETS-SUSE-implement-SUSE-container-secrets.patch +++ b/packages/d/docker-stable/0002-SECRETS-SUSE-implement-SUSE-container-secrets.patch @@ -1,7 +1,7 @@ From 009cad241857541779baa2a9fae8291597dc85f8 Mon Sep 17 00:00:00 2001 From: Aleksa Sarai Date: Wed, 8 Mar 2017 11:43:29 +1100 -Subject: [PATCH 02/10] SECRETS: SUSE: implement SUSE container secrets +Subject: [PATCH 02/11] SECRETS: SUSE: implement SUSE container secrets This allows for us to pass in host credentials to a container, allowing for SUSEConnect to work with containers. diff --git a/packages/d/docker-stable/0003-BUILD-SLE12-revert-graphdriver-btrfs-use-kernel-UAPI.patch b/packages/d/docker-stable/0003-BUILD-SLE12-revert-graphdriver-btrfs-use-kernel-UAPI.patch index 724650c3d72..7f82386e0dc 100644 --- a/packages/d/docker-stable/0003-BUILD-SLE12-revert-graphdriver-btrfs-use-kernel-UAPI.patch +++ b/packages/d/docker-stable/0003-BUILD-SLE12-revert-graphdriver-btrfs-use-kernel-UAPI.patch @@ -1,7 +1,7 @@ -From 7824330a0012e6b1d9b00db40a7c58b42d6adbfd Mon Sep 17 00:00:00 2001 +From 3f1bda82f345cc919a70cf747cc8c6f094c9451a Mon Sep 17 00:00:00 2001 From: Aleksa Sarai Date: Mon, 22 May 2023 15:44:54 +1000 -Subject: [PATCH 03/13] BUILD: SLE12: revert "graphdriver/btrfs: use kernel +Subject: [PATCH 03/11] BUILD: SLE12: revert "graphdriver/btrfs: use kernel UAPI headers" This reverts commit 3208dcabdc8997340b255f5b880fef4e3f54580d. @@ -42,5 +42,5 @@ index d88efc4be2bb..4e976aa689cd 100644 static void set_name_btrfs_ioctl_vol_args_v2(struct btrfs_ioctl_vol_args_v2* btrfs_struct, const char* value) { snprintf(btrfs_struct->name, BTRFS_SUBVOL_NAME_MAX, "%s", value); -- -2.47.0 +2.47.1 diff --git a/packages/d/docker-stable/0004-bsc1073877-apparmor-clobber-docker-default-profile-o.patch b/packages/d/docker-stable/0004-bsc1073877-apparmor-clobber-docker-default-profile-o.patch index a4be870efc7..eca1bd14aa5 100644 --- a/packages/d/docker-stable/0004-bsc1073877-apparmor-clobber-docker-default-profile-o.patch +++ b/packages/d/docker-stable/0004-bsc1073877-apparmor-clobber-docker-default-profile-o.patch @@ -1,7 +1,7 @@ -From 5deaa3fad88f7a6d8d5d342e23d3e2027571b9e2 Mon Sep 17 00:00:00 2001 +From ba4df1cb80fa7956c148230193037a2b112a40a5 Mon Sep 17 00:00:00 2001 From: Aleksa Sarai Date: Fri, 29 Jun 2018 17:59:30 +1000 -Subject: [PATCH 04/13] bsc1073877: apparmor: clobber docker-default profile on +Subject: [PATCH 04/11] bsc1073877: apparmor: clobber docker-default profile on start In the process of making docker-default reloading far less expensive, @@ -85,5 +85,5 @@ index 585d85086f8d..6e4c6ad1ac01 100644 } -- -2.47.0 +2.47.1 diff --git a/packages/d/docker-stable/0005-SLE12-revert-apparmor-remove-version-conditionals-fr.patch b/packages/d/docker-stable/0005-SLE12-revert-apparmor-remove-version-conditionals-fr.patch index 0d36a511dfe..af036ded581 100644 --- a/packages/d/docker-stable/0005-SLE12-revert-apparmor-remove-version-conditionals-fr.patch +++ b/packages/d/docker-stable/0005-SLE12-revert-apparmor-remove-version-conditionals-fr.patch @@ -1,7 +1,7 @@ -From 6e3d78c8d9f569ed7142994a802e2bce988b59bf Mon Sep 17 00:00:00 2001 +From 0ca28257e81eed36ff840bff822ff7add3e2efa2 Mon Sep 17 00:00:00 2001 From: Aleksa Sarai Date: Wed, 11 Oct 2023 21:19:12 +1100 -Subject: [PATCH 05/13] SLE12: revert "apparmor: remove version-conditionals +Subject: [PATCH 05/11] SLE12: revert "apparmor: remove version-conditionals from template" This reverts the following commits: @@ -237,5 +237,5 @@ index 9f207e2014a8..626e5f6789a3 100644 } ` -- -2.47.0 +2.47.1 diff --git a/packages/d/docker-stable/0006-CVE-2024-23653-update-buildkit-to-include-CVE-patche.patch b/packages/d/docker-stable/0006-CVE-2024-2365x-update-buildkit-to-include-CVE-patche.patch similarity index 94% rename from packages/d/docker-stable/0006-CVE-2024-23653-update-buildkit-to-include-CVE-patche.patch rename to packages/d/docker-stable/0006-CVE-2024-2365x-update-buildkit-to-include-CVE-patche.patch index 59c36aedc8f..988effc4dde 100644 --- a/packages/d/docker-stable/0006-CVE-2024-23653-update-buildkit-to-include-CVE-patche.patch +++ b/packages/d/docker-stable/0006-CVE-2024-2365x-update-buildkit-to-include-CVE-patche.patch @@ -1,19 +1,21 @@ -From d3d04b94a209b056c30bec37ce9dd42f646ebd54 Mon Sep 17 00:00:00 2001 +From 5cf2e26f5a8b7fefc62db7a75e04939f8db1a742 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= Date: Tue, 13 Feb 2024 16:57:32 +0100 -Subject: [PATCH 06/13] CVE-2024-23653: update buildkit to include CVE patches +Subject: [PATCH 06/11] CVE-2024-2365x: update buildkit to include CVE patches MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -- https://github.com/moby/buildkit/pull/4638 -- https://github.com/moby/buildkit/pull/4639 -- https://github.com/moby/buildkit/pull/4640 + - https://github.com/moby/buildkit/pull/4638 + - https://github.com/moby/buildkit/pull/4639 + - https://github.com/moby/buildkit/pull/4640 + - Backported versions of the various CVE-2024-23650 patches. additionally change the version in builder/builder-next/worker/worker.go and adjust calls to NewGatewayFrontend() in builder/builder-next (Worker is no longer implementing the correct interface). +Fixes: CVE-2024-23650 CVE-2024-23651 CVE-2024-23652 CVE-2024-23653 Signed-off-by: Dan ČermΓ‘k Signed-off-by: Aleksa Sarai --- @@ -21,29 +23,36 @@ Signed-off-by: Aleksa Sarai builder/builder-next/worker/worker.go | 2 +- vendor.mod | 3 + vendor.sum | 797 +++++++----------- + .../moby/buildkit/control/control.go | 3 + .../moby/buildkit/executor/executor.go | 10 +- - .../moby/buildkit/executor/oci/spec.go | 30 +- + .../moby/buildkit/executor/oci/spec.go | 34 +- .../moby/buildkit/executor/oci/spec_linux.go | 57 ++ .../buildkit/executor/oci/spec_non_linux.go | 18 + .../buildkit/executor/oci/spec_windows.go | 11 + .../moby/buildkit/executor/stubs.go | 18 +- + .../exporter/containerimage/exptypes/parse.go | 14 + + .../exporter/containerimage/writer.go | 16 + .../moby/buildkit/frontend/frontend.go | 3 +- + .../frontend/gateway/client/attestation.go | 6 + .../buildkit/frontend/gateway/container.go | 9 +- .../frontend/gateway/forwarder/forward.go | 9 +- .../frontend/gateway/forwarder/frontend.go | 5 +- - .../moby/buildkit/frontend/gateway/gateway.go | 28 +- + .../moby/buildkit/frontend/gateway/gateway.go | 43 +- .../moby/buildkit/snapshot/localmounter.go | 35 +- .../buildkit/snapshot/localmounter_unix.go | 45 +- .../moby/buildkit/snapshot/snapshotter.go | 7 +- - .../moby/buildkit/solver/llbsolver/bridge.go | 52 ++ + .../moby/buildkit/solver/llbsolver/bridge.go | 60 ++ .../buildkit/solver/llbsolver/provenance.go | 2 +- - .../moby/buildkit/solver/llbsolver/solver.go | 2 +- + .../moby/buildkit/solver/llbsolver/solver.go | 25 +- .../moby/buildkit/solver/llbsolver/vertex.go | 14 +- + .../moby/buildkit/sourcepolicy/matcher.go | 3 + .../util/entitlements/entitlements.go | 20 + + .../util/tracing/transform/attribute.go | 21 +- + .../buildkit/util/tracing/transform/span.go | 23 +- .../github.com/moby/buildkit/worker/worker.go | 2 +- .../moby/buildkit/worker/workercontroller.go | 23 + vendor/modules.txt | 3 +- - 26 files changed, 615 insertions(+), 598 deletions(-) + 33 files changed, 740 insertions(+), 609 deletions(-) create mode 100644 vendor/github.com/moby/buildkit/executor/oci/spec_linux.go create mode 100644 vendor/github.com/moby/buildkit/executor/oci/spec_non_linux.go @@ -74,7 +83,7 @@ index 46fc83eb7402..2693b8fab180 100644 return control.NewController(control.Opt{ diff --git a/builder/builder-next/worker/worker.go b/builder/builder-next/worker/worker.go -index 3773b95c949a..210218bf5a37 100644 +index 3773b95c949a..64d7b9131b16 100644 --- a/builder/builder-next/worker/worker.go +++ b/builder/builder-next/worker/worker.go @@ -50,7 +50,7 @@ import ( @@ -82,26 +91,26 @@ index 3773b95c949a..210218bf5a37 100644 func init() { - version.Version = "v0.11.7+435cb77e369c" -+ version.Version = "v0.11.7+5d3afed3f7b4" ++ version.Version = "v0.11.7+cd804dd86389" } const labelCreatedAt = "buildkit/createdat" diff --git a/vendor.mod b/vendor.mod -index a1f8664e7d75..7946cbb75613 100644 +index a1f8664e7d75..2eb13746cacd 100644 --- a/vendor.mod +++ b/vendor.mod @@ -98,6 +98,9 @@ require ( resenje.org/singleflight v0.3.0 ) -+// github.com/cyphar/buildkit suse-stable-v24.0.9 -+replace github.com/moby/buildkit => github.com/cyphar/buildkit v0.0.0-20240814025459-5d3afed3f7b4 ++// github.com/SUSE/buildkit suse-stable-v24.0.9 ++replace github.com/moby/buildkit => github.com/SUSE/buildkit v0.0.0-20241218053907-cd804dd86389 + require ( cloud.google.com/go v0.102.1 // indirect github.com/agext/levenshtein v1.2.3 // indirect diff --git a/vendor.sum b/vendor.sum -index 11d3aa6860f2..a426cdb147ce 100644 +index 11d3aa6860f2..716245c80413 100644 --- a/vendor.sum +++ b/vendor.sum @@ -1,19 +1,13 @@ @@ -125,7 +134,7 @@ index 11d3aa6860f2..a426cdb147ce 100644 cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -@@ -69,109 +63,78 @@ cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9 +@@ -69,138 +63,100 @@ cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9 cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= code.cloudfoundry.org/clock v1.0.0 h1:kFXWQM4bxYvdBw2X8BbBeXwQNgfoWv1vqAk2ZZyBN2o= code.cloudfoundry.org/clock v1.0.0/go.mod h1:QD9Lzhd/ux6eNQVUDVRJX/RKTigpewimNYBi7ivZKY8= @@ -261,9 +270,11 @@ index 11d3aa6860f2..a426cdb147ce 100644 github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -@@ -179,28 +142,19 @@ github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdko + github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/RackSec/srslog v0.0.0-20180709174129-a4725f04ec91 h1:vX+gnvBc56EbWYrmlhYbFYRaeikAke1GL84N4BEYOFE= github.com/RackSec/srslog v0.0.0-20180709174129-a4725f04ec91/go.mod h1:cDLGBht23g0XQdLjzn6xOGXDkLK182YfINAaZEQLCHQ= ++github.com/SUSE/buildkit v0.0.0-20241218053907-cd804dd86389 h1:EKne0CAOXpf1QuZ3+jj7PTpOtSn+q1Yz5H6pAwrOktY= ++github.com/SUSE/buildkit v0.0.0-20241218053907-cd804dd86389/go.mod h1:bMQDryngJKGvJ/ZuRFhrejurbvYSv3NkGCheQ59X4AM= github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= -github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= -github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= @@ -292,7 +303,7 @@ index 11d3aa6860f2..a426cdb147ce 100644 github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/circbuf v0.0.0-20190214190532-5111143e8da2 h1:7Ip0wMmLHLRJdrloDxZfhMm0xrLXZS8+COSu2bXmEQs= github.com/armon/circbuf v0.0.0-20190214190532-5111143e8da2/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -@@ -209,44 +163,55 @@ github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmV +@@ -209,44 +165,55 @@ github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmV github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJA= github.com/armon/go-metrics v0.4.1/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= @@ -358,7 +369,7 @@ index 11d3aa6860f2..a426cdb147ce 100644 github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -@@ -258,31 +223,21 @@ github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kB +@@ -258,31 +225,21 @@ github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kB github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= @@ -391,7 +402,7 @@ index 11d3aa6860f2..a426cdb147ce 100644 github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054 h1:uH66TXeswKn5PW5zdZ39xEwfS9an067BirqA+P4QaLI= -@@ -293,6 +248,7 @@ github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cb +@@ -293,6 +250,7 @@ github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cb github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/checkpoint-restore/go-criu/v4 v4.1.0/go.mod h1:xUQBLp4RLc5zJtWY++yjOoMoB5lihDt7fai+75m+rGw= github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M= @@ -399,7 +410,7 @@ index 11d3aa6860f2..a426cdb147ce 100644 github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -@@ -301,6 +257,7 @@ github.com/cilium/ebpf v0.0.0-20200702112145-1c8d4c9ef775/go.mod h1:7cR51M8ViRLI +@@ -301,6 +259,7 @@ github.com/cilium/ebpf v0.0.0-20200702112145-1c8d4c9ef775/go.mod h1:7cR51M8ViRLI github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX2Qs= github.com/cilium/ebpf v0.4.0/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= github.com/cilium/ebpf v0.6.2/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= @@ -407,7 +418,7 @@ index 11d3aa6860f2..a426cdb147ce 100644 github.com/cilium/ebpf v0.9.1 h1:64sn2K3UKw8NbP/blsixRpF3nXuyhz/VjRlRzvlBRu4= github.com/cilium/ebpf v0.9.1/go.mod h1:+OhNOIXx/Fnu1IE8bJz2dzOA+VSfyTfdNUVdlQnxUFY= github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= -@@ -324,8 +281,8 @@ github.com/cockroachdb/errors v1.2.4 h1:Lap807SXTH5tri2TivECb/4abUkMZC9zRoLarvcK +@@ -324,8 +283,8 @@ github.com/cockroachdb/errors v1.2.4 h1:Lap807SXTH5tri2TivECb/4abUkMZC9zRoLarvcK github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f h1:o/kfcElHqOiXqcou5a3rIlMc7oJbMQkeLk0VQJ7zgqY= github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= @@ -417,7 +428,7 @@ index 11d3aa6860f2..a426cdb147ce 100644 github.com/container-storage-interface/spec v1.5.0 h1:lvKxe3uLgqQeVQcrnL2CPQKISoKjTJxojEs9cBk+HXo= github.com/container-storage-interface/spec v1.5.0/go.mod h1:8K96oQNkJ7pFcC2R9Z1ynGGBB1I93kcS6PGg3SsOk8s= github.com/containerd/aufs v0.0.0-20200908144142-dab0cbea06f4/go.mod h1:nukgQABAEopAHvB6j7cnP5zJ+/3aVcE7hCYqvIwAHyE= -@@ -342,6 +299,7 @@ github.com/containerd/cgroups v0.0.0-20200710171044-318312a37340/go.mod h1:s5q4S +@@ -342,6 +301,7 @@ github.com/containerd/cgroups v0.0.0-20200710171044-318312a37340/go.mod h1:s5q4S github.com/containerd/cgroups v0.0.0-20200824123100-0b889c03f102/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= github.com/containerd/cgroups v0.0.0-20210114181951-8a68de567b68/go.mod h1:ZJeTFisyysqgcCdecO57Dj79RfL0LNeGiFUqLYQRYLE= github.com/containerd/cgroups v1.0.1/go.mod h1:0SJrPIenamHDcZhEcJMNBB85rHcUsw4f25ZfBiPYRkU= @@ -425,7 +436,7 @@ index 11d3aa6860f2..a426cdb147ce 100644 github.com/containerd/cgroups v1.0.4 h1:jN/mbWBEaz+T1pi5OFtnkQ+8qnmEbAr1Oo1FRm5B0dA= github.com/containerd/cgroups v1.0.4/go.mod h1:nLNQtsF7Sl2HxNebu77i1R0oDlhiTG+kO4JTrUzo6IA= github.com/containerd/cgroups/v3 v3.0.2 h1:f5WFqIVSgo5IZmtTT3qVBo6TzI1ON6sycSBKkymb9L0= -@@ -349,7 +307,6 @@ github.com/containerd/cgroups/v3 v3.0.2/go.mod h1:JUgITrzdFqp42uI2ryGA+ge0ap/nxz +@@ -349,7 +309,6 @@ github.com/containerd/cgroups/v3 v3.0.2/go.mod h1:JUgITrzdFqp42uI2ryGA+ge0ap/nxz github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= github.com/containerd/console v0.0.0-20181022165439-0650fd9eeb50/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= github.com/containerd/console v0.0.0-20191206165004-02ecf6a7291e/go.mod h1:8Pf4gM6VEbTNRIT26AyyU7hxdQU3MvAvxVI0sc00XBE= @@ -433,7 +444,7 @@ index 11d3aa6860f2..a426cdb147ce 100644 github.com/containerd/console v1.0.1/go.mod h1:XUsP6YE/mKtz6bxc+I8UiKKTP04qjQL4qcS3XoQ5xkw= github.com/containerd/console v1.0.2/go.mod h1:ytZPjGgY2oeTkAONYafi2kSj0aYggsf8acV1PGKCbzQ= github.com/containerd/console v1.0.3 h1:lIr7SlA5PxZyMV30bDW0MGbiOPXwc63yRuCP0ARubLw= -@@ -360,16 +317,20 @@ github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMX +@@ -360,16 +319,20 @@ github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMX github.com/containerd/containerd v1.3.1-0.20191213020239-082f7e3aed57/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= github.com/containerd/containerd v1.3.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= github.com/containerd/containerd v1.4.0-beta.2.0.20200729163537-40b22ef07410/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= @@ -456,7 +467,7 @@ index 11d3aa6860f2..a426cdb147ce 100644 github.com/containerd/containerd v1.6.22 h1:rGTIBxPJusM0evF6wKgIzuD+tV70nmx9eEjzHVm1JzI= github.com/containerd/containerd v1.6.22/go.mod h1:BQAJdahvGz8xboAvxKg9hsDYIovn79Ea318anowQ1/o= github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -@@ -379,6 +340,7 @@ github.com/containerd/continuity v0.0.0-20200710164510-efbc4488d8fe/go.mod h1:cE +@@ -379,6 +342,7 @@ github.com/containerd/continuity v0.0.0-20200710164510-efbc4488d8fe/go.mod h1:cE github.com/containerd/continuity v0.0.0-20201208142359-180525291bb7/go.mod h1:kR3BEg7bDFaEddKm54WSmrol1fKWDU1nKYkgrcgZT7Y= github.com/containerd/continuity v0.0.0-20210208174643-50096c924a4e/go.mod h1:EXlVlkqNba9rJe3j7w3Xa924itAMLgZH4UD/Q4PExuQ= github.com/containerd/continuity v0.1.0/go.mod h1:ICJu0PwR54nI0yPEnJ6jcS+J7CZAUXrLh8lPo2knzsM= @@ -464,7 +475,7 @@ index 11d3aa6860f2..a426cdb147ce 100644 github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/containerd/fifo v0.0.0-20180307165137-3d5202aec260/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= -@@ -389,8 +351,11 @@ github.com/containerd/fifo v0.0.0-20210316144830-115abcc95a1d/go.mod h1:ocF/ME1S +@@ -389,8 +353,11 @@ github.com/containerd/fifo v0.0.0-20210316144830-115abcc95a1d/go.mod h1:ocF/ME1S github.com/containerd/fifo v1.0.0/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= github.com/containerd/fifo v1.1.0 h1:4I2mbh5stb1u6ycIABlBw9zgtlK8viPI9QkQNRQEEmY= github.com/containerd/fifo v1.1.0/go.mod h1:bmC4NWMbXlt2EZ0Hc7Fx7QzTFxgPID13eH0Qu+MAb2o= @@ -476,7 +487,7 @@ index 11d3aa6860f2..a426cdb147ce 100644 github.com/containerd/go-cni v1.1.6 h1:el5WPymG5nRRLQF1EfB97FWob4Tdc8INg8RZMaXWZlo= github.com/containerd/go-cni v1.1.6/go.mod h1:BWtoWl5ghVymxu6MBjg79W9NZrCRyHIdUtk4cauMe34= github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= -@@ -404,13 +369,16 @@ github.com/containerd/imgcrypt v1.0.1/go.mod h1:mdd8cEPW7TPgNG4FpuP3sGBiQ7Yi/zak +@@ -404,13 +371,16 @@ github.com/containerd/imgcrypt v1.0.1/go.mod h1:mdd8cEPW7TPgNG4FpuP3sGBiQ7Yi/zak github.com/containerd/imgcrypt v1.0.4-0.20210301171431-0ae5c75f59ba/go.mod h1:6TNsg0ctmizkrOgXRNQjAPFWpMYRWuiB6dSF4Pfa5SA= github.com/containerd/imgcrypt v1.1.1-0.20210312161619-7ed62a527887/go.mod h1:5AZJNI6sLHJljKuI9IHnw1pWqo/F0nGDOuR9zgTs7ow= github.com/containerd/imgcrypt v1.1.1/go.mod h1:xpLnwiQmEUJPvQoAapeb2SNCxz7Xr6PJrXQb0Dpc4ms= @@ -494,7 +505,7 @@ index 11d3aa6860f2..a426cdb147ce 100644 github.com/containerd/stargz-snapshotter/estargz v0.13.0 h1:fD7AwuVV+B40p0d9qVkH/Au1qhp8hn/HWJHIYjpEcfw= github.com/containerd/stargz-snapshotter/estargz v0.13.0/go.mod h1:m+9VaGJGlhCnrcEUod8mYumTmRgblwd3rC5UCEh2Yp0= github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= -@@ -419,6 +387,7 @@ github.com/containerd/ttrpc v0.0.0-20191028202541-4f1b8fe65a5c/go.mod h1:LPm1u0x +@@ -419,6 +389,7 @@ github.com/containerd/ttrpc v0.0.0-20191028202541-4f1b8fe65a5c/go.mod h1:LPm1u0x github.com/containerd/ttrpc v1.0.1/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= github.com/containerd/ttrpc v1.0.2/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= github.com/containerd/ttrpc v1.1.0/go.mod h1:XX4ZTnoOId4HklF4edwc4DcqskFZuvXB1Evzy5KFQpQ= @@ -502,7 +513,7 @@ index 11d3aa6860f2..a426cdb147ce 100644 github.com/containerd/ttrpc v1.1.2 h1:4jH6OQDQqjfVD2b5TJS5TxmGuLGmp5WW7KtW2TWOP7c= github.com/containerd/ttrpc v1.1.2/go.mod h1:XX4ZTnoOId4HklF4edwc4DcqskFZuvXB1Evzy5KFQpQ= github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= -@@ -436,36 +405,39 @@ github.com/containerd/zfs v1.0.0/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNR +@@ -436,36 +407,39 @@ github.com/containerd/zfs v1.0.0/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNR github.com/containernetworking/cni v0.7.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= github.com/containernetworking/cni v0.8.0/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= github.com/containernetworking/cni v0.8.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= @@ -546,12 +557,9 @@ index 11d3aa6860f2..a426cdb147ce 100644 github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -@@ -474,44 +446,48 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ3 - github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +@@ -475,43 +449,45 @@ github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= -+github.com/cyphar/buildkit v0.0.0-20240814025459-5d3afed3f7b4 h1:e2A5JTqDADxy9xYHM0KxRXfYl9wCISpo5TitiaUmfGw= -+github.com/cyphar/buildkit v0.0.0-20240814025459-5d3afed3f7b4/go.mod h1:bMQDryngJKGvJ/ZuRFhrejurbvYSv3NkGCheQ59X4AM= github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= +github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= @@ -2249,6 +2257,20 @@ index 11d3aa6860f2..a426cdb147ce 100644 sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= -sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4/go.mod h1:ketZ/q3QxT9HOBeFhu6RdvsftgpsbFHBF5Cas6cDKZ0= -sourcegraph.com/sqs/pbtypes v1.0.0/go.mod h1:3AciMUv4qUuRHRHhOG4TZOB+72GdPVz5k+c648qsFS4= +diff --git a/vendor/github.com/moby/buildkit/control/control.go b/vendor/github.com/moby/buildkit/control/control.go +index 2bd06db2576b..f81b176d11be 100644 +--- a/vendor/github.com/moby/buildkit/control/control.go ++++ b/vendor/github.com/moby/buildkit/control/control.go +@@ -394,6 +394,9 @@ func (c *Controller) Solve(ctx context.Context, req *controlapi.SolveRequest) (* + + var cacheImports []frontend.CacheOptionsEntry + for _, im := range req.Cache.Imports { ++ if im == nil { ++ continue ++ } + cacheImports = append(cacheImports, frontend.CacheOptionsEntry{ + Type: im.Type, + Attrs: im.Attrs, diff --git a/vendor/github.com/moby/buildkit/executor/executor.go b/vendor/github.com/moby/buildkit/executor/executor.go index a323bcc9cc94..61da4c9dd7c3 100644 --- a/vendor/github.com/moby/buildkit/executor/executor.go @@ -2279,7 +2301,7 @@ index a323bcc9cc94..61da4c9dd7c3 100644 type Mount struct { diff --git a/vendor/github.com/moby/buildkit/executor/oci/spec.go b/vendor/github.com/moby/buildkit/executor/oci/spec.go -index f825b1dce7ef..2c0e81b7b5b2 100644 +index f825b1dce7ef..d8bdf898953b 100644 --- a/vendor/github.com/moby/buildkit/executor/oci/spec.go +++ b/vendor/github.com/moby/buildkit/executor/oci/spec.go @@ -12,7 +12,6 @@ import ( @@ -2298,8 +2320,12 @@ index f825b1dce7ef..2c0e81b7b5b2 100644 } type submounts struct { -@@ -226,10 +226,17 @@ func (s *submounts) subMount(m mount.Mount, subPath string) (mount.Mount, error) - return mount.Mount{}, nil +@@ -223,12 +223,19 @@ func (s *submounts) subMount(m mount.Mount, subPath string) (mount.Mount, error) + } + h, err := hashstructure.Hash(m, hashstructure.FormatV2, nil) + if err != nil { +- return mount.Mount{}, nil ++ return mount.Mount{}, err } if mr, ok := s.m[h]; ok { - sm, err := sub(mr.mount, subPath) @@ -2308,15 +2334,15 @@ index f825b1dce7ef..2c0e81b7b5b2 100644 + } + sm, unmount, err := sub(mr.mount, subPath) if err != nil { - return mount.Mount{}, nil - } +- return mount.Mount{}, nil ++ return mount.Mount{}, err ++ } + mr.subRefs[subPath] = mountRef{ + mount: sm, + unmount: unmount, -+ } + } return sm, nil } - @@ -254,12 +261,17 @@ func (s *submounts) subMount(m mount.Mount, subPath string) (mount.Mount, error) Options: opts, }, @@ -2533,6 +2559,70 @@ index 22a8ac1310c4..09e26581a68c 100644 logrus.WithError(err).Warnf("Failed to restore time time mount stub timestamp (os.Chtimes(%q, %v, %v))", dir, atime, mtime) } } +diff --git a/vendor/github.com/moby/buildkit/exporter/containerimage/exptypes/parse.go b/vendor/github.com/moby/buildkit/exporter/containerimage/exptypes/parse.go +index f77cd3f52565..6d01dc0f6e33 100644 +--- a/vendor/github.com/moby/buildkit/exporter/containerimage/exptypes/parse.go ++++ b/vendor/github.com/moby/buildkit/exporter/containerimage/exptypes/parse.go +@@ -17,6 +17,18 @@ func ParsePlatforms(meta map[string][]byte) (Platforms, error) { + return Platforms{}, errors.Wrapf(err, "failed to parse platforms passed to provenance processor") + } + } ++ if len(ps.Platforms) == 0 { ++ return Platforms{}, errors.Errorf("invalid empty platforms index for exporter") ++ } ++ for i, p := range ps.Platforms { ++ if p.ID == "" { ++ return Platforms{}, errors.Errorf("invalid empty platform key for exporter") ++ } ++ if p.Platform.OS == "" || p.Platform.Architecture == "" { ++ return Platforms{}, errors.Errorf("invalid platform value %v for exporter", p.Platform) ++ } ++ ps.Platforms[i].Platform = platforms.Normalize(p.Platform) ++ } + return ps, nil + } + +@@ -36,6 +48,8 @@ func ParsePlatforms(meta map[string][]byte) (Platforms, error) { + OSFeatures: img.OSFeatures, + Variant: img.Variant, + } ++ } else if img.OS != "" || img.Architecture != "" { ++ return Platforms{}, errors.Errorf("invalid image config: os and architecture must be specified together") + } + } + p = platforms.Normalize(p) +diff --git a/vendor/github.com/moby/buildkit/exporter/containerimage/writer.go b/vendor/github.com/moby/buildkit/exporter/containerimage/writer.go +index 4cccd9db5128..cf61e0c8e6f4 100644 +--- a/vendor/github.com/moby/buildkit/exporter/containerimage/writer.go ++++ b/vendor/github.com/moby/buildkit/exporter/containerimage/writer.go +@@ -611,11 +611,27 @@ func parseHistoryFromConfig(dt []byte) ([]ocispecs.History, error) { + } + + func patchImageConfig(dt []byte, descs []ocispecs.Descriptor, history []ocispecs.History, cache []byte, buildInfo []byte, epoch *time.Time) ([]byte, error) { ++ var img ocispecs.Image ++ if err := json.Unmarshal(dt, &img); err != nil { ++ return nil, errors.Wrap(err, "invalid image config for export") ++ } ++ + m := map[string]json.RawMessage{} + if err := json.Unmarshal(dt, &m); err != nil { + return nil, errors.Wrap(err, "failed to parse image config for patch") + } + ++ if m == nil { ++ return nil, errors.Errorf("invalid null image config for export") ++ } ++ ++ if img.OS == "" { ++ return nil, errors.Errorf("invalid image config for export: missing os") ++ } ++ if img.Architecture == "" { ++ return nil, errors.Errorf("invalid image config for export: missing architecture") ++ } ++ + var rootFS ocispecs.RootFS + rootFS.Type = "layers" + for _, desc := range descs { diff --git a/vendor/github.com/moby/buildkit/frontend/frontend.go b/vendor/github.com/moby/buildkit/frontend/frontend.go index 024ac802045c..4a068d17d41f 100644 --- a/vendor/github.com/moby/buildkit/frontend/frontend.go @@ -2554,6 +2644,25 @@ index 024ac802045c..4a068d17d41f 100644 } type FrontendLLBBridge interface { +diff --git a/vendor/github.com/moby/buildkit/frontend/gateway/client/attestation.go b/vendor/github.com/moby/buildkit/frontend/gateway/client/attestation.go +index 5ffe67233c50..c5112db9db64 100644 +--- a/vendor/github.com/moby/buildkit/frontend/gateway/client/attestation.go ++++ b/vendor/github.com/moby/buildkit/frontend/gateway/client/attestation.go +@@ -30,8 +30,14 @@ func AttestationToPB[T any](a *result.Attestation[T]) (*pb.Attestation, error) { + } + + func AttestationFromPB[T any](a *pb.Attestation) (*result.Attestation[T], error) { ++ if a == nil { ++ return nil, errors.Errorf("invalid nil attestation") ++ } + subjects := make([]result.InTotoSubject, len(a.InTotoSubjects)) + for i, subject := range a.InTotoSubjects { ++ if subject == nil { ++ return nil, errors.Errorf("invalid nil attestation subject") ++ } + subjects[i] = result.InTotoSubject{ + Kind: subject.Kind, + Name: subject.Name, diff --git a/vendor/github.com/moby/buildkit/frontend/gateway/container.go b/vendor/github.com/moby/buildkit/frontend/gateway/container.go index d6161d1def93..9fb4d928d66d 100644 --- a/vendor/github.com/moby/buildkit/frontend/gateway/container.go @@ -2665,7 +2774,7 @@ index 7cd25a0e8ea0..331559a39057 100644 return nil, err } diff --git a/vendor/github.com/moby/buildkit/frontend/gateway/gateway.go b/vendor/github.com/moby/buildkit/frontend/gateway/gateway.go -index 79825d0b651a..8f2af4d34101 100644 +index 79825d0b651a..32971aabab57 100644 --- a/vendor/github.com/moby/buildkit/frontend/gateway/gateway.go +++ b/vendor/github.com/moby/buildkit/frontend/gateway/gateway.go @@ -82,7 +82,7 @@ func filterPrefix(opts map[string]string, pfx string) map[string]string { @@ -2747,7 +2856,29 @@ index 79825d0b651a..8f2af4d34101 100644 *pipe ctrs map[string]gwclient.Container ctrsMu sync.Mutex -@@ -1001,7 +997,7 @@ func (lbf *llbBridgeForwarder) NewContainer(ctx context.Context, in *pb.NewConta +@@ -615,12 +611,21 @@ func (lbf *llbBridgeForwarder) registerResultIDs(results ...solver.Result) (ids + func (lbf *llbBridgeForwarder) Solve(ctx context.Context, req *pb.SolveRequest) (*pb.SolveResponse, error) { + var cacheImports []frontend.CacheOptionsEntry + for _, e := range req.CacheImports { ++ if e == nil { ++ return nil, errors.Errorf("invalid nil cache import") ++ } + cacheImports = append(cacheImports, frontend.CacheOptionsEntry{ + Type: e.Type, + Attrs: e.Attrs, + }) + } + ++ for _, p := range req.SourcePolicies { ++ if p == nil { ++ return nil, errors.Errorf("invalid nil source policy") ++ } ++ } ++ + ctx = tracing.ContextWithSpanFromContext(ctx, lbf.callCtx) + res, err := lbf.llbBridge.Solve(ctx, frontend.SolveRequest{ + Evaluate: req.Evaluate, +@@ -1001,7 +1006,7 @@ func (lbf *llbBridgeForwarder) NewContainer(ctx context.Context, in *pb.NewConta // and we want the context to live for the duration of the container. group := session.NewGroup(lbf.sid) @@ -2756,7 +2887,7 @@ index 79825d0b651a..8f2af4d34101 100644 if err != nil { return nil, stack.Enable(err) } -@@ -1011,7 +1007,7 @@ func (lbf *llbBridgeForwarder) NewContainer(ctx context.Context, in *pb.NewConta +@@ -1011,7 +1016,7 @@ func (lbf *llbBridgeForwarder) NewContainer(ctx context.Context, in *pb.NewConta return nil, stack.Enable(err) } @@ -2765,6 +2896,19 @@ index 79825d0b651a..8f2af4d34101 100644 if err != nil { return nil, stack.Enable(err) } +@@ -1045,6 +1050,12 @@ func (lbf *llbBridgeForwarder) ReleaseContainer(ctx context.Context, in *pb.Rele + } + + func (lbf *llbBridgeForwarder) Warn(ctx context.Context, in *pb.WarnRequest) (*pb.WarnResponse, error) { ++ // validate ranges are valid ++ for _, r := range in.Ranges { ++ if r == nil { ++ return nil, status.Errorf(codes.InvalidArgument, "invalid source range") ++ } ++ } + err := lbf.llbBridge.Warn(ctx, in.Digest, string(in.Short), frontend.WarnOpts{ + Level: int(in.Level), + SourceInfo: in.Info, diff --git a/vendor/github.com/moby/buildkit/snapshot/localmounter.go b/vendor/github.com/moby/buildkit/snapshot/localmounter.go index 9ddb7c1af642..304eebc9e02d 100644 --- a/vendor/github.com/moby/buildkit/snapshot/localmounter.go @@ -2914,7 +3058,7 @@ index edf95cee70cd..3150815bb3bc 100644 // Snapshotter defines interface that any snapshot implementation should satisfy type Snapshotter interface { diff --git a/vendor/github.com/moby/buildkit/solver/llbsolver/bridge.go b/vendor/github.com/moby/buildkit/solver/llbsolver/bridge.go -index 185fe81f0649..5c95a3e7e958 100644 +index 185fe81f0649..64cdf4cc916c 100644 --- a/vendor/github.com/moby/buildkit/solver/llbsolver/bridge.go +++ b/vendor/github.com/moby/buildkit/solver/llbsolver/bridge.go @@ -11,6 +11,7 @@ import ( @@ -2944,7 +3088,22 @@ index 185fe81f0649..5c95a3e7e958 100644 } func (b *llbBridge) Warn(ctx context.Context, dgst digest.Digest, msg string, opts frontend.WarnOpts) error { -@@ -151,6 +157,52 @@ func (b *llbBridge) loadResult(ctx context.Context, def *pb.Definition, cacheImp +@@ -79,6 +85,14 @@ func (b *llbBridge) loadResult(ctx context.Context, def *pb.Definition, cacheImp + } + var polEngine SourcePolicyEvaluator + if srcPol != nil || len(pol) > 0 { ++ for _, p := range pol { ++ if p == nil { ++ return nil, errors.Errorf("invalid nil policy") ++ } ++ if err := validateSourcePolicy(*p); err != nil { ++ return nil, err ++ } ++ } + if srcPol != nil { + pol = append([]*spb.Policy{srcPol}, pol...) + } +@@ -151,6 +165,52 @@ func (b *llbBridge) loadResult(ctx context.Context, def *pb.Definition, cacheImp return res, nil } @@ -3011,10 +3170,20 @@ index b30581c852d9..8b60f5e885fb 100644 return nil, err } diff --git a/vendor/github.com/moby/buildkit/solver/llbsolver/solver.go b/vendor/github.com/moby/buildkit/solver/llbsolver/solver.go -index 94d25ce5b7b2..c9921085337c 100644 +index 94d25ce5b7b2..16015244aa4b 100644 --- a/vendor/github.com/moby/buildkit/solver/llbsolver/solver.go +++ b/vendor/github.com/moby/buildkit/solver/llbsolver/solver.go -@@ -440,7 +440,7 @@ func (s *Solver) Solve(ctx context.Context, id string, sessionID string, req fro +@@ -432,6 +432,9 @@ func (s *Solver) Solve(ctx context.Context, id string, sessionID string, req fro + j.SetValue(keyEntitlements, set) + + if srcPol != nil { ++ if err := validateSourcePolicy(*srcPol); err != nil { ++ return nil, err ++ } + j.SetValue(keySourcePolicy, *srcPol) + } + +@@ -440,7 +443,7 @@ func (s *Solver) Solve(ctx context.Context, id string, sessionID string, req fro br := s.bridge(j) var fwd gateway.LLBBridgeForwarder if s.gatewayForwarder != nil && req.Definition == nil && req.Frontend == "" { @@ -3023,6 +3192,40 @@ index 94d25ce5b7b2..c9921085337c 100644 defer fwd.Discard() // Register build before calling s.recordBuildHistory, because // s.recordBuildHistory can block for several seconds on +@@ -583,6 +586,23 @@ func (s *Solver) Solve(ctx context.Context, id string, sessionID string, req fro + }, nil + } + ++func validateSourcePolicy(pol spb.Policy) error { ++ for _, r := range pol.Rules { ++ if r == nil { ++ return errors.New("invalid nil rule in policy") ++ } ++ if r.Selector == nil { ++ return errors.New("invalid nil selector in policy") ++ } ++ for _, c := range r.Selector.Constraints { ++ if c == nil { ++ return errors.New("invalid nil constraint in policy") ++ } ++ } ++ } ++ return nil ++} ++ + func runCacheExporters(ctx context.Context, exporters []RemoteCacheExporter, j *solver.Job, cached *result.Result[solver.CachedResult], inp *result.Result[cache.ImmutableRef]) (map[string]string, error) { + eg, ctx := errgroup.WithContext(ctx) + g := session.NewGroup(j.SessionID) +@@ -984,6 +1004,9 @@ func loadSourcePolicy(b solver.Builder) (*spb.Policy, error) { + return errors.Errorf("invalid source policy %T", v) + } + for _, f := range x.Rules { ++ if f == nil { ++ return errors.Errorf("invalid nil policy rule") ++ } + r := *f + srcPol.Rules = append(srcPol.Rules, &r) + } diff --git a/vendor/github.com/moby/buildkit/solver/llbsolver/vertex.go b/vendor/github.com/moby/buildkit/solver/llbsolver/vertex.go index 41a31bb9bbba..d57f2a053db1 100644 --- a/vendor/github.com/moby/buildkit/solver/llbsolver/vertex.go @@ -3049,6 +3252,20 @@ index 41a31bb9bbba..d57f2a053db1 100644 } } return nil +diff --git a/vendor/github.com/moby/buildkit/sourcepolicy/matcher.go b/vendor/github.com/moby/buildkit/sourcepolicy/matcher.go +index 79ab4032a5ae..2abe1039071f 100644 +--- a/vendor/github.com/moby/buildkit/sourcepolicy/matcher.go ++++ b/vendor/github.com/moby/buildkit/sourcepolicy/matcher.go +@@ -10,6 +10,9 @@ import ( + + func match(ctx context.Context, src *selectorCache, ref string, attrs map[string]string) (bool, error) { + for _, c := range src.Constraints { ++ if c == nil { ++ return false, errors.Errorf("invalid nil constraint for %v", src) ++ } + switch c.Condition { + case spb.AttrMatch_EQUAL: + if attrs[c.Key] != c.Value { diff --git a/vendor/github.com/moby/buildkit/util/entitlements/entitlements.go b/vendor/github.com/moby/buildkit/util/entitlements/entitlements.go index f65b426bb201..328580c326df 100644 --- a/vendor/github.com/moby/buildkit/util/entitlements/entitlements.go @@ -3077,6 +3294,130 @@ index f65b426bb201..328580c326df 100644 + NetworkHost bool + SecurityInsecure bool +} +diff --git a/vendor/github.com/moby/buildkit/util/tracing/transform/attribute.go b/vendor/github.com/moby/buildkit/util/tracing/transform/attribute.go +index 2debe8835924..bc0df048d0a2 100644 +--- a/vendor/github.com/moby/buildkit/util/tracing/transform/attribute.go ++++ b/vendor/github.com/moby/buildkit/util/tracing/transform/attribute.go +@@ -13,6 +13,9 @@ func Attributes(attrs []*commonpb.KeyValue) []attribute.KeyValue { + + out := make([]attribute.KeyValue, 0, len(attrs)) + for _, a := range attrs { ++ if a == nil { ++ continue ++ } + kv := attribute.KeyValue{ + Key: attribute.Key(a.Key), + Value: toValue(a.Value), +@@ -42,7 +45,9 @@ func toValue(v *commonpb.AnyValue) attribute.Value { + func boolArray(kv []*commonpb.AnyValue) attribute.Value { + arr := make([]bool, len(kv)) + for i, v := range kv { +- arr[i] = v.GetBoolValue() ++ if v != nil { ++ arr[i] = v.GetBoolValue() ++ } + } + return attribute.BoolSliceValue(arr) + } +@@ -50,7 +55,9 @@ func boolArray(kv []*commonpb.AnyValue) attribute.Value { + func intArray(kv []*commonpb.AnyValue) attribute.Value { + arr := make([]int64, len(kv)) + for i, v := range kv { +- arr[i] = v.GetIntValue() ++ if v != nil { ++ arr[i] = v.GetIntValue() ++ } + } + return attribute.Int64SliceValue(arr) + } +@@ -58,7 +65,9 @@ func intArray(kv []*commonpb.AnyValue) attribute.Value { + func doubleArray(kv []*commonpb.AnyValue) attribute.Value { + arr := make([]float64, len(kv)) + for i, v := range kv { +- arr[i] = v.GetDoubleValue() ++ if v != nil { ++ arr[i] = v.GetDoubleValue() ++ } + } + return attribute.Float64SliceValue(arr) + } +@@ -66,13 +75,15 @@ func doubleArray(kv []*commonpb.AnyValue) attribute.Value { + func stringArray(kv []*commonpb.AnyValue) attribute.Value { + arr := make([]string, len(kv)) + for i, v := range kv { +- arr[i] = v.GetStringValue() ++ if v != nil { ++ arr[i] = v.GetStringValue() ++ } + } + return attribute.StringSliceValue(arr) + } + + func arrayValues(kv []*commonpb.AnyValue) attribute.Value { +- if len(kv) == 0 { ++ if len(kv) == 0 || kv[0] == nil { + return attribute.StringSliceValue([]string{}) + } + +diff --git a/vendor/github.com/moby/buildkit/util/tracing/transform/span.go b/vendor/github.com/moby/buildkit/util/tracing/transform/span.go +index f07d0c98e974..21137e704139 100644 +--- a/vendor/github.com/moby/buildkit/util/tracing/transform/span.go ++++ b/vendor/github.com/moby/buildkit/util/tracing/transform/span.go +@@ -32,14 +32,20 @@ func Spans(sdl []*tracepb.ResourceSpans) []tracesdk.ReadOnlySpan { + } + + for _, sdi := range sd.InstrumentationLibrarySpans { +- sda := make([]tracesdk.ReadOnlySpan, len(sdi.Spans)) +- for i, s := range sdi.Spans { +- sda[i] = &readOnlySpan{ ++ if sdi == nil { ++ continue ++ } ++ sda := make([]tracesdk.ReadOnlySpan, 0, len(sdi.Spans)) ++ for _, s := range sdi.Spans { ++ if s == nil { ++ continue ++ } ++ sda = append(sda, &readOnlySpan{ + pb: s, + il: sdi.InstrumentationLibrary, + resource: sd.Resource, + schemaURL: sd.SchemaUrl, +- } ++ }) + } + out = append(out, sda...) + } +@@ -165,6 +171,9 @@ var _ tracesdk.ReadOnlySpan = &readOnlySpan{} + + // status transform a OTLP span status into span code. + func statusCode(st *tracepb.Status) codes.Code { ++ if st == nil { ++ return codes.Unset ++ } + switch st.Code { + case tracepb.Status_STATUS_CODE_ERROR: + return codes.Error +@@ -181,6 +190,9 @@ func links(links []*tracepb.Span_Link) []tracesdk.Link { + + sl := make([]tracesdk.Link, 0, len(links)) + for _, otLink := range links { ++ if otLink == nil { ++ continue ++ } + // This redefinition is necessary to prevent otLink.*ID[:] copies + // being reused -- in short we need a new otLink per iteration. + otLink := otLink +@@ -221,6 +233,9 @@ func spanEvents(es []*tracepb.Span_Event) []tracesdk.Event { + if messageEvents >= maxMessageEventsPerSpan { + break + } ++ if e == nil { ++ continue ++ } + messageEvents++ + events = append(events, + tracesdk.Event{ diff --git a/vendor/github.com/moby/buildkit/worker/worker.go b/vendor/github.com/moby/buildkit/worker/worker.go index 2f426e9ead40..0a708227204b 100644 --- a/vendor/github.com/moby/buildkit/worker/worker.go @@ -3128,7 +3469,7 @@ index e175b4002b4a..150eed352a3a 100644 + return c.c.WorkerInfos() +} diff --git a/vendor/modules.txt b/vendor/modules.txt -index dd3fb54fefd2..2a3b597c5858 100644 +index dd3fb54fefd2..9adbc22b99fc 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -577,7 +577,7 @@ github.com/mistifyio/go-zfs/v3 @@ -3136,7 +3477,7 @@ index dd3fb54fefd2..2a3b597c5858 100644 ## explicit; go 1.14 github.com/mitchellh/hashstructure/v2 -# github.com/moby/buildkit v0.11.7-0.20240124010513-435cb77e369c -+# github.com/moby/buildkit v0.11.7-0.20240124010513-435cb77e369c => github.com/cyphar/buildkit v0.0.0-20240814025459-5d3afed3f7b4 ++# github.com/moby/buildkit v0.11.7-0.20240124010513-435cb77e369c => github.com/SUSE/buildkit v0.0.0-20241218053907-cd804dd86389 ## explicit; go 1.18 github.com/moby/buildkit/api/services/control github.com/moby/buildkit/api/types @@ -3144,7 +3485,7 @@ index dd3fb54fefd2..2a3b597c5858 100644 # resenje.org/singleflight v0.3.0 ## explicit; go 1.18 resenje.org/singleflight -+# github.com/moby/buildkit => github.com/cyphar/buildkit v0.0.0-20240814025459-5d3afed3f7b4 ++# github.com/moby/buildkit => github.com/SUSE/buildkit v0.0.0-20241218053907-cd804dd86389 -- -2.47.0 +2.47.1 diff --git a/packages/d/docker-stable/0007-bsc1221916-update-to-patched-buildkit-version-to-fix.patch b/packages/d/docker-stable/0007-bsc1221916-update-to-patched-buildkit-version-to-fix.patch index 2389e105bd4..a9dbd14c78e 100644 --- a/packages/d/docker-stable/0007-bsc1221916-update-to-patched-buildkit-version-to-fix.patch +++ b/packages/d/docker-stable/0007-bsc1221916-update-to-patched-buildkit-version-to-fix.patch @@ -1,7 +1,7 @@ -From 7719675180f785c4e92df7efc25df9adc882b289 Mon Sep 17 00:00:00 2001 +From b760758157cd0d00f46f37f86a9cbee7810cb666 Mon Sep 17 00:00:00 2001 From: Aleksa Sarai Date: Thu, 2 May 2024 22:50:23 +1000 -Subject: [PATCH 07/13] bsc1221916: update to patched buildkit version to fix +Subject: [PATCH 07/11] bsc1221916: update to patched buildkit version to fix symlink resolution SUSE-Bugs: https://bugzilla.suse.com/show_bug.cgi?id=1221916 @@ -16,46 +16,46 @@ Signed-off-by: Aleksa Sarai 6 files changed, 314 insertions(+), 252 deletions(-) diff --git a/builder/builder-next/worker/worker.go b/builder/builder-next/worker/worker.go -index 210218bf5a37..e36517da2914 100644 +index 64d7b9131b16..7b40ac63ce7f 100644 --- a/builder/builder-next/worker/worker.go +++ b/builder/builder-next/worker/worker.go @@ -50,7 +50,7 @@ import ( ) func init() { -- version.Version = "v0.11.7+5d3afed3f7b4" -+ version.Version = "v0.11.7+ea1ca9670261" +- version.Version = "v0.11.7+cd804dd86389" ++ version.Version = "v0.11.7+6b814972ef19" } const labelCreatedAt = "buildkit/createdat" diff --git a/vendor.mod b/vendor.mod -index 7946cbb75613..878ec24cee4b 100644 +index 2eb13746cacd..021d62b21d19 100644 --- a/vendor.mod +++ b/vendor.mod @@ -99,7 +99,7 @@ require ( ) - // github.com/cyphar/buildkit suse-stable-v24.0.9 --replace github.com/moby/buildkit => github.com/cyphar/buildkit v0.0.0-20240814025459-5d3afed3f7b4 -+replace github.com/moby/buildkit => github.com/cyphar/buildkit v0.0.0-20240814030244-ea1ca9670261 + // github.com/SUSE/buildkit suse-stable-v24.0.9 +-replace github.com/moby/buildkit => github.com/SUSE/buildkit v0.0.0-20241218053907-cd804dd86389 ++replace github.com/moby/buildkit => github.com/SUSE/buildkit v0.0.0-20241218053911-6b814972ef19 require ( cloud.google.com/go v0.102.1 // indirect diff --git a/vendor.sum b/vendor.sum -index a426cdb147ce..187a4138d110 100644 +index 716245c80413..4bdbbeb3f073 100644 --- a/vendor.sum +++ b/vendor.sum -@@ -446,8 +446,8 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ3 - github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= - github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= - github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= --github.com/cyphar/buildkit v0.0.0-20240814025459-5d3afed3f7b4 h1:e2A5JTqDADxy9xYHM0KxRXfYl9wCISpo5TitiaUmfGw= --github.com/cyphar/buildkit v0.0.0-20240814025459-5d3afed3f7b4/go.mod h1:bMQDryngJKGvJ/ZuRFhrejurbvYSv3NkGCheQ59X4AM= -+github.com/cyphar/buildkit v0.0.0-20240814030244-ea1ca9670261 h1:xcmjjOjBMdaa2Z3Blblc3J2FraOISKtT6I/cjGG/244= -+github.com/cyphar/buildkit v0.0.0-20240814030244-ea1ca9670261/go.mod h1:bMQDryngJKGvJ/ZuRFhrejurbvYSv3NkGCheQ59X4AM= - github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= - github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= - github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= +@@ -141,8 +141,8 @@ github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdko + github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= + github.com/RackSec/srslog v0.0.0-20180709174129-a4725f04ec91 h1:vX+gnvBc56EbWYrmlhYbFYRaeikAke1GL84N4BEYOFE= + github.com/RackSec/srslog v0.0.0-20180709174129-a4725f04ec91/go.mod h1:cDLGBht23g0XQdLjzn6xOGXDkLK182YfINAaZEQLCHQ= +-github.com/SUSE/buildkit v0.0.0-20241218053907-cd804dd86389 h1:EKne0CAOXpf1QuZ3+jj7PTpOtSn+q1Yz5H6pAwrOktY= +-github.com/SUSE/buildkit v0.0.0-20241218053907-cd804dd86389/go.mod h1:bMQDryngJKGvJ/ZuRFhrejurbvYSv3NkGCheQ59X4AM= ++github.com/SUSE/buildkit v0.0.0-20241218053911-6b814972ef19 h1:3gfqJcXxLASvlAfgd+TFPrrhNrM+O26HplOhi3BNT+A= ++github.com/SUSE/buildkit v0.0.0-20241218053911-6b814972ef19/go.mod h1:bMQDryngJKGvJ/ZuRFhrejurbvYSv3NkGCheQ59X4AM= + github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= + github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo= + github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= diff --git a/vendor/github.com/moby/buildkit/cache/contenthash/checksum.go b/vendor/github.com/moby/buildkit/cache/contenthash/checksum.go index dcf424a6b4fc..13a74be24c4e 100644 --- a/vendor/github.com/moby/buildkit/cache/contenthash/checksum.go @@ -875,15 +875,15 @@ index 42b7fd8349c7..ae950f713241 100644 + return filepath.Join(root, finalPath), nil } diff --git a/vendor/modules.txt b/vendor/modules.txt -index 2a3b597c5858..335c85392288 100644 +index 9adbc22b99fc..27bc31dfd397 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -577,7 +577,7 @@ github.com/mistifyio/go-zfs/v3 # github.com/mitchellh/hashstructure/v2 v2.0.2 ## explicit; go 1.14 github.com/mitchellh/hashstructure/v2 --# github.com/moby/buildkit v0.11.7-0.20240124010513-435cb77e369c => github.com/cyphar/buildkit v0.0.0-20240814025459-5d3afed3f7b4 -+# github.com/moby/buildkit v0.11.7-0.20240124010513-435cb77e369c => github.com/cyphar/buildkit v0.0.0-20240814030244-ea1ca9670261 +-# github.com/moby/buildkit v0.11.7-0.20240124010513-435cb77e369c => github.com/SUSE/buildkit v0.0.0-20241218053907-cd804dd86389 ++# github.com/moby/buildkit v0.11.7-0.20240124010513-435cb77e369c => github.com/SUSE/buildkit v0.0.0-20241218053911-6b814972ef19 ## explicit; go 1.18 github.com/moby/buildkit/api/services/control github.com/moby/buildkit/api/types @@ -891,8 +891,8 @@ index 2a3b597c5858..335c85392288 100644 # resenje.org/singleflight v0.3.0 ## explicit; go 1.18 resenje.org/singleflight --# github.com/moby/buildkit => github.com/cyphar/buildkit v0.0.0-20240814025459-5d3afed3f7b4 -+# github.com/moby/buildkit => github.com/cyphar/buildkit v0.0.0-20240814030244-ea1ca9670261 +-# github.com/moby/buildkit => github.com/SUSE/buildkit v0.0.0-20241218053907-cd804dd86389 ++# github.com/moby/buildkit => github.com/SUSE/buildkit v0.0.0-20241218053911-6b814972ef19 -- -2.47.0 +2.47.1 diff --git a/packages/d/docker-stable/0008-bsc1214855-volume-use-AtomicWriteFile-to-save-volume.patch b/packages/d/docker-stable/0008-bsc1214855-volume-use-AtomicWriteFile-to-save-volume.patch index c4ccb725731..3fb40c720f0 100644 --- a/packages/d/docker-stable/0008-bsc1214855-volume-use-AtomicWriteFile-to-save-volume.patch +++ b/packages/d/docker-stable/0008-bsc1214855-volume-use-AtomicWriteFile-to-save-volume.patch @@ -1,7 +1,7 @@ -From b6213c77313f15ac74a551b9a03670fce06280fb Mon Sep 17 00:00:00 2001 +From 12c8b7a22f7140b5b4d2c87a7e5d70da082fe558 Mon Sep 17 00:00:00 2001 From: Aleksa Sarai Date: Wed, 19 Jun 2024 16:30:49 +1000 -Subject: [PATCH 08/13] bsc1214855: volume: use AtomicWriteFile to save volume +Subject: [PATCH 08/11] bsc1214855: volume: use AtomicWriteFile to save volume options If the system (or Docker) crashes while saivng the volume options, on @@ -22,6 +22,7 @@ that has the wrong config is better than Docker not being able to start. [1]: commit b05b2370757d ("Support mount opts for `local` volume driver") SUSE-Bugs: https://bugzilla.suse.com/show_bug.cgi?id=1214855 +(Cherry-picked from commit b4c20da143502e5fc21cc4996b63e83691c515bf.) Signed-off-by: Aleksa Sarai --- volume/local/local.go | 3 ++- @@ -49,5 +50,5 @@ index b4f3a3669a84..077b26f1b813 100644 return errdefs.System(errors.Wrap(err, "error while persisting volume options")) } -- -2.47.0 +2.47.1 diff --git a/packages/d/docker-stable/0009-CVE-2024-41110-AuthZ-plugin-securty-fixes.patch b/packages/d/docker-stable/0009-CVE-2024-41110-AuthZ-plugin-securty-fixes.patch index 231a8567f21..7b00da21fe3 100644 --- a/packages/d/docker-stable/0009-CVE-2024-41110-AuthZ-plugin-securty-fixes.patch +++ b/packages/d/docker-stable/0009-CVE-2024-41110-AuthZ-plugin-securty-fixes.patch @@ -1,7 +1,7 @@ -From 989f5ae4dea1619b7e1d7ec7f9cac8d64b3a2209 Mon Sep 17 00:00:00 2001 +From 49605be604df94e216168288cdbcae0fda04d641 Mon Sep 17 00:00:00 2001 From: Jameson Hyde Date: Mon, 26 Nov 2018 14:15:22 -0500 -Subject: [PATCH 09/13] CVE-2024-41110: AuthZ plugin securty fixes +Subject: [PATCH 09/11] CVE-2024-41110: AuthZ plugin securty fixes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -205,5 +205,5 @@ index 835cb703839b..8bfe44e1a840 100644 } } -- -2.47.0 +2.47.1 diff --git a/packages/d/docker-stable/0010-CVE-2024-29018-libnet-Don-t-forward-to-upstream-reso.patch b/packages/d/docker-stable/0010-CVE-2024-29018-libnet-Don-t-forward-to-upstream-reso.patch new file mode 100644 index 00000000000..78b462eebdd --- /dev/null +++ b/packages/d/docker-stable/0010-CVE-2024-29018-libnet-Don-t-forward-to-upstream-reso.patch @@ -0,0 +1,139 @@ +From 60abff4c864c08b4ea05d96a304f6cf3f0cca787 Mon Sep 17 00:00:00 2001 +From: Albin Kerouanton +Date: Tue, 10 Oct 2023 01:13:25 +0200 +Subject: [PATCH 10/11] CVE-2024-29018: libnet: Don't forward to upstream + resolvers on internal nw + +Commit cbc2a71c2 makes `connect` syscall fail fast when a container is +only attached to an internal network. Thanks to that, if such a +container tries to resolve an "external" domain, the embedded resolver +returns an error immediately instead of waiting for a timeout. + +This commit makes sure the embedded resolver doesn't even try to forward +to upstream servers. + +Co-authored-by: Albin Kerouanton +Signed-off-by: Rob Murray +(Cherry-picked from commit 790c3039d0ca5ed86ecd099b4b571496607628bc.) +[Drop test additions and test-related patches.] +Signed-off-by: Aleksa Sarai +--- + libnetwork/endpoint.go | 12 +++++++++++- + libnetwork/resolver.go | 17 +++++++++++++---- + libnetwork/sandbox_dns_unix.go | 6 +++++- + 3 files changed, 29 insertions(+), 6 deletions(-) + +diff --git a/libnetwork/endpoint.go b/libnetwork/endpoint.go +index b9903bb90188..b90500ce97a1 100644 +--- a/libnetwork/endpoint.go ++++ b/libnetwork/endpoint.go +@@ -520,8 +520,13 @@ func (ep *Endpoint) sbJoin(sb *Sandbox, options ...EndpointOption) (err error) { + return sb.setupDefaultGW() + } + +- moveExtConn := sb.getGatewayEndpoint() != extEp ++ currentExtEp := sb.getGatewayEndpoint() ++ // Enable upstream forwarding if the sandbox gained external connectivity. ++ if sb.resolver != nil { ++ sb.resolver.SetForwardingPolicy(currentExtEp != nil) ++ } + ++ moveExtConn := currentExtEp != extEp + if moveExtConn { + if extEp != nil { + logrus.Debugf("Revoking external connectivity on endpoint %s (%s)", extEp.Name(), extEp.ID()) +@@ -751,6 +756,11 @@ func (ep *Endpoint) sbLeave(sb *Sandbox, force bool, options ...EndpointOption) + + // New endpoint providing external connectivity for the sandbox + extEp = sb.getGatewayEndpoint() ++ // Disable upstream forwarding if the sandbox lost external connectivity. ++ if sb.resolver != nil { ++ sb.resolver.SetForwardingPolicy(extEp != nil) ++ } ++ + if moveExtConn && extEp != nil { + logrus.Debugf("Programming external connectivity on endpoint %s (%s)", extEp.Name(), extEp.ID()) + extN, err := extEp.getNetworkFromStore() +diff --git a/libnetwork/resolver.go b/libnetwork/resolver.go +index ab19b7b08fc0..70ca33b53590 100644 +--- a/libnetwork/resolver.go ++++ b/libnetwork/resolver.go +@@ -7,6 +7,7 @@ import ( + "net" + "strings" + "sync" ++ "sync/atomic" + "time" + + "github.com/docker/docker/libnetwork/types" +@@ -69,7 +70,7 @@ type Resolver struct { + tcpListen *net.TCPListener + err error + listenAddress string +- proxyDNS bool ++ proxyDNS atomic.Bool + startCh chan struct{} + logger *logrus.Logger + +@@ -79,15 +80,17 @@ type Resolver struct { + + // NewResolver creates a new instance of the Resolver + func NewResolver(address string, proxyDNS bool, backend DNSBackend) *Resolver { +- return &Resolver{ ++ r := &Resolver{ + backend: backend, +- proxyDNS: proxyDNS, + listenAddress: address, + err: fmt.Errorf("setup not done yet"), + startCh: make(chan struct{}, 1), + fwdSem: semaphore.NewWeighted(maxConcurrent), + logInverval: rate.Sometimes{Interval: logInterval}, + } ++ r.proxyDNS.Store(proxyDNS) ++ ++ return r + } + + func (r *Resolver) log() *logrus.Logger { +@@ -192,6 +195,12 @@ func (r *Resolver) SetExtServers(extDNS []extDNSEntry) { + } + } + ++// SetForwardingPolicy re-configures the embedded DNS resolver to either enable or disable forwarding DNS queries to ++// external servers. ++func (r *Resolver) SetForwardingPolicy(policy bool) { ++ r.proxyDNS.Store(policy) ++} ++ + // NameServer returns the IP of the DNS resolver for the containers. + func (r *Resolver) NameServer() string { + return r.listenAddress +@@ -407,7 +416,7 @@ func (r *Resolver) serveDNS(w dns.ResponseWriter, query *dns.Msg) { + return + } + +- if r.proxyDNS { ++ if r.proxyDNS.Load() { + // If the user sets ndots > 0 explicitly and the query is + // in the root domain don't forward it out. We will return + // failure and let the client retry with the search domain +diff --git a/libnetwork/sandbox_dns_unix.go b/libnetwork/sandbox_dns_unix.go +index 2218c6960e45..e3bb9abce93b 100644 +--- a/libnetwork/sandbox_dns_unix.go ++++ b/libnetwork/sandbox_dns_unix.go +@@ -28,7 +28,11 @@ const ( + func (sb *Sandbox) startResolver(restore bool) { + sb.resolverOnce.Do(func() { + var err error +- sb.resolver = NewResolver(resolverIPSandbox, true, sb) ++ // The resolver is started with proxyDNS=false if the sandbox does not currently ++ // have a gateway. So, if the Sandbox is only connected to an 'internal' network, ++ // it will not forward DNS requests to external resolvers. The resolver's ++ // proxyDNS setting is then updated as network Endpoints are added/removed. ++ sb.resolver = NewResolver(resolverIPSandbox, sb.getGatewayEndpoint() != nil, sb) + defer func() { + if err != nil { + sb.resolver = nil +-- +2.47.1 + diff --git a/packages/d/docker-stable/0010-TESTS-backport-fixes-for-integration-tests.patch b/packages/d/docker-stable/0011-TESTS-backport-fixes-for-integration-tests.patch similarity index 94% rename from packages/d/docker-stable/0010-TESTS-backport-fixes-for-integration-tests.patch rename to packages/d/docker-stable/0011-TESTS-backport-fixes-for-integration-tests.patch index 950c8162f62..d110fb20dfb 100644 --- a/packages/d/docker-stable/0010-TESTS-backport-fixes-for-integration-tests.patch +++ b/packages/d/docker-stable/0011-TESTS-backport-fixes-for-integration-tests.patch @@ -1,7 +1,7 @@ -From 971d5a3b8431c9263060b12c6b131ebb8158a389 Mon Sep 17 00:00:00 2001 +From 0392c617b8e75f0b59a922f95c691fdd05eaf99f Mon Sep 17 00:00:00 2001 From: Aleksa Sarai Date: Thu, 21 Nov 2024 20:00:07 +1100 -Subject: [PATCH 10/10] TESTS: backport fixes for integration tests +Subject: [PATCH 11/11] TESTS: backport fixes for integration tests We need a couple of patches to make the tests work on SLES: diff --git a/packages/d/docker-stable/docker-stable.changes b/packages/d/docker-stable/docker-stable.changes index cd6e4d01eb6..2ff5ce8e18b 100644 --- a/packages/d/docker-stable/docker-stable.changes +++ b/packages/d/docker-stable/docker-stable.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Wed Dec 18 05:53:11 UTC 2024 - Aleksa Sarai + +- Add backport for CVE-2024-29018 fix. bsc#1234089 + + 0010-CVE-2024-29018-libnet-Don-t-forward-to-upstream-reso.patch +- Add backport for CVE-2024-23650 fix. bsc#1219437 + - 0006-CVE-2024-23653-update-buildkit-to-include-CVE-patche.patch + + 0006-CVE-2024-2365x-update-buildkit-to-include-CVE-patche.patch +- Reorder and rebase patches: + * 0001-SECRETS-daemon-allow-directory-creation-in-run-secre.patch + * 0002-SECRETS-SUSE-implement-SUSE-container-secrets.patch + * 0003-BUILD-SLE12-revert-graphdriver-btrfs-use-kernel-UAPI.patch + * 0004-bsc1073877-apparmor-clobber-docker-default-profile-o.patch + * 0005-SLE12-revert-apparmor-remove-version-conditionals-fr.patch + * 0007-bsc1221916-update-to-patched-buildkit-version-to-fix.patch + * 0008-bsc1214855-volume-use-AtomicWriteFile-to-save-volume.patch + * 0009-CVE-2024-41110-AuthZ-plugin-securty-fixes.patch + - 0010-TESTS-backport-fixes-for-integration-tests.patch + + 0011-TESTS-backport-fixes-for-integration-tests.patch + ------------------------------------------------------------------- Tue Dec 17 13:20:39 UTC 2024 - Aleksa Sarai diff --git a/packages/d/docker-stable/docker-stable.spec b/packages/d/docker-stable/docker-stable.spec index e91bad37cd6..13887f2e059 100644 --- a/packages/d/docker-stable/docker-stable.spec +++ b/packages/d/docker-stable/docker-stable.spec @@ -113,10 +113,11 @@ Patch201: 0004-bsc1073877-apparmor-clobber-docker-default-profile-o.patch # UPSTREAM: Revert of upstream patches to make apparmor work on SLE 12. Patch202: 0005-SLE12-revert-apparmor-remove-version-conditionals-fr.patch # UPSTREAM: Backport of several BuildKit patches: +# (Various patches.) CVE-2024-23650 # CVE-2024-23651 # CVE-2024-23652 # CVE-2024-23653 -Patch203: 0006-CVE-2024-23653-update-buildkit-to-include-CVE-patche.patch +Patch203: 0006-CVE-2024-2365x-update-buildkit-to-include-CVE-patche.patch # UPSTREAM: Backport of and # . bsc#1221916 Patch204: 0007-bsc1221916-update-to-patched-buildkit-version-to-fix.patch @@ -125,9 +126,11 @@ Patch205: 0008-bsc1214855-volume-use-AtomicWriteFile-to-save-volume.patch # UPSTREAM: Backport of # fix. CVE-2024-41110 Patch206: 0009-CVE-2024-41110-AuthZ-plugin-securty-fixes.patch +# UPSTREAM: Backport of . CVE-2024-29018 +Patch207: 0010-CVE-2024-29018-libnet-Don-t-forward-to-upstream-reso.patch # UPSTREAM: Backport of and # . -Patch299: 0010-TESTS-backport-fixes-for-integration-tests.patch +Patch299: 0011-TESTS-backport-fixes-for-integration-tests.patch # UPSTREAM: Backport of . Patch900: cli-0001-docs-include-required-tools-in-source-tree.patch BuildRequires: audit @@ -394,6 +397,8 @@ cp %{SOURCE130} . %patch -P205 -p1 # CVE-2024-41110 %patch -P206 -p1 +# CVE-2024-29018 +%patch -P207 -p1 %if %{with integration_tests} # integration-tests patches %patch -P299 -p1 diff --git a/packages/d/docker/.files b/packages/d/docker/.files index 917b92b5479..8098de50ea7 100644 Binary files a/packages/d/docker/.files and b/packages/d/docker/.files differ diff --git a/packages/d/docker/.rev b/packages/d/docker/.rev index 4b1afd76413..619ce247e3d 100644 --- a/packages/d/docker/.rev +++ b/packages/d/docker/.rev @@ -1504,4 +1504,12 @@ project by accident. 1230151 + + 0d57da5f12eaf0aa6e2448fdfd8af4f8 + unknown + + anag+factory + + 1231895 + diff --git a/packages/d/docker/0001-SECRETS-daemon-allow-directory-creation-in-run-secre.patch b/packages/d/docker/0001-SECRETS-daemon-allow-directory-creation-in-run-secre.patch index a7681600466..d1b17cc085f 100644 --- a/packages/d/docker/0001-SECRETS-daemon-allow-directory-creation-in-run-secre.patch +++ b/packages/d/docker/0001-SECRETS-daemon-allow-directory-creation-in-run-secre.patch @@ -1,7 +1,7 @@ -From ec53ee338835c4c1dc583695ac166f36bf3bac5c Mon Sep 17 00:00:00 2001 +From 70a1e03d5572deb789c5c4d817257c0760b79869 Mon Sep 17 00:00:00 2001 From: Aleksa Sarai Date: Wed, 8 Mar 2017 12:41:54 +1100 -Subject: [PATCH 1/7] SECRETS: daemon: allow directory creation in /run/secrets +Subject: [PATCH 1/5] SECRETS: daemon: allow directory creation in /run/secrets Since FileMode can have the directory bit set, allow a SecretStore implementation to return secrets that are actually directories. This is @@ -14,7 +14,7 @@ Signed-off-by: Aleksa Sarai 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/daemon/container_operations_unix.go b/daemon/container_operations_unix.go -index 4dedc1b21c87..b7c310493e79 100644 +index f572e0d8a865..88573559d537 100644 --- a/daemon/container_operations_unix.go +++ b/daemon/container_operations_unix.go @@ -3,6 +3,7 @@ @@ -25,15 +25,15 @@ index 4dedc1b21c87..b7c310493e79 100644 "context" "fmt" "os" -@@ -16,6 +17,7 @@ import ( - "github.com/docker/docker/daemon/links" +@@ -17,6 +18,7 @@ import ( + "github.com/docker/docker/daemon/network" "github.com/docker/docker/errdefs" "github.com/docker/docker/libnetwork" + "github.com/docker/docker/pkg/archive" "github.com/docker/docker/pkg/idtools" "github.com/docker/docker/pkg/process" "github.com/docker/docker/pkg/stringid" -@@ -240,9 +242,6 @@ func (daemon *Daemon) setupSecretDir(c *container.Container) (setupErr error) { +@@ -240,9 +242,6 @@ func (daemon *Daemon) setupSecretDir(ctr *container.Container) (setupErr error) if err != nil { return errors.Wrap(err, "unable to get secret from secret store") } @@ -43,7 +43,7 @@ index 4dedc1b21c87..b7c310493e79 100644 uid, err := strconv.Atoi(s.File.UID) if err != nil { -@@ -253,6 +252,24 @@ func (daemon *Daemon) setupSecretDir(c *container.Container) (setupErr error) { +@@ -253,6 +252,24 @@ func (daemon *Daemon) setupSecretDir(ctr *container.Container) (setupErr error) return err } @@ -69,5 +69,5 @@ index 4dedc1b21c87..b7c310493e79 100644 return errors.Wrap(err, "error setting ownership for secret") } -- -2.45.2 +2.47.1 diff --git a/packages/d/docker/0002-SECRETS-SUSE-implement-SUSE-container-secrets.patch b/packages/d/docker/0002-SECRETS-SUSE-implement-SUSE-container-secrets.patch index d4f6457d97f..2d82c92dace 100644 --- a/packages/d/docker/0002-SECRETS-SUSE-implement-SUSE-container-secrets.patch +++ b/packages/d/docker/0002-SECRETS-SUSE-implement-SUSE-container-secrets.patch @@ -1,7 +1,7 @@ -From 7ab9590b94925a03e0f16285492a73dbc231800c Mon Sep 17 00:00:00 2001 +From f1bfb09b1d53d6ddf68beedfce4e4110c2b10118 Mon Sep 17 00:00:00 2001 From: Aleksa Sarai Date: Wed, 8 Mar 2017 11:43:29 +1100 -Subject: [PATCH 2/7] SECRETS: SUSE: implement SUSE container secrets +Subject: [PATCH 2/5] SECRETS: SUSE: implement SUSE container secrets This allows for us to pass in host credentials to a container, allowing for SUSEConnect to work with containers. @@ -23,10 +23,10 @@ Signed-off-by: Aleksa Sarai create mode 100644 daemon/suse_secrets.go diff --git a/daemon/start.go b/daemon/start.go -index b967947af2ce..e1a1218eb016 100644 +index 027f08a6dc07..d8545f8cb46a 100644 --- a/daemon/start.go +++ b/daemon/start.go -@@ -118,6 +118,11 @@ func (daemon *Daemon) containerStart(ctx context.Context, daemonCfg *configStore +@@ -128,6 +128,11 @@ func (daemon *Daemon) containerStart(ctx context.Context, daemonCfg *configStore return err } diff --git a/packages/d/docker/0003-BUILD-SLE12-revert-graphdriver-btrfs-use-kernel-UAPI.patch b/packages/d/docker/0003-BUILD-SLE12-revert-graphdriver-btrfs-use-kernel-UAPI.patch index 3f60b41a28c..cdfdc2793f0 100644 --- a/packages/d/docker/0003-BUILD-SLE12-revert-graphdriver-btrfs-use-kernel-UAPI.patch +++ b/packages/d/docker/0003-BUILD-SLE12-revert-graphdriver-btrfs-use-kernel-UAPI.patch @@ -1,7 +1,7 @@ -From 983a57fd37dc8e42e9c4e4dfc72eb346a4385948 Mon Sep 17 00:00:00 2001 +From 3613734aeb6eacd45e53dfd834f46dc006ba0047 Mon Sep 17 00:00:00 2001 From: Aleksa Sarai Date: Mon, 22 May 2023 15:44:54 +1000 -Subject: [PATCH 3/7] BUILD: SLE12: revert "graphdriver/btrfs: use kernel UAPI +Subject: [PATCH 3/5] BUILD: SLE12: revert "graphdriver/btrfs: use kernel UAPI headers" This reverts commit 3208dcabdc8997340b255f5b880fef4e3f54580d. @@ -16,7 +16,7 @@ Signed-off-by: Aleksa Sarai 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/daemon/graphdriver/btrfs/btrfs.go b/daemon/graphdriver/btrfs/btrfs.go -index 6aaa33cf7622..7264d4036427 100644 +index 61f22ed2dd49..330571e3c047 100644 --- a/daemon/graphdriver/btrfs/btrfs.go +++ b/daemon/graphdriver/btrfs/btrfs.go @@ -4,17 +4,12 @@ package btrfs // import "github.com/docker/docker/daemon/graphdriver/btrfs" @@ -42,5 +42,5 @@ index 6aaa33cf7622..7264d4036427 100644 static void set_name_btrfs_ioctl_vol_args_v2(struct btrfs_ioctl_vol_args_v2* btrfs_struct, const char* value) { snprintf(btrfs_struct->name, BTRFS_SUBVOL_NAME_MAX, "%s", value); -- -2.45.2 +2.47.1 diff --git a/packages/d/docker/0004-bsc1073877-apparmor-clobber-docker-default-profile-o.patch b/packages/d/docker/0004-bsc1073877-apparmor-clobber-docker-default-profile-o.patch index 5efce26046d..9791a2cf588 100644 --- a/packages/d/docker/0004-bsc1073877-apparmor-clobber-docker-default-profile-o.patch +++ b/packages/d/docker/0004-bsc1073877-apparmor-clobber-docker-default-profile-o.patch @@ -1,7 +1,7 @@ -From 8829bb8ec53399fd41dd6f46e2bad64e773e8eaa Mon Sep 17 00:00:00 2001 +From e06f78e09fa03680ce51c8a080447fbc62156d3d Mon Sep 17 00:00:00 2001 From: Aleksa Sarai Date: Fri, 29 Jun 2018 17:59:30 +1000 -Subject: [PATCH 4/7] bsc1073877: apparmor: clobber docker-default profile on +Subject: [PATCH 4/5] bsc1073877: apparmor: clobber docker-default profile on start In the process of making docker-default reloading far less expensive, @@ -69,10 +69,10 @@ index be4938f5b61a..2b326fea5829 100644 return nil } diff --git a/daemon/daemon.go b/daemon/daemon.go -index e7ca77d8cbfc..13b39538fb00 100644 +index f152685e6026..dee4c33471d5 100644 --- a/daemon/daemon.go +++ b/daemon/daemon.go -@@ -916,8 +916,9 @@ func NewDaemon(ctx context.Context, config *config.Config, pluginStore *plugin.S +@@ -941,8 +941,9 @@ func NewDaemon(ctx context.Context, config *config.Config, pluginStore *plugin.S log.G(ctx).Warnf("Failed to configure golang's threads limit: %v", err) } @@ -81,9 +81,9 @@ index e7ca77d8cbfc..13b39538fb00 100644 + // Make sure we clobber any pre-existing docker-default profile to ensure + // that upgrades to the profile actually work smoothly. + if err := clobberDefaultAppArmorProfile(); err != nil { - log.G(ctx).Errorf(err.Error()) + log.G(ctx).WithError(err).Error("Failed to ensure default apparmor profile is loaded") } -- -2.45.2 +2.47.1 diff --git a/packages/d/docker/0005-SLE12-revert-apparmor-remove-version-conditionals-fr.patch b/packages/d/docker/0005-SLE12-revert-apparmor-remove-version-conditionals-fr.patch index ab555446e38..e3a44fb08e6 100644 --- a/packages/d/docker/0005-SLE12-revert-apparmor-remove-version-conditionals-fr.patch +++ b/packages/d/docker/0005-SLE12-revert-apparmor-remove-version-conditionals-fr.patch @@ -1,7 +1,7 @@ -From 24173cd6a2643e5e680e84920864f42ed43b6f28 Mon Sep 17 00:00:00 2001 +From 65799b8d19180cb039d257262bfa88e6629ccdf9 Mon Sep 17 00:00:00 2001 From: Aleksa Sarai Date: Wed, 11 Oct 2023 21:19:12 +1100 -Subject: [PATCH 5/7] SLE12: revert "apparmor: remove version-conditionals from +Subject: [PATCH 5/5] SLE12: revert "apparmor: remove version-conditionals from template" This reverts the following commits: @@ -322,5 +322,5 @@ index 8dbc1b610288..2062aab1ac99 100644 } ` -- -2.45.2 +2.47.1 diff --git a/packages/d/docker/0006-bsc1221916-update-to-patched-buildkit-version-to-fix.patch b/packages/d/docker/0006-bsc1221916-update-to-patched-buildkit-version-to-fix.patch deleted file mode 100644 index 7327198832f..00000000000 --- a/packages/d/docker/0006-bsc1221916-update-to-patched-buildkit-version-to-fix.patch +++ /dev/null @@ -1,890 +0,0 @@ -From dd16d113b9215bf5b0b56c409e7272ce07525836 Mon Sep 17 00:00:00 2001 -From: Aleksa Sarai -Date: Tue, 7 May 2024 01:51:25 +1000 -Subject: [PATCH 6/7] bsc1221916: update to patched buildkit version to fix - symlink resolution - -SUSE-Bugs: https://bugzilla.suse.com/show_bug.cgi?id=1221916 -Signed-off-by: Aleksa Sarai ---- - vendor.mod | 2 + - vendor.sum | 4 +- - .../buildkit/cache/contenthash/checksum.go | 393 ++++++++++-------- - .../moby/buildkit/cache/contenthash/path.go | 161 +++---- - vendor/modules.txt | 3 +- - 5 files changed, 314 insertions(+), 249 deletions(-) - -diff --git a/vendor.mod b/vendor.mod -index d69d2aa9f87f..5c42a653b91b 100644 ---- a/vendor.mod -+++ b/vendor.mod -@@ -114,6 +114,8 @@ require ( - tags.cncf.io/container-device-interface v0.7.2 - ) - -+replace github.com/moby/buildkit => github.com/cyphar/buildkit v0.0.0-20240624075140-0db2d2345b94 -+ - require ( - cloud.google.com/go v0.110.8 // indirect - cloud.google.com/go/compute v1.23.1 // indirect -diff --git a/vendor.sum b/vendor.sum -index 7a5bd6b4077b..f2aba7f8d3eb 100644 ---- a/vendor.sum -+++ b/vendor.sum -@@ -199,6 +199,8 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ3 - github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= - github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= - github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= -+github.com/cyphar/buildkit v0.0.0-20240624075140-0db2d2345b94 h1:xBwPT+ap0LDYsQJh1VKm9NNEKF5A7e/P3TRjnbTqZUE= -+github.com/cyphar/buildkit v0.0.0-20240624075140-0db2d2345b94/go.mod h1:2cyVOv9NoHM7arphK9ZfHIWKn9YVZRFd1wXB8kKmEzY= - github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= - github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= - github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -@@ -480,8 +482,6 @@ github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh - github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= - github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= - github.com/mndrix/tap-go v0.0.0-20171203230836-629fa407e90b/go.mod h1:pzzDgJWZ34fGzaAZGFW22KVZDfyrYW+QABMrWnJBnSs= --github.com/moby/buildkit v0.13.2 h1:nXNszM4qD9E7QtG7bFWPnDI1teUQFQglBzon/IU3SzI= --github.com/moby/buildkit v0.13.2/go.mod h1:2cyVOv9NoHM7arphK9ZfHIWKn9YVZRFd1wXB8kKmEzY= - github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= - github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= - github.com/moby/ipvs v1.1.0 h1:ONN4pGaZQgAx+1Scz5RvWV4Q7Gb+mvfRh3NsPS+1XQQ= -diff --git a/vendor/github.com/moby/buildkit/cache/contenthash/checksum.go b/vendor/github.com/moby/buildkit/cache/contenthash/checksum.go -index e0f58d57b3db..ec649f69b5e0 100644 ---- a/vendor/github.com/moby/buildkit/cache/contenthash/checksum.go -+++ b/vendor/github.com/moby/buildkit/cache/contenthash/checksum.go -@@ -10,6 +10,7 @@ import ( - "path/filepath" - "strings" - "sync" -+ "sync/atomic" - - iradix "github.com/hashicorp/go-immutable-radix" - "github.com/hashicorp/golang-lru/simplelru" -@@ -290,7 +291,7 @@ func keyPath(p string) string { - // HandleChange notifies the source about a modification operation - func (cc *cacheContext) HandleChange(kind fsutil.ChangeKind, p string, fi os.FileInfo, err error) (retErr error) { - p = keyPath(p) -- k := convertPathToKey([]byte(p)) -+ k := convertPathToKey(p) - - deleteDir := func(cr *CacheRecord) { - if cr.Type == CacheRecordTypeDir { -@@ -369,7 +370,7 @@ func (cc *cacheContext) HandleChange(kind fsutil.ChangeKind, p string, fi os.Fil - // note that the source may be called later because data writing is async - if fi.Mode()&os.ModeSymlink == 0 && stat.Linkname != "" { - ln := path.Join("/", filepath.ToSlash(stat.Linkname)) -- v, ok := cc.txn.Get(convertPathToKey([]byte(ln))) -+ v, ok := cc.txn.Get(convertPathToKey(ln)) - if ok { - cp := *v.(*CacheRecord) - cr = &cp -@@ -407,7 +408,7 @@ func (cc *cacheContext) Checksum(ctx context.Context, mountable cache.Mountable, - defer m.clean() - - if !opts.Wildcard && len(opts.IncludePatterns) == 0 && len(opts.ExcludePatterns) == 0 { -- return cc.checksumFollow(ctx, m, p, opts.FollowLinks) -+ return cc.lazyChecksum(ctx, m, p, opts.FollowLinks) - } - - includedPaths, err := cc.includedPaths(ctx, m, p, opts) -@@ -418,7 +419,7 @@ func (cc *cacheContext) Checksum(ctx context.Context, mountable cache.Mountable, - if opts.FollowLinks { - for i, w := range includedPaths { - if w.record.Type == CacheRecordTypeSymlink { -- dgst, err := cc.checksumFollow(ctx, m, w.path, opts.FollowLinks) -+ dgst, err := cc.lazyChecksum(ctx, m, w.path, opts.FollowLinks) - if err != nil { - return "", err - } -@@ -445,30 +446,6 @@ func (cc *cacheContext) Checksum(ctx context.Context, mountable cache.Mountable, - return digester.Digest(), nil - } - --func (cc *cacheContext) checksumFollow(ctx context.Context, m *mount, p string, follow bool) (digest.Digest, error) { -- const maxSymlinkLimit = 255 -- i := 0 -- for { -- if i > maxSymlinkLimit { -- return "", errors.Errorf("too many symlinks: %s", p) -- } -- cr, err := cc.checksumNoFollow(ctx, m, p) -- if err != nil { -- return "", err -- } -- if cr.Type == CacheRecordTypeSymlink && follow { -- link := cr.Linkname -- if !path.IsAbs(cr.Linkname) { -- link = path.Join(path.Dir(p), link) -- } -- i++ -- p = link -- } else { -- return cr.Digest, nil -- } -- } --} -- - func (cc *cacheContext) includedPaths(ctx context.Context, m *mount, p string, opts ChecksumOpts) ([]*includedPath, error) { - cc.mu.Lock() - defer cc.mu.Unlock() -@@ -478,12 +455,12 @@ func (cc *cacheContext) includedPaths(ctx context.Context, m *mount, p string, o - } - - root := cc.tree.Root() -- scan, err := cc.needsScan(root, "") -+ scan, err := cc.needsScan(root, "", false) - if err != nil { - return nil, err - } - if scan { -- if err := cc.scanPath(ctx, m, ""); err != nil { -+ if err := cc.scanPath(ctx, m, "", false); err != nil { - return nil, err - } - } -@@ -536,13 +513,13 @@ func (cc *cacheContext) includedPaths(ctx context.Context, m *mount, p string, o - } - } else { - origPrefix = p -- k = convertPathToKey([]byte(origPrefix)) -+ k = convertPathToKey(origPrefix) - - // We need to resolve symlinks here, in case the base path - // involves a symlink. That will match fsutil behavior of - // calling functions such as stat and walk. - var cr *CacheRecord -- k, cr, err = getFollowLinks(root, k, true) -+ k, cr, err = getFollowLinks(root, k, false) - if err != nil { - return nil, err - } -@@ -554,7 +531,7 @@ func (cc *cacheContext) includedPaths(ctx context.Context, m *mount, p string, o - iter.SeekLowerBound(append(append([]byte{}, k...), 0)) - } - -- resolvedPrefix = string(convertKeyToPath(k)) -+ resolvedPrefix = convertKeyToPath(k) - } else { - k, _, keyOk = iter.Next() - } -@@ -565,7 +542,7 @@ func (cc *cacheContext) includedPaths(ctx context.Context, m *mount, p string, o - ) - - for keyOk { -- fn := string(convertKeyToPath(k)) -+ fn := convertKeyToPath(k) - - // Convert the path prefix from what we found in the prefix - // tree to what the argument specified. -@@ -751,36 +728,12 @@ func wildcardPrefix(root *iradix.Node, p string) (string, []byte, bool, error) { - return "", nil, false, nil - } - -- linksWalked := 0 -- k, cr, err := getFollowLinksWalk(root, convertPathToKey([]byte(d1)), true, &linksWalked) -+ // Only resolve the final symlink component if there are components in the -+ // wildcard segment. -+ k, cr, err := getFollowLinks(root, convertPathToKey(d1), d2 != "") - if err != nil { - return "", k, false, err - } -- -- if d2 != "" && cr != nil && cr.Type == CacheRecordTypeSymlink { -- // getFollowLinks only handles symlinks in path -- // components before the last component, so -- // handle last component in d1 specially. -- resolved := string(convertKeyToPath(k)) -- for { -- v, ok := root.Get(k) -- -- if !ok { -- return d1, k, false, nil -- } -- if v.(*CacheRecord).Type != CacheRecordTypeSymlink { -- break -- } -- -- linksWalked++ -- if linksWalked > 255 { -- return "", k, false, errors.Errorf("too many links") -- } -- -- resolved := cleanLink(resolved, v.(*CacheRecord).Linkname) -- k = convertPathToKey([]byte(resolved)) -- } -- } - return d1, k, cr != nil, nil - } - -@@ -816,19 +769,22 @@ func containsWildcards(name string) bool { - return false - } - --func (cc *cacheContext) checksumNoFollow(ctx context.Context, m *mount, p string) (*CacheRecord, error) { -+func (cc *cacheContext) lazyChecksum(ctx context.Context, m *mount, p string, followTrailing bool) (digest.Digest, error) { - p = keyPath(p) -+ k := convertPathToKey(p) - -+ // Try to look up the path directly without doing a scan. - cc.mu.RLock() - if cc.txn == nil { - root := cc.tree.Root() - cc.mu.RUnlock() -- v, ok := root.Get(convertPathToKey([]byte(p))) -- if ok { -- cr := v.(*CacheRecord) -- if cr.Digest != "" { -- return cr, nil -- } -+ -+ _, cr, err := getFollowLinks(root, k, followTrailing) -+ if err != nil { -+ return "", err -+ } -+ if cr != nil && cr.Digest != "" { -+ return cr.Digest, nil - } - } else { - cc.mu.RUnlock() -@@ -848,7 +804,11 @@ func (cc *cacheContext) checksumNoFollow(ctx context.Context, m *mount, p string - } - }() - -- return cc.lazyChecksum(ctx, m, p) -+ cr, err := cc.scanChecksum(ctx, m, p, followTrailing) -+ if err != nil { -+ return "", err -+ } -+ return cr.Digest, nil - } - - func (cc *cacheContext) commitActiveTransaction() { -@@ -856,7 +816,7 @@ func (cc *cacheContext) commitActiveTransaction() { - addParentToMap(d, cc.dirtyMap) - } - for d := range cc.dirtyMap { -- k := convertPathToKey([]byte(d)) -+ k := convertPathToKey(d) - if _, ok := cc.txn.Get(k); ok { - cc.txn.Insert(k, &CacheRecord{Type: CacheRecordTypeDir}) - } -@@ -867,21 +827,21 @@ func (cc *cacheContext) commitActiveTransaction() { - cc.txn = nil - } - --func (cc *cacheContext) lazyChecksum(ctx context.Context, m *mount, p string) (*CacheRecord, error) { -+func (cc *cacheContext) scanChecksum(ctx context.Context, m *mount, p string, followTrailing bool) (*CacheRecord, error) { - root := cc.tree.Root() -- scan, err := cc.needsScan(root, p) -+ scan, err := cc.needsScan(root, p, followTrailing) - if err != nil { - return nil, err - } - if scan { -- if err := cc.scanPath(ctx, m, p); err != nil { -+ if err := cc.scanPath(ctx, m, p, followTrailing); err != nil { - return nil, err - } - } -- k := convertPathToKey([]byte(p)) -+ k := convertPathToKey(p) - txn := cc.tree.Txn() - root = txn.Root() -- cr, updated, err := cc.checksum(ctx, root, txn, m, k, true) -+ cr, updated, err := cc.checksum(ctx, root, txn, m, k, followTrailing) - if err != nil { - return nil, err - } -@@ -890,9 +850,9 @@ func (cc *cacheContext) lazyChecksum(ctx context.Context, m *mount, p string) (* - return cr, err - } - --func (cc *cacheContext) checksum(ctx context.Context, root *iradix.Node, txn *iradix.Txn, m *mount, k []byte, follow bool) (*CacheRecord, bool, error) { -+func (cc *cacheContext) checksum(ctx context.Context, root *iradix.Node, txn *iradix.Txn, m *mount, k []byte, followTrailing bool) (*CacheRecord, bool, error) { - origk := k -- k, cr, err := getFollowLinks(root, k, follow) -+ k, cr, err := getFollowLinks(root, k, followTrailing) - if err != nil { - return nil, false, err - } -@@ -918,7 +878,9 @@ func (cc *cacheContext) checksum(ctx context.Context, root *iradix.Node, txn *ir - } - h.Write(bytes.TrimPrefix(subk, k)) - -- subcr, _, err := cc.checksum(ctx, root, txn, m, subk, true) -+ // We do not follow trailing links when checksumming a directory's -+ // contents. -+ subcr, _, err := cc.checksum(ctx, root, txn, m, subk, false) - if err != nil { - return nil, false, err - } -@@ -935,7 +897,7 @@ func (cc *cacheContext) checksum(ctx context.Context, root *iradix.Node, txn *ir - dgst = digest.NewDigest(digest.SHA256, h) - - default: -- p := string(convertKeyToPath(bytes.TrimSuffix(k, []byte{0}))) -+ p := convertKeyToPath(bytes.TrimSuffix(k, []byte{0})) - - target, err := m.mount(ctx) - if err != nil { -@@ -967,42 +929,82 @@ func (cc *cacheContext) checksum(ctx context.Context, root *iradix.Node, txn *ir - return cr2, true, nil - } - --// needsScan returns false if path is in the tree or a parent path is in tree --// and subpath is missing --func (cc *cacheContext) needsScan(root *iradix.Node, p string) (bool, error) { -- var linksWalked int -- return cc.needsScanFollow(root, p, &linksWalked) -+// pathSet is a set of path prefixes that can be used to see if a given path is -+// lexically a child of any path in the set. All paths provided to this set -+// MUST be absolute and use / as the separator. -+type pathSet struct { -+ // prefixes contains paths of the form "/a/b/", so that we correctly detect -+ // /a/b as being a parent of /a/b/c but not /a/bc. -+ prefixes []string - } - --func (cc *cacheContext) needsScanFollow(root *iradix.Node, p string, linksWalked *int) (bool, error) { -- if p == "/" { -- p = "" -- } -- v, ok := root.Get(convertPathToKey([]byte(p))) -- if !ok { -- if p == "" { -- return true, nil -+// add a path to the set. This is a no-op if includes(path) == true. -+func (s *pathSet) add(p string) { -+ // Ensure the path is absolute and clean. -+ p = path.Join("/", p) -+ if !s.includes(p) { -+ if p != "/" { -+ p += "/" - } -- return cc.needsScanFollow(root, path.Clean(path.Dir(p)), linksWalked) -+ s.prefixes = append(s.prefixes, p) -+ } -+} -+ -+// includes returns true iff there is a path in the pathSet which is a lexical -+// parent of the given path. The provided path MUST be an absolute path and -+// MUST NOT contain any ".." components, as they will be path.Clean'd. -+func (s pathSet) includes(p string) bool { -+ // Ensure the path is absolute and clean. -+ p = path.Join("/", p) -+ if p != "/" { -+ p += "/" - } -- cr := v.(*CacheRecord) -- if cr.Type == CacheRecordTypeSymlink { -- if *linksWalked > 255 { -- return false, errTooManyLinks -+ for _, prefix := range s.prefixes { -+ if strings.HasPrefix(p, prefix) { -+ return true - } -- *linksWalked++ -- link := path.Clean(cr.Linkname) -- if !path.IsAbs(cr.Linkname) { -- link = path.Join("/", path.Dir(p), link) -+ } -+ return false -+} -+ -+// needsScan returns false if path is in the tree or a parent path is in tree -+// and subpath is missing. -+func (cc *cacheContext) needsScan(root *iradix.Node, path string, followTrailing bool) (bool, error) { -+ var ( -+ goodPaths pathSet -+ hasParentInTree bool -+ ) -+ k := convertPathToKey(path) -+ _, cr, err := getFollowLinksCallback(root, k, followTrailing, func(subpath string, cr *CacheRecord) error { -+ // If we found a path that exists in the cache, add it to the set of -+ // known-scanned paths. Otherwise, verify whether the not-found subpath -+ // is inside a known-scanned path (we might have hit a "..", taking us -+ // out of the scanned paths, or we might hit a non-existent path inside -+ // a scanned path). getFollowLinksCallback iterates left-to-right, so -+ // we will always hit ancestors first. -+ if cr != nil { -+ hasParentInTree = cr.Type != CacheRecordTypeSymlink -+ goodPaths.add(subpath) -+ } else { -+ hasParentInTree = goodPaths.includes(subpath) - } -- return cc.needsScanFollow(root, link, linksWalked) -+ return nil -+ }) -+ if err != nil { -+ return false, err - } -- return false, nil -+ return cr == nil && !hasParentInTree, nil - } - --func (cc *cacheContext) scanPath(ctx context.Context, m *mount, p string) (retErr error) { -+// Only used by TestNeedScanChecksumRegression to make sure scanPath is not -+// called for paths we have already scanned. -+var ( -+ scanCounterEnable bool -+ scanCounter atomic.Uint64 -+) -+ -+func (cc *cacheContext) scanPath(ctx context.Context, m *mount, p string, followTrailing bool) (retErr error) { - p = path.Join("/", p) -- d, _ := path.Split(p) - - mp, err := m.mount(ctx) - if err != nil { -@@ -1012,33 +1014,42 @@ func (cc *cacheContext) scanPath(ctx context.Context, m *mount, p string) (retEr - n := cc.tree.Root() - txn := cc.tree.Txn() - -- parentPath, err := rootPath(mp, filepath.FromSlash(d), func(p, link string) error { -+ resolvedPath, err := rootPath(mp, filepath.FromSlash(p), followTrailing, func(p, link string) error { - cr := &CacheRecord{ - Type: CacheRecordTypeSymlink, - Linkname: filepath.ToSlash(link), - } -- k := []byte(path.Join("/", filepath.ToSlash(p))) -- k = convertPathToKey(k) -- txn.Insert(k, cr) -+ p = path.Join("/", filepath.ToSlash(p)) -+ txn.Insert(convertPathToKey(p), cr) - return nil - }) - if err != nil { - return err - } - -- err = filepath.Walk(parentPath, func(itemPath string, fi os.FileInfo, err error) error { -+ // Scan the parent directory of the path we resolved, unless we're at the -+ // root (in which case we scan the root). -+ scanPath := filepath.Dir(resolvedPath) -+ if !strings.HasPrefix(filepath.ToSlash(scanPath)+"/", filepath.ToSlash(mp)+"/") { -+ scanPath = resolvedPath -+ } -+ -+ err = filepath.Walk(scanPath, func(itemPath string, fi os.FileInfo, err error) error { -+ if scanCounterEnable { -+ scanCounter.Add(1) -+ } - if err != nil { -+ // If the root doesn't exist, ignore the error. -+ if itemPath == scanPath && errors.Is(err, os.ErrNotExist) { -+ return nil -+ } - return errors.Wrapf(err, "failed to walk %s", itemPath) - } - rel, err := filepath.Rel(mp, itemPath) - if err != nil { - return err - } -- k := []byte(path.Join("/", filepath.ToSlash(rel))) -- if string(k) == "/" { -- k = []byte{} -- } -- k = convertPathToKey(k) -+ k := convertPathToKey(keyPath(rel)) - if _, ok := n.Get(k); !ok { - cr := &CacheRecord{ - Type: CacheRecordTypeFile, -@@ -1071,55 +1082,118 @@ func (cc *cacheContext) scanPath(ctx context.Context, m *mount, p string) (retEr - return nil - } - --func getFollowLinks(root *iradix.Node, k []byte, follow bool) ([]byte, *CacheRecord, error) { -- var linksWalked int -- return getFollowLinksWalk(root, k, follow, &linksWalked) -+// followLinksCallback is called after we try to resolve each element. If the -+// path was not found, cr is nil. -+type followLinksCallback func(path string, cr *CacheRecord) error -+ -+// getFollowLinks is shorthand for getFollowLinksCallback(..., nil). -+func getFollowLinks(root *iradix.Node, k []byte, followTrailing bool) ([]byte, *CacheRecord, error) { -+ return getFollowLinksCallback(root, k, followTrailing, nil) - } - --func getFollowLinksWalk(root *iradix.Node, k []byte, follow bool, linksWalked *int) ([]byte, *CacheRecord, error) { -+// getFollowLinksCallback looks up the requested key, fully resolving any -+// symlink components encountered. The implementation is heavily based on -+// . -+// -+// followTrailing indicates whether the *final component* of the path should be -+// resolved (effectively O_PATH|O_NOFOLLOW). Note that (in contrast to some -+// Linux APIs), followTrailing is obeyed even if the key has a trailing slash -+// (though paths like "foo/link/." will cause the link to be resolved). -+// -+// cb is a callback that is called for each path component encountered during -+// path resolution (after the path component is looked up in the cache). This -+// means for a path like /a/b/c, the callback will be called for at least -+// -+// {/, /a, /a/b, /a/b/c} -+// -+// Note that if any of the components are symlinks, the paths will depend on -+// the symlink contents and there will be more callbacks. If the requested key -+// has a trailing slash, the callback will also be called for the final -+// trailing-slash lookup (/a/b/c/ in the above example). Note that -+// getFollowLinksCallback will try to look up the original key directly first -+// and the callback is not called for this first lookup. -+func getFollowLinksCallback(root *iradix.Node, k []byte, followTrailing bool, cb followLinksCallback) ([]byte, *CacheRecord, error) { - v, ok := root.Get(k) -- if ok { -+ if ok && (!followTrailing || v.(*CacheRecord).Type != CacheRecordTypeSymlink) { - return k, v.(*CacheRecord), nil - } -- if !follow || len(k) == 0 { -+ if len(k) == 0 { - return k, nil, nil - } - -- dir, file := splitKey(k) -+ var ( -+ currentPath = "/" -+ remainingPath = convertKeyToPath(k) -+ linksWalked int -+ cr *CacheRecord -+ ) -+ // Trailing slashes are significant for the cache, but path.Clean strips -+ // them. We only care about the slash for the final lookup. -+ remainingPath, hadTrailingSlash := strings.CutSuffix(remainingPath, "/") -+ for remainingPath != "" { -+ // Get next component. -+ var part string -+ if i := strings.IndexRune(remainingPath, '/'); i == -1 { -+ part, remainingPath = remainingPath, "" -+ } else { -+ part, remainingPath = remainingPath[:i], remainingPath[i+1:] -+ } - -- k, parent, err := getFollowLinksWalk(root, dir, follow, linksWalked) -- if err != nil { -- return nil, nil, err -- } -- if parent != nil { -- if parent.Type == CacheRecordTypeSymlink { -- *linksWalked++ -- if *linksWalked > 255 { -- return nil, nil, errors.Errorf("too many links") -+ // Apply the component to the path. Since it is a single component, and -+ // our current path contains no symlinks, we can just apply it -+ // leixically. -+ nextPath := keyPath(path.Join("/", currentPath, part)) -+ // In contrast to rootPath, we don't skip lookups for no-op components -+ // or / because we need to call the callback for every path component -+ // we hit (including /) and we need to make sure that the CacheRecord -+ // we return is correct after every iteration. -+ -+ cr = nil -+ v, ok := root.Get(convertPathToKey(nextPath)) -+ if ok { -+ cr = v.(*CacheRecord) -+ } -+ if cb != nil { -+ if err := cb(nextPath, cr); err != nil { -+ return nil, nil, err - } -+ } -+ if !ok || cr.Type != CacheRecordTypeSymlink { -+ currentPath = nextPath -+ continue -+ } -+ if !followTrailing && remainingPath == "" { -+ currentPath = nextPath -+ break -+ } - -- link := cleanLink(string(convertKeyToPath(dir)), parent.Linkname) -- return getFollowLinksWalk(root, append(convertPathToKey([]byte(link)), file...), follow, linksWalked) -+ linksWalked++ -+ if linksWalked > maxSymlinkLimit { -+ return nil, nil, errTooManyLinks - } -- } -- k = append(k, file...) -- v, ok = root.Get(k) -- if ok { -- return k, v.(*CacheRecord), nil -- } -- return k, nil, nil --} - --func cleanLink(dir, linkname string) string { -- dirPath := path.Clean(dir) -- if dirPath == "." || dirPath == "/" { -- dirPath = "" -+ remainingPath = cr.Linkname + "/" + remainingPath -+ if path.IsAbs(cr.Linkname) { -+ currentPath = "/" -+ } - } -- link := path.Clean(linkname) -- if !path.IsAbs(link) { -- return path.Join("/", path.Join(path.Dir(dirPath), link)) -+ // We've already looked up the final component. However, if there was a -+ // trailing slash in the original path, we need to do the lookup again with -+ // the slash applied. -+ if hadTrailingSlash { -+ cr = nil -+ currentPath += "/" -+ v, ok := root.Get(convertPathToKey(currentPath)) -+ if ok { -+ cr = v.(*CacheRecord) -+ } -+ if cb != nil { -+ if err := cb(currentPath, cr); err != nil { -+ return nil, nil, err -+ } -+ } - } -- return link -+ return convertPathToKey(currentPath), cr, nil - } - - func prepareDigest(fp, p string, fi os.FileInfo) (digest.Digest, error) { -@@ -1176,25 +1250,10 @@ func poolsCopy(dst io.Writer, src io.Reader) (written int64, err error) { - return - } - --func convertPathToKey(p []byte) []byte { -+func convertPathToKey(p string) []byte { - return bytes.Replace([]byte(p), []byte("/"), []byte{0}, -1) - } - --func convertKeyToPath(p []byte) []byte { -- return bytes.Replace([]byte(p), []byte{0}, []byte("/"), -1) --} -- --func splitKey(k []byte) ([]byte, []byte) { -- foundBytes := false -- i := len(k) - 1 -- for { -- if i <= 0 || foundBytes && k[i] == 0 { -- break -- } -- if k[i] != 0 { -- foundBytes = true -- } -- i-- -- } -- return append([]byte{}, k[:i]...), k[i:] -+func convertKeyToPath(p []byte) string { -+ return string(bytes.Replace(p, []byte{0}, []byte("/"), -1)) - } -diff --git a/vendor/github.com/moby/buildkit/cache/contenthash/path.go b/vendor/github.com/moby/buildkit/cache/contenthash/path.go -index 42b7fd8349c7..ae950f713241 100644 ---- a/vendor/github.com/moby/buildkit/cache/contenthash/path.go -+++ b/vendor/github.com/moby/buildkit/cache/contenthash/path.go -@@ -1,108 +1,111 @@ -+// This code mostly comes from . -+ -+// Copyright (C) 2014-2015 Docker Inc & Go Authors. All rights reserved. -+// Copyright (C) 2017-2024 SUSE LLC. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ - package contenthash - - import ( - "os" - "path/filepath" -+ "strings" - - "github.com/pkg/errors" - ) - --var ( -- errTooManyLinks = errors.New("too many links") --) -+var errTooManyLinks = errors.New("too many links") -+ -+const maxSymlinkLimit = 255 - - type onSymlinkFunc func(string, string) error - --// rootPath joins a path with a root, evaluating and bounding any --// symlink to the root directory. --// This is containerd/continuity/fs RootPath implementation with a callback on --// resolving the symlink. --func rootPath(root, path string, cb onSymlinkFunc) (string, error) { -- if path == "" { -+// rootPath joins a path with a root, evaluating and bounding any symlink to -+// the root directory. This is a slightly modified version of SecureJoin from -+// github.com/cyphar/filepath-securejoin, with a callback which we call after -+// each symlink resolution. -+func rootPath(root, unsafePath string, followTrailing bool, cb onSymlinkFunc) (string, error) { -+ if unsafePath == "" { - return root, nil - } -- var linksWalked int // to protect against cycles -- for { -- i := linksWalked -- newpath, err := walkLinks(root, path, &linksWalked, cb) -- if err != nil { -- return "", err -- } -- path = newpath -- if i == linksWalked { -- newpath = filepath.Join("/", newpath) -- if path == newpath { -- return filepath.Join(root, newpath), nil -- } -- path = newpath -- } -- } --} - --func walkLink(root, path string, linksWalked *int, cb onSymlinkFunc) (newpath string, islink bool, err error) { -- if *linksWalked > 255 { -- return "", false, errTooManyLinks -- } -+ unsafePath = filepath.FromSlash(unsafePath) -+ var ( -+ currentPath string -+ linksWalked int -+ ) -+ for unsafePath != "" { -+ // Windows-specific: remove any drive letters from the path. -+ if v := filepath.VolumeName(unsafePath); v != "" { -+ unsafePath = unsafePath[len(v):] -+ } - -- path = filepath.Join("/", path) -- if path == "/" { -- return path, false, nil -- } -- realPath := filepath.Join(root, path) -+ // Remove any unnecessary trailing slashes. -+ unsafePath = strings.TrimSuffix(unsafePath, string(filepath.Separator)) - -- fi, err := os.Lstat(realPath) -- if err != nil { -- // If path does not yet exist, treat as non-symlink -- if errors.Is(err, os.ErrNotExist) { -- return path, false, nil -+ // Get the next path component. -+ var part string -+ if i := strings.IndexRune(unsafePath, filepath.Separator); i == -1 { -+ part, unsafePath = unsafePath, "" -+ } else { -+ part, unsafePath = unsafePath[:i], unsafePath[i+1:] - } -- return "", false, err -- } -- if fi.Mode()&os.ModeSymlink == 0 { -- return path, false, nil -- } -- newpath, err = os.Readlink(realPath) -- if err != nil { -- return "", false, err -- } -- if cb != nil { -- if err := cb(path, newpath); err != nil { -- return "", false, err -- } -- } -- *linksWalked++ -- return newpath, true, nil --} - --func walkLinks(root, path string, linksWalked *int, cb onSymlinkFunc) (string, error) { -- switch dir, file := filepath.Split(path); { -- case dir == "": -- newpath, _, err := walkLink(root, file, linksWalked, cb) -- return newpath, err -- case file == "": -- if os.IsPathSeparator(dir[len(dir)-1]) { -- if dir == "/" { -- return dir, nil -- } -- return walkLinks(root, dir[:len(dir)-1], linksWalked, cb) -+ // Apply the component lexically to the path we are building. path does -+ // not contain any symlinks, and we are lexically dealing with a single -+ // component, so it's okay to do filepath.Clean here. -+ nextPath := filepath.Join(string(filepath.Separator), currentPath, part) -+ if nextPath == string(filepath.Separator) { -+ // If we end up back at the root, we don't need to re-evaluate /. -+ currentPath = "" -+ continue - } -- newpath, _, err := walkLink(root, dir, linksWalked, cb) -- return newpath, err -- default: -- newdir, err := walkLinks(root, dir, linksWalked, cb) -- if err != nil { -+ fullPath := root + string(filepath.Separator) + nextPath -+ -+ // Figure out whether the path is a symlink. -+ fi, err := os.Lstat(fullPath) -+ if err != nil && !errors.Is(err, os.ErrNotExist) { - return "", err - } -- newpath, islink, err := walkLink(root, filepath.Join(newdir, file), linksWalked, cb) -+ // Treat non-existent path components the same as non-symlinks (we -+ // can't do any better here). -+ if errors.Is(err, os.ErrNotExist) || fi.Mode()&os.ModeSymlink == 0 { -+ currentPath = nextPath -+ continue -+ } -+ // Don't resolve the final component with !followTrailing. -+ if !followTrailing && unsafePath == "" { -+ currentPath = nextPath -+ break -+ } -+ -+ // It's a symlink, so get its contents and expand it by prepending it -+ // to the yet-unparsed path. -+ linksWalked++ -+ if linksWalked > maxSymlinkLimit { -+ return "", errTooManyLinks -+ } -+ -+ dest, err := os.Readlink(fullPath) - if err != nil { - return "", err - } -- if !islink { -- return newpath, nil -+ if cb != nil { -+ if err := cb(nextPath, dest); err != nil { -+ return "", err -+ } - } -- if filepath.IsAbs(newpath) { -- return newpath, nil -+ -+ unsafePath = dest + string(filepath.Separator) + unsafePath -+ // Absolute symlinks reset any work we've already done. -+ if filepath.IsAbs(dest) { -+ currentPath = "" - } -- return filepath.Join(newdir, newpath), nil - } -+ -+ // There should be no lexical components left in path here, but just for -+ // safety do a filepath.Clean before the join. -+ finalPath := filepath.Join(string(filepath.Separator), currentPath) -+ return filepath.Join(root, finalPath), nil - } -diff --git a/vendor/modules.txt b/vendor/modules.txt -index 7f3e6497785d..247f49f3518e 100644 ---- a/vendor/modules.txt -+++ b/vendor/modules.txt -@@ -711,7 +711,7 @@ github.com/mitchellh/hashstructure/v2 - # github.com/mitchellh/reflectwalk v1.0.2 - ## explicit - github.com/mitchellh/reflectwalk --# github.com/moby/buildkit v0.13.2 -+# github.com/moby/buildkit v0.13.2 => github.com/cyphar/buildkit v0.0.0-20240624075140-0db2d2345b94 - ## explicit; go 1.21 - github.com/moby/buildkit/api/services/control - github.com/moby/buildkit/api/types -@@ -1610,3 +1610,4 @@ tags.cncf.io/container-device-interface/pkg/parser - # tags.cncf.io/container-device-interface/specs-go v0.7.0 - ## explicit; go 1.19 - tags.cncf.io/container-device-interface/specs-go -+# github.com/moby/buildkit => github.com/cyphar/buildkit v0.0.0-20240624075140-0db2d2345b94 --- -2.45.2 - diff --git a/packages/d/docker/0007-bsc1214855-volume-use-AtomicWriteFile-to-save-volume.patch b/packages/d/docker/0007-bsc1214855-volume-use-AtomicWriteFile-to-save-volume.patch deleted file mode 100644 index f99176b50ad..00000000000 --- a/packages/d/docker/0007-bsc1214855-volume-use-AtomicWriteFile-to-save-volume.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 62035ba22a45bde6bed2da321e7ad954f5b461b4 Mon Sep 17 00:00:00 2001 -From: Aleksa Sarai -Date: Wed, 19 Jun 2024 16:30:49 +1000 -Subject: [PATCH 7/7] bsc1214855: volume: use AtomicWriteFile to save volume - options - -If the system (or Docker) crashes while saivng the volume options, on -restart the daemon will error out when trying to read the options file -because it doesn't contain valid JSON. - -In such a crash scenario, the new volume will be treated as though it -has the default options configuration. This is not ideal, but volumes -created on very old Docker versions (pre-1.11[1], circa 2016) do not -have opts.json and so doing some kind of cleanup when loading the volume -store (even if we take care to only delete empty volumes) could delete -existing volumes carried over from very old Docker versions that users -would not expect to disappear. - -Ultimately, if a user creates a volume and the system crashes, a volume -that has the wrong config is better than Docker not being able to start. - -[1]: commit b05b2370757d ("Support mount opts for `local` volume driver") - -SUSE-Bugs: https://bugzilla.suse.com/show_bug.cgi?id=1214855 -Signed-off-by: Aleksa Sarai ---- - volume/local/local.go | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/volume/local/local.go b/volume/local/local.go -index 6e96aeea4189..4412f34a3da9 100644 ---- a/volume/local/local.go -+++ b/volume/local/local.go -@@ -17,6 +17,7 @@ import ( - "github.com/docker/docker/daemon/names" - "github.com/docker/docker/errdefs" - "github.com/docker/docker/pkg/idtools" -+ "github.com/docker/docker/pkg/ioutils" - "github.com/docker/docker/quota" - "github.com/docker/docker/volume" - "github.com/pkg/errors" -@@ -388,7 +389,7 @@ func (v *localVolume) saveOpts() error { - if err != nil { - return err - } -- err = os.WriteFile(filepath.Join(v.rootPath, "opts.json"), b, 0o600) -+ err = ioutils.AtomicWriteFile(filepath.Join(v.rootPath, "opts.json"), b, 0o600) - if err != nil { - return errdefs.System(errors.Wrap(err, "error while persisting volume options")) - } --- -2.45.2 - diff --git a/packages/d/docker/_service b/packages/d/docker/_service index bb6624d7c97..753c79fcc3a 100644 --- a/packages/d/docker/_service +++ b/packages/d/docker/_service @@ -3,24 +3,24 @@ https://github.com/moby/moby.git git .git - 26.1.5_ce_%h - v26.1.5 + 27.4.1_ce_%h + v27.4.1 docker https://github.com/docker/cli.git git .git - 26.1.5_ce - v26.1.5 + 27.4.1_ce + v27.4.1 docker-cli https://github.com/docker/buildx.git git .git - 0.19.2 - v0.19.2 + 0.19.3 + v0.19.3 docker-buildx diff --git a/packages/d/docker/cli-0001-docs-include-required-tools-in-source-tree.patch b/packages/d/docker/cli-0001-docs-include-required-tools-in-source-tree.patch index 4c7adb93625..c9b5925e0d6 100644 --- a/packages/d/docker/cli-0001-docs-include-required-tools-in-source-tree.patch +++ b/packages/d/docker/cli-0001-docs-include-required-tools-in-source-tree.patch @@ -1,6 +1,6 @@ -From 3701285f1cf678dda730e3f9a4860d74ca54057d Mon Sep 17 00:00:00 2001 -From: danishprakash -Date: Mon, 12 Feb 2024 18:07:06 +0530 +From 8fbd3c8cfba959ec3b0db555d10158745cd01456 Mon Sep 17 00:00:00 2001 +From: Aleksa Sarai +Date: Mon, 16 Dec 2024 17:21:02 +1100 Subject: [PATCH] docs: include required tools in source tree In order to be able to build the documentation without internet access @@ -14,41 +14,40 @@ the tools (by modifying go.mod as part of the docs build script). This pattern also maked documentation builds less reproducible since the tool version used was not based on the source code version. -Fixes: commit 7dc35c03fca5 ("validate manpages target") -Fixes: commit a650f4ddd008 ("switch to cli-docs-tool for yaml docs generation") -Signed-off-by: Aleksa Sarai +Fixes: 7dc35c03fca5 ("validate manpages target") +Fixes: a650f4ddd008 ("switch to cli-docs-tool for yaml docs generation") +Signed-off-by: Aleksa Sarai --- docs/generate/go.mod | 13 - docs/generate/tools.go | 8 - - import.go | 17 + - man/tools.go | 11 - - scripts/docs/generate-man.sh | 33 +- - scripts/docs/generate-md.sh | 36 +- - scripts/docs/generate-yaml.sh | 29 +- - vendor.mod | 5 + - vendor.sum | 4 + + man/go.mod | 15 - + man/tools.go | 3 - + scripts/docs/generate-man.sh | 30 +- + scripts/docs/generate-md.sh | 26 +- + scripts/docs/generate-yaml.sh | 26 +- + vendor.mod | 3 + + vendor.sum | 2 + .../cpuguy83/go-md2man/v2/.gitignore | 2 + .../cpuguy83/go-md2man/v2/.golangci.yml | 6 + - .../cpuguy83/go-md2man/v2/Dockerfile | 20 + + .../cpuguy83/go-md2man/v2/Dockerfile | 14 + .../cpuguy83/go-md2man/v2/LICENSE.md | 21 + - .../github.com/cpuguy83/go-md2man/v2/Makefile | 35 + + .../github.com/cpuguy83/go-md2man/v2/Makefile | 49 + .../cpuguy83/go-md2man/v2/README.md | 15 + .../cpuguy83/go-md2man/v2/go-md2man.1.md | 28 + .../cpuguy83/go-md2man/v2/md2man.go | 53 + .../cpuguy83/go-md2man/v2/md2man/md2man.go | 16 + - .../cpuguy83/go-md2man/v2/md2man/roff.go | 348 ++ + .../cpuguy83/go-md2man/v2/md2man/roff.go | 382 +++ .../docker/cli-docs-tool/.dockerignore | 2 + .../docker/cli-docs-tool/.gitignore | 2 + .../docker/cli-docs-tool/.golangci.yml | 37 + .../docker/cli-docs-tool/Dockerfile | 86 + - .../github.com/docker/cli-docs-tool/LICENSE | 202 ++ .../github.com/docker/cli-docs-tool/README.md | 67 + - .../cli-docs-tool/annotation/annotation.go | 25 + - .../docker/cli-docs-tool/clidocstool.go | 123 + - .../docker/cli-docs-tool/clidocstool_md.go | 280 ++ - .../docker/cli-docs-tool/clidocstool_yaml.go | 435 +++ + .../docker/cli-docs-tool/clidocstool.go | 191 ++ + .../docker/cli-docs-tool/clidocstool_man.go | 74 + + .../docker/cli-docs-tool/clidocstool_md.go | 277 ++ + .../docker/cli-docs-tool/clidocstool_yaml.go | 378 ++ .../docker/cli-docs-tool/docker-bake.hcl | 51 + - .../docker/cli-docs-tool/markdown.go | 87 + + .../docker/cli-docs-tool/markdown.go | 100 + .../russross/blackfriday/v2/.gitignore | 8 + .../russross/blackfriday/v2/.travis.yml | 17 + .../russross/blackfriday/v2/LICENSE.txt | 29 + @@ -83,12 +82,11 @@ Signed-off-by: Aleksa Sarai vendor/gopkg.in/yaml.v3/yaml.go | 698 ++++ vendor/gopkg.in/yaml.v3/yamlh.go | 807 +++++ vendor/gopkg.in/yaml.v3/yamlprivateh.go | 198 ++ - vendor/modules.txt | 15 + - 66 files changed, 22631 insertions(+), 96 deletions(-) + vendor/modules.txt | 12 + + 65 files changed, 22503 insertions(+), 101 deletions(-) delete mode 100644 docs/generate/go.mod delete mode 100644 docs/generate/tools.go - create mode 100644 import.go - delete mode 100644 man/tools.go + delete mode 100644 man/go.mod create mode 100644 vendor/github.com/cpuguy83/go-md2man/v2/.gitignore create mode 100644 vendor/github.com/cpuguy83/go-md2man/v2/.golangci.yml create mode 100644 vendor/github.com/cpuguy83/go-md2man/v2/Dockerfile @@ -103,10 +101,9 @@ Signed-off-by: Aleksa Sarai create mode 100644 vendor/github.com/docker/cli-docs-tool/.gitignore create mode 100644 vendor/github.com/docker/cli-docs-tool/.golangci.yml create mode 100644 vendor/github.com/docker/cli-docs-tool/Dockerfile - create mode 100644 vendor/github.com/docker/cli-docs-tool/LICENSE create mode 100644 vendor/github.com/docker/cli-docs-tool/README.md - create mode 100644 vendor/github.com/docker/cli-docs-tool/annotation/annotation.go create mode 100644 vendor/github.com/docker/cli-docs-tool/clidocstool.go + create mode 100644 vendor/github.com/docker/cli-docs-tool/clidocstool_man.go create mode 100644 vendor/github.com/docker/cli-docs-tool/clidocstool_md.go create mode 100644 vendor/github.com/docker/cli-docs-tool/clidocstool_yaml.go create mode 100644 vendor/github.com/docker/cli-docs-tool/docker-bake.hcl @@ -148,7 +145,7 @@ Signed-off-by: Aleksa Sarai diff --git a/docs/generate/go.mod b/docs/generate/go.mod deleted file mode 100644 -index d62ff455713a..000000000000 +index 451d2965338c..000000000000 --- a/docs/generate/go.mod +++ /dev/null @@ -1,13 +0,0 @@ @@ -157,11 +154,11 @@ index d62ff455713a..000000000000 -// dummy go.mod to avoid dealing with dependencies specific -// to docs generation and not really part of the project. - --go 1.16 +-go 1.22.0 - -//require ( -// github.com/docker/cli v0.0.0+incompatible --// github.com/docker/cli-docs-tool v0.5.0 +-// github.com/docker/cli-docs-tool v0.8.0 -//) -// -//replace github.com/docker/cli v0.0.0+incompatible => ../../ @@ -179,70 +176,57 @@ index 47510bc49a89..000000000000 -import ( - _ "github.com/docker/cli-docs-tool" -) -diff --git a/import.go b/import.go -new file mode 100644 -index 000000000000..662a6055146c ---- /dev/null -+++ b/import.go -@@ -0,0 +1,17 @@ -+// This is only used to define imports we need for doc generation. -+ -+//go:build never -+// +build never -+ -+package cli -+ -+import ( -+ // Used for md and yaml doc generation. -+ _ "github.com/docker/cli-docs-tool" -+ -+ // Used for man page generation. -+ _ "github.com/cpuguy83/go-md2man/v2" -+ _ "github.com/spf13/cobra" -+ _ "github.com/spf13/cobra/doc" -+ _ "github.com/spf13/pflag" -+) -diff --git a/man/tools.go b/man/tools.go +diff --git a/man/go.mod b/man/go.mod deleted file mode 100644 -index 3cafe6533aff..000000000000 ---- a/man/tools.go +index 1bb09dabf10a..000000000000 +--- a/man/go.mod +++ /dev/null -@@ -1,11 +0,0 @@ --//go:build tools --// +build tools +@@ -1,15 +0,0 @@ +-module github.com/docker/cli/man - --package main +-// dummy go.mod to avoid dealing with dependencies specific +-// to manpages generation and not really part of the project. - --import ( -- _ "github.com/cpuguy83/go-md2man/v2" +-go 1.22.0 +- +-//require ( +-// github.com/docker/cli v0.0.0+incompatible +-// github.com/cpuguy83/go-md2man/v2 v2.0.5 +-// github.com/spf13/cobra v1.2.1 +-// github.com/spf13/pflag v1.0.5 +-//) +-// +-//replace github.com/docker/cli v0.0.0+incompatible => ../ +diff --git a/man/tools.go b/man/tools.go +index 3cafe6533aff..3998dc709072 100644 +--- a/man/tools.go ++++ b/man/tools.go +@@ -5,7 +5,4 @@ package main + + import ( + _ "github.com/cpuguy83/go-md2man/v2" - _ "github.com/spf13/cobra" - _ "github.com/spf13/cobra/doc" - _ "github.com/spf13/pflag" --) + ) diff --git a/scripts/docs/generate-man.sh b/scripts/docs/generate-man.sh -index 12a4b81199db..1e12a95e9c9a 100755 +index 711041b6d399..15d0cf85b185 100755 --- a/scripts/docs/generate-man.sh +++ b/scripts/docs/generate-man.sh -@@ -1,35 +1,22 @@ - #!/usr/bin/env bash - --set -eu -- --: "${MD2MAN_VERSION=v2.0.3}" -+set -Eeuo pipefail +@@ -4,32 +4,18 @@ set -eu - export GO111MODULE=auto + : "${MD2MAN_VERSION=v2.0.5}" +-export GO111MODULE=auto +- -function clean { - rm -rf "$buildir" -+# temporary "go.mod" to make -modfile= work -+touch go.mod -+ +function clean() { -+ rm -f "$(pwd)/go.mod" ++ rm -f go.mod } -buildir=$(mktemp -d -t docker-cli-docsgen.XXXXXXXXXX) ++export GO111MODULE=auto trap clean EXIT -( @@ -262,6 +246,7 @@ index 12a4b81199db..1e12a95e9c9a 100755 - # build go-md2man - go build -mod=vendor -modfile=vendor.mod -o /tmp/go-md2man ./vendor/github.com/cpuguy83/go-md2man/v2 -) ++./scripts/vendor init +# build gen-manpages +go build -mod=vendor -modfile=vendor.mod -tags manpages -o /tmp/gen-manpages ./man/generate.go +# build go-md2man @@ -270,31 +255,23 @@ index 12a4b81199db..1e12a95e9c9a 100755 mkdir -p man/man1 (set -x ; /tmp/gen-manpages --root "." --target "$(pwd)/man/man1") diff --git a/scripts/docs/generate-md.sh b/scripts/docs/generate-md.sh -index 4caa01eaed23..0af86843bbe4 100755 +index 3fe1ca917646..b9eaed3aed9f 100755 --- a/scripts/docs/generate-md.sh +++ b/scripts/docs/generate-md.sh -@@ -1,33 +1,29 @@ - #!/usr/bin/env bash - --set -eu -- --: "${CLI_DOCS_TOOL_VERSION=v0.7.0}" -+set -Eeuo pipefail +@@ -4,30 +4,16 @@ set -eu - export GO111MODULE=auto + : "${CLI_DOCS_TOOL_VERSION=v0.8.0}" -+# temporary "go.mod" to make -modfile= work -+touch go.mod -+ - function clean { +-export GO111MODULE=auto +- +-function clean { - rm -rf "$buildir" -+ rm -f "$(pwd)/go.mod" -+ if [ -f "$(pwd)/docs/reference/commandline/docker.md" ]; then -+ mv "$(pwd)/docs/reference/commandline/docker.md" "$(pwd)/docs/reference/commandline/cli.md" -+ fi ++function clean() { ++ rm -f go.mod } -buildir=$(mktemp -d -t docker-cli-docsgen.XXXXXXXXXX) ++export GO111MODULE=auto trap clean EXIT -( @@ -304,7 +281,7 @@ index 4caa01eaed23..0af86843bbe4 100755 - # init dummy go.mod - ./scripts/vendor init - # install cli-docs-tool and copy docs/tools.go in root folder -- # to be able to fetch the required depedencies +- # to be able to fetch the required dependencies - go mod edit -modfile=vendor.mod -require=github.com/docker/cli-docs-tool@${CLI_DOCS_TOOL_VERSION} - cp docs/generate/tools.go . - # update vendor @@ -312,41 +289,30 @@ index 4caa01eaed23..0af86843bbe4 100755 - # build docsgen - go build -mod=vendor -modfile=vendor.mod -tags docsgen -o /tmp/docsgen ./docs/generate/generate.go -) ++./scripts/vendor init +# build docsgen +go build -mod=vendor -modfile=vendor.mod -tags docsgen -o /tmp/docsgen ./docs/generate/generate.go -+ -+# yaml generation on docs repo needs the cli.md file: https://github.com/docker/cli/pull/3924#discussion_r1059986605 -+# but markdown generation docker.md atm. While waiting for a fix in cli-docs-tool -+# we need to first move the cli.md file to docker.md, do the generation and -+# then move it back in trap handler. -+mv "$(pwd)/docs/reference/commandline/cli.md" "$(pwd)/docs/reference/commandline/docker.md" ( set -x diff --git a/scripts/docs/generate-yaml.sh b/scripts/docs/generate-yaml.sh -index 0d67c5e5bb09..7d98e161df5d 100755 +index c4ed0d567de3..7da8d1a2fa95 100755 --- a/scripts/docs/generate-yaml.sh +++ b/scripts/docs/generate-yaml.sh -@@ -1,33 +1,20 @@ - #!/usr/bin/env bash - --set -eu -- --: "${CLI_DOCS_TOOL_VERSION=v0.7.0}" -+set -Eeuo pipefail +@@ -4,30 +4,16 @@ set -eu - export GO111MODULE=auto + : "${CLI_DOCS_TOOL_VERSION=v0.8.0}" +-export GO111MODULE=auto +- -function clean { - rm -rf "$buildir" -+# temporary "go.mod" to make -modfile= work -+touch go.mod -+ +function clean() { -+ rm -f "$(pwd)/go.mod" ++ rm -f go.mod } -buildir=$(mktemp -d -t docker-cli-docsgen.XXXXXXXXXX) ++export GO111MODULE=auto trap clean EXIT -( @@ -356,7 +322,7 @@ index 0d67c5e5bb09..7d98e161df5d 100755 - # init dummy go.mod - ./scripts/vendor init - # install cli-docs-tool and copy docs/tools.go in root folder -- # to be able to fetch the required depedencies +- # to be able to fetch the required dependencies - go mod edit -modfile=vendor.mod -require=github.com/docker/cli-docs-tool@${CLI_DOCS_TOOL_VERSION} - cp docs/generate/tools.go . - # update vendor @@ -364,68 +330,51 @@ index 0d67c5e5bb09..7d98e161df5d 100755 - # build docsgen - go build -mod=vendor -modfile=vendor.mod -tags docsgen -o /tmp/docsgen ./docs/generate/generate.go -) ++./scripts/vendor init +# build docsgen +go build -mod=vendor -modfile=vendor.mod -tags docsgen -o /tmp/docsgen ./docs/generate/generate.go mkdir -p docs/yaml set -x diff --git a/vendor.mod b/vendor.mod -index 3bc5ce327f0f..a654f78703d6 100644 +index e1e7975baebc..1ceb5d5c6fa2 100644 --- a/vendor.mod +++ b/vendor.mod -@@ -11,6 +11,7 @@ require ( - github.com/containerd/platforms v0.2.0 - github.com/creack/pty v1.1.21 - github.com/distribution/reference v0.5.0 -+ github.com/docker/cli-docs-tool v0.6.0 - github.com/docker/distribution v2.8.3+incompatible - github.com/docker/docker v26.1.4-0.20240605103321-de5c9cf0b96e+incompatible // 26.1 branch (v26.1.4-dev) - github.com/docker/docker-credential-helpers v0.8.1 -@@ -53,6 +54,8 @@ require ( - tags.cncf.io/container-device-interface v0.7.2 - ) - -+require github.com/cpuguy83/go-md2man/v2 v2.0.3 -+ +@@ -9,6 +9,7 @@ go 1.22.0 require ( - github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect - github.com/Microsoft/go-winio v0.6.2 // indirect -@@ -83,6 +86,7 @@ require ( + dario.cat/mergo v1.0.1 + github.com/containerd/platforms v0.2.1 ++ github.com/cpuguy83/go-md2man/v2 v2.0.4 + github.com/creack/pty v1.1.21 + github.com/distribution/reference v0.6.0 + github.com/docker/cli-docs-tool v0.8.0 +@@ -87,6 +88,7 @@ require ( github.com/prometheus/common v0.44.0 // indirect - github.com/prometheus/procfs v0.12.0 // indirect + github.com/prometheus/procfs v0.15.1 // indirect github.com/rivo/uniseg v0.2.0 // indirect + github.com/russross/blackfriday/v2 v2.1.0 // indirect + github.com/stretchr/testify v1.9.0 // indirect github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect - go.etcd.io/etcd/raft/v3 v3.5.6 // indirect -@@ -96,4 +100,5 @@ require ( - google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b // indirect - google.golang.org/grpc v1.60.1 // indirect - google.golang.org/protobuf v1.33.0 // indirect +@@ -102,4 +104,5 @@ require ( + google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect + google.golang.org/grpc v1.66.3 // indirect + google.golang.org/protobuf v1.35.1 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/vendor.sum b/vendor.sum -index 6a31c9b2cf62..a0905e657c37 100644 +index 204aad33c6cb..7f450e74144e 100644 --- a/vendor.sum +++ b/vendor.sum -@@ -46,6 +46,7 @@ github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3 - github.com/containerd/platforms v0.2.0 h1:clGNvVIcY3k39VJSYdFGohI1b3bP/eeBUVR5+XA28oo= - github.com/containerd/platforms v0.2.0/go.mod h1:XOM2BS6kN6gXafPLg80V6y/QUib+xoLyC3qVmHzibko= +@@ -42,6 +42,7 @@ github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3 + github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= + github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -+github.com/cpuguy83/go-md2man/v2 v2.0.3 h1:qMCsGGgs+MAzDFyp9LpAe1Lqy/fY/qCovCm0qnXZOBM= - github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= ++github.com/cpuguy83/go-md2man/v2 v2.0.4 h1:wfIWP927BUkWJb2NmU/kNDYIBTh/ziUX91+lVfRxZq4= + github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.21 h1:1/QdRyBaHHJP61QkWMXlOIBfsgdDeeKfK8SYVUWJKf0= -@@ -56,6 +57,8 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs - github.com/denisenkom/go-mssqldb v0.0.0-20191128021309-1d7a30a10f73/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= - github.com/distribution/reference v0.5.0 h1:/FUIFXtfc/x2gpa5/VGfiGLuOIdYa1t65IKK2OFGvA0= - github.com/distribution/reference v0.5.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= -+github.com/docker/cli-docs-tool v0.6.0 h1:Z9x10SaZgFaB6jHgz3OWooynhSa40CsWkpe5hEnG/qA= -+github.com/docker/cli-docs-tool v0.6.0/go.mod h1:zMjqTFCU361PRh8apiXzeAZ1Q/xupbIwTusYpzCXS/o= - github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= - github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk= - github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -@@ -241,6 +244,7 @@ github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= +@@ -249,6 +250,7 @@ github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= @@ -455,29 +404,23 @@ index 000000000000..71f073f3c6b9 + diff --git a/vendor/github.com/cpuguy83/go-md2man/v2/Dockerfile b/vendor/github.com/cpuguy83/go-md2man/v2/Dockerfile new file mode 100644 -index 000000000000..7181c5306f41 +index 000000000000..b9fc4dfdb52a --- /dev/null +++ b/vendor/github.com/cpuguy83/go-md2man/v2/Dockerfile -@@ -0,0 +1,20 @@ -+ARG GO_VERSION=1.18 -+ARG GO_IMAGE=golang:${GO_VERSION} +@@ -0,0 +1,14 @@ ++ARG GO_VERSION=1.21 + -+FROM --platform=$BUILDPLATFORM $GO_IMAGE AS build ++FROM --platform=${BUILDPLATFORM} golang:${GO_VERSION} AS build +COPY . /go/src/github.com/cpuguy83/go-md2man +WORKDIR /go/src/github.com/cpuguy83/go-md2man -+ARG TARGETOS -+ARG TARGETARCH -+ARG TARGETVARIANT ++ARG TARGETOS TARGETARCH TARGETVARIANT +RUN \ -+ export GOOS="${TARGETOS}"; \ -+ export GOARCH="${TARGETARCH}"; \ -+ if [ "${TARGETARCH}" = "arm" ] && [ "${TARGETVARIANT}" ]; then \ -+ export GOARM="${TARGETVARIANT#v}"; \ -+ fi; \ -+ CGO_ENABLED=0 go build ++ --mount=type=cache,target=/go/pkg/mod \ ++ --mount=type=cache,target=/root/.cache/go-build \ ++ make build + +FROM scratch -+COPY --from=build /go/src/github.com/cpuguy83/go-md2man/go-md2man /go-md2man ++COPY --from=build /go/src/github.com/cpuguy83/go-md2man/bin/go-md2man /go-md2man +ENTRYPOINT ["/go-md2man"] diff --git a/vendor/github.com/cpuguy83/go-md2man/v2/LICENSE.md b/vendor/github.com/cpuguy83/go-md2man/v2/LICENSE.md new file mode 100644 @@ -508,15 +451,41 @@ index 000000000000..1cade6cef6a1 +SOFTWARE. diff --git a/vendor/github.com/cpuguy83/go-md2man/v2/Makefile b/vendor/github.com/cpuguy83/go-md2man/v2/Makefile new file mode 100644 -index 000000000000..437fc9997926 +index 000000000000..5f4a423d6f25 --- /dev/null +++ b/vendor/github.com/cpuguy83/go-md2man/v2/Makefile -@@ -0,0 +1,35 @@ +@@ -0,0 +1,49 @@ +GO111MODULE ?= on -+LINTER_BIN ?= golangci-lint + +export GO111MODULE + ++GOOS ?= $(if $(TARGETOS),$(TARGETOS),) ++GOARCH ?= $(if $(TARGETARCH),$(TARGETARCH),) ++ ++ifeq ($(TARGETARCH),amd64) ++GOAMD64 ?= $(TARGETVARIANT) ++endif ++ ++ifeq ($(TARGETARCH),arm) ++GOARM ?= $(TARGETVARIANT:v%=%) ++endif ++ ++ifneq ($(GOOS),) ++export GOOS ++endif ++ ++ifneq ($(GOARCH),) ++export GOARCH ++endif ++ ++ifneq ($(GOAMD64),) ++export GOAMD64 ++endif ++ ++ifneq ($(GOARM),) ++export GOARM ++endif ++ +.PHONY: +build: bin/go-md2man + @@ -528,25 +497,13 @@ index 000000000000..437fc9997926 +test: + @go test $(TEST_FLAGS) ./... + -+bin/go-md2man: actual_build_flags := $(BUILD_FLAGS) -o bin/go-md2man -+bin/go-md2man: bin -+ @CGO_ENABLED=0 go build $(actual_build_flags) -+ -+bin: -+ @mkdir ./bin ++bin/go-md2man: go.mod go.sum md2man/* *.go ++ @mkdir -p bin ++ CGO_ENABLED=0 go build $(BUILD_FLAGS) -o $@ + +.PHONY: mod +mod: + @go mod tidy -+ -+.PHONY: check-mod -+check-mod: # verifies that module changes for go.mod and go.sum are checked in -+ @hack/ci/check_mods.sh -+ -+.PHONY: vendor -+vendor: mod -+ @go mod vendor -v -+ diff --git a/vendor/github.com/cpuguy83/go-md2man/v2/README.md b/vendor/github.com/cpuguy83/go-md2man/v2/README.md new file mode 100644 index 000000000000..0e30d341483c @@ -685,13 +642,14 @@ index 000000000000..42bf32aab003 +} diff --git a/vendor/github.com/cpuguy83/go-md2man/v2/md2man/roff.go b/vendor/github.com/cpuguy83/go-md2man/v2/md2man/roff.go new file mode 100644 -index 000000000000..4b19188d90fd +index 000000000000..8a290f1972a2 --- /dev/null +++ b/vendor/github.com/cpuguy83/go-md2man/v2/md2man/roff.go -@@ -0,0 +1,348 @@ +@@ -0,0 +1,382 @@ +package md2man + +import ( ++ "bufio" + "bytes" + "fmt" + "io" @@ -712,34 +670,35 @@ index 000000000000..4b19188d90fd +} + +const ( -+ titleHeader = ".TH " -+ topLevelHeader = "\n\n.SH " -+ secondLevelHdr = "\n.SH " -+ otherHeader = "\n.SS " -+ crTag = "\n" -+ emphTag = "\\fI" -+ emphCloseTag = "\\fP" -+ strongTag = "\\fB" -+ strongCloseTag = "\\fP" -+ breakTag = "\n.br\n" -+ paraTag = "\n.PP\n" -+ hruleTag = "\n.ti 0\n\\l'\\n(.lu'\n" -+ linkTag = "\n\\[la]" -+ linkCloseTag = "\\[ra]" -+ codespanTag = "\\fB" -+ codespanCloseTag = "\\fR" -+ codeTag = "\n.EX\n" -+ codeCloseTag = "\n.EE\n" -+ quoteTag = "\n.PP\n.RS\n" -+ quoteCloseTag = "\n.RE\n" -+ listTag = "\n.RS\n" -+ listCloseTag = "\n.RE\n" -+ dtTag = "\n.TP\n" -+ dd2Tag = "\n" -+ tableStart = "\n.TS\nallbox;\n" -+ tableEnd = ".TE\n" -+ tableCellStart = "T{\n" -+ tableCellEnd = "\nT}\n" ++ titleHeader = ".TH " ++ topLevelHeader = "\n\n.SH " ++ secondLevelHdr = "\n.SH " ++ otherHeader = "\n.SS " ++ crTag = "\n" ++ emphTag = "\\fI" ++ emphCloseTag = "\\fP" ++ strongTag = "\\fB" ++ strongCloseTag = "\\fP" ++ breakTag = "\n.br\n" ++ paraTag = "\n.PP\n" ++ hruleTag = "\n.ti 0\n\\l'\\n(.lu'\n" ++ linkTag = "\n\\[la]" ++ linkCloseTag = "\\[ra]" ++ codespanTag = "\\fB" ++ codespanCloseTag = "\\fR" ++ codeTag = "\n.EX\n" ++ codeCloseTag = ".EE\n" // Do not prepend a newline character since code blocks, by definition, include a newline already (or at least as how blackfriday gives us on). ++ quoteTag = "\n.PP\n.RS\n" ++ quoteCloseTag = "\n.RE\n" ++ listTag = "\n.RS\n" ++ listCloseTag = "\n.RE\n" ++ dtTag = "\n.TP\n" ++ dd2Tag = "\n" ++ tableStart = "\n.TS\nallbox;\n" ++ tableEnd = ".TE\n" ++ tableCellStart = "T{\n" ++ tableCellEnd = "\nT}\n" ++ tablePreprocessor = `'\" t` +) + +// NewRoffRenderer creates a new blackfriday Renderer for generating roff documents @@ -766,6 +725,16 @@ index 000000000000..4b19188d90fd + +// RenderHeader handles outputting the header at document start +func (r *roffRenderer) RenderHeader(w io.Writer, ast *blackfriday.Node) { ++ // We need to walk the tree to check if there are any tables. ++ // If there are, we need to enable the roff table preprocessor. ++ ast.Walk(func(node *blackfriday.Node, entering bool) blackfriday.WalkStatus { ++ if node.Type == blackfriday.Table { ++ out(w, tablePreprocessor+"\n") ++ return blackfriday.Terminate ++ } ++ return blackfriday.GoToNext ++ }) ++ + // disable hyphenation + out(w, ".nh\n") +} @@ -1013,6 +982,28 @@ index 000000000000..4b19188d90fd +} + +func escapeSpecialChars(w io.Writer, text []byte) { ++ scanner := bufio.NewScanner(bytes.NewReader(text)) ++ ++ // count the number of lines in the text ++ // we need to know this to avoid adding a newline after the last line ++ n := bytes.Count(text, []byte{'\n'}) ++ idx := 0 ++ ++ for scanner.Scan() { ++ dt := scanner.Bytes() ++ if idx < n { ++ idx++ ++ dt = append(dt, '\n') ++ } ++ escapeSpecialCharsLine(w, dt) ++ } ++ ++ if err := scanner.Err(); err != nil { ++ panic(err) ++ } ++} ++ ++func escapeSpecialCharsLine(w io.Writer, text []byte) { + for i := 0; i < len(text); i++ { + // escape initial apostrophe or period + if len(text) >= 1 && (text[0] == '\'' || text[0] == '.') { @@ -1188,214 +1179,6 @@ index 000000000000..f0e2739faa7c + +FROM scratch AS test-coverage +COPY --from=test /tmp/coverage.txt /coverage.txt -diff --git a/vendor/github.com/docker/cli-docs-tool/LICENSE b/vendor/github.com/docker/cli-docs-tool/LICENSE -new file mode 100644 -index 000000000000..d64569567334 ---- /dev/null -+++ b/vendor/github.com/docker/cli-docs-tool/LICENSE -@@ -0,0 +1,202 @@ -+ -+ Apache License -+ Version 2.0, January 2004 -+ http://www.apache.org/licenses/ -+ -+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -+ -+ 1. Definitions. -+ -+ "License" shall mean the terms and conditions for use, reproduction, -+ and distribution as defined by Sections 1 through 9 of this document. -+ -+ "Licensor" shall mean the copyright owner or entity authorized by -+ the copyright owner that is granting the License. -+ -+ "Legal Entity" shall mean the union of the acting entity and all -+ other entities that control, are controlled by, or are under common -+ control with that entity. For the purposes of this definition, -+ "control" means (i) the power, direct or indirect, to cause the -+ direction or management of such entity, whether by contract or -+ otherwise, or (ii) ownership of fifty percent (50%) or more of the -+ outstanding shares, or (iii) beneficial ownership of such entity. -+ -+ "You" (or "Your") shall mean an individual or Legal Entity -+ exercising permissions granted by this License. -+ -+ "Source" form shall mean the preferred form for making modifications, -+ including but not limited to software source code, documentation -+ source, and configuration files. -+ -+ "Object" form shall mean any form resulting from mechanical -+ transformation or translation of a Source form, including but -+ not limited to compiled object code, generated documentation, -+ and conversions to other media types. -+ -+ "Work" shall mean the work of authorship, whether in Source or -+ Object form, made available under the License, as indicated by a -+ copyright notice that is included in or attached to the work -+ (an example is provided in the Appendix below). -+ -+ "Derivative Works" shall mean any work, whether in Source or Object -+ form, that is based on (or derived from) the Work and for which the -+ editorial revisions, annotations, elaborations, or other modifications -+ represent, as a whole, an original work of authorship. For the purposes -+ of this License, Derivative Works shall not include works that remain -+ separable from, or merely link (or bind by name) to the interfaces of, -+ the Work and Derivative Works thereof. -+ -+ "Contribution" shall mean any work of authorship, including -+ the original version of the Work and any modifications or additions -+ to that Work or Derivative Works thereof, that is intentionally -+ submitted to Licensor for inclusion in the Work by the copyright owner -+ or by an individual or Legal Entity authorized to submit on behalf of -+ the copyright owner. For the purposes of this definition, "submitted" -+ means any form of electronic, verbal, or written communication sent -+ to the Licensor or its representatives, including but not limited to -+ communication on electronic mailing lists, source code control systems, -+ and issue tracking systems that are managed by, or on behalf of, the -+ Licensor for the purpose of discussing and improving the Work, but -+ excluding communication that is conspicuously marked or otherwise -+ designated in writing by the copyright owner as "Not a Contribution." -+ -+ "Contributor" shall mean Licensor and any individual or Legal Entity -+ on behalf of whom a Contribution has been received by Licensor and -+ subsequently incorporated within the Work. -+ -+ 2. Grant of Copyright License. Subject to the terms and conditions of -+ this License, each Contributor hereby grants to You a perpetual, -+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable -+ copyright license to reproduce, prepare Derivative Works of, -+ publicly display, publicly perform, sublicense, and distribute the -+ Work and such Derivative Works in Source or Object form. -+ -+ 3. Grant of Patent License. Subject to the terms and conditions of -+ this License, each Contributor hereby grants to You a perpetual, -+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable -+ (except as stated in this section) patent license to make, have made, -+ use, offer to sell, sell, import, and otherwise transfer the Work, -+ where such license applies only to those patent claims licensable -+ by such Contributor that are necessarily infringed by their -+ Contribution(s) alone or by combination of their Contribution(s) -+ with the Work to which such Contribution(s) was submitted. If You -+ institute patent litigation against any entity (including a -+ cross-claim or counterclaim in a lawsuit) alleging that the Work -+ or a Contribution incorporated within the Work constitutes direct -+ or contributory patent infringement, then any patent licenses -+ granted to You under this License for that Work shall terminate -+ as of the date such litigation is filed. -+ -+ 4. Redistribution. You may reproduce and distribute copies of the -+ Work or Derivative Works thereof in any medium, with or without -+ modifications, and in Source or Object form, provided that You -+ meet the following conditions: -+ -+ (a) You must give any other recipients of the Work or -+ Derivative Works a copy of this License; and -+ -+ (b) You must cause any modified files to carry prominent notices -+ stating that You changed the files; and -+ -+ (c) You must retain, in the Source form of any Derivative Works -+ that You distribute, all copyright, patent, trademark, and -+ attribution notices from the Source form of the Work, -+ excluding those notices that do not pertain to any part of -+ the Derivative Works; and -+ -+ (d) If the Work includes a "NOTICE" text file as part of its -+ distribution, then any Derivative Works that You distribute must -+ include a readable copy of the attribution notices contained -+ within such NOTICE file, excluding those notices that do not -+ pertain to any part of the Derivative Works, in at least one -+ of the following places: within a NOTICE text file distributed -+ as part of the Derivative Works; within the Source form or -+ documentation, if provided along with the Derivative Works; or, -+ within a display generated by the Derivative Works, if and -+ wherever such third-party notices normally appear. The contents -+ of the NOTICE file are for informational purposes only and -+ do not modify the License. You may add Your own attribution -+ notices within Derivative Works that You distribute, alongside -+ or as an addendum to the NOTICE text from the Work, provided -+ that such additional attribution notices cannot be construed -+ as modifying the License. -+ -+ You may add Your own copyright statement to Your modifications and -+ may provide additional or different license terms and conditions -+ for use, reproduction, or distribution of Your modifications, or -+ for any such Derivative Works as a whole, provided Your use, -+ reproduction, and distribution of the Work otherwise complies with -+ the conditions stated in this License. -+ -+ 5. Submission of Contributions. Unless You explicitly state otherwise, -+ any Contribution intentionally submitted for inclusion in the Work -+ by You to the Licensor shall be under the terms and conditions of -+ this License, without any additional terms or conditions. -+ Notwithstanding the above, nothing herein shall supersede or modify -+ the terms of any separate license agreement you may have executed -+ with Licensor regarding such Contributions. -+ -+ 6. Trademarks. This License does not grant permission to use the trade -+ names, trademarks, service marks, or product names of the Licensor, -+ except as required for reasonable and customary use in describing the -+ origin of the Work and reproducing the content of the NOTICE file. -+ -+ 7. Disclaimer of Warranty. Unless required by applicable law or -+ agreed to in writing, Licensor provides the Work (and each -+ Contributor provides its Contributions) on an "AS IS" BASIS, -+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -+ implied, including, without limitation, any warranties or conditions -+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A -+ PARTICULAR PURPOSE. You are solely responsible for determining the -+ appropriateness of using or redistributing the Work and assume any -+ risks associated with Your exercise of permissions under this License. -+ -+ 8. Limitation of Liability. In no event and under no legal theory, -+ whether in tort (including negligence), contract, or otherwise, -+ unless required by applicable law (such as deliberate and grossly -+ negligent acts) or agreed to in writing, shall any Contributor be -+ liable to You for damages, including any direct, indirect, special, -+ incidental, or consequential damages of any character arising as a -+ result of this License or out of the use or inability to use the -+ Work (including but not limited to damages for loss of goodwill, -+ work stoppage, computer failure or malfunction, or any and all -+ other commercial damages or losses), even if such Contributor -+ has been advised of the possibility of such damages. -+ -+ 9. Accepting Warranty or Additional Liability. While redistributing -+ the Work or Derivative Works thereof, You may choose to offer, -+ and charge a fee for, acceptance of support, warranty, indemnity, -+ or other liability obligations and/or rights consistent with this -+ License. However, in accepting such obligations, You may act only -+ on Your own behalf and on Your sole responsibility, not on behalf -+ of any other Contributor, and only if You agree to indemnify, -+ defend, and hold each Contributor harmless for any liability -+ incurred by, or claims asserted against, such Contributor by reason -+ of your accepting any such warranty or additional liability. -+ -+ END OF TERMS AND CONDITIONS -+ -+ APPENDIX: How to apply the Apache License to your work. -+ -+ To apply the Apache License to your work, attach the following -+ boilerplate notice, with the fields enclosed by brackets "[]" -+ replaced with your own identifying information. (Don't include -+ the brackets!) The text should be enclosed in the appropriate -+ comment syntax for the file format. We also recommend that a -+ file or class name and description of purpose be included on the -+ same "printed page" as the copyright notice for easier -+ identification within third-party archives. -+ -+ Copyright [yyyy] [name of copyright owner] -+ -+ Licensed under the Apache License, Version 2.0 (the "License"); -+ you may not use this file except in compliance with the License. -+ You may obtain a copy of the License at -+ -+ http://www.apache.org/licenses/LICENSE-2.0 -+ -+ Unless required by applicable law or agreed to in writing, software -+ distributed under the License is distributed on an "AS IS" BASIS, -+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+ See the License for the specific language governing permissions and -+ limitations under the License. diff --git a/vendor/github.com/docker/cli-docs-tool/README.md b/vendor/github.com/docker/cli-docs-tool/README.md new file mode 100644 index 000000000000..4d5ee6474f8f @@ -1469,43 +1252,12 @@ index 000000000000..4d5ee6474f8f + +Want to contribute? Awesome! You can find information about contributing to +this project in the [CONTRIBUTING.md](/.github/CONTRIBUTING.md) -diff --git a/vendor/github.com/docker/cli-docs-tool/annotation/annotation.go b/vendor/github.com/docker/cli-docs-tool/annotation/annotation.go -new file mode 100644 -index 000000000000..021846af6e07 ---- /dev/null -+++ b/vendor/github.com/docker/cli-docs-tool/annotation/annotation.go -@@ -0,0 +1,25 @@ -+// Copyright 2021 cli-docs-tool authors -+// -+// Licensed under the Apache License, Version 2.0 (the "License"); -+// you may not use this file except in compliance with the License. -+// You may obtain a copy of the License at -+// -+// http://www.apache.org/licenses/LICENSE-2.0 -+// -+// Unless required by applicable law or agreed to in writing, software -+// distributed under the License is distributed on an "AS IS" BASIS, -+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+// See the License for the specific language governing permissions and -+// limitations under the License. -+ -+package annotation -+ -+const ( -+ // ExternalURL specifies an external link annotation -+ ExternalURL = "docs.external.url" -+ // CodeDelimiter specifies the char that will be converted as code backtick. -+ // Can be used on cmd for inheritance or a specific flag. -+ CodeDelimiter = "docs.code-delimiter" -+ // DefaultValue specifies the default value for a flag. -+ DefaultValue = "docs.default-value" -+) diff --git a/vendor/github.com/docker/cli-docs-tool/clidocstool.go b/vendor/github.com/docker/cli-docs-tool/clidocstool.go new file mode 100644 -index 000000000000..d4aeaba3f126 +index 000000000000..a9d2f649953d --- /dev/null +++ b/vendor/github.com/docker/cli-docs-tool/clidocstool.go -@@ -0,0 +1,123 @@ +@@ -0,0 +1,191 @@ +// Copyright 2017 cli-docs-tool authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); @@ -1525,10 +1277,13 @@ index 000000000000..d4aeaba3f126 +import ( + "errors" + "io" ++ "log" + "os" ++ "path/filepath" + "strings" + + "github.com/spf13/cobra" ++ "github.com/spf13/cobra/doc" +) + +// Options defines options for cli-docs-tool @@ -1537,6 +1292,8 @@ index 000000000000..d4aeaba3f126 + SourceDir string + TargetDir string + Plugin bool ++ ++ ManHeader *doc.GenManHeader +} + +// Client represents an active cli-docs-tool object @@ -1545,6 +1302,8 @@ index 000000000000..d4aeaba3f126 + source string + target string + plugin bool ++ ++ manHeader *doc.GenManHeader +} + +// New initializes a new cli-docs-tool client @@ -1556,9 +1315,10 @@ index 000000000000..d4aeaba3f126 + return nil, errors.New("source dir required") + } + c := &Client{ -+ root: opts.Root, -+ source: opts.SourceDir, -+ plugin: opts.Plugin, ++ root: opts.Root, ++ source: opts.SourceDir, ++ plugin: opts.Plugin, ++ manHeader: opts.ManHeader, + } + if len(opts.TargetDir) == 0 { + c.target = c.source @@ -1581,9 +1341,69 @@ index 000000000000..d4aeaba3f126 + if err = c.GenYamlTree(c.root); err != nil { + return err + } ++ if err = c.GenManTree(c.root); err != nil { ++ return err ++ } + return nil +} + ++// loadLongDescription gets long descriptions and examples from markdown. ++func (c *Client) loadLongDescription(cmd *cobra.Command, generator string) error { ++ if cmd.HasSubCommands() { ++ for _, sub := range cmd.Commands() { ++ if err := c.loadLongDescription(sub, generator); err != nil { ++ return err ++ } ++ } ++ } ++ name := cmd.CommandPath() ++ if i := strings.Index(name, " "); i >= 0 { ++ // remove root command / binary name ++ name = name[i+1:] ++ } ++ if name == "" { ++ return nil ++ } ++ mdFile := strings.ReplaceAll(name, " ", "_") + ".md" ++ sourcePath := filepath.Join(c.source, mdFile) ++ content, err := os.ReadFile(sourcePath) ++ if os.IsNotExist(err) { ++ log.Printf("WARN: %s does not exist, skipping Markdown examples for %s docs\n", mdFile, generator) ++ return nil ++ } ++ if err != nil { ++ return err ++ } ++ applyDescriptionAndExamples(cmd, string(content)) ++ return nil ++} ++ ++// applyDescriptionAndExamples fills in cmd.Long and cmd.Example with the ++// "Description" and "Examples" H2 sections in mdString (if present). ++func applyDescriptionAndExamples(cmd *cobra.Command, mdString string) { ++ sections := getSections(mdString) ++ var ( ++ anchors []string ++ md string ++ ) ++ if sections["description"] != "" { ++ md, anchors = cleanupMarkDown(sections["description"]) ++ cmd.Long = md ++ anchors = append(anchors, md) ++ } ++ if sections["examples"] != "" { ++ md, anchors = cleanupMarkDown(sections["examples"]) ++ cmd.Example = md ++ anchors = append(anchors, md) ++ } ++ if len(anchors) > 0 { ++ if cmd.Annotations == nil { ++ cmd.Annotations = make(map[string]string) ++ } ++ cmd.Annotations["anchors"] = strings.Join(anchors, ",") ++ } ++} ++ +func fileExists(f string) bool { + info, err := os.Stat(f) + if os.IsNotExist(err) { @@ -1629,12 +1449,92 @@ index 000000000000..d4aeaba3f126 + } + return aliases +} +diff --git a/vendor/github.com/docker/cli-docs-tool/clidocstool_man.go b/vendor/github.com/docker/cli-docs-tool/clidocstool_man.go +new file mode 100644 +index 000000000000..e043f9934e42 +--- /dev/null ++++ b/vendor/github.com/docker/cli-docs-tool/clidocstool_man.go +@@ -0,0 +1,74 @@ ++// Copyright 2016 cli-docs-tool authors ++// ++// Licensed under the Apache License, Version 2.0 (the "License"); ++// you may not use this file except in compliance with the License. ++// You may obtain a copy of the License at ++// ++// http://www.apache.org/licenses/LICENSE-2.0 ++// ++// Unless required by applicable law or agreed to in writing, software ++// distributed under the License is distributed on an "AS IS" BASIS, ++// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++// See the License for the specific language governing permissions and ++// limitations under the License. ++ ++package clidocstool ++ ++import ( ++ "fmt" ++ "log" ++ "os" ++ "strconv" ++ "time" ++ ++ "github.com/spf13/cobra" ++ "github.com/spf13/cobra/doc" ++) ++ ++// GenManTree generates a man page for the command and all descendants. ++// If SOURCE_DATE_EPOCH is set, in order to allow reproducible package ++// builds, we explicitly set the build time to SOURCE_DATE_EPOCH. ++func (c *Client) GenManTree(cmd *cobra.Command) error { ++ if err := c.loadLongDescription(cmd, "man"); err != nil { ++ return err ++ } ++ ++ if epoch := os.Getenv("SOURCE_DATE_EPOCH"); c.manHeader != nil && epoch != "" { ++ unixEpoch, err := strconv.ParseInt(epoch, 10, 64) ++ if err != nil { ++ return fmt.Errorf("invalid SOURCE_DATE_EPOCH: %v", err) ++ } ++ now := time.Unix(unixEpoch, 0) ++ c.manHeader.Date = &now ++ } ++ ++ return c.genManTreeCustom(cmd) ++} ++ ++func (c *Client) genManTreeCustom(cmd *cobra.Command) error { ++ for _, sc := range cmd.Commands() { ++ if err := c.genManTreeCustom(sc); err != nil { ++ return err ++ } ++ } ++ ++ // always disable the addition of [flags] to the usage ++ cmd.DisableFlagsInUseLine = true ++ ++ // always disable "spf13/cobra" auto gen tag ++ cmd.DisableAutoGenTag = true ++ ++ // Skip the root command altogether, to prevent generating a useless ++ // md file for plugins. ++ if c.plugin && !cmd.HasParent() { ++ return nil ++ } ++ ++ log.Printf("INFO: Generating Man for %q", cmd.CommandPath()) ++ ++ return doc.GenManTreeFromOpts(cmd, doc.GenManTreeOptions{ ++ Header: c.manHeader, ++ Path: c.target, ++ CommandSeparator: "-", ++ }) ++} diff --git a/vendor/github.com/docker/cli-docs-tool/clidocstool_md.go b/vendor/github.com/docker/cli-docs-tool/clidocstool_md.go new file mode 100644 -index 000000000000..1dee58c06ca1 +index 000000000000..a35b62d76082 --- /dev/null +++ b/vendor/github.com/docker/cli-docs-tool/clidocstool_md.go -@@ -0,0 +1,280 @@ +@@ -0,0 +1,277 @@ +// Copyright 2021 cli-docs-tool authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); @@ -1877,10 +1777,7 @@ index 000000000000..1dee58c06ca1 + } + name += mdMakeLink("`--"+f.Name+"`", f.Name, f, isLink) + -+ var ftype string -+ if f.Value.Type() != "bool" { -+ ftype = "`" + f.Value.Type() + "`" -+ } ++ ftype := "`" + f.Value.Type() + "`" + + var defval string + if v, ok := f.Annotations[annotation.DefaultValue]; ok && len(v) > 0 { @@ -1890,7 +1787,7 @@ index 000000000000..1dee58c06ca1 + } else if cd, ok := cmd.Annotations[annotation.CodeDelimiter]; ok { + defval = strings.ReplaceAll(defval, cd, "`") + } -+ } else if f.DefValue != "" && (f.Value.Type() != "bool" && f.DefValue != "true") && f.DefValue != "[]" { ++ } else if f.DefValue != "" && ((f.Value.Type() != "bool" && f.DefValue != "true") || (f.Value.Type() == "bool" && f.DefValue == "true")) && f.DefValue != "[]" { + defval = "`" + f.DefValue + "`" + } + @@ -1917,10 +1814,10 @@ index 000000000000..1dee58c06ca1 +} diff --git a/vendor/github.com/docker/cli-docs-tool/clidocstool_yaml.go b/vendor/github.com/docker/cli-docs-tool/clidocstool_yaml.go new file mode 100644 -index 000000000000..523524297af4 +index 000000000000..acf5f2ba6b90 --- /dev/null +++ b/vendor/github.com/docker/cli-docs-tool/clidocstool_yaml.go -@@ -0,0 +1,435 @@ +@@ -0,0 +1,378 @@ +// Copyright 2017 cli-docs-tool authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); @@ -2001,7 +1898,7 @@ index 000000000000..523524297af4 +// it is undefined which help output will be in the file `cmd-sub-third.1`. +func (c *Client) GenYamlTree(cmd *cobra.Command) error { + emptyStr := func(s string) string { return "" } -+ if err := c.loadLongDescription(cmd); err != nil { ++ if err := c.loadLongDescription(cmd, "yaml"); err != nil { + return err + } + return c.genYamlTreeCustom(cmd, emptyStr) @@ -2294,63 +2191,6 @@ index 000000000000..523524297af4 + return false +} + -+// loadLongDescription gets long descriptions and examples from markdown. -+func (c *Client) loadLongDescription(parentCmd *cobra.Command) error { -+ for _, cmd := range parentCmd.Commands() { -+ if cmd.HasSubCommands() { -+ if err := c.loadLongDescription(cmd); err != nil { -+ return err -+ } -+ } -+ name := cmd.CommandPath() -+ if i := strings.Index(name, " "); i >= 0 { -+ // remove root command / binary name -+ name = name[i+1:] -+ } -+ if name == "" { -+ continue -+ } -+ mdFile := strings.ReplaceAll(name, " ", "_") + ".md" -+ sourcePath := filepath.Join(c.source, mdFile) -+ content, err := os.ReadFile(sourcePath) -+ if os.IsNotExist(err) { -+ log.Printf("WARN: %s does not exist, skipping Markdown examples for YAML doc\n", mdFile) -+ continue -+ } -+ if err != nil { -+ return err -+ } -+ applyDescriptionAndExamples(cmd, string(content)) -+ } -+ return nil -+} -+ -+// applyDescriptionAndExamples fills in cmd.Long and cmd.Example with the -+// "Description" and "Examples" H2 sections in mdString (if present). -+func applyDescriptionAndExamples(cmd *cobra.Command, mdString string) { -+ sections := getSections(mdString) -+ var ( -+ anchors []string -+ md string -+ ) -+ if sections["description"] != "" { -+ md, anchors = cleanupMarkDown(sections["description"]) -+ cmd.Long = md -+ anchors = append(anchors, md) -+ } -+ if sections["examples"] != "" { -+ md, anchors = cleanupMarkDown(sections["examples"]) -+ cmd.Example = md -+ anchors = append(anchors, md) -+ } -+ if len(anchors) > 0 { -+ if cmd.Annotations == nil { -+ cmd.Annotations = make(map[string]string) -+ } -+ cmd.Annotations["anchors"] = strings.Join(anchors, ",") -+ } -+} -+ +type byName []*cobra.Command + +func (s byName) Len() int { return len(s) } @@ -2415,10 +2255,10 @@ index 000000000000..4a5f44f83018 +} diff --git a/vendor/github.com/docker/cli-docs-tool/markdown.go b/vendor/github.com/docker/cli-docs-tool/markdown.go new file mode 100644 -index 000000000000..32849236ed9c +index 000000000000..bd8548707408 --- /dev/null +++ b/vendor/github.com/docker/cli-docs-tool/markdown.go -@@ -0,0 +1,87 @@ +@@ -0,0 +1,100 @@ +// Copyright 2017 cli-docs-tool authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); @@ -2450,6 +2290,9 @@ index 000000000000..32849236ed9c + // for our use-case; DO NOT consider using this as a generic regex, or at least + // not before reading https://stackoverflow.com/a/1732454/1811501. + htmlAnchor = regexp.MustCompile(`\s*`) ++ // relativeLink matches parts of internal links between .md documents ++ // e.g. "](buildx_build.md)" ++ relativeLink = regexp.MustCompile(`\]\((\.\/)?[a-z-_]+\.md(#.*)?\)`) +) + +// getSections returns all H2 sections by title (lowercase) @@ -2479,6 +2322,16 @@ index 000000000000..32849236ed9c + mdString = strings.ReplaceAll(mdString, "\t", " ") + mdString = strings.ReplaceAll(mdString, "https://docs.docker.com", "") + ++ // Rewrite internal links, replacing relative paths with absolute path ++ // e.g. from [docker buildx build](buildx_build.md#build-arg) ++ // to [docker buildx build](/reference/cli/docker/buildx/build/#build-arg) ++ mdString = relativeLink.ReplaceAllStringFunc(mdString, func(link string) string { ++ link = strings.TrimLeft(link, "](./") ++ link = strings.ReplaceAll(link, "_", "/") ++ link = strings.ReplaceAll(link, ".md", "/") ++ return "](/reference/cli/docker/" + link ++ }) ++ + var id string + // replace trailing whitespace per line, and handle custom anchors + lines := strings.Split(mdString, "\n") @@ -10886,7 +10739,7 @@ index 000000000000..3a220e94247d +} diff --git a/vendor/github.com/spf13/cobra/doc/man_docs.go b/vendor/github.com/spf13/cobra/doc/man_docs.go new file mode 100644 -index 000000000000..b8c15ce88543 +index 000000000000..2138f24882b3 --- /dev/null +++ b/vendor/github.com/spf13/cobra/doc/man_docs.go @@ -0,0 +1,246 @@ @@ -11025,7 +10878,7 @@ index 000000000000..b8c15ce88543 + } + header.Date = &now + } -+ header.date = (*header.Date).Format("Jan 2006") ++ header.date = header.Date.Format("Jan 2006") + if header.Source == "" && !disableAutoGen { + header.Source = "Auto generated by spf13/cobra" + } @@ -11138,7 +10991,7 @@ index 000000000000..b8c15ce88543 +} diff --git a/vendor/github.com/spf13/cobra/doc/md_docs.go b/vendor/github.com/spf13/cobra/doc/md_docs.go new file mode 100644 -index 000000000000..f98fe2a3b8f3 +index 000000000000..12592223ba47 --- /dev/null +++ b/vendor/github.com/spf13/cobra/doc/md_docs.go @@ -0,0 +1,158 @@ @@ -11272,7 +11125,7 @@ index 000000000000..f98fe2a3b8f3 + return GenMarkdownTreeCustom(cmd, dir, emptyStr, identity) +} + -+// GenMarkdownTreeCustom is the the same as GenMarkdownTree, but ++// GenMarkdownTreeCustom is the same as GenMarkdownTree, but +// with custom filePrepender and linkHandler. +func GenMarkdownTreeCustom(cmd *cobra.Command, dir string, filePrepender, linkHandler func(string) string) error { + for _, c := range cmd.Commands() { @@ -11302,7 +11155,7 @@ index 000000000000..f98fe2a3b8f3 +} diff --git a/vendor/github.com/spf13/cobra/doc/rest_docs.go b/vendor/github.com/spf13/cobra/doc/rest_docs.go new file mode 100644 -index 000000000000..2cca6fd778de +index 000000000000..c33acc2baa91 --- /dev/null +++ b/vendor/github.com/spf13/cobra/doc/rest_docs.go @@ -0,0 +1,186 @@ @@ -11448,7 +11301,7 @@ index 000000000000..2cca6fd778de + return GenReSTTreeCustom(cmd, dir, emptyStr, defaultLinkHandler) +} + -+// GenReSTTreeCustom is the the same as GenReSTTree, but ++// GenReSTTreeCustom is the same as GenReSTTree, but +// with custom filePrepender and linkHandler. +func GenReSTTreeCustom(cmd *cobra.Command, dir string, filePrepender func(string) string, linkHandler func(string, string) string) error { + for _, c := range cmd.Commands() { @@ -11494,7 +11347,7 @@ index 000000000000..2cca6fd778de +} diff --git a/vendor/github.com/spf13/cobra/doc/util.go b/vendor/github.com/spf13/cobra/doc/util.go new file mode 100644 -index 000000000000..0aaa07a166d8 +index 000000000000..4de4ceee87a3 --- /dev/null +++ b/vendor/github.com/spf13/cobra/doc/util.go @@ -0,0 +1,52 @@ @@ -11540,7 +11393,7 @@ index 000000000000..0aaa07a166d8 +// that do not contain \n. +func forceMultiLine(s string) string { + if len(s) > 60 && !strings.Contains(s, "\n") { -+ s = s + "\n" ++ s += "\n" + } + return s +} @@ -23326,31 +23179,29 @@ index 000000000000..e88f9c54aecb + +} diff --git a/vendor/modules.txt b/vendor/modules.txt -index 4e0448570ce9..577e9de880c6 100644 +index 9c7ffb832403..224253dd728a 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt -@@ -33,12 +33,20 @@ github.com/containerd/log - # github.com/containerd/platforms v0.2.0 +@@ -29,6 +29,10 @@ github.com/containerd/log + # github.com/containerd/platforms v0.2.1 ## explicit; go 1.20 github.com/containerd/platforms -+# github.com/cpuguy83/go-md2man/v2 v2.0.3 ++# github.com/cpuguy83/go-md2man/v2 v2.0.4 +## explicit; go 1.11 +github.com/cpuguy83/go-md2man/v2 +github.com/cpuguy83/go-md2man/v2/md2man # github.com/creack/pty v1.1.21 ## explicit; go 1.13 github.com/creack/pty - # github.com/distribution/reference v0.5.0 - ## explicit; go 1.20 +@@ -37,6 +41,7 @@ github.com/creack/pty github.com/distribution/reference -+# github.com/docker/cli-docs-tool v0.6.0 -+## explicit; go 1.18 + # github.com/docker/cli-docs-tool v0.8.0 + ## explicit; go 1.18 +github.com/docker/cli-docs-tool -+github.com/docker/cli-docs-tool/annotation + github.com/docker/cli-docs-tool/annotation # github.com/docker/distribution v2.8.3+incompatible ## explicit - github.com/docker/distribution -@@ -252,12 +260,16 @@ github.com/prometheus/procfs/internal/util +@@ -263,12 +268,16 @@ github.com/prometheus/procfs/internal/util # github.com/rivo/uniseg v0.2.0 ## explicit; go 1.12 github.com/rivo/uniseg @@ -23360,14 +23211,14 @@ index 4e0448570ce9..577e9de880c6 100644 # github.com/sirupsen/logrus v1.9.3 ## explicit; go 1.13 github.com/sirupsen/logrus - # github.com/spf13/cobra v1.8.0 + # github.com/spf13/cobra v1.8.1 ## explicit; go 1.15 github.com/spf13/cobra +github.com/spf13/cobra/doc # github.com/spf13/pflag v1.0.5 ## explicit; go 1.12 github.com/spf13/pflag -@@ -498,6 +510,9 @@ google.golang.org/protobuf/types/known/wrapperspb +@@ -519,6 +528,9 @@ google.golang.org/protobuf/types/known/wrapperspb # gopkg.in/yaml.v2 v2.4.0 ## explicit; go 1.15 gopkg.in/yaml.v2 @@ -23378,5 +23229,5 @@ index 4e0448570ce9..577e9de880c6 100644 ## explicit; go 1.17 gotest.tools/v3/assert -- -2.45.2 +2.47.1 diff --git a/packages/d/docker/docker-26.1.5_ce_411e817ddf71.tar.xz b/packages/d/docker/docker-26.1.5_ce_411e817ddf71.tar.xz deleted file mode 120000 index 3bdcf673943..00000000000 --- a/packages/d/docker/docker-26.1.5_ce_411e817ddf71.tar.xz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeid2voqaixvbphbfpenxlcl372pra5qo74dixthdgsehvo7wtkcyvy \ No newline at end of file diff --git a/packages/d/docker/docker-27.4.1_ce_c710b88579fc.tar.xz b/packages/d/docker/docker-27.4.1_ce_c710b88579fc.tar.xz new file mode 120000 index 00000000000..890ff1e3db7 --- /dev/null +++ b/packages/d/docker/docker-27.4.1_ce_c710b88579fc.tar.xz @@ -0,0 +1 @@ +/ipfs/bafybeidgaskgtu623yijos35mbgqbtx5s7qgfcr454ctkqmginufiy5ta4 \ No newline at end of file diff --git a/packages/d/docker/docker-buildx-0.19.2.tar.xz b/packages/d/docker/docker-buildx-0.19.2.tar.xz deleted file mode 120000 index 135a4479b94..00000000000 --- a/packages/d/docker/docker-buildx-0.19.2.tar.xz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeicteftew6ycyaf6y4ube54w7utmzubtknzzx3ljcvra2lhx4a4wme \ No newline at end of file diff --git a/packages/d/docker/docker-buildx-0.19.3.tar.xz b/packages/d/docker/docker-buildx-0.19.3.tar.xz new file mode 120000 index 00000000000..bea2ad10d5e --- /dev/null +++ b/packages/d/docker/docker-buildx-0.19.3.tar.xz @@ -0,0 +1 @@ +/ipfs/bafybeiauv3v57byzyq3xgahlj7guxfiaibldahdipk3g7iebwrxvufu63q \ No newline at end of file diff --git a/packages/d/docker/docker-cli-26.1.5_ce.tar.xz b/packages/d/docker/docker-cli-26.1.5_ce.tar.xz deleted file mode 120000 index 85d86aa03bf..00000000000 --- a/packages/d/docker/docker-cli-26.1.5_ce.tar.xz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeibq3ritjafaxnwd5yxw34t2kdkdwhnqaofgq734n3mo427435zhy4 \ No newline at end of file diff --git a/packages/d/docker/docker-cli-27.4.1_ce.tar.xz b/packages/d/docker/docker-cli-27.4.1_ce.tar.xz new file mode 120000 index 00000000000..d32b6ad13aa --- /dev/null +++ b/packages/d/docker/docker-cli-27.4.1_ce.tar.xz @@ -0,0 +1 @@ +/ipfs/bafybeibemqmdojnjs252ifuqv3rjagxqvhvsq44fdwd27orzwdeyv2if6q \ No newline at end of file diff --git a/packages/d/docker/docker.changes b/packages/d/docker/docker.changes index b806f4ea6e3..998cca78196 100644 --- a/packages/d/docker/docker.changes +++ b/packages/d/docker/docker.changes @@ -1,3 +1,38 @@ +------------------------------------------------------------------- +Wed Dec 18 12:29:07 UTC 2024 - Aleksa Sarai + +- Update to Docker 27.4.1-ce. See upstream changelog online at + +- Rebase patches: + * 0001-SECRETS-daemon-allow-directory-creation-in-run-secre.patch + * 0002-SECRETS-SUSE-implement-SUSE-container-secrets.patch + * 0003-BUILD-SLE12-revert-graphdriver-btrfs-use-kernel-UAPI.patch + * 0004-bsc1073877-apparmor-clobber-docker-default-profile-o.patch + * 0005-SLE12-revert-apparmor-remove-version-conditionals-fr.patch + * cli-0001-docs-include-required-tools-in-source-tree.patch + +------------------------------------------------------------------- +Tue Dec 17 13:20:39 UTC 2024 - Aleksa Sarai + +- Update to docker-buildx 0.19.3. See upstream changelog online at + + +------------------------------------------------------------------- +Fri Dec 13 06:12:25 UTC 2024 - Aleksa Sarai + +- Update to Docker 27.4.0-ce. See upstream changelog online at + +- Rebase patches: + * 0001-SECRETS-daemon-allow-directory-creation-in-run-secre.patch + * 0002-SECRETS-SUSE-implement-SUSE-container-secrets.patch + * 0003-BUILD-SLE12-revert-graphdriver-btrfs-use-kernel-UAPI.patch + * 0004-bsc1073877-apparmor-clobber-docker-default-profile-o.patch + * 0005-SLE12-revert-apparmor-remove-version-conditionals-fr.patch + * cli-0001-docs-include-required-tools-in-source-tree.patch +- Remove upstreamed patches: + - 0006-bsc1221916-update-to-patched-buildkit-version-to-fix.patch + - 0007-bsc1214855-volume-use-AtomicWriteFile-to-save-volume.patch + ------------------------------------------------------------------- Wed Dec 11 10:14:56 UTC 2024 - Aleksa Sarai @@ -6,7 +41,7 @@ Wed Dec 11 10:14:56 UTC 2024 - Aleksa Sarai Some notable changelogs from the last update: * - * + * - Update to Go 1.22. ------------------------------------------------------------------- @@ -186,6 +221,7 @@ Mon Mar 25 12:34:56 UTC 2024 - Aleksa Sarai - Update to Docker 25.0.5-ce. See upstream changelog online at bsc#1223409 + bsc#1234089 CVE-2024-29018 - Rebase patches: * 0001-SECRETS-daemon-allow-directory-creation-in-run-secre.patch * 0002-SECRETS-SUSE-implement-SUSE-container-secrets.patch diff --git a/packages/d/docker/docker.spec b/packages/d/docker/docker.spec index 363b7889edc..ea9c5df7fe3 100644 --- a/packages/d/docker/docker.spec +++ b/packages/d/docker/docker.spec @@ -51,8 +51,8 @@ %endif # MANUAL: This needs to be updated with every docker update. -%define docker_real_version 26.1.5 -%define docker_git_version 411e817ddf71 +%define docker_real_version 27.4.1 +%define docker_git_version c710b88579fc %define docker_version %{docker_real_version}_ce # This "nice version" is so that docker --version gives a result that can be # parsed by other people. boo#1182476 @@ -60,7 +60,7 @@ %if %{with buildx} # MANUAL: This needs to be updated with every docker-buildx update. -%define buildx_version 0.19.2 +%define buildx_version 0.19.3 %endif # Used when generating the "build" information for Docker version. The value of @@ -68,7 +68,7 @@ # helpfully injects into our build environment from the changelog). If you want # to generate a new git_commit_epoch, use this: # $ date --date="$(git show --format=fuller --date=iso $COMMIT_ID | grep -oP '(?<=^CommitDate: ).*')" '+%s' -%define git_commit_epoch 1721763388 +%define git_commit_epoch 1734439831 Name: docker%{flavour} Version: %{docker_version} @@ -104,11 +104,6 @@ Patch200: 0003-BUILD-SLE12-revert-graphdriver-btrfs-use-kernel-UAPI.patch Patch201: 0004-bsc1073877-apparmor-clobber-docker-default-profile-o.patch # UPSTREAM: Revert of upstream patches to make apparmor work on SLE 12. Patch202: 0005-SLE12-revert-apparmor-remove-version-conditionals-fr.patch -# UPSTREAM: Backport of and -# . -Patch203: 0006-bsc1221916-update-to-patched-buildkit-version-to-fix.patch -# UPSTREAM: Backport of . -Patch204: 0007-bsc1214855-volume-use-AtomicWriteFile-to-save-volume.patch # UPSTREAM: Backport of . Patch900: cli-0001-docs-include-required-tools-in-source-tree.patch BuildRequires: audit @@ -367,10 +362,6 @@ cp %{SOURCE130} . %patch -P201 -p1 # Solves apparmor issues on SLE-12, but okay for newer SLE versions too. %patch -P202 -p1 -# bsc#1221916 -%patch -P203 -p1 -# bsc#1214855 -%patch -P204 -p1 %build %sysusers_generate_pre %{SOURCE160} %{name} docker.conf @@ -402,8 +393,8 @@ export BUILDTIME="$(date -u -d "@$SOURCE_DATE_EPOCH" --rfc-3339 ns 2>/dev/null | pushd "%{docker_builddir}" # use go module for build -ln -s {vendor,go}.mod -ln -s {vendor,go}.sum +cp {vendor,go}.mod +cp {vendor,go}.sum ./hack/make.sh dynbinary %if %{with integration_tests} @@ -428,8 +419,8 @@ popd pushd "%{cli_builddir}" # use go module for build -ln -s {vendor,go}.mod -ln -s {vendor,go}.sum +cp {vendor,go}.mod +cp {vendor,go}.sum make DISABLE_WARN_OUTSIDE_CONTAINER=1 dynbinary manpages popd diff --git a/packages/d/dracut-pcr-signature/.files b/packages/d/dracut-pcr-signature/.files index 61a4a72d5d5..cf8f1a65c02 100644 Binary files a/packages/d/dracut-pcr-signature/.files and b/packages/d/dracut-pcr-signature/.files differ diff --git a/packages/d/dracut-pcr-signature/.rev b/packages/d/dracut-pcr-signature/.rev index 4aeac9f3bba..4436d683ba8 100644 --- a/packages/d/dracut-pcr-signature/.rev +++ b/packages/d/dracut-pcr-signature/.rev @@ -89,4 +89,12 @@ 1221388 + + c26697ecb4d1e968015c17692294fe93 + 0.5+1 + + anag+factory + + 1231662 + diff --git a/packages/d/dracut-pcr-signature/_servicedata b/packages/d/dracut-pcr-signature/_servicedata index 05e37493334..a4b19098c0f 100644 --- a/packages/d/dracut-pcr-signature/_servicedata +++ b/packages/d/dracut-pcr-signature/_servicedata @@ -1,4 +1,4 @@ https://github.com/aplanas/dracut-pcr-signature.git - 1ae9b3570a9fdfe9882c3800e2c486ed12f02e69 \ No newline at end of file + 9b0e552451921068dd81fff3184c1dccbe2a905a \ No newline at end of file diff --git a/packages/d/dracut-pcr-signature/dracut-pcr-signature-0.5+0.tar.xz b/packages/d/dracut-pcr-signature/dracut-pcr-signature-0.5+0.tar.xz deleted file mode 120000 index 9e533f2ed03..00000000000 --- a/packages/d/dracut-pcr-signature/dracut-pcr-signature-0.5+0.tar.xz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafkreiatv7xwgkryvki4ltjo65s7hzfbwaqffljxc2e3pwq2klurwmt5b4 \ No newline at end of file diff --git a/packages/d/dracut-pcr-signature/dracut-pcr-signature-0.5+1.tar.xz b/packages/d/dracut-pcr-signature/dracut-pcr-signature-0.5+1.tar.xz new file mode 120000 index 00000000000..62c464ea0b2 --- /dev/null +++ b/packages/d/dracut-pcr-signature/dracut-pcr-signature-0.5+1.tar.xz @@ -0,0 +1 @@ +/ipfs/bafkreibkdtzl54e7wpdahcnak5zjramivqofqtobw5uidt5424lemkfjdq \ No newline at end of file diff --git a/packages/d/dracut-pcr-signature/dracut-pcr-signature.changes b/packages/d/dracut-pcr-signature/dracut-pcr-signature.changes index 57896f47345..d4f1269d733 100644 --- a/packages/d/dracut-pcr-signature/dracut-pcr-signature.changes +++ b/packages/d/dracut-pcr-signature/dracut-pcr-signature.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Dec 17 09:56:49 UTC 2024 - aplanas@suse.com + +- Update to version 0.5+1: + * Make the mount do not depend of default service + ------------------------------------------------------------------- Thu Oct 31 09:37:56 UTC 2024 - aplanas@suse.com diff --git a/packages/d/dracut-pcr-signature/dracut-pcr-signature.spec b/packages/d/dracut-pcr-signature/dracut-pcr-signature.spec index 7c87598f049..b0e20504d02 100644 --- a/packages/d/dracut-pcr-signature/dracut-pcr-signature.spec +++ b/packages/d/dracut-pcr-signature/dracut-pcr-signature.spec @@ -17,7 +17,7 @@ Name: dracut-pcr-signature -Version: 0.5+0 +Version: 0.5+1 Release: 0 Summary: Dracut module to import PCR signatures License: GPL-2.0-or-later diff --git a/packages/d/dump/.files b/packages/d/dump/.files index c5fde626e8e..509aad2859e 100644 Binary files a/packages/d/dump/.files and b/packages/d/dump/.files differ diff --git a/packages/d/dump/.rev b/packages/d/dump/.rev index efdeafe7f7b..a6171a1a9f4 100644 --- a/packages/d/dump/.rev +++ b/packages/d/dump/.rev @@ -218,4 +218,12 @@ 1151129 + + caf122f8090d0629a81bae7a89e084f8 + 0.4b49 + + anag+factory + + 1231756 + diff --git a/packages/d/dump/dump-0.4b43-include.patch b/packages/d/dump/dump-0.4b43-include.patch index e5abd5a59c8..fd216543600 100644 --- a/packages/d/dump/dump-0.4b43-include.patch +++ b/packages/d/dump/dump-0.4b43-include.patch @@ -1,11 +1,13 @@ ---- dump/main.c -+++ dump/main.c -@@ -67,6 +67,8 @@ +Index: b/dump/main.c +=================================================================== +--- a/dump/main.c ++++ b/dump/main.c +@@ -60,6 +60,8 @@ #include #include #include + +#define pgoff_t unsigned long #include /* for definition of BLKFLSBUF */ - #elif defined sunos - #include + + #include diff --git a/packages/d/dump/dump-0.4b46-pathnames.patch b/packages/d/dump/dump-0.4b46-pathnames.patch index e7ccf87e8d7..784d99f639a 100644 --- a/packages/d/dump/dump-0.4b46-pathnames.patch +++ b/packages/d/dump/dump-0.4b46-pathnames.patch @@ -1,8 +1,8 @@ -Index: dump-0.4b46/dump/dump.8.in +Index: b/dump/dump.8.in =================================================================== ---- dump-0.4b46.orig/dump/dump.8.in -+++ dump-0.4b46/dump/dump.8.in -@@ -199,7 +199,7 @@ exist, dump doesn't create a new remote +--- a/dump/dump.8.in ++++ b/dump/dump.8.in +@@ -211,7 +211,7 @@ exist, dump doesn't create a new remote The default path name of the remote .BR rmt (8) program is @@ -11,10 +11,10 @@ Index: dump-0.4b46/dump/dump.8.in this can be overridden by the environment variable .BR RMT . .TP -Index: dump-0.4b46/dump/Makefile.am +Index: b/dump/Makefile.am =================================================================== ---- dump-0.4b46.orig/dump/Makefile.am -+++ dump-0.4b46/dump/Makefile.am +--- a/dump/Makefile.am ++++ b/dump/Makefile.am @@ -5,7 +5,6 @@ EXTRA_DIST = man_MANS = dump.8 DISTCLEANFILES += dump.8 @@ -31,10 +31,10 @@ Index: dump-0.4b46/dump/Makefile.am uninstall-hook: $(RM) -f $(DESTDIR)$(sbindir)/rdump -Index: dump-0.4b46/restore/Makefile.am +Index: b/restore/Makefile.am =================================================================== ---- dump-0.4b46.orig/restore/Makefile.am -+++ dump-0.4b46/restore/Makefile.am +--- a/restore/Makefile.am ++++ b/restore/Makefile.am @@ -5,7 +5,6 @@ EXTRA_DIST = man_MANS = restore.8 DISTCLEANFILES += restore.8 diff --git a/packages/d/dump/dump-0.4b46-rmt-ermt.patch b/packages/d/dump/dump-0.4b46-rmt-ermt.patch index f1682d27d27..0b9516a54ee 100644 --- a/packages/d/dump/dump-0.4b46-rmt-ermt.patch +++ b/packages/d/dump/dump-0.4b46-rmt-ermt.patch @@ -5,10 +5,10 @@ References: Upstream: submitted -Index: dump-0.4b46/rmt/Makefile.am +Index: b/rmt/Makefile.am =================================================================== ---- dump-0.4b46.orig/rmt/Makefile.am -+++ dump-0.4b46/rmt/Makefile.am +--- a/rmt/Makefile.am ++++ b/rmt/Makefile.am @@ -1,17 +1,23 @@ AM_CPPFLAGS = -I$(top_srcdir)/compat/include DISTCLEANFILES = @@ -36,7 +36,7 @@ Index: dump-0.4b46/rmt/Makefile.am -DISTCLEANFILES += rmt.8 -EXTRA_DIST += rmt.8.in - - rmt_SOURCES = rmt.c + rmt_SOURCES = rmt.c rmt.h rmt_LDADD = ../compat/lib/libcompat.la $(EXT2FS_LIBS) @@ -22,3 +28,8 @@ rmt.8: rmt.8.in @@ -48,13 +48,13 @@ Index: dump-0.4b46/rmt/Makefile.am + sed -e "s|__DATE__|$(DATE)|g" \ + -e "s|__VERSION__|$(VERSION)|g" $< > $@ + -Index: dump-0.4b46/configure.ac +Index: b/configure.ac =================================================================== ---- dump-0.4b46.orig/configure.ac -+++ dump-0.4b46/configure.ac -@@ -80,9 +80,6 @@ AC_MSG_CHECKING([whether to build ermt]) +--- a/configure.ac ++++ b/configure.ac +@@ -87,9 +87,6 @@ AC_MSG_CHECKING([whether to build ermt]) BUILD_ERMT=no - AC_ARG_ENABLE([ermt], [AC_HELP_STRING([--enable-ermt], [compile ermt, an encrypting version of rmt @<:@default=no@:>@])]) + AC_ARG_ENABLE([ermt], [AS_HELP_STRING([--enable-ermt],[compile ermt, an encrypting version of rmt @<:@default=no@:>@])]) if test "$enable_ermt" = "yes"; then - if test "$BUILD_RMT" != "yes"; then - AC_MSG_ERROR([ermt requires --enable-rmt]) @@ -62,18 +62,18 @@ Index: dump-0.4b46/configure.ac BUILD_ERMT=yes fi AM_CONDITIONAL([BUILD_ERMT], [test "$BUILD_ERMT" = "yes"]) -Index: dump-0.4b46/Makefile.am +Index: b/Makefile.am =================================================================== ---- dump-0.4b46.orig/Makefile.am -+++ dump-0.4b46/Makefile.am +--- a/Makefile.am ++++ b/Makefile.am @@ -1,9 +1,6 @@ ACLOCAL_AMFLAGS = -I m4 --SUBDIRS = compat/lib common dump restore +-SUBDIRS = compat/lib common dump restore faketape -if BUILD_RMT -SUBDIRS += rmt -endif -+SUBDIRS = compat/lib common dump restore rmt ++SUBDIRS = compat/lib common dump restore rmt faketape EXTRA_DIST = \ dump.lsm KNOWNBUGS MAINTAINERS REPORTING-BUGS \ diff --git a/packages/d/dump/dump-0.4b47.tar.gz b/packages/d/dump/dump-0.4b47.tar.gz deleted file mode 120000 index dc1c921af8f..00000000000 --- a/packages/d/dump/dump-0.4b47.tar.gz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeigbgilrpsz75vy6nuddzkdojrybh3pdp52xkrzqp6bruk5wazd7jq \ No newline at end of file diff --git a/packages/d/dump/dump-0.4b49.tar.gz b/packages/d/dump/dump-0.4b49.tar.gz new file mode 120000 index 00000000000..79e70433f22 --- /dev/null +++ b/packages/d/dump/dump-0.4b49.tar.gz @@ -0,0 +1 @@ +/ipfs/bafybeiflay2iofd54zc5mrv3sufgjkdkcpt5gqp2fiwfjnjsrxh5uw624u \ No newline at end of file diff --git a/packages/d/dump/dump.changes b/packages/d/dump/dump.changes index 9c79c1e80ce..05f1cb82e50 100644 --- a/packages/d/dump/dump.changes +++ b/packages/d/dump/dump.changes @@ -1,3 +1,67 @@ +------------------------------------------------------------------- +Tue Dec 17 20:03:34 UTC 2024 - Antonio Teixeira + +- Update to 0.4b49: + * Reworking of regression tests and test harness + * Import some patches from the Debian package. + * restore -N should never change the fs. Fixes #154 + * Support outputting list of files from restore -t with '\0' separator + (Patch from debian bug 703564 by Heiko Schlittermann) + * Fix reading of QFA file when listing tape. + * Support restoring to filesystems with a blocksize that isn't a multiple + of TP_BSIZE (debian bug 995992). This is a different fix to the one + currently in debian. The advantage of using a common multiple, if + available, is that every FS block will only be written to once. + Fixed an issue where the alignment between blocksize and writing pos + becomes misaligned when a sparse hole doesn't occupy a full fs block + (happens when restoring to a FS with a different, larger blocksize than + the one the dump was taken on. + * Numerous other minor patches from the Debian package + * Don't read off end of buffer when restoring symlinks + * Fix some weirdness around dumping a subdirectory. Do not include the + inodes for all of the items in the subdirectories - which then give a + restore error "inode not found on tape" + * Fix EA problem when EAs blocks are read immediately before a tape change. + * Allow compressed dumps to work when -b blocksize setting is the maximum + a tape drive supports. + * Remove code added for building on systems other than __linux__ + * Major reworking of how reading from disk and tape works. Dump now + supports writing a compressed dump to a file and then writing that to + tape. There is now only one "read" function. We do not have separate + functions for reading tapes, files, compressed tapes, compressed files. + * Improve the efficiency of TS_ADDR (and TS_INODE) record for + representing larger files. A single TS_ADDR record can now represent up + to 4GB of file rather than just 512K. Dumps written by 0.4b49 cannot be + restored using 0.4b48 and before. +- 0.4b48 changelog: + * Handle fs with more than 2^32 blocks (Greg Oster) + * Handle EA stored in blocks with address >2^32. + * Handle the case were EAs are stored across two blocks. Fixes several + reported bugs regarding the restore of directory attributes. + Additionally, now restore -C passes too. Originally restore -C was + patched for files, but not directories, in debian bug#940473 by + Alexander Zangerl. Substantially redone and extended to directory + attributes here. + * Do not record garbage data in dump for files with + EXT2_EXTENT_FLAGS_UNINIT set indicating that the disk block has not + been written to and should be assumed to be all zeros. + * Dump small files on ext4 partitions with -O inline-data set. + * Major performance enhancements on the restoring and verifying of very + sparse files. + * Handle dumps that are over 2^32 (tape) blocks long (>4T) + * Handle restoring sparse files that start with a hole from dump versions + 0.4b42/43. Previously they were restored but corrupted as some of the + initial hole was moved to the end. + * Many cleanups. Move to autoconf v0.71. Remove need to build with + -fcommon. Build with -W -Wall and without compiler warnings. Add some + compile time checks for structures that are written to tape and must + not change. + * Extensive regression tests. Every bug fixed by 0.4b48 release is now + covered by a regression test along with testing the restore of a historical + dump created by the previous versions from 0.4b5 through 0.4b47. +- Use autopatch +- Refresh patches + ------------------------------------------------------------------- Mon Feb 26 07:54:58 UTC 2024 - Dominique Leuenberger diff --git a/packages/d/dump/dump.spec b/packages/d/dump/dump.spec index df6cbd29d4d..45d42f91b63 100644 --- a/packages/d/dump/dump.spec +++ b/packages/d/dump/dump.spec @@ -1,7 +1,7 @@ # # spec file for package dump # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: dump -Version: 0.4b47 +Version: 0.4b49 Release: 0 Summary: Programs for backing up and restoring ext2/3/4 filesystems License: BSD-3-Clause @@ -57,7 +57,7 @@ restore a full backup of a file system. Summary: Provides certain programs with access to remote tape devices Group: Productivity/Archiving/Backup Requires(post): update-alternatives -Requires(postun):update-alternatives +Requires(postun): update-alternatives Provides: rmt %description rmt @@ -68,9 +68,7 @@ restoring files from a backup), tar (an archiving program) and cpio. %prep %setup -q cp %{SOURCE1} rmt/ -%patch -P 0 -p1 -%patch -P 1 -p1 -%patch -P 3 +%autopatch -p1 %build autoreconf -fiv diff --git a/packages/e/eekboard/.files b/packages/e/eekboard/.files index 2fa117ec021..322791d4468 100644 Binary files a/packages/e/eekboard/.files and b/packages/e/eekboard/.files differ diff --git a/packages/e/eekboard/.rev b/packages/e/eekboard/.rev index d32e1254e04..9de1be88b80 100644 --- a/packages/e/eekboard/.rev +++ b/packages/e/eekboard/.rev @@ -62,4 +62,12 @@ 1149353 + + d88ec0eeaf49c897f65b737a0fd9bd83 + 1.0.8 + + anag+factory + (forwarded request 1231888 from hillwood) + 1231889 + diff --git a/packages/e/eekboard/eekboard-1.0.8.tar.gz b/packages/e/eekboard/eekboard-1.0.8.tar.gz index 4180db2f77f..63e7f71f644 120000 --- a/packages/e/eekboard/eekboard-1.0.8.tar.gz +++ b/packages/e/eekboard/eekboard-1.0.8.tar.gz @@ -1 +1 @@ -/ipfs/bafybeibbthd3luls5ecdbztntlzvkxb3kqhdw4ciifihotjnl7vctoh7xa \ No newline at end of file +/ipfs/bafybeigbyhijq3sski7hweazk4taeqn265dfml2qv2ymjncch4oxop45j4 \ No newline at end of file diff --git a/packages/e/eekboard/eekboard.changes b/packages/e/eekboard/eekboard.changes index db8cd7c35b2..9ace267e57b 100644 --- a/packages/e/eekboard/eekboard.changes +++ b/packages/e/eekboard/eekboard.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Dec 18 08:34:56 UTC 2024 - Hillwood Yang + +- Add fix-compile-on-gcc14.patch. + ------------------------------------------------------------------- Thu Feb 22 11:36:44 UTC 2024 - Dominique Leuenberger diff --git a/packages/e/eekboard/eekboard.spec b/packages/e/eekboard/eekboard.spec index e59149d8128..af5c4310c14 100644 --- a/packages/e/eekboard/eekboard.spec +++ b/packages/e/eekboard/eekboard.spec @@ -1,7 +1,7 @@ # # spec file for package eekboard # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,9 +24,12 @@ Release: 0 Summary: An easy to use virtual keyboard toolkit License: GPL-3.0-or-later Group: System/GUI/Other -URL: http://github.com/ueno/eekboard -Source0: %{name}-%{version}.tar.gz +URL: https://github.com/ueno/eekboard +Source0: https://github.com/ueno/eekboard/archive/%{name}-%{version}/%{name}-%{version}.tar.gz Patch0: port-to-python3.patch +Patch1: fix-compile-on-gcc14.patch +BuildRequires: gnome-common +BuildRequires: pkgconfig(eek-0.90) BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(gmodule-2.0) BuildRequires: pkgconfig(gobject-2.0) @@ -75,10 +78,10 @@ Requires: %{name} = %{version} The eekboard-devel package contains the header files. %prep -%autosetup -p1 +%autosetup -p1 -n %{name}-%{name}-%{version} %build -# ./autogen.sh +NOCONFIGURE=1 ./autogen.sh %configure --enable-introspection \ --enable-vala \ --enable-atspi \ @@ -86,7 +89,8 @@ The eekboard-devel package contains the header files. --enable-xtest \ %endif --disable-schemas-compile \ - --enable-libcanberra=yes + --enable-libcanberra=yes \ + --enable-gtk-doc make %{?_smp_mflags} @@ -110,7 +114,8 @@ rm -rf %{buildroot}%{_libdir}/*.la %files -f %{name}.lang %defattr(-,root,root) -%doc COPYING README AUTHORS +%doc README AUTHORS +%license COPYING %{_bindir}/eekboard %{_bindir}/eekboard-server %{_libdir}/libeek*.so.* diff --git a/packages/e/eekboard/fix-compile-on-gcc14.patch b/packages/e/eekboard/fix-compile-on-gcc14.patch new file mode 100644 index 00000000000..d8a9bee448e --- /dev/null +++ b/packages/e/eekboard/fix-compile-on-gcc14.patch @@ -0,0 +1,18 @@ +diff -Nur eekboard-1.0.8/eekboard/eekboard-context.c eekboard-1.0.8-new/eekboard/eekboard-context.c +--- eekboard-1.0.8/eekboard/eekboard-context.c 2012-03-30 10:23:36.000000000 +0800 ++++ eekboard-1.0.8-new/eekboard/eekboard-context.c 2024-12-18 17:00:07.798884470 +0800 +@@ -150,10 +150,10 @@ + } + + static void +-eekboard_context_real_key_activated (EekboardContext *self, +- const gchar *keyname, +- EekSymbol *symbol, +- guint modifiers) ++eekboard_context_real_key_activated (EekboardContext *context, ++ guint param1, ++ EekSymbol *symbol, ++ guint param2) + { + } + diff --git a/packages/e/efm-langserver/.files b/packages/e/efm-langserver/.files index fa3828647b1..74b70eab6d3 100644 Binary files a/packages/e/efm-langserver/.files and b/packages/e/efm-langserver/.files differ diff --git a/packages/e/efm-langserver/.rev b/packages/e/efm-langserver/.rev index 6bf5806b18a..e201e43d91e 100644 --- a/packages/e/efm-langserver/.rev +++ b/packages/e/efm-langserver/.rev @@ -15,4 +15,15 @@ Automatic submission by obs-autosubmit 1219485 + + eafee608ec37388a63514d9f1342c13e + 0.0.54 + + anag+factory + - Update to version 0.0.54: + * No significant code changes + * update deps + + 1231805 + diff --git a/packages/e/efm-langserver/efm-langserver-0.0.53.tar.gz b/packages/e/efm-langserver/efm-langserver-0.0.53.tar.gz deleted file mode 120000 index eded1070ca0..00000000000 --- a/packages/e/efm-langserver/efm-langserver-0.0.53.tar.gz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafkreibogfnwyvr2tfgy6wz5fwhfxzrjmkfr63oh4suc3hvbuxplrsa34y \ No newline at end of file diff --git a/packages/e/efm-langserver/efm-langserver-0.0.54.tar.gz b/packages/e/efm-langserver/efm-langserver-0.0.54.tar.gz new file mode 120000 index 00000000000..8e3b659c3bd --- /dev/null +++ b/packages/e/efm-langserver/efm-langserver-0.0.54.tar.gz @@ -0,0 +1 @@ +/ipfs/bafkreicbjgzjekezzyytvcpwbbi7mz4dnest5vkc3vs33sg5elz46frjxm \ No newline at end of file diff --git a/packages/e/efm-langserver/efm-langserver.changes b/packages/e/efm-langserver/efm-langserver.changes index 18894982754..cfe80abe5cd 100644 --- a/packages/e/efm-langserver/efm-langserver.changes +++ b/packages/e/efm-langserver/efm-langserver.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Dec 18 07:40:28 UTC 2024 - Soc Virnyl Estela + +- Update to version 0.0.54: + * No significant code changes + * update deps + ------------------------------------------------------------------- Wed Sep 25 01:58:12 UTC 2024 - Soc Virnyl Estela diff --git a/packages/e/efm-langserver/efm-langserver.spec b/packages/e/efm-langserver/efm-langserver.spec index 7c99e2c9619..03b29a374f2 100644 --- a/packages/e/efm-langserver/efm-langserver.spec +++ b/packages/e/efm-langserver/efm-langserver.spec @@ -17,7 +17,7 @@ Name: efm-langserver -Version: 0.0.53 +Version: 0.0.54 Release: 0 Summary: General purpose language server License: MIT diff --git a/packages/e/efm-langserver/vendor.tar.zst b/packages/e/efm-langserver/vendor.tar.zst index f8a21b2dfa5..2eb30317d53 120000 --- a/packages/e/efm-langserver/vendor.tar.zst +++ b/packages/e/efm-langserver/vendor.tar.zst @@ -1 +1 @@ -/ipfs/bafkreihwi2z2cxknortizfygpr5vrol55ketf7lu3ywquxx2ymou2isnam \ No newline at end of file +/ipfs/bafkreiemjg5zfd7ikd3c2hnwpe4yz3cvdnenbh3hyvrmszf7hf3fnn2sxy \ No newline at end of file diff --git a/packages/f/flashrom/.files b/packages/f/flashrom/.files index a43b4f38a6e..28325c3e850 100644 Binary files a/packages/f/flashrom/.files and b/packages/f/flashrom/.files differ diff --git a/packages/f/flashrom/.rev b/packages/f/flashrom/.rev index 00c9d01f231..462c2daeffa 100644 --- a/packages/f/flashrom/.rev +++ b/packages/f/flashrom/.rev @@ -237,4 +237,14 @@ No indication of aggregation (forwarded request 159153 from babelworx) 1207944 + + ab4cda77a43b67706d264ca0c1c4e489 + 1.5.0 + + anag+factory + - Update to version 1.5.0 + * https://www.flashrom.org/release_notes/v_1_5.html + * Update flashrom.keyring + 1231759 + diff --git a/packages/f/flashrom/flashrom-1.4.0.tar.bz2.sig b/packages/f/flashrom/flashrom-1.4.0.tar.bz2.sig deleted file mode 100644 index e7855fedbb3..00000000000 --- a/packages/f/flashrom/flashrom-1.4.0.tar.bz2.sig +++ /dev/null @@ -1,6 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iF0EABECAB0WIQRubvmgukeABuJ3bkzAN7tBMTTREQUCZqHnpQAKCRDAN7tBMTTR -Ed0FAJ9D19CJNvsn06YN74bjDWs0qp0cbACdH5h2rIkPbKqTDYw66rFJZdC6hLE= -=fTo7 ------END PGP SIGNATURE----- diff --git a/packages/f/flashrom/flashrom-1.4.0.tar.xz b/packages/f/flashrom/flashrom-1.4.0.tar.xz deleted file mode 120000 index 3c371bfb64f..00000000000 --- a/packages/f/flashrom/flashrom-1.4.0.tar.xz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeibwsnmssfx6ftzov42kc2rxv3yr6fl6pph2c272sa6riowde2vqci \ No newline at end of file diff --git a/packages/f/flashrom/flashrom-v1.5.0.tar.xz b/packages/f/flashrom/flashrom-v1.5.0.tar.xz new file mode 120000 index 00000000000..66310cd1362 --- /dev/null +++ b/packages/f/flashrom/flashrom-v1.5.0.tar.xz @@ -0,0 +1 @@ +/ipfs/bafybeif2knjgs7qcgsx2pgz4wsvjkoekyhehdcfvsxkjryt72qysuvt7hi \ No newline at end of file diff --git a/packages/f/flashrom/flashrom-v1.5.0.tar.xz.asc b/packages/f/flashrom/flashrom-v1.5.0.tar.xz.asc new file mode 100644 index 00000000000..5b2a9003e8f --- /dev/null +++ b/packages/f/flashrom/flashrom-v1.5.0.tar.xz.asc @@ -0,0 +1,6 @@ +-----BEGIN PGP SIGNATURE----- + +iF0EABECAB0WIQRubvmgukeABuJ3bkzAN7tBMTTREQUCZ1E/RwAKCRDAN7tBMTTR +Ed2nAJkBMisHJftX0uzHFJkYNG+HVpGYfACfVJVEjv81jVM/KB2pjAwmEBnXQx8= +=zE+7 +-----END PGP SIGNATURE----- diff --git a/packages/f/flashrom/flashrom.changes b/packages/f/flashrom/flashrom.changes index 96e8d81946a..dae1dd86e01 100644 --- a/packages/f/flashrom/flashrom.changes +++ b/packages/f/flashrom/flashrom.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Sun Dec 8 12:58:45 UTC 2024 - Martin Hauke + +- Update to version 1.5.0 + * https://www.flashrom.org/release_notes/v_1_5.html + * Update flashrom.keyring + ------------------------------------------------------------------- Sun Oct 13 10:16:37 UTC 2024 - ecsos diff --git a/packages/f/flashrom/flashrom.keyring b/packages/f/flashrom/flashrom.keyring index 60aa2e1a775..a39707cd686 100644 --- a/packages/f/flashrom/flashrom.keyring +++ b/packages/f/flashrom/flashrom.keyring @@ -1,52 +1,9633 @@ -----BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v1 -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 -DTvt2DMTCDHdZ9i7dXV39W/eNPtd3bhz6eU= -=h33t +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 +vFdp9/L+uZGWYvpIknzJKEac0h/FyEEQ8QMTZrQzyZ/P01CVsfjrbfUkgdIRrLW7 +V9w9AtIYSbznzRgyHZ1ItCdNaWNoYWVsIEdydWhuIDxtaWNoYWVsLmdydWhuQGNz +LmZhdS5kZT6IYgQTEQIAIgUCUk589gIbIwYLCQgHAwIGFQgCCQoLBBYCAwECHgEC +F4AACgkQxv9CV36y2gzXDQCdHq4l1wlRTCTSYqZ0dKZ9pXCQ5zIAn09L1piOZDfo +RRul2ry6/WTNJCuaiQIcBBMBCgAGBQJXzrgHAAoJELyKrMySFQ+IQ0kP/iB4Eir/ +X6DKsP5DOyHULDh2Y1aR7VCGHtMupOp2GZ9t9IjGJdEn30CNTPzuCD1uEGhFyXHy +psQq3NVfA1MmDW0KyVkHyeyxcUSE9EKH++/hQ1IYl2FVziUAMpPkz4/N8J0DBV7N +SfASi58flB/bgbnXzf0WjkU7dmCiYu2Ydcwi0N6c/B/S+jvRC2A2fcOv97f3gaXE +mNXndjiqODGndjYjMZIp/BW0Mzca+Bz74KILGsqMIt4/sqkJim4v+5582HQuKc/U +mFE7bi56hxRX6WS/IuzVHCCN536R2nXlC8H/k/8qI17dc7CQVDYih6g+W4UoRcS+ +D65qv2yOx0mxoqyaO4XKK2S1hWbFXNsHknHImSIkwWOiRfGN9lOrXT/2peC/8CH5 +MV0oW5dDduZ4jk6dsTGnyE+ttpA94jF7xm0nrxf6gNpb+zmqzrMKjI6dV0g/m+WV +oHdjKoMBfdE3dTfChKvOxyMKbKB9qHxKvaLIhzGZ/33kWVfxNYnQswhVHGOr2nVY +6IFgRxiDSSYGdDdhFp0Lg71xLLSfEU2jg81ioVhKe/9by9E3XkjzHtzmudEM2+Um +aI//sNzaMEtatsA9W0LEz7wp40b+9Jf2pXydLZlykZC+EqG9xN/Q5zfS+aOzwWzf +bpOu3QHSZcqYc/nB7JZVFEiYgBV/CVmZF6CQuQINBE5/g4MQCAD2qS3WUh28XweP +Iuat5CpwpDbWtLIbC+efBziVAs0ZJPUnc/El8yTPa12n1q/89U0vy9MKcycqZ4QK +FzFm4Zk+EU2NfGVg0gXsEWNq6sVByGcCYhubqD5Kt5ZAGYNiiiEyo1Is5ivE9dou +eoM2em1wWkXmpqo9irdrvecxWdvkX1E4oDaN7yVsp5xxU7cXGrLDC6ts+K0R5Slw +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 +sK2VdJ8NCEDAs06i1asP/m2OybejUKaX6Z7usI1/1qNEw1+Ip3oZsP7FTn74e73+ +CO91Bhc6BFO5DX+W9waqyS2lKtFH9sQukZ70iY392Osb4ttsg3BLvG9Vl/WG+z39 +Umt4e9Z3OT0KjDpte/WYjgRTnliTAQQApoNZfzw6k1ZKAVoHf16dpoOC0W3d6/WC +BOPRzW6seb2EyEqq9bisbqCFDezL7tgK477jvYvIzfoJyJBU3Cm2Lcz9JKIjitIC +tPU+vQbOE6u9uiyDEHIEzw8Y2lfqZKos3WWT/I0XiFtIvsUSTIHLodcX7gZs8u/c +6Ao1gWlH3FsAIO484HeJATcEIAECAKEFAleyoJOaHQJUaGlzIGtleSB3YXMgZ2Vu +ZXJhdGVkIGFzIHBhcnQgb2YgdGhlIEV2aWwzMiBwcm9qZWN0LgpJdCBpcyBub3Qg +b3duZWQgYnkgdGhlIHVzZXIgZGVzY3JpYmVkIGluIHRoZSBVSUQuClNlZSBodHRw +czovL2V2aWwzMi5jb20vcmV2b2tlZCBmb3IgbW9yZSBkZXRhaWxzLgAKCRDDr4/8 +hCHxHPq6BACXLnViEo1xwuH21Z1NHkswgnU9a1T2J613BOJ6Tuklb4M2ITsNOuwR +eOTnpl6hirrkI7Wc9/zNdgeHFydWNgRfrL1KqGMgpAk/0qqZHexWjBXZwgCxtbKZ +QWOWy0rWmahKloJghnFW8Kvuuq+5GYkuwaLxS0SkIkKHhok5Vo8AnrQhRXJpYyBT +LiBSYXltb25kIDxlc3JAdGh5cnN1cy5jb20+iJwEEAECAAYFAlPgkVkACgkQA0Zn +QOm/ZT362AQAtGLFb67DPjpr3v0dkWdVYC4OEIX/epaBBnZHyMbk/G1uly1E9c8g +cq3GYDyWUtj4fayyd8Jhh2QDtt4qoiX7xckhUjFEJCh5bTXauyQbvl8AY72dOVrC +zX+rf0A2OrCKakz9VlyncKH0bhl9XSXfCiOzKgYTX8GtBC2GTZIysx+InAQQAQIA +BgUCU+CRWQAKCRBOgjyY5Dxfw/rYBADGmi2sDVtUiWIYaJB6l1793h+JIx3LvKdb +CdXU/G/eql+Otfy8wR/KdS8hQyqSWrcA6DilV4v4EZ6LZ+87c5JstZCiej7KeCxD +7/2GlgRhcbLHdxFvFgmt2GAzecHAAC4oI43KleMhvmzyTL90NiFgF5zFgB3pBQPr +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 +lVSEcalU8vjZUVtsHQyW0Tt2B+yXYdjXiSmz/2eu7bHF/rfId9D9sukAEQEAAbQ4 +RXJpYyBTLiBSYXltb25kIChBbHNvIGtub3duIGFzICdFU1InLikgPGVzckB0aHly +c3VzLmNvbT6IRgQQEQIABgUCVhXfBAAKCRCt9RbThCHxHKj3AKDKH2R+4XmPIdqX +fFV3yb7Hbj96rACdGkh9JOKFqI3ifgPKsTzUBtf87rKJAhwEEwEIAAYFAlYVm24A +CgkQ2vWPVcrVrjrQIw/+JYEXigL7QQ59TpfStXPhKFae0buvEFGXuuQfe3jV+QeW +Zpx5u8HOPtiT94dkfjLjtA9uWSLVcqXXrsRmcvD5mBFg06hvhezKD9KpdcqDIPJe +k9MpFPFqDulDeLhQ/WWQ0UrIDcG3IgAG5jNfCY/iZRHw6JYV1f3EQ1mKLrsQtC74 +7JKZwykZZHN2p8SUht4f5ArDKprvb59g9LMgmqrSG5U8rd2gubNE4Gz6woR9lG2l +7ifNxR/ltbKrAcg7VanLYLwoOOQPIuSkg/vFb6RdHDQgyrBhNDq93x90klz8Ua4H +cr0uLkkkxJt4nNdw+MHhS/yIqirxJqa9+q05ptBZpeps5OdZ2xLKpmwobbfzTs9/ +5CpsGJHEqVsjW07oxvBMbqIFiELuRNJW/ylX0+MsWZ/txhRMg0F5dmN18eSI/HPb +Zb5flTKssUC3AXpBmytRgWT2/hD33iSLk4PdLlv+Jfrs3xcPub8PIVGz0RH9bNFZ +TwjVrmP+UGyWvXEWNqmyq9nczLSoW/lVsZSlXbMWWOJzRPt1lWPh1zJ3Vi4CQuma +8452WVX8wwyWl9MktHcAW1fT0y1svnCFWkcOhpPQfzuw8xDTZetNTmR13TNdbjDN +YtMUD7pzYagROqtqr8D4ZJ9RzdRuO90yr0zGFD8TgZAGbcbmYQGiz09IbTFpYxyJ +Aj4EEwECACgFAlYVlrkCGwMFCQlmAYAGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheA +AAoJEOzIII+MbHON4CAQAKjWjXvCf2mI0cRyoe+mabsErvjpYrQuJ8F/rZol/Tb0 +Yh9Od+ulwDXLW/SPyyV1trYAih23u3T2GnqSd/WVtMnF0P4lGZ7C6LYGPyamS/RT +BqPnxptziRTrvtW/+08XIhQHm5WGT7ziftfaEeEHKgCz36iJpujqIrtCajtmoW6b +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 +nwd+0LmkL7y0L6I0MS2sSGGTEXg28NRL75R7b3pVD3vCYy4FARs5AyI5yuvt7aUT +H3HpibLfGPNTzL8LCEflvA7SJHlftaM3jsCh7CMJisknergZNwppCuRVMMq/Jc4u +bk7s+UoLpz8fEtH1fq5pD0A3ovtFEJmeRoPxl67iSFpFIvOUARgcyy8mj7ZGkhkY +HPR2+U+pa434DNJIU4dphF6A5xGOHq/KGvDknr7H5K5OQNJy7jYVejRLQp8yZFSa +AmmsCkkBCTUc2TXwhLYbQYOxPhVvwnO03c4Jo9RKsETYKGbD0aPRJF65k3ay0bbP +L/pnbfjZUje8Ejk/MywvkisSvOHOT/Iaa3qRFxXXP7mpB/lKB7Quuc5O7F96W1d3 +kfATADVH9Mf7eN0WvMlBmN/vRxavKCjWSCwqcXjQMo8DAla1pdjSgrcuww+P5SIz +9YSN7Ja3ghaYeOxX8U7DTYcop9m3qRObRlaY/cN9sc/dk12PpuD5i02jsyzH2ZrK +kbpyOc5jHSygsdfaP2x1ZvDstcILnBHYpydVET5Ol0MrjOmpkMwBUEXwaGrSjGpK +c8NQqiD8zCFDnd2ZVLkWZNTMjUlEzeKnffFpunyiFGBNodlBTLaf4QB00+9y8ah4 +pBQ50yim1EX6RU/yBmEtN9HNev8AAA41ARAAAQEAAAAAAAAAAAAAAAD/2P/gABBK +RklGAAEBAAABAAEAAP/bAEMACgcHCAcGCggICAsKCgsOGBAODQ0OHRUWERgjHyUk +Ih8iISYrNy8mKTQpISIwQTE0OTs+Pj4lLkRJQzxINz0+O//bAEMBCgsLDg0OHBAQ +HDsoIig7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 +Ozs7Ozs7O//AABEIAJAAcwMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAA +AQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEH +InEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJ +SlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaan +qKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4 ++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 +NSiaxFJjB4gscxGdQBTyq1CoIZdP1JEuKvVE1AOvFZ/EB0w8gdoJwRLpHggmtgTL +Js9NDvZbO7724pORGalwuy7YeqTqa/7Ytypi3+6iedPmRLv/mK2JGREL/gmltJum +ufXfVQQimxD6T2+z3Z7OiweMsTGxzJVOGols9kwGcgLDlwHQXxK5PwEsn+WGM00D +UMPc2irl/lwDX4YE6DsGkjThVMsKG9oR36Vi+dWYjgRTnk5cAQQAvm0GOZjFHBI6 +RVtk+wIYG5HjO4OaX54kFeYzZq+30+KBmniH2mMbo/+vWJzKYGc4V5FD9aH6BA8P +SL5xFgIrT1TAR9cbeWCwEllpy3RZ0IeAv1GafegxJU8sZV5AoICSqAQOisMGZwTG +PKjfiWRu8q9oPnTKk3plJitLD9u/qqUAIKTtoiWJATcEIAECAKEFAleyoKeaHQJU +aGlzIGtleSB3YXMgZ2VuZXJhdGVkIGFzIHBhcnQgb2YgdGhlIEV2aWwzMiBwcm9q +ZWN0LgpJdCBpcyBub3Qgb3duZWQgYnkgdGhlIHVzZXIgZGVzY3JpYmVkIGluIHRo +ZSBVSUQuClNlZSBodHRwczovL2V2aWwzMi5jb20vcmV2b2tlZCBmb3IgbW9yZSBk +ZXRhaWxzLgAKCRDkBJiDZ4X8AV9UA/sFGAeTcUmIN/xkJb9+V2SGOlL1knosqKcq +jwwVb+bULzCkwakf/M1EOgAG2Q6AOVLw93c5SxvqmYPxO4xPwG+UPmBUfIBi3Qlh +1UrmsRXvRvr4w6E+Oebs9G8a9rWU74LXwlLJislBKrxnKnc5wI8B0Pb1c5oginqG +IfzNQD4c97QzQ2FybC1EYW5pZWwgSGFpbGZpbmdlciA8Q2FybC1EYW5pZWxASGFp +bGZpbmdlci5vcmc+iJwEEAECAAYFAlPgllMACgkQQtmRCLOyoSyHVwQAo3uK3Bfc +Gr82/BXSKqa2Yxvfp3whEIn8hxXrsuX77knS5S3EL3n6nrPiCwUt4IwHpB4yrODx +uqNPj6U2hSc7SxKGhq90a49qvaqiSJEvOXeaFWh/uzN3uMtgMG1yurG98OX/ZtGf ++g/DEmccK2rktyAbv/53bInKF20BZLjK9jKInAQQAQIABgUCU+CWUwAKCRClWnEr +HJh3TodXBACs7FDgkghLAU30Cpbyu3acD3JzTs2sPNB+rISM98epUjYXuW/XKI7R +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 +J0SKSqOG+aePOK6Joe2zScZo3lk+mncy0ET0iYE9sD22DfbrXyxfnkNVKyNqz+qf +/+Y3ZyB7+qVAhRYsUbWTrMVj5nTXR0u4wWevnZ1Pnmk40MU/Q18XTBVrIxZ+3TsP +YPwGmNpv98P6AJBIVPIvlw85QyD7ku/VwCc6uG3ENYTmp88/Fhxg588mdyqS8Qz3 +lqgmOKR3fFtADC/AOlINoFr/L3ExLsId9o5ZE8zAWZZKmEPge7WBKJ5nFduYJtXS +YbKVpun2kbjtnyaKMPevQzsaEPBVX9SNgOf/zA4qmiWgpeq3RXZLLWb+YFIlGAqb +vxnYUgzHdrU7kxZTsJ0Z2Ogxm9nzX5W+HE9fYygPl56Pia6PFiwGq+z+LF5JB2ks +01MJXU1aTW3SvsnzsL1SfSEQx0j+YbXyc2iy9kVLSZegxfF1QamvOyH4y/FbPLhc +qBgLSH1iap+6whGb6wCaNtbbdtrcxLiCfVn1a3Mjl3hxFc6uMKYaUvwyCY035wDI +4tBu9zQn5K4icbn2fFcO+QQ/XjpwW/n65ua5sO8nHI3HDcGNS5D2GldCAEfsejTv +HQEmq0P1AhVwzajJTXm1vdkeuH7TIb7D70BdX4kCHAQQAQgABgUCUqcIkAAKCRA8 +JSXtFDYM3sl2D/986pWRpP57xwzHPLdH19SKHduOKgfg5wJYronHIWuauoJWYBX+ +5Z8Dszp7VUin2YcuVGA9OIQ/M6M3/2Tb8lQiwjS2aqnx6gsCyVGOXvF74Nz6xHzW +2+V4RbuB2UrEpcvKm0bnWhaZfS6L73ytJ0Bd1umAeQaY/OBv5y5BzcQOOQNGOOHF +Q64joxEnkPsirB4PsB/cKnVrqnQjV9hJcGrMSmjiL0IyZ1BYImK2yIVxDvnHwdh8 +6tEDGFUD6yhmqlpqs0y9DQx6UUdhV7q0dbk0KpP0v6wkTp4Dc8s6mrk5TOiFXeOY +3z0GeBwTSoopjmhz+V9EddOrfcAaETWL6x+hHudon1Ay6nXQjXnICt0L62hInYDs +NYl0kXf06VJOf7WX+a2NvTXp5Vm8cujBo9R3w0/azb1CgHI2uQuFpg82piANqThS +8ScHMnb55t61p1csLIjFOZrKP6e0c09iUkIKmBaoy5i96WbRVTMsBQixjIMICqKv +H8uMVHN6NtWSeEvUHxRxxZZ0c3TgTjV/KZKQ3klQINi6++9pbgGacsHeyfzLJBPu +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 +AAAAAAAA/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0aHx4dGhwcICQu +JyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIy +MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy +/8AAEQgAnwCfAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYH +CAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGh +CCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldY +WVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1 +tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8B +AAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAEC +dwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBka +JicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWG +h4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ +2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A9YFKTzRikxikSLTutMpw +6UAKBRxQc9qOaYCe1I2BznisHX/FdnoSFW/fXH/PNT0+p7V5J4k8calrExRZXgg/ +55xEgd+vrWsKTlqcdXGQjLljqz2TUvEekaTj7ZfRIx/hzk/kKoQ+PvDMzhBqiBiM +/MrAfnjFfP085kIBYsR+NN+6gYnB7YrT2MTH63U3PoR/HXhqPJ/tSM4/uqx/kKt6 +d4p0TU5PLtNSheT+6x2n8jivnaJgY8k80hlYEccU/YR7krGVL7H1CCGGVII9jTq+ +crDxXqWkSIba8lXB4Utkfka9C8O/Fe3vJEt9Xg8h+nnpypPuO1ZyotbanRTxal8S +seldTQRmo4Z47iJZInV42GQynINS8isTrTuJ04oNGaSgYn1opN3PSlwKAHGlptLS +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 +UmVpbmF1ZXIgPHN0ZWZhbi5yZWluYXVlckBjb3JlYm9vdC5vcmc+iHsEExEKADsC +GwMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AWIQRubvmgukeABuJ3bkzAN7tBMTTR +EQUCZIIVqQIZAQAKCRDAN7tBMTTREZYnAJ9SBNbihuBoB+XUdyoqtTtMnBx7QACe +L/STdK3Do+jZ7/xb5up8lNuJYk60JVN0ZWZhbiBSZWluYXVlciA8cmVpbmF1ZXJA +Z29vZ2xlLmNvbT6IeAQTEQoAOAIbAwIeAQIXgAULCQgHAwUVCgkICwUWAgMBABYh +BG5u+aC6R4AG4nduTMA3u0ExNNERBQJkghURAAoJEMA3u0ExNNERC1QAn1clWEmq +ezPk41MXCtW1OOl7fl/dAKCHlwEviDpJ6SRcSBh47DKAaTVHNLQnU3RlZmFuIFJl +aW5hdWVyIDxzdGVwYW5AY29yZXN5c3RlbXMuZGU+iHgEExEKADgCGwMCHgECF4AW +IQRubvmgukeABuJ3bkzAN7tBMTTREQUCZIIT6AULCQgHAwUVCgkICwUWAgMBAAAK +CRDAN7tBMTTREXeuAJ90zlY50p34/bAvkjmwBQuUDE5vZgCdEwyDkFO9ZgDkaw8y +1yAzQ0yaHIu0JVN0ZWZhbiBSZWluYXVlciA8c3RlcGFuQG9wZW5iaW9zLm9yZz6I +eAQTEQoAOAIbAwIeAQIXgBYhBG5u+aC6R4AG4nduTMA3u0ExNNERBQJkghPoBQsJ +CAcDBRUKCQgLBRYCAwEAAAoJEMA3u0ExNNERn1kAnRRjqQ45xr7p+Q6qZgDJST1Q +/Cp2AKCZXVELEfwv/9EE5ScdWPt4UVd+zLQmU3RlZmFuIFJlaW5hdWVyIDxzdGVw +YW5Ab3BlbmJpb3MuaW5mbz6IeAQTEQoAOAIbAwIeAQIXgBYhBG5u+aC6R4AG4ndu +TMA3u0ExNNERBQJkghPoBQsJCAcDBRUKCQgLBRYCAwEAAAoJEMA3u0ExNNERToQA +mwdpHzXSmDBTMckMVTr1nsVCZATcAKCMhuaCigQye0LKfVRW/Brm3a3LsbQlU3Rl +ZmFuIFJlaW5hdWVyIDxzdGVwYW5AY29yZWJvb3Qub3JnPoh4BBMRCgA4AhsDAh4B +AheABQsJCAcDBRUKCQgLBRYCAwEAFiEEbm75oLpHgAbid25MwDe7QTE00REFAmSC +FakACgkQwDe7QTE00REtRQCaAtV3mIwtLA15i7cHygLL1/idk2gAoJdXxt+xSvR9 +i8WJZZfjxk92TURStDJTdGVmYW4gUmVpbmF1ZXIgPHN0ZWZhbi5yZWluYXVlckBh +bWlnYS50ZWNobm9sb2d5Poh4BBMRCgA4FiEEbm75oLpHgAbid25MwDe7QTE00REF +AmSCFWACGwMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQwDe7QTE00RGgpgCe +NYMil/qQF1aYqcja29nq2+3knCcAnRn5W1c2BU371u3vodIEAmWw/AggtCVTdGVm +YW4gUmVpbmF1ZXIgPHN0ZXBhbkBjb3JlYm9vdC5jb20+iHgEExEKADgCGwMCHgEC +F4AWIQRubvmgukeABuJ3bkzAN7tBMTTREQUCZIIT6gULCQgHAwUVCgkICwUWAgMB +AAAKCRDAN7tBMTTREX2OAJ91BIhKj58W1H4ygoOMCl+6YNRXtACcCTT4LtDAgJPS +hzqmmdJ1hYiQayS0J1N0ZWZhbiBSZWluYXVlciA8c3RlcGFuQGNvcmVzeXN0ZW1z +LmV1Poh3BBMRCgA4AhsDAh4BAheAFiEEbm75oLpHgAbid25MwDe7QTE00REFAmSC +E+kFCwkIBwMFFQoJCAsFFgIDAQAACgkQwDe7QTE00RGvGACePhgxDOLygkbdRHF9 +fYZmM6HvDdwAl3+DrL2qiP0CCplLUKEN1ErHokW0KFN0ZWZhbiBSZWluYXVlciA8 +c3RlcGFuQGNvcmUtc3lzdGVtcy5kZT6IfQQTEQoANQIXgBYhBG5u+aC6R4AG4ndu +TMA3u0ExNNERBQJkghPpBQsJCAcDBRUKCQgLBRYCAwEAAh4BABIHZUdQRwABAQkQ +wDe7QTE00RHXCQCgl05eNUCJ83JkgNAQeWMsbb+NTVwAn08iTruDs7KmOvqyhFsU +pFrrfS0wtCVTdGVmYW4gUmVpbmF1ZXIgPHN0ZXBhbkBvcGVuYmlvcy5uZXQ+iH0E +ExEKADUCF4AWIQRubvmgukeABuJ3bkzAN7tBMTTREQUCZIIT6QULCQgHAwUVCgkI +CwUWAgMBAAIeAQASB2VHUEcAAQEJEMA3u0ExNNERbT4An0lrbQuf+2xoesyW94vv +iDNuIqirAJ9oJTSpH3JG+2vHVv5bHAPHl8VaqrQnU3RlZmFuIFJlaW5hdWVyIDxz +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 +qQ== +=spaV -----END PGP PUBLIC KEY BLOCK----- diff --git a/packages/f/flashrom/flashrom.spec b/packages/f/flashrom/flashrom.spec index c582533ba82..7bcafbe2c1f 100644 --- a/packages/f/flashrom/flashrom.spec +++ b/packages/f/flashrom/flashrom.spec @@ -17,24 +17,19 @@ Name: flashrom -Version: 1.4.0 +Version: 1.5.0 Release: 0 Summary: A universal flash programming utility License: GPL-2.0-only Group: Development/Tools/Other -URL: https://flashrom.org/Flashrom -Source0: https://download.flashrom.org/releases/%{name}-%{version}.tar.xz -Source1: https://download.flashrom.org/releases/%{name}-%{version}.tar.xz.asc#/%{name}-%{version}.tar.bz2.sig -# Got the key from David Hendricks +URL: https://www.flashrom.org/ +Source0: https://download.flashrom.org/releases/%{name}-v%{version}.tar.xz +Source1: https://download.flashrom.org/releases/%{name}-v%{version}.tar.xz.asc Source2: %{name}.keyring BuildRequires: meson >= 0.56.0 BuildRequires: pkgconfig -%if 0%{?suse_version} > 1600 -BuildRequires: python3-Sphinx -%else -BuildRequires: python311-Sphinx -%endif BuildRequires: pkgconfig(cmocka) +BuildRequires: pkgconfig(libcrypto) BuildRequires: pkgconfig(libftdi1) BuildRequires: pkgconfig(libjaylink) BuildRequires: pkgconfig(libpci) @@ -42,6 +37,11 @@ BuildRequires: pkgconfig(libusb) BuildRequires: pkgconfig(zlib) Recommends: %{name}-doc = %{version} ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 riscv64 +%if 0%{?suse_version} > 1600 +BuildRequires: python3-Sphinx +%else +BuildRequires: python311-Sphinx +%endif %description flashrom is a utility for reading, writing, verifying and erasing flash ROM @@ -84,7 +84,7 @@ cards (NICs), SATA controller cards, and other external devices which can program flash chips. %prep -%autosetup -p1 +%autosetup -p1 -n %{name}-v%{version} %package devel Summary: A universal flash programming utility diff --git a/packages/f/forgejo-runner/.files b/packages/f/forgejo-runner/.files index f62f8df23b5..a04459cdfb9 100644 Binary files a/packages/f/forgejo-runner/.files and b/packages/f/forgejo-runner/.files differ diff --git a/packages/f/forgejo-runner/.rev b/packages/f/forgejo-runner/.rev index b5d2a9f155a..076e53cc727 100644 --- a/packages/f/forgejo-runner/.rev +++ b/packages/f/forgejo-runner/.rev @@ -91,4 +91,13 @@ * fix: it wasn't possible to mount the docker socket in each container (forwarded request 1226862 from rrahl0) 1226863 + + 79a31e6df21c0ce7a2bf044202e4513b + 5.0.4 + + anag+factory + - Update to version 5.0.4: + * feat: use FORGEJO_TOKEN as runtime token (forwarded request 1231766 from rrahl0) + 1231767 + diff --git a/packages/f/forgejo-runner/_service b/packages/f/forgejo-runner/_service index 62efd5d2435..b9660ac5c10 100644 --- a/packages/f/forgejo-runner/_service +++ b/packages/f/forgejo-runner/_service @@ -2,7 +2,7 @@ https://code.forgejo.org/forgejo/runner git - refs/tags/v5.0.3 + refs/tags/v5.0.4 @PARENT_TAG@ enable v(.*) diff --git a/packages/f/forgejo-runner/_servicedata b/packages/f/forgejo-runner/_servicedata index 5aefa047dcc..ef9bcdaee4c 100644 --- a/packages/f/forgejo-runner/_servicedata +++ b/packages/f/forgejo-runner/_servicedata @@ -1,4 +1,4 @@ https://code.forgejo.org/forgejo/runner - f8b0ccf1a3a068153e5fc453e44f993ba9243337 \ No newline at end of file + 227c2b2dc1b43547309e679d49c6c435b55afbf3 \ No newline at end of file diff --git a/packages/f/forgejo-runner/forgejo-runner-5.0.3.obscpio b/packages/f/forgejo-runner/forgejo-runner-5.0.3.obscpio deleted file mode 120000 index d7166a3bc0f..00000000000 --- a/packages/f/forgejo-runner/forgejo-runner-5.0.3.obscpio +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafkreigshloka4ay2dkq3475wdxzby6s7mufba5jvne4qongts3pi24h6u \ No newline at end of file diff --git a/packages/f/forgejo-runner/forgejo-runner-5.0.4.obscpio b/packages/f/forgejo-runner/forgejo-runner-5.0.4.obscpio new file mode 120000 index 00000000000..e05b7a22ac8 --- /dev/null +++ b/packages/f/forgejo-runner/forgejo-runner-5.0.4.obscpio @@ -0,0 +1 @@ +/ipfs/bafkreibo4d3vcap5ntfesa3fnd7u3o2hygc42k7ikh34wdfl7ypsya4yke \ No newline at end of file diff --git a/packages/f/forgejo-runner/forgejo-runner.changes b/packages/f/forgejo-runner/forgejo-runner.changes index c0a99d69217..f7c0f525729 100644 --- a/packages/f/forgejo-runner/forgejo-runner.changes +++ b/packages/f/forgejo-runner/forgejo-runner.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Dec 18 00:03:40 UTC 2024 - rrahl0@opensuse.org + +- Update to version 5.0.4: + * feat: use FORGEJO_TOKEN as runtime token + ------------------------------------------------------------------- Wed Nov 27 10:20:13 UTC 2024 - Richard Rahl diff --git a/packages/f/forgejo-runner/forgejo-runner.obsinfo b/packages/f/forgejo-runner/forgejo-runner.obsinfo index 3bd5bf24cb9..00bd9987ce3 100644 --- a/packages/f/forgejo-runner/forgejo-runner.obsinfo +++ b/packages/f/forgejo-runner/forgejo-runner.obsinfo @@ -1,4 +1,4 @@ name: forgejo-runner -version: 5.0.3 -mtime: 1732700357 -commit: f8b0ccf1a3a068153e5fc453e44f993ba9243337 +version: 5.0.4 +mtime: 1734417422 +commit: 227c2b2dc1b43547309e679d49c6c435b55afbf3 diff --git a/packages/f/forgejo-runner/forgejo-runner.spec b/packages/f/forgejo-runner/forgejo-runner.spec index 3bc0a186d34..466ca74fcdb 100644 --- a/packages/f/forgejo-runner/forgejo-runner.spec +++ b/packages/f/forgejo-runner/forgejo-runner.spec @@ -17,7 +17,7 @@ Name: forgejo-runner -Version: 5.0.3 +Version: 5.0.4 Release: 0 Summary: Daemon that connects to a Forgejo instance and runs CI jobs License: MIT diff --git a/packages/f/forgejo-runner/vendor.tar.gz b/packages/f/forgejo-runner/vendor.tar.gz index a556205e391..8935800bbfe 120000 --- a/packages/f/forgejo-runner/vendor.tar.gz +++ b/packages/f/forgejo-runner/vendor.tar.gz @@ -1 +1 @@ -/ipfs/bafybeifoe6y63et2vbwozzh3yxja4hwkrgq3s4hfgo5snil7upyt25sjfy \ No newline at end of file +/ipfs/bafybeicyl6zslxfgjh7v6mij63pxi24xz6wzdcxvfahbxrhkb4ax4wkms4 \ No newline at end of file diff --git a/packages/f/fwupd-efi/.files b/packages/f/fwupd-efi/.files index 10ace58ae4c..0204c42e6bf 100644 Binary files a/packages/f/fwupd-efi/.files and b/packages/f/fwupd-efi/.files differ diff --git a/packages/f/fwupd-efi/.rev b/packages/f/fwupd-efi/.rev index 35ce8b6c461..10f40bb26ad 100644 --- a/packages/f/fwupd-efi/.rev +++ b/packages/f/fwupd-efi/.rev @@ -39,4 +39,13 @@ 1074627 + + 8fee4724b3515d6d3040b509eea2f12a + 1.7 + + anag+factory + Staging:H +fwupd-efi 1.7 for gnu-efi 4.0 + 1231689 + diff --git a/packages/f/fwupd-efi/106.patch b/packages/f/fwupd-efi/106.patch new file mode 100644 index 00000000000..c35830fc2a8 --- /dev/null +++ b/packages/f/fwupd-efi/106.patch @@ -0,0 +1,1196 @@ +From db8677f66fd4164f1fe4463391026192042e78b5 Mon Sep 17 00:00:00 2001 +From: Callum Farmer +Date: Tue, 24 Sep 2024 13:44:22 +0100 +Subject: [PATCH 1/4] ARM32 crt0: Split headers and code + +I finally figured out how to best achieve this without breaking GNU ld + +* Force code to be at known dest of 4096 +* Move _start into .text +* Load the _start symbol address and then minus 4096 to get the load address + +This should make the binary more PE32 compatible + +Change in ncroxon/gnu-efi#45 + +Signed-off-by: Callum Farmer +--- + efi/crt0/crt0-efi-arm.S | 19 ++++++++++--------- + efi/lds/elf_arm_efi.lds | 1 + + 2 files changed, 11 insertions(+), 9 deletions(-) + +diff --git a/efi/crt0/crt0-efi-arm.S b/efi/crt0/crt0-efi-arm.S +index 2c00906..af75d74 100644 +--- a/efi/crt0/crt0-efi-arm.S ++++ b/efi/crt0/crt0-efi-arm.S +@@ -45,11 +45,11 @@ optional_header: + .2byte 0x10b // PE32+ format + .byte 0x02 // MajorLinkerVersion + .byte 0x14 // MinorLinkerVersion +- .4byte _etext - _start // SizeOfCode ++ .4byte _text_size - ImageBase // SizeOfCode + .4byte _alldata_size - ImageBase // SizeOfInitializedData + .4byte 0 // SizeOfUninitializedData + .4byte _start - ImageBase // AddressOfEntryPoint +- .4byte _start - ImageBase // BaseOfCode ++ .4byte _text - ImageBase // BaseOfCode + .4byte _reloc - ImageBase // BaseOfData + + extra_header_fields: +@@ -67,7 +67,7 @@ extra_header_fields: + .4byte _image_end - ImageBase // SizeOfImage + + // Everything before the kernel image is considered part of the header +- .4byte _start - ImageBase // SizeOfHeaders ++ .4byte _text - ImageBase // SizeOfHeaders + .4byte 0 // CheckSum + .2byte EFI_SUBSYSTEM // Subsystem + .2byte 0 // DllCharacteristics +@@ -100,10 +100,10 @@ extra_header_fields: + section_table: + + .ascii ".text\0\0\0" +- .4byte _evtext - _start // VirtualSize +- .4byte _start - ImageBase // VirtualAddress +- .4byte _etext - _start // SizeOfRawData +- .4byte _start - ImageBase // PointerToRawData ++ .4byte _text_vsize - ImageBase // VirtualSize ++ .4byte _text - ImageBase // VirtualAddress ++ .4byte _text_size - ImageBase // SizeOfRawData ++ .4byte _text - ImageBase // PointerToRawData + .4byte 0 // PointerToRelocations (0 for executables) + .4byte 0 // PointerToLineNumbers (0 for executables) + .2byte 0 // NumberOfRelocations (0 for executables) +@@ -173,7 +173,7 @@ section_table: + .4byte 0x40000040 // Characteristics (section flags) + #endif + +-.balign 256 ++.text + .globl _start + .type _start,%function + _start: +@@ -184,7 +184,8 @@ _start: + adr r1, .L_DYNAMIC + ldr r0, [r1] + add r1, r0, r1 +- adr r0, ImageBase ++ adr r0, _start ++ sub r0, r0, #0x1000 + bl _relocate + teq r0, #0 + bne 0f +diff --git a/efi/lds/elf_arm_efi.lds b/efi/lds/elf_arm_efi.lds +index 0ec597a..4aade31 100644 +--- a/efi/lds/elf_arm_efi.lds ++++ b/efi/lds/elf_arm_efi.lds +@@ -5,6 +5,7 @@ SECTIONS + { + .text 0 : { + *(.text.head) ++ . = 0x1000; + _text = .; + *(.text) + *(.text.*) + +From 7645a77e2c947846613555bdec4c60a549fd8fc3 Mon Sep 17 00:00:00 2001 +From: Callum Farmer +Date: Tue, 24 Sep 2024 19:18:28 +0100 +Subject: [PATCH 2/4] Support using objcopy with RISC-V + +* Add system lds file so we can add the SBAT and SBOM sections +* RISC-V requires objcopy 2.42 + +Change made in ncroxon/gnu-efi@353984bb9720f31f7e27ac761a718f7fa564ba82 + +Signed-off-by: Callum Farmer +--- + efi/lds/elf_riscv64_efi_system.lds | 150 +++++++++++++++++++++++++++++ + efi/meson.build | 12 ++- + 2 files changed, 159 insertions(+), 3 deletions(-) + create mode 100644 efi/lds/elf_riscv64_efi_system.lds + +diff --git a/efi/lds/elf_riscv64_efi_system.lds b/efi/lds/elf_riscv64_efi_system.lds +new file mode 100644 +index 0000000..b245b2b +--- /dev/null ++++ b/efi/lds/elf_riscv64_efi_system.lds +@@ -0,0 +1,150 @@ ++/* SPDX-License-Identifier: GPL-2.0-or-later OR BSD-2-Clause */ ++ ++OUTPUT_FORMAT("elf64-littleriscv", "elf64-littleriscv", "elf64-littleriscv") ++OUTPUT_ARCH(riscv) ++ENTRY(_start) ++SECTIONS ++{ ++ . = 0; ++ ImageBase = .; ++ /* .hash and/or .gnu.hash MUST come first! */ ++ .hash : { *(.hash) } ++ .gnu.hash : { *(.gnu.hash) } ++ . = ALIGN(4096); ++ .eh_frame : { *(.eh_frame) } ++ .eh_frame_hdr : { *(.eh_frame_hdr) } ++ .gcc_except_table : { *(.gcc_except_table*) } ++ . = ALIGN(4096); ++ .text : { ++ _text = .; ++ *(.text) ++ *(.text.*) ++ *(.gnu.linkonce.t.*) ++ *(.plt) ++ . = ALIGN(16); ++ } ++ _etext = .; ++ _text_size = _etext - _text; ++ . = ALIGN(65536); ++ .reloc : ++ { ++ KEEP (*(.reloc)) ++ } ++ . = ALIGN(4096); ++ _DYNAMIC = .; ++ .dynamic : { *(.dynamic) } ++ . = ALIGN(4096); ++ .data : ++ { ++ _data = .; ++ *(.sdata) ++ *(.data) ++ *(.data1) ++ *(.data.*) ++ *(.got.plt) ++ *(.got) ++ ++ /* ++ * Note that these aren't the using the GNU "CONSTRUCTOR" output section ++ * command, so they don't start with a size. Because of p2align and the ++ * end/END definitions, and the fact that they're mergeable, they can also ++ * have NULLs which aren't guaranteed to be at the end. ++ */ ++ . = ALIGN(16); ++ __init_array_start = .; ++ *(SORT(.init_array.*)) ++ *(.init_array) ++ __init_array_end = .; ++ . = ALIGN(16); ++ __CTOR_LIST__ = .; ++ *(SORT(.ctors.*)) ++ *(.ctors) ++ __CTOR_END__ = .; ++ . = ALIGN(16); ++ __DTOR_LIST__ = .; ++ *(SORT(.dtors.*)) ++ *(.dtors) ++ __DTOR_END__ = .; ++ . = ALIGN(16); ++ __fini_array_start = .; ++ *(SORT(.fini_array.*)) ++ *(.fini_array) ++ __fini_array_end = .; ++ ++ /* the EFI loader doesn't seem to like a .bss section, so we stick ++ it all into .data: */ ++ . = ALIGN(16); ++ _bss = .; ++ *(.sbss) ++ *(.scommon) ++ *(.dynbss) ++ *(.bss*) ++ *(COMMON) ++ *(.rel.local) ++ . = ALIGN(16); ++ ++ _bss_end = .; ++ } ++ ++ . = ALIGN(4096); ++ .rela : ++ { ++ *(.rela.text*) ++ *(.rela.data*) ++ *(.rela.got) ++ *(.rela.dyn) ++ *(.rela.stab) ++ *(.rela.init_array*) ++ *(.rela.fini_array*) ++ *(.rela.ctors*) ++ *(.rela.dtors*) ++ ++ } ++ . = ALIGN(4096); ++ .rela.plt : { *(.rela.plt) } ++ . = ALIGN(4096); ++ .rodata : { *(.rodata*) } ++ /* ++ * Note that _sbat must be the beginning of the data, and _esbat must be the ++ * end and must be before any section padding. The sbat self-check uses ++ * _esbat to find the bounds of the data, and if the padding is included, the ++ * CSV parser (correctly) rejects the data as having NUL values in one of the ++ * required columns. ++ */ ++ . = ALIGN(4096); ++ .sbat : ++ { ++ _sbat = .; ++ *(.sbat) ++ *(.sbat.*) ++ _esbat = .; ++ . = ALIGN(4096); ++ _epsbat = .; ++ } ++ _sbat_size = _epsbat - _sbat; ++ _sbat_vsize = _esbat - _sbat; ++ . = ALIGN(4096); ++ .sbom : ++ { ++ _sbom = .; ++ *(.sbom) ++ _epsbom = .; ++ } ++ _sbom_size = _epsbom - _sbom; ++ . = ALIGN(512); ++ _edata = .; ++ _data_size = _edata - _data; ++ ++ . = ALIGN(4096); ++ .dynsym : { *(.dynsym) } ++ . = ALIGN(4096); ++ .dynstr : { *(.dynstr) } ++ . = ALIGN(4096); ++ .note.gnu.build-id : { *(.note.gnu.build-id) } ++ .ignored.reloc : ++ { ++ *(.rela.reloc) ++ *(.note.GNU-stack) ++ } ++ .comment 0 : { *(.comment) } ++} +\ No newline at end of file +diff --git a/efi/meson.build b/efi/meson.build +index 36dfa5d..0f5014b 100644 +--- a/efi/meson.build ++++ b/efi/meson.build +@@ -91,12 +91,18 @@ endif + + # older objcopy for Aarch64, ARM32 and RISC-V are not EFI capable. + # Use 'binary' instead, and add required symbols manually. +-if host_cpu == 'arm' or host_cpu == 'riscv64' or (host_cpu == 'aarch64' and (objcopy_version.version_compare ('< 2.38') or coff_header_in_crt0 or uswid.found())) ++if host_cpu == 'arm' ++ objcopy_manualsymbols = true ++ generate_binary_extra = ['--objcopy-manualsymbols'] ++elif host_cpu == 'aarch64' and (objcopy_version.version_compare ('< 2.38') or coff_header_in_crt0 or uswid.found()) + objcopy_manualsymbols = true + generate_binary_extra = ['--objcopy-manualsymbols'] + elif host_cpu == 'loongarch64' and (objcopy_version.version_compare ('< 2.41') or coff_header_in_crt0) + objcopy_manualsymbols = true + generate_binary_extra = ['--objcopy-manualsymbols'] ++elif host_cpu == 'riscv64' and (objcopy_version.version_compare ('< 2.42') or coff_header_in_crt0 or uswid.found()) ++ objcopy_manualsymbols = true ++ generate_binary_extra = ['--objcopy-manualsymbols'] + else + objcopy_manualsymbols = false + generate_binary_extra = [] +@@ -143,8 +149,8 @@ if objcopy_manualsymbols + endif + endif + +-# Check aligned lds and crt0 on ARM64 this breaks otherwise +-if host_cpu == 'aarch64' and not objcopy_manualsymbols ++# Check aligned lds and crt0 on ARM64/RISCV64 this breaks otherwise ++if (host_cpu == 'aarch64' or host_cpu == 'riscv64') and not objcopy_manualsymbols + if efi_ldsdir == join_paths(meson.current_source_dir(), 'lds') + arch_lds = 'elf_@0@@1@_efi_system.lds'.format(gnu_efi_arch, lds_os) + endif + +From de727cfa52c5aa08f4a0989cd65f44bb2e658dfa Mon Sep 17 00:00:00 2001 +From: Callum Farmer +Date: Fri, 22 Nov 2024 14:45:17 +0000 +Subject: [PATCH 3/4] Update crt0/lds from GNU-EFI 4.0 + +* Align CRT0 exit function naming +* Push .reloc after .data +* Make our dummy .reloc sections not depend on section order. + +Signed-off-by: Callum Farmer +--- + efi/crt0/crt0-efi-aarch64.S | 47 +++++++++++++------------- + efi/crt0/crt0-efi-arm.S | 43 +++++++++++++----------- + efi/crt0/crt0-efi-loongarch64.S | 37 +++++++++++---------- + efi/crt0/crt0-efi-riscv64.S | 44 +++++++++++++------------ + efi/lds/elf_aarch64_efi.lds | 24 +++++++------- + efi/lds/elf_aarch64_efi_system.lds | 53 +++++++++++------------------- + efi/lds/elf_arm_efi.lds | 25 +++++++------- + efi/lds/elf_loongarch64_efi.lds | 23 +++++++------ + efi/lds/elf_riscv64_efi.lds | 24 +++++++------- + efi/lds/elf_riscv64_efi_system.lds | 20 ++++------- + efi/lds/elf_x86_64_efi.lds | 11 ++++--- + 11 files changed, 171 insertions(+), 180 deletions(-) + +diff --git a/efi/crt0/crt0-efi-aarch64.S b/efi/crt0/crt0-efi-aarch64.S +index edd1fa1..970dbc5 100644 +--- a/efi/crt0/crt0-efi-aarch64.S ++++ b/efi/crt0/crt0-efi-aarch64.S +@@ -1,5 +1,6 @@ ++ + /* +- * crt0-efi-aarch64.S - PE/COFF header for AArch64 EFI applications ++ * crt0-efi-aarch64-local.S - PE/COFF header for AArch64 EFI applications (without suitable objcopy) + * + * Copyright (C) 2014 Linaro Ltd. + * +@@ -108,6 +109,17 @@ section_table: + .2byte 0 // NumberOfLineNumbers (0 for executables) + .4byte 0x60000020 // Characteristics (section flags) + ++ .ascii ".data\0\0\0" ++ .4byte _data_vsize - ImageBase // VirtualSize ++ .4byte _data - ImageBase // VirtualAddress ++ .4byte _data_size - ImageBase // SizeOfRawData ++ .4byte _data - ImageBase // PointerToRawData ++ .4byte 0 // PointerToRelocations ++ .4byte 0 // PointerToLineNumbers ++ .2byte 0 // NumberOfRelocations ++ .2byte 0 // NumberOfLineNumbers ++ .4byte 0xC0000040 // Characteristics (section flags) ++ + /* + * The EFI application loader requires a relocation section + * because EFI applications must be relocatable. This is a +@@ -124,17 +136,6 @@ section_table: + .2byte 0 // NumberOfLineNumbers + .4byte 0x42000040 // Characteristics (section flags) + +- .ascii ".data\0\0\0" +- .4byte _data_vsize - ImageBase // VirtualSize +- .4byte _data - ImageBase // VirtualAddress +- .4byte _data_size - ImageBase // SizeOfRawData +- .4byte _data - ImageBase // PointerToRawData +- .4byte 0 // PointerToRelocations +- .4byte 0 // PointerToLineNumbers +- .2byte 0 // NumberOfRelocations +- .2byte 0 // NumberOfLineNumbers +- .4byte 0xC0000040 // Characteristics (section flags) +- + .ascii ".rodata\0" + .4byte _rodata_vsize - ImageBase // VirtualSize + .4byte _rodata - ImageBase // VirtualAddress +@@ -145,7 +146,7 @@ section_table: + .2byte 0 // NumberOfRelocations + .2byte 0 // NumberOfLineNumbers + .4byte 0x40000040 // Characteristics (section flags) +- ++ + #ifdef USING_SBAT + .ascii ".sbat\0\0\0" + .4byte _sbat_vsize - ImageBase // VirtualSize +@@ -173,6 +174,7 @@ section_table: + .4byte 0x40000040 // Characteristics (section flags) + #endif + ++ + .text + .globl _start + .type _start,%function +@@ -187,23 +189,24 @@ _start: + adrp x1, _DYNAMIC + add x1, x1, #:lo12:_DYNAMIC + bl _relocate +- cbnz x0, 0f ++ cbnz x0, .L_exit + + ldp x0, x1, [sp, #16] +- bl efi_main ++ bl _entry + +-0: ldp x29, x30, [sp], #32 ++.L_exit: ++ ldp x29, x30, [sp], #32 + ret +- +-// hand-craft a dummy .reloc section so EFI knows it's a relocatable executable: ++ ++ // hand-craft a dummy .reloc section so EFI knows it's a relocatable executable: + + .data +-dummy: .4byte 0 ++dummy0: .4byte 0 ++dummy1: .4byte 0 + + #define IMAGE_REL_ABSOLUTE 0 +- .section .reloc, "a" +-label1: +- .4byte dummy-label1 // Page RVA ++ .section .reloc, "a", %progbits ++ .4byte dummy1 - dummy0 // Page RVA + .4byte 12 // Block Size (2*4+2*2), must be aligned by 32 Bits + .2byte (IMAGE_REL_ABSOLUTE<<12) + 0 // reloc for dummy + .2byte (IMAGE_REL_ABSOLUTE<<12) + 0 // reloc for dummy +diff --git a/efi/crt0/crt0-efi-arm.S b/efi/crt0/crt0-efi-arm.S +index af75d74..0956d9b 100644 +--- a/efi/crt0/crt0-efi-arm.S ++++ b/efi/crt0/crt0-efi-arm.S +@@ -31,7 +31,7 @@ pe_header: + .2byte 0 + coff_header: + .2byte 0x1c2 // Mixed ARM/Thumb +- .2byte NR_SECTIONS // nr_sections ++ .2byte NR_SECTIONS // nr_sections + .4byte 0 // TimeDateStamp + .4byte 0 // PointerToSymbolTable + .4byte 0 // NumberOfSymbols +@@ -48,9 +48,9 @@ optional_header: + .4byte _text_size - ImageBase // SizeOfCode + .4byte _alldata_size - ImageBase // SizeOfInitializedData + .4byte 0 // SizeOfUninitializedData +- .4byte _start - ImageBase // AddressOfEntryPoint ++ .4byte _text - ImageBase // AddressOfEntryPoint + .4byte _text - ImageBase // BaseOfCode +- .4byte _reloc - ImageBase // BaseOfData ++ .4byte _data - ImageBase // BaseOfData + + extra_header_fields: + .4byte 0 // ImageBase +@@ -110,6 +110,17 @@ section_table: + .2byte 0 // NumberOfLineNumbers (0 for executables) + .4byte 0x60000020 // Characteristics (section flags) + ++ .ascii ".data\0\0\0" ++ .4byte _data_vsize - ImageBase // VirtualSize ++ .4byte _data - ImageBase // VirtualAddress ++ .4byte _data_size - ImageBase // SizeOfRawData ++ .4byte _data - ImageBase // PointerToRawData ++ .4byte 0 // PointerToRelocations ++ .4byte 0 // PointerToLineNumbers ++ .2byte 0 // NumberOfRelocations ++ .2byte 0 // NumberOfLineNumbers ++ .4byte 0xC0000040 // Characteristics (section flags) ++ + /* + * The EFI application loader requires a relocation section + * because EFI applications must be relocatable. This is a +@@ -126,17 +137,6 @@ section_table: + .2byte 0 // NumberOfLineNumbers + .4byte 0x42000040 // Characteristics (section flags) + +- .ascii ".data\0\0\0" +- .4byte _data_vsize - ImageBase // VirtualSize +- .4byte _data - ImageBase // VirtualAddress +- .4byte _data_size - ImageBase // SizeOfRawData +- .4byte _data - ImageBase // PointerToRawData +- .4byte 0 // PointerToRelocations +- .4byte 0 // PointerToLineNumbers +- .2byte 0 // NumberOfRelocations +- .2byte 0 // NumberOfLineNumbers +- .4byte 0xC0000040 // Characteristics (section flags) +- + .ascii ".rodata\0" + .4byte _rodata_vsize - ImageBase // VirtualSize + .4byte _rodata - ImageBase // VirtualAddress +@@ -147,6 +147,7 @@ section_table: + .2byte 0 // NumberOfRelocations + .2byte 0 // NumberOfLineNumbers + .4byte 0x40000040 // Characteristics (section flags) ++ + #ifdef USING_SBAT + .ascii ".sbat\0\0\0" + .4byte _sbat_vsize - ImageBase // VirtualSize +@@ -188,12 +189,13 @@ _start: + sub r0, r0, #0x1000 + bl _relocate + teq r0, #0 +- bne 0f ++ bne .L_exit + + ldmfd sp, {r0-r1} +- bl efi_main ++ bl _entry + +-0: add sp, sp, #12 ++.L_exit: ++ add sp, sp, #12 + ldr pc, [sp], #4 + + .L_DYNAMIC: +@@ -202,11 +204,12 @@ _start: + // hand-craft a dummy .reloc section so EFI knows it's a relocatable executable: + + .data +-dummy: .4byte 0 ++dummy0: .4byte 0 ++dummy1: .4byte 0 + + #define IMAGE_REL_ABSOLUTE 0 +- .section .areloc +- .4byte dummy // Page RVA ++ .section .areloc, "a", %progbits ++ .4byte dummy1 - dummy0 // Page RVA + .4byte 12 // Block Size (2*4+2*2), must be aligned by 32 Bits + .2byte (IMAGE_REL_ABSOLUTE<<12) + 0 // reloc for dummy + .2byte (IMAGE_REL_ABSOLUTE<<12) + 0 // reloc for dummy +diff --git a/efi/crt0/crt0-efi-loongarch64.S b/efi/crt0/crt0-efi-loongarch64.S +index 1e697a9..3d9e3a3 100644 +--- a/efi/crt0/crt0-efi-loongarch64.S ++++ b/efi/crt0/crt0-efi-loongarch64.S +@@ -108,6 +108,17 @@ section_table: + .2byte 0 // NumberOfLineNumbers (0 for executables) + .4byte 0x60000020 // Characteristics (section flags) + ++ .ascii ".data\0\0\0" ++ .4byte _data_vsize - ImageBase // VirtualSize ++ .4byte _data - ImageBase // VirtualAddress ++ .4byte _data_size - ImageBase // SizeOfRawData ++ .4byte _data - ImageBase // PointerToRawData ++ .4byte 0 // PointerToRelocations ++ .4byte 0 // PointerToLineNumbers ++ .2byte 0 // NumberOfRelocations ++ .2byte 0 // NumberOfLineNumbers ++ .4byte 0xC0000040 // Characteristics (section flags) ++ + /* + * The EFI application loader requires a relocation section + * because EFI applications must be relocatable. This is a +@@ -124,17 +135,6 @@ section_table: + .2byte 0 // NumberOfLineNumbers + .4byte 0x42000040 // Characteristics (section flags) + +- .ascii ".data\0\0\0" +- .4byte _data_vsize - ImageBase // VirtualSize +- .4byte _data - ImageBase // VirtualAddress +- .4byte _data_size - ImageBase // SizeOfRawData +- .4byte _data - ImageBase // PointerToRawData +- .4byte 0 // PointerToRelocations +- .4byte 0 // PointerToLineNumbers +- .2byte 0 // NumberOfRelocations +- .2byte 0 // NumberOfLineNumbers +- .4byte 0xC0000040 // Characteristics (section flags) +- + .ascii ".rodata\0" + .4byte _rodata_vsize - ImageBase // VirtualSize + .4byte _rodata - ImageBase // VirtualAddress +@@ -187,25 +187,26 @@ _start: + la.local $a0, ImageBase // a0: ImageBase + la.local $a1, _DYNAMIC // a1: DynamicSection + bl _relocate +- bnez $a0, 0f ++ bnez $a0, .L_exit + + ld.d $a0, $sp, 8 + ld.d $a1, $sp, 16 + bl efi_main + +-0: ld.d $ra, $sp, 0 ++.L_exit: ++ ld.d $ra, $sp, 0 + addi.d $sp, $sp, 24 + jr $ra + .end _start + // hand-craft a dummy .reloc section so EFI knows it's a relocatable executable: + +- .data +-dummy: .4byte 0 ++ .data ++dummy0: .4byte 0 ++dummy1: .4byte 0 + + #define IMAGE_REL_ABSOLUTE 0 +- .section .reloc, "a" +-label1: +- .4byte dummy-label1 // Page RVA ++ .section .reloc, "a", %progbits ++ .4byte dummy1 - dummy0 // Page RVA + .4byte 12 // Block Size (2*4+2*2), must be aligned by 32 Bits + .2byte (IMAGE_REL_ABSOLUTE<<12) + 0 // reloc for dummy + .2byte (IMAGE_REL_ABSOLUTE<<12) + 0 // reloc for dummy +diff --git a/efi/crt0/crt0-efi-riscv64.S b/efi/crt0/crt0-efi-riscv64.S +index 9754bc2..95b2e05 100644 +--- a/efi/crt0/crt0-efi-riscv64.S ++++ b/efi/crt0/crt0-efi-riscv64.S +@@ -1,5 +1,7 @@ +-/* SPDX-License-Identifier: GPL-2.0+ OR BSD-2-Clause */ ++/* SPDX-License-Identifier: GPL-2.0-or-later OR BSD-2-Clause */ + /* ++ * crt0-efi-riscv64-local.S - PE/COFF header for RISC-V 64 EFI applications (without suitable objcopy) ++ * + * Copyright (C) 2014 Linaro Ltd. + * Copyright (C) 2018 Alexander Graf + * +@@ -16,7 +18,6 @@ + * either version 2 of the License, or (at your option) any later version. + */ + +- + .section .text.head + + /* +@@ -68,7 +69,7 @@ extra_header_fields: + // Everything before the kernel image is considered part of the header + .4byte _text - ImageBase // SizeOfHeaders + .4byte 0 // CheckSum +- .2byte EFI_SUBSYSTEM // Subsystem ++ .2byte EFI_SUBSYSTEM // Subsystem + .2byte 0 // DllCharacteristics + .8byte 0 // SizeOfStackReserve + .8byte 0 // SizeOfStackCommit +@@ -109,6 +110,17 @@ section_table: + .2byte 0 // NumberOfLineNumbers (0 for executables) + .4byte 0x60000020 // Characteristics (section flags) + ++ .ascii ".data\0\0\0" ++ .4byte _data_vsize - ImageBase // VirtualSize ++ .4byte _data - ImageBase // VirtualAddress ++ .4byte _data_size - ImageBase // SizeOfRawData ++ .4byte _data - ImageBase // PointerToRawData ++ .4byte 0 // PointerToRelocations ++ .4byte 0 // PointerToLineNumbers ++ .2byte 0 // NumberOfRelocations ++ .2byte 0 // NumberOfLineNumbers ++ .4byte 0xC0000040 // Characteristics (section flags) ++ + /* + * The EFI application loader requires a relocation section + * because EFI applications must be relocatable. This is a +@@ -125,17 +137,6 @@ section_table: + .2byte 0 // NumberOfLineNumbers + .4byte 0x42000040 // Characteristics (section flags) + +- .ascii ".data\0\0\0" +- .4byte _data_vsize - ImageBase // VirtualSize +- .4byte _data - ImageBase // VirtualAddress +- .4byte _data_size - ImageBase // SizeOfRawData +- .4byte _data - ImageBase // PointerToRawData +- .4byte 0 // PointerToRelocations +- .4byte 0 // PointerToLineNumbers +- .2byte 0 // NumberOfRelocations +- .2byte 0 // NumberOfLineNumbers +- .4byte 0xC0000040 // Characteristics (section flags) +- + .ascii ".rodata\0" + .4byte _rodata_vsize - ImageBase // VirtualSize + .4byte _rodata - ImageBase // VirtualAddress +@@ -185,23 +186,24 @@ _start: + lla a0, ImageBase + lla a1, _DYNAMIC + call _relocate +- bne a0, zero, 0f ++ bne a0, zero, .L_exit + ld a1, 8(sp) + ld a0, 0(sp) +- call efi_main ++ call _entry + ld ra, 16(sp) +-0: addi sp, sp, 24 ++.L_exit: ++ addi sp, sp, 24 + ret + + // hand-craft a dummy .reloc section so EFI knows it's a relocatable executable: + + .data +-dummy: .4byte 0 ++dummy0: .4byte 0 ++dummy1: .4byte 0 + + #define IMAGE_REL_ABSOLUTE 0 +- .section .reloc, "a" +-label1: +- .4byte dummy-label1 // Page RVA ++ .section .reloc, "a", %progbits ++ .4byte dummy1 - dummy0 // Page RVA + .4byte 12 // Block Size (2*4+2*2), must be aligned by 32 Bits + .2byte (IMAGE_REL_ABSOLUTE<<12) + 0 // reloc for dummy + .2byte (IMAGE_REL_ABSOLUTE<<12) + 0 // reloc for dummy +diff --git a/efi/lds/elf_aarch64_efi.lds b/efi/lds/elf_aarch64_efi.lds +index c976853..7c03edb 100644 +--- a/efi/lds/elf_aarch64_efi.lds ++++ b/efi/lds/elf_aarch64_efi.lds +@@ -19,17 +19,8 @@ SECTIONS + _text_vsize = _evtext - _text; + _text_size = _etext - _text; + . = ALIGN(65536); +- _reloc = .; +- .reloc : { +- *(.reloc) +- _evreloc = .; +- . = ALIGN(4096); +- _ereloc = .; +- } =0 +- _reloc_vsize = _evreloc - _reloc; +- _reloc_size = _ereloc - _reloc; +- . = ALIGN(4096); + _data = .; ++ _DYNAMIC = .; + .dynamic : { *(.dynamic) } + . = ALIGN(4096); + .data : +@@ -86,7 +77,16 @@ SECTIONS + } =0 + _data_vsize = _evdata - _data; + _data_size = _edata - _data; +- ++ . = ALIGN(4096); ++ _reloc = .; ++ .reloc : { ++ *(.reloc) ++ _evreloc = .; ++ . = ALIGN(4096); ++ _ereloc = .; ++ } =0 ++ _reloc_vsize = _evreloc - _reloc; ++ _reloc_size = _ereloc - _reloc; + . = ALIGN(4096); + _rodata = .; + .rela : +@@ -144,7 +144,7 @@ SECTIONS + _sbom_size = _epsbom - _sbom; + _sbom_vsize = _esbom - _sbom; + _image_end = .; +- _alldata_size = _image_end - _reloc; ++ _alldata_size = _image_end - _data; + + . = ALIGN(4096); + .dynsym : { *(.dynsym) } +diff --git a/efi/lds/elf_aarch64_efi_system.lds b/efi/lds/elf_aarch64_efi_system.lds +index e3af2c5..d9cdba4 100644 +--- a/efi/lds/elf_aarch64_efi_system.lds ++++ b/efi/lds/elf_aarch64_efi_system.lds +@@ -20,29 +20,20 @@ SECTIONS + *(.gnu.linkonce.t.*) + *(.plt) + . = ALIGN(16); +- _etext = .; + } ++ _etext = .; + _text_size = _etext - _text; + . = ALIGN(65536); +- _reloc = .; +- .reloc : { +- *(.reloc) +- _ereloc = .; +- } +- _reloc_size = _ereloc - _reloc; +- . = ALIGN(4096); +- _data = .; +- .dynamic : { *(.dynamic) } +- . = ALIGN(4096); + .data : + { ++ _data = .; + *(.sdata) + *(.data) + *(.data1) + *(.data.*) + *(.got.plt) + *(.got) +- ++ + /* + * Note that these aren't the using the GNU "CONSTRUCTOR" output section + * command, so they don't start with a size. Because of p2align and the +@@ -77,17 +68,22 @@ SECTIONS + *(.sbss) + *(.scommon) + *(.dynbss) +- *(.bss) +- *(.bss.*) ++ *(.bss*) + *(COMMON) ++ *(.rel.local) + . = ALIGN(16); ++ + _bss_end = .; +- _edata = .; + } +- _data_size = _edata - _data; +- + . = ALIGN(4096); +- _rodata = .; ++ .reloc : ++ { ++ KEEP (*(.reloc)) ++ } ++ . = ALIGN(4096); ++ _DYNAMIC = .; ++ .dynamic : { *(.dynamic) } ++ . = ALIGN(4096); + .rela : + { + *(.rela.text*) +@@ -104,11 +100,7 @@ SECTIONS + . = ALIGN(4096); + .rela.plt : { *(.rela.plt) } + . = ALIGN(4096); +- .rodata : { +- *(.rodata*) +- _erodata = .; +- } +- _rodata_size = _erodata - _rodata; ++ .rodata : { *(.rodata*) } + /* + * Note that _sbat must be the beginning of the data, and _esbat must be the + * end and must be before any section padding. The sbat self-check uses +@@ -129,15 +121,10 @@ SECTIONS + _sbat_size = _epsbat - _sbat; + _sbat_vsize = _esbat - _sbat; + . = ALIGN(4096); +- .sbom : +- { +- _sbom = .; +- *(.sbom) +- _epsbom = .; +- } +- _sbom_size = _epsbom - _sbom; +- _image_end = .; +- _alldata_size = _image_end - _reloc; ++ .sbom : { *(.sbom) } ++ . = ALIGN(512); ++ _edata = .; ++ _data_size = _edata - _data; + + . = ALIGN(4096); + .dynsym : { *(.dynsym) } +@@ -145,7 +132,7 @@ SECTIONS + .dynstr : { *(.dynstr) } + . = ALIGN(4096); + .note.gnu.build-id : { *(.note.gnu.build-id) } +- /DISCARD/ : ++ .ignored.reloc : + { + *(.rela.reloc) + *(.note.GNU-stack) +diff --git a/efi/lds/elf_arm_efi.lds b/efi/lds/elf_arm_efi.lds +index 4aade31..e7883da 100644 +--- a/efi/lds/elf_arm_efi.lds ++++ b/efi/lds/elf_arm_efi.lds +@@ -19,17 +19,8 @@ SECTIONS + _text_vsize = _evtext - _text; + _text_size = _etext - _text; + . = ALIGN(4096); +- _reloc = .; +- .areloc : { +- *(.areloc) +- _evreloc = .; +- . = ALIGN(4096); +- _ereloc = .; +- } =0 +- _reloc_vsize = _evreloc - _reloc; +- _reloc_size = _ereloc - _reloc; +- . = ALIGN(4096); + _data = .; ++ _DYNAMIC = .; + .dynamic : { *(.dynamic) } + . = ALIGN(4096); + .data : +@@ -86,6 +77,16 @@ SECTIONS + } =0 + _data_vsize = _evdata - _data; + _data_size = _edata - _data; ++ . = ALIGN(4096); ++ _reloc = .; ++ .areloc : { ++ *(.areloc) ++ _evreloc = .; ++ . = ALIGN(4096); ++ _ereloc = .; ++ } =0 ++ _reloc_vsize = _evreloc - _reloc; ++ _reloc_size = _ereloc - _reloc; + + . = ALIGN(4096); + _rodata = .; +@@ -113,7 +114,7 @@ SECTIONS + } =0 + _rodata_vsize = _evrodata - _rodata; + _rodata_size = _erodata - _rodata; +- /* ++/* + * Note that _sbat must be the beginning of the data, and _esbat must be the + * end and must be before any section padding. The sbat self-check uses + * _esbat to find the bounds of the data, and if the padding is included, the +@@ -144,7 +145,7 @@ SECTIONS + _sbom_size = _epsbom - _sbom; + _sbom_vsize = _esbom - _sbom; + _image_end = .; +- _alldata_size = _image_end - _reloc; ++ _alldata_size = _image_end - _data; + + . = ALIGN(4096); + .dynsym : { *(.dynsym) } +diff --git a/efi/lds/elf_loongarch64_efi.lds b/efi/lds/elf_loongarch64_efi.lds +index c7a77a3..7b711b9 100644 +--- a/efi/lds/elf_loongarch64_efi.lds ++++ b/efi/lds/elf_loongarch64_efi.lds +@@ -18,16 +18,6 @@ SECTIONS + } =0 + _text_vsize = _evtext - _text; + _text_size = _etext - _text; +- . = ALIGN(4096); +- _reloc = .; +- .reloc : { +- *(.reloc) +- _evreloc = .; +- . = ALIGN(4096); +- _ereloc = .; +- } =0 +- _reloc_vsize = _evreloc - _reloc; +- _reloc_size = _ereloc - _reloc; + . = ALIGN(65536); + _data = .; + .dynamic : { *(.dynamic) } +@@ -86,7 +76,16 @@ SECTIONS + } =0 + _data_vsize = _evdata - _data; + _data_size = _edata - _data; +- ++ . = ALIGN(4096); ++ _reloc = .; ++ .reloc : { ++ *(.reloc) ++ _evreloc = .; ++ . = ALIGN(4096); ++ _ereloc = .; ++ } =0 ++ _reloc_vsize = _evreloc - _reloc; ++ _reloc_size = _ereloc - _reloc; + . = ALIGN(4096); + _rodata = .; + .rela : +@@ -144,7 +143,7 @@ SECTIONS + _sbom_size = _epsbom - _sbom; + _sbom_vsize = _esbom - _sbom; + _image_end = .; +- _alldata_size = _image_end - _reloc; ++ _alldata_size = _image_end - _data; + + . = ALIGN(4096); + .dynsym : { *(.dynsym) } +diff --git a/efi/lds/elf_riscv64_efi.lds b/efi/lds/elf_riscv64_efi.lds +index b5577d1..d386ac2 100644 +--- a/efi/lds/elf_riscv64_efi.lds ++++ b/efi/lds/elf_riscv64_efi.lds +@@ -21,17 +21,8 @@ SECTIONS + _text_vsize = _evtext - _text; + _text_size = _etext - _text; + . = ALIGN(4096); +- _reloc = .; +- .reloc : { +- *(.reloc) +- _evreloc = .; +- . = ALIGN(4096); +- _ereloc = .; +- } =0 +- _reloc_vsize = _evreloc - _reloc; +- _reloc_size = _ereloc - _reloc; +- . = ALIGN(4096); + _data = .; ++ _DYNAMIC = .; + .dynamic : { *(.dynamic) } + . = ALIGN(4096); + .data : +@@ -88,6 +79,16 @@ SECTIONS + } =0 + _data_vsize = _evdata - _data; + _data_size = _edata - _data; ++ . = ALIGN(4096); ++ _reloc = .; ++ .reloc : { ++ *(.reloc) ++ _evreloc = .; ++ . = ALIGN(4096); ++ _ereloc = .; ++ } =0 ++ _reloc_vsize = _evreloc - _reloc; ++ _reloc_size = _ereloc - _reloc; + + . = ALIGN(4096); + _rodata = .; +@@ -146,7 +147,7 @@ SECTIONS + _sbom_size = _epsbom - _sbom; + _sbom_vsize = _esbom - _sbom; + _image_end = .; +- _alldata_size = _image_end - _reloc; ++ _alldata_size = _image_end - _data; + + . = ALIGN(4096); + .dynsym : { *(.dynsym) } +@@ -170,4 +171,3 @@ SECTIONS + } + .comment 0 : { *(.comment) } + } +- +diff --git a/efi/lds/elf_riscv64_efi_system.lds b/efi/lds/elf_riscv64_efi_system.lds +index b245b2b..e67a288 100644 +--- a/efi/lds/elf_riscv64_efi_system.lds ++++ b/efi/lds/elf_riscv64_efi_system.lds +@@ -26,11 +26,6 @@ SECTIONS + _etext = .; + _text_size = _etext - _text; + . = ALIGN(65536); +- .reloc : +- { +- KEEP (*(.reloc)) +- } +- . = ALIGN(4096); + _DYNAMIC = .; + .dynamic : { *(.dynamic) } + . = ALIGN(4096); +@@ -85,6 +80,11 @@ SECTIONS + + _bss_end = .; + } ++ . = ALIGN(4096); ++ .reloc : ++ { ++ KEEP (*(.reloc)) ++ } + + . = ALIGN(4096); + .rela : +@@ -124,13 +124,7 @@ SECTIONS + _sbat_size = _epsbat - _sbat; + _sbat_vsize = _esbat - _sbat; + . = ALIGN(4096); +- .sbom : +- { +- _sbom = .; +- *(.sbom) +- _epsbom = .; +- } +- _sbom_size = _epsbom - _sbom; ++ .sbom : { *(.sbom) } + . = ALIGN(512); + _edata = .; + _data_size = _edata - _data; +@@ -147,4 +141,4 @@ SECTIONS + *(.note.GNU-stack) + } + .comment 0 : { *(.comment) } +-} +\ No newline at end of file ++} +diff --git a/efi/lds/elf_x86_64_efi.lds b/efi/lds/elf_x86_64_efi.lds +index d274f7e..012b94a 100644 +--- a/efi/lds/elf_x86_64_efi.lds ++++ b/efi/lds/elf_x86_64_efi.lds +@@ -25,11 +25,6 @@ SECTIONS + } + _etext = .; + _text_size = _etext - _text; +- . = ALIGN(4096); +- .reloc : +- { +- KEEP (*(.reloc)) +- } + + . = ALIGN(4096); + .data : +@@ -81,6 +76,12 @@ SECTIONS + _edata = .; + _data_size = _edata - _etext; + . = ALIGN(4096); ++ .reloc : ++ { ++ KEEP (*(.reloc)) ++ } ++ . = ALIGN(4096); ++ _DYNAMIC = .; + .dynamic : { *(.dynamic) } + . = ALIGN(4096); + .rela : + +From e59a0bc8320253b0068e7e5d2d973c4bd669446c Mon Sep 17 00:00:00 2001 +From: Callum Farmer +Date: Fri, 22 Nov 2024 15:01:44 +0000 +Subject: [PATCH 4/4] Use pkgconfig for gnu-efi paths + +* In use since 3.0.18 fixes bad detection on RISC-V + +Signed-off-by: Callum Farmer +--- + efi/meson.build | 44 ++++++++++++-------------------------------- + meson_options.txt | 2 +- + 2 files changed, 13 insertions(+), 33 deletions(-) + +diff --git a/efi/meson.build b/efi/meson.build +index 0f5014b..a15b705 100644 +--- a/efi/meson.build ++++ b/efi/meson.build +@@ -23,6 +23,10 @@ endif + efi_ldsdir = get_option('efi-ldsdir') + efi_incdir = get_option('efi-includedir') + ++if efi_incdir == '' ++ efi_incdir = join_paths(gnuefi.get_variable(pkgconfig: 'includedir'), 'efi') ++endif ++ + gnu_efi_path_arch = '' + foreach name : [gnu_efi_arch, EFI_MACHINE_TYPE_NAME] + if (gnu_efi_path_arch == '' and name != '' and +@@ -37,12 +41,7 @@ endif + + efi_libdir = get_option('efi-libdir') + if efi_libdir == '' +- fs = import('fs') +- multi = run_command(cc.cmd_array(), '-print-multi-os-directory', check: true).stdout().strip() +- efi_libdir = join_paths('/usr/lib/', multi) +- if not fs.is_dir(join_paths(efi_libdir, 'gnuefi')) +- efi_libdir = '/usr/lib' +- endif ++ efi_libdir = gnuefi.get_variable(pkgconfig: 'libdir') + endif + + # The name we need to look for on this arch and OS: elf_x86_64_fbsd_efi.lds +@@ -51,34 +50,15 @@ if host_cpu == 'x86_64' and host_machine.system() == 'freebsd' + lds_os = '_fbsd' + endif + +-arch_lds = 'efi.lds' +-arch_crt = 'crt0.o' ++ + if efi_ldsdir == '' +- efi_ldsdir = join_paths(efi_libdir, 'gnuefi', gnu_efi_path_arch) +- cmd = run_command('test', '-f', join_paths(efi_ldsdir, arch_lds), check: false) +- if cmd.returncode() != 0 +- arch_lds = 'elf_@0@@1@_efi.lds'.format(gnu_efi_path_arch, lds_os) +- arch_crt = 'crt0-efi-@0@.o'.format(gnu_efi_path_arch) +- efi_ldsdir = join_paths(efi_libdir, 'gnuefi') +- cmd = run_command('test', '-f', join_paths(efi_ldsdir, arch_lds), check: false) +- endif +- if cmd.returncode() != 0 + efi_ldsdir = efi_libdir +- cmd = run_command('test', '-f', join_paths(efi_ldsdir, arch_lds), check: false) +- if cmd.returncode() != 0 +- error('Cannot find @0@'.format(arch_lds)) +- endif +- endif +-else +- cmd = run_command('test', '-f', join_paths(efi_ldsdir, arch_lds), check: false) +- if cmd.returncode() != 0 +- arch_lds = 'elf_@0@@1@_efi.lds'.format(gnu_efi_path_arch, lds_os) +- arch_crt = 'crt0-efi-@0@.o'.format(gnu_efi_path_arch) +- cmd = run_command('test', '-f', join_paths(efi_ldsdir, arch_lds), check: false) +- endif +- if cmd.returncode() != 0 +- error('Cannot find @0@'.format(arch_lds)) +- endif ++endif ++arch_lds = 'elf_@0@@1@_efi.lds'.format(gnu_efi_path_arch, lds_os) ++arch_crt = 'crt0-efi-@0@.o'.format(gnu_efi_path_arch) ++cmd = run_command('test', '-f', join_paths(efi_ldsdir, arch_lds), check: false) ++if cmd.returncode() != 0 ++ error('Cannot find @0@'.format(arch_lds)) + endif + efi_crtdir = efi_ldsdir + +diff --git a/meson_options.txt b/meson_options.txt +index 5f6f521..9984cff 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -1,6 +1,6 @@ + option('efi-libdir', type : 'string', description : 'path to the EFI lib directory') + option('efi-ldsdir', type : 'string', description : 'path to the EFI lds directory') +-option('efi-includedir', type : 'string', value : '/usr/include/efi', description : 'path to the EFI header directory') ++option('efi-includedir', type : 'string', value : '', description : 'path to the EFI header directory') + option('efi_sbat_fwupd_generation', type : 'integer', value : 1, description : 'SBAT fwupd generation') + option('efi_sbat_distro_id', type : 'string', value : '', description : 'SBAT distribution ID, e.g. fedora') + option('efi_sbat_distro_summary', type : 'string', value : '', description : 'SBAT distribution summary, e.g. Fedora') diff --git a/packages/f/fwupd-efi/ARM-fixes.patch b/packages/f/fwupd-efi/ARM-fixes.patch deleted file mode 100644 index 454fd3a5246..00000000000 --- a/packages/f/fwupd-efi/ARM-fixes.patch +++ /dev/null @@ -1,294 +0,0 @@ -From ee8860bb75b6df50332858a199a20ac08795b5a7 Mon Sep 17 00:00:00 2001 -From: Callum Farmer -Date: Wed, 14 Dec 2022 18:06:50 +0000 -Subject: [PATCH 1/5] Use cflags in generate_sbat.py - -This fixes a wchar length difference in fwup-sbat.o seen on ARM32 ---- - efi/generate_sbat.py | 3 ++- - efi/meson.build | 1 + - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/efi/generate_sbat.py b/efi/generate_sbat.py -index c04918a..f445e13 100755 ---- a/efi/generate_sbat.py -+++ b/efi/generate_sbat.py -@@ -18,8 +18,9 @@ def _generate_sbat(args): - FWUPD_SUMMARY = "Firmware update daemon" - FWUPD_URL = "https://github.com/fwupd/fwupd-efi" - -+ cflags = args.cflags.split(" ") - subprocess.run( -- [args.cc, "-x", "c", "-c", "-o", args.outfile, "/dev/null"], check=True -+ [args.cc, "-x", "c", "-c", "-o", args.outfile, "/dev/null"] + cflags, check=True - ) - - # not specified -@@ -82,6 +82,7 @@ def _generate_sbat(args): - parser.add_argument( - "--cc", default="gcc", help="Compiler to use for generating sbat object" - ) -+ parser.add_argument("--cflags", help="C compiler flags to be used by CC") - parser.add_argument( - "--objcopy", default="objcopy", help="Binary file to use for objcopy" - ) -diff --git a/efi/meson.build b/efi/meson.build -index 8a5804c..0e29244 100644 ---- a/efi/meson.build -+++ b/efi/meson.build -@@ -184,6 +184,7 @@ o_file5 = custom_target('fwup-sbat.o', - generate_sbat, - '@OUTPUT@', - '--cc', efi_cc, -+ '--cflags', ' '.join(compile_args), - '--objcopy', objcopy, - '--project-name', meson.project_name(), - '--project-version', meson.project_version(), - -From 136c7e5774a50be56282ef8e3ecc489e140c6e8b Mon Sep 17 00:00:00 2001 -From: Callum Farmer -Date: Sun, 1 Jan 2023 20:44:22 +0000 -Subject: [PATCH 2/5] Passthrough whether manual symbol mode is being used on - ARM - ---- - efi/generate_binary.py | 11 ++++++++--- - efi/meson.build | 3 +++ - 2 files changed, 11 insertions(+), 3 deletions(-) - -diff --git a/efi/generate_binary.py b/efi/generate_binary.py -index 2979b7a..b1336a0 100755 ---- a/efi/generate_binary.py -+++ b/efi/generate_binary.py -@@ -36,9 +36,9 @@ def _run_objcopy(args): - args.outfile, - ] - -- # aarch64 and arm32 don't have an EFI capable objcopy -- # Use 'binary' instead, and add required symbols manually -- if args.arch in ["aarch64", "arm"]: -+ # older objcopy for Aarch64 and ARM32 are not EFI capable. -+ # Use "binary" instead, and add required symbols manually. -+ if args.objcopy_manualsymbols: - argv.extend(["-O", "binary"]) - elif args.os == "freebsd": - # `--target` option is missing and --input-target doesn't recognize -@@ -75,6 +75,11 @@ def _run_genpeimg(args): - parser.add_argument("--genpeimg", help="Binary file to use for genpeimg") - parser.add_argument("--arch", default="x86_64", help="EFI architecture") - parser.add_argument("--os", help="OS type") -+ parser.add_argument( -+ "--objcopy-manualsymbols", -+ type=int, -+ help="whether adding symbols direct to binary", -+ ) - parser.add_argument("infile", help="Input file") - parser.add_argument("outfile", help="Output file") - _args = parser.parse_args() -diff --git a/efi/meson.build b/efi/meson.build -index 0e29244..72bea6d 100644 ---- a/efi/meson.build -+++ b/efi/meson.build -@@ -145,9 +145,11 @@ efi_ldflags = ['-T', - '-L', efi_crtdir, - '-L', efi_libdir, - join_paths(efi_crtdir, arch_crt)] -+objcopy_manualsymbols = '0' - if objcopy_version.version_compare ('< 2.38') and (host_cpu == 'aarch64' or host_cpu == 'arm') - # older objcopy for Aarch64 and ARM32 are not EFI capable. - # Use 'binary' instead, and add required symbols manually. -+ objcopy_manualsymbols = '1' - efi_ldflags += ['--defsym=EFI_SUBSYSTEM=0xa'] - efi_format = ['-O', 'binary'] - else -@@ -222,6 +224,7 @@ app = custom_target(efi_name, - '--arch', gnu_efi_arch, - '--os', host_machine.system(), - '--objcopy', objcopy, -+ '--objcopy-manualsymbols', objcopy_manualsymbols, - '--genpeimg', genpeimg.found() ? genpeimg : '' - ], - install : true, - -From 44f12870f1253d47e64d551b6ebd1d5826e7d5f3 Mon Sep 17 00:00:00 2001 -From: Callum Farmer -Date: Mon, 2 Jan 2023 14:10:00 +0000 -Subject: [PATCH 3/5] Use manual symbols mode on ARM32 again - -Most of the code for this is in binutils but -efi-app-arm target still doesn't exist - -Partial revert of 8aff27ddefa9abbc0f5e221d7eaab5ef36a9c662 ---- - efi/meson.build | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/efi/meson.build b/efi/meson.build -index 72bea6d..b434179 100644 ---- a/efi/meson.build -+++ b/efi/meson.build -@@ -76,7 +76,7 @@ if get_option('efi_sbat_distro_id') != '' - endif - - # is the system crt0 for arm and aarch64 new enough to know about SBAT? --if objcopy_version.version_compare ('< 2.38') and (host_cpu == 'aarch64' or host_cpu == 'arm') -+if host_cpu == 'arm' or (objcopy_version.version_compare ('< 2.38') and host_cpu == 'aarch64') - if get_option('efi_sbat_distro_id') != '' - arch_crt_source = 'crt0-efi-@0@.S'.format(gnu_efi_path_arch) - cmd = run_command('grep', '-q', 'sbat', join_paths(efi_crtdir, arch_crt)) -@@ -146,7 +146,7 @@ efi_ldflags = ['-T', - '-L', efi_libdir, - join_paths(efi_crtdir, arch_crt)] - objcopy_manualsymbols = '0' --if objcopy_version.version_compare ('< 2.38') and (host_cpu == 'aarch64' or host_cpu == 'arm') -+if host_cpu == 'arm' or (objcopy_version.version_compare ('< 2.38') and host_cpu == 'aarch64') - # older objcopy for Aarch64 and ARM32 are not EFI capable. - # Use 'binary' instead, and add required symbols manually. - objcopy_manualsymbols = '1' - -From 6f2d3602f73e1bd71bb734902191a74a3c2ff132 Mon Sep 17 00:00:00 2001 -From: Callum Farmer -Date: Fri, 6 Jan 2023 15:29:34 +0000 -Subject: [PATCH 4/5] Rework objcopy-manualsymbols argument to generate-binary - -Use store_true action instead of an integer value ---- - efi/generate_binary.py | 2 +- - efi/generate_sbat.py | 6 +++++- - efi/meson.build | 21 +++++++++++++++------ - 3 files changed, 21 insertions(+), 8 deletions(-) - -diff --git a/efi/generate_binary.py b/efi/generate_binary.py -index b1336a0..042b7d3 100755 ---- a/efi/generate_binary.py -+++ b/efi/generate_binary.py -@@ -77,7 +77,7 @@ def _run_genpeimg(args): - parser.add_argument("--os", help="OS type") - parser.add_argument( - "--objcopy-manualsymbols", -- type=int, -+ action="store_true", - help="whether adding symbols direct to binary", - ) - parser.add_argument("infile", help="Input file") -diff --git a/efi/meson.build b/efi/meson.build -index b434179..0311f8a 100644 ---- a/efi/meson.build -+++ b/efi/meson.build -@@ -34,6 +34,16 @@ if host_cpu == 'x86_64' and host_machine.system() == 'freebsd' - lds_os = '_fbsd' - endif - -+# older objcopy for Aarch64 and ARM32 are not EFI capable. -+# Use 'binary' instead, and add required symbols manually. -+if host_cpu == 'arm' or (objcopy_version.version_compare ('< 2.38') and host_cpu == 'aarch64') -+ objcopy_manualsymbols = true -+ generate_binary_extra = ['--objcopy-manualsymbols'] -+else -+ objcopy_manualsymbols = false -+ generate_binary_extra = [] -+endif -+ - arch_lds = 'efi.lds' - arch_crt = 'crt0.o' - if efi_ldsdir == '' -@@ -76,7 +86,7 @@ if get_option('efi_sbat_distro_id') != '' - endif - - # is the system crt0 for arm and aarch64 new enough to know about SBAT? --if host_cpu == 'arm' or (objcopy_version.version_compare ('< 2.38') and host_cpu == 'aarch64') -+if objcopy_manualsymbols - if get_option('efi_sbat_distro_id') != '' - arch_crt_source = 'crt0-efi-@0@.S'.format(gnu_efi_path_arch) - cmd = run_command('grep', '-q', 'sbat', join_paths(efi_crtdir, arch_crt)) -@@ -145,11 +155,10 @@ efi_ldflags = ['-T', - '-L', efi_crtdir, - '-L', efi_libdir, - join_paths(efi_crtdir, arch_crt)] --objcopy_manualsymbols = '0' --if host_cpu == 'arm' or (objcopy_version.version_compare ('< 2.38') and host_cpu == 'aarch64') -+ -+if objcopy_manualsymbols - # older objcopy for Aarch64 and ARM32 are not EFI capable. - # Use 'binary' instead, and add required symbols manually. -- objcopy_manualsymbols = '1' - efi_ldflags += ['--defsym=EFI_SUBSYSTEM=0xa'] - efi_format = ['-O', 'binary'] - else -@@ -224,9 +233,9 @@ app = custom_target(efi_name, - '--arch', gnu_efi_arch, - '--os', host_machine.system(), - '--objcopy', objcopy, -- '--objcopy-manualsymbols', objcopy_manualsymbols, - '--genpeimg', genpeimg.found() ? genpeimg : '' -- ], -+ ] -+ + generate_binary_extra, - install : true, - install_dir : efi_app_location) - - -From 9d6409827576a94ce780bf2bb450831821cd3765 Mon Sep 17 00:00:00 2001 -From: Callum Farmer -Date: Mon, 23 Jan 2023 15:35:41 +0000 -Subject: [PATCH 5/5] Add additional checks for incompatible CRT0 - -Add check for incompatible gnu-efi crt0 containing the header section -which gets added by objcopy and if used results in duplicate header -and subsequently a broken binary - -Signed-off-by: Callum Farmer ---- - efi/meson.build | 29 ++++++++++++++++++----------- - 1 file changed, 18 insertions(+), 11 deletions(-) - -diff --git a/efi/meson.build b/efi/meson.build -index 0311f8a..60e7aa6 100644 ---- a/efi/meson.build -+++ b/efi/meson.build -@@ -34,16 +34,6 @@ if host_cpu == 'x86_64' and host_machine.system() == 'freebsd' - lds_os = '_fbsd' - endif - --# older objcopy for Aarch64 and ARM32 are not EFI capable. --# Use 'binary' instead, and add required symbols manually. --if host_cpu == 'arm' or (objcopy_version.version_compare ('< 2.38') and host_cpu == 'aarch64') -- objcopy_manualsymbols = true -- generate_binary_extra = ['--objcopy-manualsymbols'] --else -- objcopy_manualsymbols = false -- generate_binary_extra = [] --endif -- - arch_lds = 'efi.lds' - arch_crt = 'crt0.o' - if efi_ldsdir == '' -@@ -73,10 +63,27 @@ else - error('Cannot find @0@'.format(arch_lds)) - endif - endif -+efi_crtdir = efi_ldsdir -+ -+# If using objcopy, crt0 must not include the PE/COFF header -+if run_command('grep', '-q', 'coff_header', join_paths(efi_crtdir, arch_crt), check: false).returncode() == 0 -+ coff_header_in_crt0 = true -+else -+ coff_header_in_crt0 = false -+endif -+ -+# older objcopy for Aarch64 and ARM32 are not EFI capable. -+# Use 'binary' instead, and add required symbols manually. -+if host_cpu == 'arm' or (host_cpu == 'aarch64' and (objcopy_version.version_compare ('< 2.38') or coff_header_in_crt0)) -+ objcopy_manualsymbols = true -+ generate_binary_extra = ['--objcopy-manualsymbols'] -+else -+ objcopy_manualsymbols = false -+ generate_binary_extra = [] -+endif - - # is the system linker script new enough to know about SBAT? - # i.e. gnu-efi with https://github.com/vathpela/gnu-efi/pull/14 has been installed --efi_crtdir = efi_ldsdir - if get_option('efi_sbat_distro_id') != '' - cmd = run_command('grep', '-q', 'sbat', join_paths(efi_ldsdir, arch_lds)) - if cmd.returncode() != 0 diff --git a/packages/f/fwupd-efi/_service b/packages/f/fwupd-efi/_service deleted file mode 100644 index 1ff1290035c..00000000000 --- a/packages/f/fwupd-efi/_service +++ /dev/null @@ -1,14 +0,0 @@ - - - https://github.com/fwupd/fwupd-efi.git - git - @PARENT_TAG@ - enable - 1.3 - - - *.tar - xz - - - diff --git a/packages/f/fwupd-efi/_servicedata b/packages/f/fwupd-efi/_servicedata deleted file mode 100644 index a46bf37affb..00000000000 --- a/packages/f/fwupd-efi/_servicedata +++ /dev/null @@ -1,4 +0,0 @@ - - - https://github.com/fwupd/fwupd-efi.git - 36ce593f58e391cca43fd388824496ff98d83480 \ No newline at end of file diff --git a/packages/f/fwupd-efi/binutils-2.38-arm-objcopy.patch b/packages/f/fwupd-efi/binutils-2.38-arm-objcopy.patch deleted file mode 100644 index b4188edcce5..00000000000 --- a/packages/f/fwupd-efi/binutils-2.38-arm-objcopy.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 8aff27ddefa9abbc0f5e221d7eaab5ef36a9c662 Mon Sep 17 00:00:00 2001 -From: Mario Limonciello -Date: Wed, 5 Oct 2022 09:57:41 -0500 -Subject: [PATCH] Use objcopy to build arm/aarch64 binaries if binutils 2.38 or - newer Fixes: #24 - ---- - efi/meson.build | 6 +++--- - meson.build | 1 + - 2 files changed, 4 insertions(+), 3 deletions(-) - -diff --git a/efi/meson.build b/efi/meson.build -index 936ba3c..e2446f3 100644 ---- a/efi/meson.build -+++ b/efi/meson.build -@@ -150,9 +150,9 @@ efi_ldflags = ['-T', - '-L', efi_crtdir, - '-L', efi_libdir, - join_paths(efi_crtdir, arch_crt)] --if host_cpu == 'aarch64' or host_cpu == 'arm' -- # Aarch64 and ARM32 don't have an EFI capable objcopy. Use 'binary' -- # instead, and add required symbols manually. -+if objcopy_version.version_compare ('< 2.38') and (host_cpu == 'aarch64' or host_cpu == 'arm') -+ # older objcopy for Aarch64 and ARM32 are not EFI capable. -+ # Use 'binary' instead, and add required symbols manually. - efi_ldflags += ['--defsym=EFI_SUBSYSTEM=0xa'] - efi_format = ['-O', 'binary'] - else -diff --git a/meson.build b/meson.build -index e6968a1..8b0f5e9 100644 ---- a/meson.build -+++ b/meson.build -@@ -10,6 +10,7 @@ conf.set_quoted('PACKAGE_VERSION', meson.project_version()) - - cc = meson.get_compiler('c') - objcopy = find_program('objcopy') -+objcopy_version = run_command(objcopy, '--version').stdout().split('\n')[0].split(' ')[-1] - - prefix = get_option('prefix') - libdir = join_paths(prefix, get_option('libdir')) diff --git a/packages/f/fwupd-efi/binutils-2.38-arm-system-crt0.patch b/packages/f/fwupd-efi/binutils-2.38-arm-system-crt0.patch deleted file mode 100644 index d1afa84b9b7..00000000000 --- a/packages/f/fwupd-efi/binutils-2.38-arm-system-crt0.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 3d4b2b8f60a17dae311dc92d97b3ae120fe71e67 Mon Sep 17 00:00:00 2001 -From: Callum Farmer -Date: Tue, 13 Dec 2022 21:16:30 +0000 -Subject: [PATCH] Don't check ARM crt0 with binutils 2.38 - -If we have binutils 2.38, then the system crt0 doesn't need to contain the .sbat section as this will be handled by objcopy ---- - efi/meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/efi/meson.build b/efi/meson.build -index e2446f3..145c8a1 100644 ---- a/efi/meson.build -+++ b/efi/meson.build -@@ -81,7 +81,7 @@ if get_option('efi_sbat_distro_id') != '' - endif - - # is the system crt0 for arm and aarch64 new enough to know about SBAT? --if host_cpu == 'aarch64' or host_cpu == 'arm' -+if objcopy_version.version_compare ('< 2.38') and (host_cpu == 'aarch64' or host_cpu == 'arm') - if get_option('efi_sbat_distro_id') != '' - arch_crt_source = 'crt0-efi-@0@.S'.format(gnu_efi_path_arch) - cmd = run_command('grep', '-q', 'sbat', join_paths(efi_crtdir, arch_crt)) diff --git a/packages/f/fwupd-efi/fwupd-efi-1.3.tar.xz b/packages/f/fwupd-efi/fwupd-efi-1.3.tar.xz deleted file mode 120000 index fe5254f4ddb..00000000000 --- a/packages/f/fwupd-efi/fwupd-efi-1.3.tar.xz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafkreib3kot3zq4qh7iy2s4fzgntaimpsrav666uemjtt42iwjecijaqvu \ No newline at end of file diff --git a/packages/f/fwupd-efi/fwupd-efi-1.7.tar.gz b/packages/f/fwupd-efi/fwupd-efi-1.7.tar.gz new file mode 120000 index 00000000000..d780245fa06 --- /dev/null +++ b/packages/f/fwupd-efi/fwupd-efi-1.7.tar.gz @@ -0,0 +1 @@ +/ipfs/bafkreiew2t6ekrtrlgzgmthin3t5kayoezp5wtkkjv3ubadfjuxvwflb74 \ No newline at end of file diff --git a/packages/f/fwupd-efi/fwupd-efi.changes b/packages/f/fwupd-efi/fwupd-efi.changes index a1c76cc4323..da5bab0a69f 100644 --- a/packages/f/fwupd-efi/fwupd-efi.changes +++ b/packages/f/fwupd-efi/fwupd-efi.changes @@ -1,3 +1,37 @@ +------------------------------------------------------------------- +Tue Dec 17 12:50:10 UTC 2024 - Callum Farmer + +- Update to version 1.7: + * Fix compilation with GNU-EFI 4.0 +- Use upstream tarball: source service isn't useful on this + package +- Add 106.patch: + * Improves ARM32 crt0 by splitting header and code + * Use pkgconfig for gnu-efi - fixes RISC-V build + * Update lds from gnu-efi 4.0 + +------------------------------------------------------------------- +Thu Aug 29 12:30:08 UTC 2024 - Callum Farmer + +- Update to version 1.6: + * Require gnu-efi 3.0.18 or later + * Ship an objcopy capable LDS for ARM64 + * Detect gnu-efi via pkgconfig + * Backport the ctors and dtors work from gnu-efi upstream + * Tidy up crt0 generator + * Add RISC-V support + * Fix per NX bit and UEFI 2.10 Microsoft requirements +- Remove un-needed BRs: + * pkgconfig(efiboot) + * pkgconfig(efivar) +- Remove shim requirement: it doesn't need it, it's a UEFI binary +- Restore ix86 and ARM32 support +- Add RISC-V support +- Remove patches (fixed upstream): + * binutils-2.38-arm-objcopy.patch + * binutils-2.38-arm-system-crt0.patch + * ARM-fixes.patch + ------------------------------------------------------------------- Fri Feb 24 23:50:42 UTC 2023 - Callum Farmer diff --git a/packages/f/fwupd-efi/fwupd-efi.spec b/packages/f/fwupd-efi/fwupd-efi.spec index 3c43a05a738..6920fbc7cd7 100644 --- a/packages/f/fwupd-efi/fwupd-efi.spec +++ b/packages/f/fwupd-efi/fwupd-efi.spec @@ -1,7 +1,7 @@ # # spec file for package fwupd-efi # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -28,26 +28,20 @@ %define sbat_distro_url mailto:security@suse.de %endif Name: fwupd-efi -Version: 1.3 +Version: 1.7 Release: 0 Summary: Firmware update EFI binaries License: GPL-2.0-or-later AND LGPL-2.1-or-later Group: System/Management URL: https://github.com/fwupd/fwupd-efi -# Do not use upstream tarball, we are using source service! -Source0: %{name}-%{version}.tar.xz -Patch0: binutils-2.38-arm-objcopy.patch -Patch1: binutils-2.38-arm-system-crt0.patch -Patch2: ARM-fixes.patch - -BuildRequires: gnu-efi -BuildRequires: meson >= 0.47.0 +Source0: https://github.com/fwupd/fwupd-efi/archive/%{version}/%{name}-%{version}.tar.gz +Patch0: 106.patch +BuildRequires: meson >= 0.62.0 BuildRequires: pesign-obs-integration BuildRequires: pkgconfig -BuildRequires: pkgconfig(efiboot) -BuildRequires: pkgconfig(efivar) >= 33 -Requires: shim >= 11 -ExclusiveArch: x86_64 aarch64 +BuildRequires: pkgconfig(gnu-efi) >= 3.0.18 +BuildRequires: python3-pefile +ExclusiveArch: x86_64 aarch64 %{arm} %{ix86} riscv64 %description A UEFI binary for the fwupd project for installing updates using the UpdateCapsule @@ -69,6 +63,8 @@ executable releases to follow a different cadence. -Defi_sbat_distro_pkgname="%{name}" \ -Defi_sbat_distro_version="%{version}" \ -Defi_sbat_distro_url="%{sbat_distro_url}" \ + -Dgenpeimg=disabled \ + %{nil} %meson_build %install diff --git a/packages/g/gede/.files b/packages/g/gede/.files index 46594abfe18..465faf58308 100644 Binary files a/packages/g/gede/.files and b/packages/g/gede/.files differ diff --git a/packages/g/gede/.rev b/packages/g/gede/.rev index 57bcc5b6ef6..985c8484a1b 100644 --- a/packages/g/gede/.rev +++ b/packages/g/gede/.rev @@ -63,4 +63,12 @@ 1227636 + + 0d5d830dfcdbbcb02c92fa89094352be + 2.22.1 + + anag+factory + + 1231758 + diff --git a/packages/g/gede/gede.changes b/packages/g/gede/gede.changes index 0c9e2e6fb90..1d8046c999d 100644 --- a/packages/g/gede/gede.changes +++ b/packages/g/gede/gede.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Dec 17 16:09:39 UTC 2024 - Bruno Pitrus + +- New upstream version 2.22.1 + * Added text next to toolbar icons + * Changed shortcuts + ------------------------------------------------------------------- Sun Dec 1 20:41:03 UTC 2024 - Bruno Pitrus diff --git a/packages/g/gede/gede.spec b/packages/g/gede/gede.spec index 4f4ae42ddd1..2c0244d5366 100644 --- a/packages/g/gede/gede.spec +++ b/packages/g/gede/gede.spec @@ -16,7 +16,7 @@ # Please submit bugfixes or comments via https://bugs.opensuse.org/ # -Version: 2.21.1 +Version: 2.22.1 Release: 0 %if "@BUILD_FLAVOR@" == "qt6" diff --git a/packages/g/gede/v2.21.1.tar.gz b/packages/g/gede/v2.21.1.tar.gz deleted file mode 120000 index b6d91a012ca..00000000000 --- a/packages/g/gede/v2.21.1.tar.gz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeifwwqpvelzwyjquveaq2vmkg6fcnxxjtwvlagajcd73xzg4gpux6a \ No newline at end of file diff --git a/packages/g/gede/v2.22.1.tar.gz b/packages/g/gede/v2.22.1.tar.gz new file mode 120000 index 00000000000..894e5b55c0e --- /dev/null +++ b/packages/g/gede/v2.22.1.tar.gz @@ -0,0 +1 @@ +/ipfs/bafybeifkhoswblszfodvgalb2rgavz6qod4f45j4ue6hpz4r4t2fkwx26y \ No newline at end of file diff --git a/packages/g/glslang/.files b/packages/g/glslang/.files index aa500a98ac1..30108ddddce 100644 Binary files a/packages/g/glslang/.files and b/packages/g/glslang/.files differ diff --git a/packages/g/glslang/.rev b/packages/g/glslang/.rev index db2f36151b0..6c280b72bb3 100644 --- a/packages/g/glslang/.rev +++ b/packages/g/glslang/.rev @@ -433,4 +433,12 @@ - Update to release 15 1203991 + + 2be6a1a2dafd1aa774bdf6abdb065514 + 15.1.0 + + anag+factory + - Update to release 15.1 + 1231576 + diff --git a/packages/g/glslang/15.0.0.tar.gz b/packages/g/glslang/15.0.0.tar.gz deleted file mode 120000 index f1a3fbc0fcc..00000000000 --- a/packages/g/glslang/15.0.0.tar.gz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeidnotetjc5c3lpcrvfgtillswt57hy7od757dupmdc44m7xckxmgm \ No newline at end of file diff --git a/packages/g/glslang/15.1.0.tar.gz b/packages/g/glslang/15.1.0.tar.gz new file mode 120000 index 00000000000..543068b789e --- /dev/null +++ b/packages/g/glslang/15.1.0.tar.gz @@ -0,0 +1 @@ +/ipfs/bafybeiez7mvuqv7jtq3xnei6xpt4iplvwtipg42c3mlob3y7ry57epzliu \ No newline at end of file diff --git a/packages/g/glslang/_scmsync.obsinfo b/packages/g/glslang/_scmsync.obsinfo index f4f0a03a225..045291461c3 100644 --- a/packages/g/glslang/_scmsync.obsinfo +++ b/packages/g/glslang/_scmsync.obsinfo @@ -1,4 +1,4 @@ -mtime: 1727385908 -commit: fe753e3e5ad067e4e77e4fb762f8e8a53adc1f5279d5b87e8432249de8b299f7 +mtime: 1734378911 +commit: 00d092be3e4a07aa8ded4e33004ad55e30ba4c2e6ea165be3626c97b0fbe6d08 url: https://src.opensuse.org/jengelh/glslang revision: master diff --git a/packages/g/glslang/build.specials.obscpio b/packages/g/glslang/build.specials.obscpio index 0335bac6112..3408adf1fbd 120000 --- a/packages/g/glslang/build.specials.obscpio +++ b/packages/g/glslang/build.specials.obscpio @@ -1 +1 @@ -/ipfs/bafkreif22tss724dvwwt2soxze5cddt7daubd572kpxijbjpdpgf2sz3em \ No newline at end of file +/ipfs/bafkreiea3ip4urpkgdwljpep6ahgj2i3dbk7g3hvcl4zdizyt57barlz44 \ No newline at end of file diff --git a/packages/g/glslang/glslang.changes b/packages/g/glslang/glslang.changes index 14ffe7c7206..23dadbad258 100644 --- a/packages/g/glslang/glslang.changes +++ b/packages/g/glslang/glslang.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Sun Dec 15 21:51:35 UTC 2024 - Jan Engelhardt + +- Update to release 15.1 + * Add Vulkan 1.4 target and client + * Implement GLSL_NV_cooperative_matrix2 + * Emit OpModfStruct instead of depracated OpModf + ------------------------------------------------------------------- Thu Sep 26 19:29:05 UTC 2024 - Jan Engelhardt diff --git a/packages/g/glslang/glslang.spec b/packages/g/glslang/glslang.spec index 41aeb74de29..a589752760e 100644 --- a/packages/g/glslang/glslang.spec +++ b/packages/g/glslang/glslang.spec @@ -18,7 +18,7 @@ %define lname libglslang15 Name: glslang -Version: 15.0.0 +Version: 15.1.0 Release: 0 Summary: OpenGL and OpenGL ES shader front end and validator License: BSD-3-Clause @@ -31,9 +31,9 @@ BuildRequires: bison BuildRequires: cmake >= 3.14.0 BuildRequires: fdupes BuildRequires: python3-base -BuildRequires: spirv-tools-devel >= 2024.3 +BuildRequires: spirv-tools-devel >= 2024.4~rc2 %if 0%{?suse_version} && 0%{?suse_version} < 1599 -BuildRequires: gcc11-c++ +BuildRequires: gcc12-c++ %else BuildRequires: c++_compiler %endif @@ -93,7 +93,7 @@ but which some downstream packages rely on. # glslang-15 and onwards, do watch for ABI breaks #echo "V_%version { global: *; };" >/tmp/z.sym %if 0%{?suse_version} && 0%{?suse_version} < 1599 -export CC=gcc-11 CXX=g++-11 +export CC=gcc-12 CXX=g++-12 %endif # Trim -Wl,--no-undefined for now (https://github.com/KhronosGroup/glslang/issues/1484) %cmake -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,now" \ diff --git a/packages/g/gnome-calculator/.files b/packages/g/gnome-calculator/.files index 06c4db392d9..4df84fcba87 100644 Binary files a/packages/g/gnome-calculator/.files and b/packages/g/gnome-calculator/.files differ diff --git a/packages/g/gnome-calculator/.rev b/packages/g/gnome-calculator/.rev index 0d88892b570..955b3385256 100644 --- a/packages/g/gnome-calculator/.rev +++ b/packages/g/gnome-calculator/.rev @@ -507,4 +507,12 @@ + Minor improvements to the undo button 1205556 + + 3cd75181ee900bb2d9cfb461a9016bff + 47.1 + + anag+factory + + 1231649 + diff --git a/packages/g/gnome-calculator/_service b/packages/g/gnome-calculator/_service index 846768a2b65..4671a7d6e88 100644 --- a/packages/g/gnome-calculator/_service +++ b/packages/g/gnome-calculator/_service @@ -3,7 +3,7 @@ git https://gitlab.gnome.org/GNOME/gnome-calculator.git - 47.0 + 47.1 @PARENT_TAG@+@TAG_OFFSET@ v?(.*)\+0 \1 diff --git a/packages/g/gnome-calculator/gnome-calculator-47.0.obscpio b/packages/g/gnome-calculator/gnome-calculator-47.0.obscpio deleted file mode 120000 index ebfe919b484..00000000000 --- a/packages/g/gnome-calculator/gnome-calculator-47.0.obscpio +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeicyqi7f7rxzegjfgjdczzd2vgsalyh56wmd6mbwtkcro727dz7pre \ No newline at end of file diff --git a/packages/g/gnome-calculator/gnome-calculator-47.1.obscpio b/packages/g/gnome-calculator/gnome-calculator-47.1.obscpio new file mode 120000 index 00000000000..bfb9c9bb923 --- /dev/null +++ b/packages/g/gnome-calculator/gnome-calculator-47.1.obscpio @@ -0,0 +1 @@ +/ipfs/bafybeigs3cwxyln4tzeg4annsr7mktv3vqunfmzt27llyfnpng7nvx5q44 \ No newline at end of file diff --git a/packages/g/gnome-calculator/gnome-calculator.changes b/packages/g/gnome-calculator/gnome-calculator.changes index a4da9529dfb..c717499377b 100644 --- a/packages/g/gnome-calculator/gnome-calculator.changes +++ b/packages/g/gnome-calculator/gnome-calculator.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Mon Dec 16 17:53:12 UTC 2024 - BjΓΈrn Lie + +- Update to version 47.1: + + Announce the calculation result even when done through the + buttons. + + Set "Insert Character Code" dialog as modal. + + Fixed incorrect units in financial mode. + + Changed history view default size. + + Fixed incorrectly sized text entry. + + Updated translations. + ------------------------------------------------------------------- Sun Sep 15 12:14:06 UTC 2024 - BjΓΈrn Lie diff --git a/packages/g/gnome-calculator/gnome-calculator.obsinfo b/packages/g/gnome-calculator/gnome-calculator.obsinfo index 0020a9baaed..9c01bb01d2b 100644 --- a/packages/g/gnome-calculator/gnome-calculator.obsinfo +++ b/packages/g/gnome-calculator/gnome-calculator.obsinfo @@ -1,4 +1,4 @@ name: gnome-calculator -version: 47.0 -mtime: 1726340235 -commit: e9942e9908ef1fbcd2aefb94320c2d14288ae917 +version: 47.1 +mtime: 1734364558 +commit: 80187ed3db51cd5a8f2df888691c7238a8998e2a diff --git a/packages/g/gnome-calculator/gnome-calculator.spec b/packages/g/gnome-calculator/gnome-calculator.spec index 4702d5c063e..d74cb0a94ad 100644 --- a/packages/g/gnome-calculator/gnome-calculator.spec +++ b/packages/g/gnome-calculator/gnome-calculator.spec @@ -20,7 +20,7 @@ %define gcisover 1-0_0_0 Name: gnome-calculator -Version: 47.0 +Version: 47.1 Release: 0 Summary: A GNOME Calculator Application License: GPL-3.0-or-later diff --git a/packages/g/gnu-efi/.files b/packages/g/gnu-efi/.files index 7028b315c0a..9b7785d96ab 100644 Binary files a/packages/g/gnu-efi/.files and b/packages/g/gnu-efi/.files differ diff --git a/packages/g/gnu-efi/.rev b/packages/g/gnu-efi/.rev index 8f485751a28..434ea52b9bd 100644 --- a/packages/g/gnu-efi/.rev +++ b/packages/g/gnu-efi/.rev @@ -288,4 +288,12 @@ Automatic submission by obs-autosubmit 1043980 + + 1093d602cc248e10ff9ec46f41459511 + 4.0.0 + + anag+factory + + 1231643 + diff --git a/packages/g/gnu-efi/gnu-efi-3.0.15.tar.bz2 b/packages/g/gnu-efi/gnu-efi-3.0.15.tar.bz2 deleted file mode 120000 index 4aa3db4fc68..00000000000 --- a/packages/g/gnu-efi/gnu-efi-3.0.15.tar.bz2 +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafkreietdisxxhc4dotf75iz6gbxhrbyujucl4w3pbtlcy7jnunrndza5i \ No newline at end of file diff --git a/packages/g/gnu-efi/gnu-efi-4.0.0.tar.gz b/packages/g/gnu-efi/gnu-efi-4.0.0.tar.gz new file mode 120000 index 00000000000..2c2bb813d7b --- /dev/null +++ b/packages/g/gnu-efi/gnu-efi-4.0.0.tar.gz @@ -0,0 +1 @@ +/ipfs/bafkreifc4xp5ext7ydgsaj6xlxbfc62motmu7aa76r4e5ssvpla3ta2yte \ No newline at end of file diff --git a/packages/g/gnu-efi/gnu-efi-bsc1182057-support-sbat-section.patch b/packages/g/gnu-efi/gnu-efi-bsc1182057-support-sbat-section.patch deleted file mode 100644 index c7b187eb54f..00000000000 --- a/packages/g/gnu-efi/gnu-efi-bsc1182057-support-sbat-section.patch +++ /dev/null @@ -1,96 +0,0 @@ -From fb52c3207282f1b8b5ca2f445210bbd00ac8f42a Mon Sep 17 00:00:00 2001 -From: Gary Lin -Date: Fri, 12 Mar 2021 15:35:08 +0800 -Subject: [PATCH 1/2] Update linker scripts to add .sbat section - -Signed-off-by: Gary Lin ---- - gnuefi/elf_aarch64_efi.lds | 9 +++++++++ - gnuefi/elf_arm_efi.lds | 9 +++++++++ - gnuefi/elf_x86_64_efi.lds | 10 ++++++++++ - 3 files changed, 28 insertions(+) - -diff --git a/gnuefi/elf_aarch64_efi.lds b/gnuefi/elf_aarch64_efi.lds -index 836d982..1ddec27 100644 ---- a/gnuefi/elf_aarch64_efi.lds -+++ b/gnuefi/elf_aarch64_efi.lds -@@ -46,6 +46,15 @@ SECTIONS - . = ALIGN(512); - _edata = .; - _data_size = . - _data; -+ . = ALIGN(4096); -+ .sbat : -+ { -+ _sbat = .; -+ *(.sbat) -+ *(.sbat.*) -+ } -+ _esbat = .; -+ _sbat_size = . - _sbat; - - . = ALIGN(4096); - .dynsym : { *(.dynsym) } -diff --git a/gnuefi/elf_arm_efi.lds b/gnuefi/elf_arm_efi.lds -index 665bbdb..d47a750 100644 ---- a/gnuefi/elf_arm_efi.lds -+++ b/gnuefi/elf_arm_efi.lds -@@ -46,6 +46,15 @@ SECTIONS - .rel.data : { *(.rel.data) *(.rel.data*) } - _edata = .; - _data_size = . - _etext; -+ . = ALIGN(4096); -+ .sbat : -+ { -+ _sbat = .; -+ *(.sbat) -+ *(.sbat.*) -+ } -+ _esbat = .; -+ _sbat_size = . - _sbat; - - . = ALIGN(4096); - .dynsym : { *(.dynsym) } -diff --git a/gnuefi/elf_x86_64_efi.lds b/gnuefi/elf_x86_64_efi.lds -index 7be5902..fad1939 100644 ---- a/gnuefi/elf_x86_64_efi.lds -+++ b/gnuefi/elf_x86_64_efi.lds -@@ -61,6 +61,16 @@ SECTIONS - *(.rela.got) - *(.rela.stab) - } -+ . = ALIGN(4096); -+ .sbat : -+ { -+ _sbat = .; -+ *(.sbat) -+ *(.sbat.*) -+ } -+ _esbat = .; -+ _sbat_size = . - _sbat; -+ - . = ALIGN(4096); - .dynsym : { *(.dynsym) } - . = ALIGN(4096); - ---- a/gnuefi/elf_ia32_efi.lds -+++ b/gnuefi/elf_ia32_efi.lds -@@ -72,6 +72,16 @@ SECTIONS - *(.reloc) - } - . = ALIGN(4096); -+ .sbat : -+ { -+ _sbat = .; -+ *(.sbat) -+ *(.sbat.*) -+ } -+ _esbat = .; -+ _sbat_size = . - _sbat; -+ -+ . = ALIGN(4096); - .dynsym : { *(.dynsym) } - . = ALIGN(4096); - .dynstr : { *(.dynstr) } - --- -2.29.2 diff --git a/packages/g/gnu-efi/gnu-efi-rpmlintrc b/packages/g/gnu-efi/gnu-efi-rpmlintrc deleted file mode 100644 index 08bc67fe6be..00000000000 --- a/packages/g/gnu-efi/gnu-efi-rpmlintrc +++ /dev/null @@ -1,4 +0,0 @@ -addFilter(".*devel-file-in-non-devel-package.*") -addFilter(".*static-library-without-debuginfo.*") -addFilter(".*source-or-patch-not-compressed.*") -addFilter(".*source-or-patch-not-bzipped.*") diff --git a/packages/g/gnu-efi/gnu-efi.changes b/packages/g/gnu-efi/gnu-efi.changes index a6836c9d690..f195b303c09 100644 --- a/packages/g/gnu-efi/gnu-efi.changes +++ b/packages/g/gnu-efi/gnu-efi.changes @@ -1,3 +1,40 @@ +------------------------------------------------------------------- +Sun Dec 8 15:28:22 UTC 2024 - Callum Farmer + +- Split into apps and devel packages +- Remove rpmlintrc: All errors are now fixed + +------------------------------------------------------------------- +Tue Dec 3 13:58:03 UTC 2024 - Callum Farmer + +- Update to gnu-efi 4.0.0: + * Add MP Services Protocol Support + * Add some more pkgconfig variables + * Replace 'Copright' with 'Copyright' + * Add clear documentation for building and packaging + * Align CRT0 exit function naming + * Now built and verified using GitHub Actions + * Fix SetMem/CopyMem again + * Move ReallocatePool/CompareGuid/CopyMem to EDK2 ABI + * Add non-objcopy CRT0/LDS for ARM64/RISCV64/IA32 +- Remove gnu-efi-bsc1182057-support-sbat-section.patch: + * no longer needed; fwupd-efi has been fixed upstream + (by me) + +------------------------------------------------------------------- +Thu Jun 29 14:18:10 UTC 2023 - Callum Farmer + +- Update to gnu-efi 3.0.18: + * Add pkgconfig file + * Make ELF constructors and destructors work + * Make CHAR8 and similar be defined the same way edk2 does it + * Switch to -fPIE + * Merge all rela sections into one +- gnu-efi-bsc1182057-support-sbat-section.patch: + * Restore ARM32 SBAT crt0 patch as binutils doesn't actually + support it + * Add SBAT support for RISC-V 64 + ------------------------------------------------------------------- Wed Oct 5 13:08:31 UTC 2022 - Callum Farmer diff --git a/packages/g/gnu-efi/gnu-efi.spec b/packages/g/gnu-efi/gnu-efi.spec index 9facffd7bf4..a16c8e19f8a 100644 --- a/packages/g/gnu-efi/gnu-efi.spec +++ b/packages/g/gnu-efi/gnu-efi.spec @@ -1,7 +1,7 @@ # # spec file for package gnu-efi # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,15 +17,13 @@ Name: gnu-efi -Version: 3.0.15 +Version: 4.0.0 Release: 0 Summary: Library for EFI Applications License: BSD-3-Clause AND GPL-2.0-or-later Group: Development/Libraries/Other -URL: https://sourceforge.net/projects/gnu-efi -Source0: https://download.sourceforge.net/project/gnu-efi/gnu-efi-%{version}.tar.bz2 -Source1: %{name}-rpmlintrc -Patch0: gnu-efi-bsc1182057-support-sbat-section.patch +URL: https://github.com/ncroxon/gnu-efi +Source0: https://github.com/ncroxon/gnu-efi/archive/%{version}/%{name}-%{version}.tar.gz BuildRequires: kernel-source ExclusiveArch: ia64 %{ix86} x86_64 aarch64 %{arm} riscv64 @@ -34,33 +32,48 @@ Library to develop EFI applications for IA-64 (IPF), IA-32 (x86), x86_64, ARM-32, and ARM-64 platforms using the GNU toolchain and the EFI development environment. +%package devel +Summary: Development files for gnu-efi +Group: Development/Libraries/Other +Provides: gnu-efi = %{version}-%{release} +Obsoletes: gnu-efi < %{version}-%{release} + +%description devel +A package containing the development files for gnu-efi, +which is used for developing EFI applications using the GNU toolchain + +%package apps +Summary: Example and test files for gnu-efi +Group: Development/Tools/Other + +%description apps +A package containing the example and UEFI testing files created by gnu-efi + + %prep %autosetup -p1 %build -########################## -## DO NOT ADD RPM OPT FLAGS! THIS DOES NOT BUILD AGAINST GLIBC -## -########################## -# Trick spec-cleaner in avoiding a make_build expansion -%{_bindir}/make %{?_smp_mflags} LINUX_HEADERS=%{_prefix}/src/linux +# DO NOT ADD RPM OPTFLAGS! UEFI is freestanding only!! +%make_build LINUX_HEADERS=%{_prefix}/src/linux LIBDIR=%{_libdir} PREFIX=%{_prefix} %install -make install INSTALLROOT=%{buildroot} LIBDIR=%{_libdir} PREFIX=%{_prefix} -%if 0 -mkdir %{buildroot}%{_libdir}/%{name} -cp -p apps/*.efi %{buildroot}%{_libdir}/%{name} -%endif +%make_install INSTALLROOT=%{buildroot} LIBDIR=%{_libdir} PREFIX=%{_prefix} -%files -%doc README.* +%files devel %{_includedir}/efi %{_libdir}/crt0-efi-*.o %{_libdir}/elf_*_efi.lds +%ifarch %{ix86} riscv64 aarch64 +%{_libdir}/elf_*_efi_local.lds +%endif %{_libdir}/libefi.a %{_libdir}/libgnuefi.a -%if 0 -%{_libdir}/%{name} -%endif +%{_libdir}/pkgconfig/%{name}.pc + +%files apps +%doc README.md SECURITY.md docs/* +%license LICENSE licenses/* +%{_libdir}/gnuefi %changelog diff --git a/packages/g/gnulib/.files b/packages/g/gnulib/.files index fec6ecd08d9..063579f3d00 100644 Binary files a/packages/g/gnulib/.files and b/packages/g/gnulib/.files differ diff --git a/packages/g/gnulib/.rev b/packages/g/gnulib/.rev index 95b0ac668c4..bbbd8e743a9 100644 --- a/packages/g/gnulib/.rev +++ b/packages/g/gnulib/.rev @@ -39,4 +39,12 @@ 967871 + + bb9890cbae54130be0cb5ff748819fce + git.20240213.c99c8d4918 + + anag+factory + + 1231802 + diff --git a/packages/g/gnulib/.servicemark b/packages/g/gnulib/.servicemark deleted file mode 100644 index 196d88cf6d4..00000000000 --- a/packages/g/gnulib/.servicemark +++ /dev/null @@ -1 +0,0 @@ -a84909e7edb7c6889a684201fcd3ae5f diff --git a/packages/g/gnulib/_service b/packages/g/gnulib/_service index 08a89ac0f13..93379544f0a 100644 --- a/packages/g/gnulib/_service +++ b/packages/g/gnulib/_service @@ -1,15 +1,18 @@ + git://git.savannah.gnu.org/gnulib.git git enable gnulib git.%cd.%h - db493d1ce43fc39dd925699d840c80b3400f4313 + stable-202401 + *.tar xz + diff --git a/packages/g/gnulib/gnulib-git.20211127.db493d1ce.tar.xz b/packages/g/gnulib/gnulib-git.20211127.db493d1ce.tar.xz deleted file mode 120000 index 8c014b93cf4..00000000000 --- a/packages/g/gnulib/gnulib-git.20211127.db493d1ce.tar.xz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeibgucd37jely45dvywitnqteh2pegijse4dd77f3yqumgahr55vv4 \ No newline at end of file diff --git a/packages/g/gnulib/gnulib-git.20240213.c99c8d4918.tar.xz b/packages/g/gnulib/gnulib-git.20240213.c99c8d4918.tar.xz new file mode 120000 index 00000000000..b149183583e --- /dev/null +++ b/packages/g/gnulib/gnulib-git.20240213.c99c8d4918.tar.xz @@ -0,0 +1 @@ +/ipfs/bafybeiekk642st4kvuiovwqwmpc5c657s5z7nuk7qotpypakpflk42lnf4 \ No newline at end of file diff --git a/packages/g/gnulib/gnulib.changes b/packages/g/gnulib/gnulib.changes index 89918cd7b47..83fe58be300 100644 --- a/packages/g/gnulib/gnulib.changes +++ b/packages/g/gnulib/gnulib.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Mar 11 10:21:20 UTC 2024 - opensuse.lietuviu.kalba@gmail.com + +- Update to the latest version git.20240213.c99c8d4918 from + stable-202401 branch. See detailed changelog here: + https://git.savannah.gnu.org/gitweb/?p=gnulib.git;f=ChangeLog;hb=refs/heads/stable-202401 + ------------------------------------------------------------------- Fri Apr 8 15:10:47 UTC 2022 - Fridrich Strba diff --git a/packages/g/gnulib/gnulib.spec b/packages/g/gnulib/gnulib.spec index 0de144731c1..4e3ca7349ae 100644 --- a/packages/g/gnulib/gnulib.spec +++ b/packages/g/gnulib/gnulib.spec @@ -1,7 +1,7 @@ # # spec file for package gnulib # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %global module1 git-merge-changelog Name: gnulib -Version: git.20211127.db493d1ce +Version: git.20240213.c99c8d4918 Release: 0 Summary: GNU Portability Library License: GPL-2.0-or-later AND SUSE-Public-Domain AND GPL-3.0-only AND GPL-3.0-or-later AND LGPL-2.0-only AND LGPL-2.1-or-later AND LGPL-3.0-or-later @@ -155,6 +155,8 @@ cp -rp build-aux lib m4 modules config tests %{buildroot}%{_datadir}/%{name}/ # relocatable.texi is needed during compilation of PSPP. See rh#1474792 and # https://src.fedoraproject.org/rpms/gnulib/c/cea2f6f12fe24479e282900341575352689d7cfe?branch=master cp -p doc/relocatable.texi %{buildroot}%{_datadir}/%{name}/doc +# Needed for jitter +cp -p doc/{gendocs_template,gendocs_template_min,INSTALL} %{buildroot}%{_datadir}/%{name}/doc cp -p doc/gnulib.info %{buildroot}%{_infodir}/ cp -p doc/gnulib.html MODULES.html NEWS COPYING ChangeLog users.txt doc/COPYING* %{buildroot}%{_docdir}/%{name}/ @@ -176,7 +178,7 @@ fi %files docs %defattr(-,root,root) -%{_infodir}/gnulib.info.gz +%{_infodir}/gnulib.info* %{_docdir}/%{name}/gnulib.html %{_docdir}/%{name}/MODULES.html # license text is included directly in info and html files. diff --git a/packages/g/govulncheck-vulndb/.files b/packages/g/govulncheck-vulndb/.files index 5ce9dc7b0cd..05bbfc68b6e 100644 Binary files a/packages/g/govulncheck-vulndb/.files and b/packages/g/govulncheck-vulndb/.files differ diff --git a/packages/g/govulncheck-vulndb/.rev b/packages/g/govulncheck-vulndb/.rev index 3e30c86131c..f168d618a7e 100644 --- a/packages/g/govulncheck-vulndb/.rev +++ b/packages/g/govulncheck-vulndb/.rev @@ -228,4 +228,41 @@ * GO-2024-3313 CVE-2024-6219 (forwarded request 1229475 from jfkw) 1229476 + + bb67d2556d79c71613d82a4e37b7aadc + 0.0.20241213T205935 + + anag+factory + - Update to version 0.0.20241213T205935 2024-12-13T20:59:35Z. + Refs jsc#PED-11136 + Go CVE Numbering Authority IDs added or updated with aliases: + * GO-2022-0635 CVE-2020-8912 GHSA-7f33-f4f5-xwgw + * GO-2022-0646 CVE-2020-8911 GHSA-f5pg-7wfw-84q9 + * GO-2022-0828 CVE-2020-10696 GHSA-fx8w-mjvm-hvpc + * GO-2023-2170 CVE-2023-3955 GHSA-q78c-gwqw-jcmc + * GO-2023-2330 CVE-2023-3676 GHSA-7fxm-f474-hf8w + * GO-2024-2901 CVE-2024-37032 GHSA-8hqg-whrw-pv92 + * GO-2024-3104 CVE-2024-45436 GHSA-846m-99qv-67mg + * GO-2024-3122 CVE-2024-45039 GHSA-q3hw-3gm4-w5cr + * GO-2024-3140 CVE-2024-8986 GHSA-xxxw-3j6h-q7h6 + * GO-2024-3169 CVE-2024-9407 GHSA-fhqq-8f65-5xfc + * GO-2024-3186 CVE-2024-9675 GHSA-586p-749j-fhwp + * GO-2024-3205 CVE-2024-44337 GHSA-xhr3-wf7j-h255 + * GO-2024-3218 CVE-2023-26248 GHSA-mqr9-hjr8-2m9w + * GO-2024-3245 CVE-2024-39720 GHSA-95j2-w8x7-hm88 + * GO-2024-3248 CVE-2024-46528 GHSA-p26r-gfgc-c47h + * GO-2024-3259 GHSA-p7mv-53f2-4cwj + * GO-2024-3265 CVE-2024-52009 GHSA-gppm-hq3p-h4rp + * GO-2024-3268 CVE-2022-31668 GHSA-r864-28pw-8682 + * GO-2024-3279 GHSA-7225-m954-23v7 + * GO-2024-3282 CVE-2024-12401 GHSA-r4pg-vg54-wxx4 + * GO-2024-3286 CVE-2024-10220 GHSA-27wf-5967-98gx + * GO-2024-3293 + * GO-2024-3295 CVE-2024-53859 GHSA-55v3-xh23-96gh + * GO-2024-3302 CVE-2024-53259 GHSA-px8v-pp82-rcvr + * GO-2024-3306 CVE-2024-53257 GHSA-7mwh-q3xm-qh6p + * GO-2024-3312 CVE-2024-6156 GHSA-4c49-9fpc-hc3v + * GO-2024-3313 CVE-2024-6219 GHSA-jpmc-7p9c-4rxf (forwarded request 1231737 from jfkw) + 1231750 + diff --git a/packages/g/govulncheck-vulndb/govulncheck-vulndb.changes b/packages/g/govulncheck-vulndb/govulncheck-vulndb.changes index c97dcff8ef5..79c32c2e213 100644 --- a/packages/g/govulncheck-vulndb/govulncheck-vulndb.changes +++ b/packages/g/govulncheck-vulndb/govulncheck-vulndb.changes @@ -1,3 +1,47 @@ +------------------------------------------------------------------- +Fri Dec 13 20:59:35 UTC 2024 - Jeff Kowalczyk + +- Update to version 0.0.20241213T205935 2024-12-13T20:59:35Z. + Refs jsc#PED-11136 + Go CVE Numbering Authority IDs added or updated with aliases: + * GO-2022-0635 CVE-2020-8912 GHSA-7f33-f4f5-xwgw + * GO-2022-0646 CVE-2020-8911 GHSA-f5pg-7wfw-84q9 + * GO-2022-0828 CVE-2020-10696 GHSA-fx8w-mjvm-hvpc + * GO-2023-2170 CVE-2023-3955 GHSA-q78c-gwqw-jcmc + * GO-2023-2330 CVE-2023-3676 GHSA-7fxm-f474-hf8w + * GO-2024-2901 CVE-2024-37032 GHSA-8hqg-whrw-pv92 + * GO-2024-3104 CVE-2024-45436 GHSA-846m-99qv-67mg + * GO-2024-3122 CVE-2024-45039 GHSA-q3hw-3gm4-w5cr + * GO-2024-3140 CVE-2024-8986 GHSA-xxxw-3j6h-q7h6 + * GO-2024-3169 CVE-2024-9407 GHSA-fhqq-8f65-5xfc + * GO-2024-3186 CVE-2024-9675 GHSA-586p-749j-fhwp + * GO-2024-3205 CVE-2024-44337 GHSA-xhr3-wf7j-h255 + * GO-2024-3218 CVE-2023-26248 GHSA-mqr9-hjr8-2m9w + * GO-2024-3245 CVE-2024-39720 GHSA-95j2-w8x7-hm88 + * GO-2024-3248 CVE-2024-46528 GHSA-p26r-gfgc-c47h + * GO-2024-3259 GHSA-p7mv-53f2-4cwj + * GO-2024-3265 CVE-2024-52009 GHSA-gppm-hq3p-h4rp + * GO-2024-3268 CVE-2022-31668 GHSA-r864-28pw-8682 + * GO-2024-3279 GHSA-7225-m954-23v7 + * GO-2024-3282 CVE-2024-12401 GHSA-r4pg-vg54-wxx4 + * GO-2024-3286 CVE-2024-10220 GHSA-27wf-5967-98gx + * GO-2024-3293 + * GO-2024-3295 CVE-2024-53859 GHSA-55v3-xh23-96gh + * GO-2024-3302 CVE-2024-53259 GHSA-px8v-pp82-rcvr + * GO-2024-3306 CVE-2024-53257 GHSA-7mwh-q3xm-qh6p + * GO-2024-3312 CVE-2024-6156 GHSA-4c49-9fpc-hc3v + * GO-2024-3313 CVE-2024-6219 GHSA-jpmc-7p9c-4rxf + * GO-2024-3314 CVE-2024-55601 GHSA-c2xf-9v2r-r2rx + * GO-2024-3315 CVE-2024-46455 + * GO-2024-3319 GHSA-vmg2-r3xv-r3xf + * GO-2024-3321 CVE-2024-45337 GHSA-v778-237x-gjrc + * GO-2024-3323 CVE-2024-55658 GHSA-25w9-wqfq-gwqx + * GO-2024-3324 CVE-2024-55660 GHSA-4pjc-pwgq-q9jp + * GO-2024-3325 GHSA-c7xh-gjv4-4jgv + * GO-2024-3326 CVE-2024-55659 GHSA-fqj6-whhx-47p7 + * GO-2024-3327 CVE-2024-55657 GHSA-xx68-37v4-4596 + * GO-2024-3330 GHSA-7prj-hgx4-2xc3 + ------------------------------------------------------------------- Mon Dec 9 18:32:51 UTC 2024 - Jeff Kowalczyk diff --git a/packages/g/govulncheck-vulndb/govulncheck-vulndb.spec b/packages/g/govulncheck-vulndb/govulncheck-vulndb.spec index 17d8cd90058..cfef13205a4 100644 --- a/packages/g/govulncheck-vulndb/govulncheck-vulndb.spec +++ b/packages/g/govulncheck-vulndb/govulncheck-vulndb.spec @@ -19,7 +19,7 @@ %define shortname vulndb Name: govulncheck-vulndb -Version: 0.0.20241209T183251 +Version: 0.0.20241213T205935 Release: 0 Summary: Local copy of Go vulnerability database License: CC-BY-4.0 diff --git a/packages/g/govulncheck-vulndb/vulndb.zip b/packages/g/govulncheck-vulndb/vulndb.zip index db55ed361bf..82b51c44f18 120000 --- a/packages/g/govulncheck-vulndb/vulndb.zip +++ b/packages/g/govulncheck-vulndb/vulndb.zip @@ -1 +1 @@ -/ipfs/bafybeietqo6vm3ddo6ujvz3xif2ddrugqewhrhggdemecvrekla77w6qva \ No newline at end of file +/ipfs/bafybeiabwq5wux6jyxf7xm3d6d3bornjjil52xdw6tomy4adf7tsvrztom \ No newline at end of file diff --git a/packages/g/gzdoom/.files b/packages/g/gzdoom/.files index af07bb4238f..1151d05fc35 100644 Binary files a/packages/g/gzdoom/.files and b/packages/g/gzdoom/.files differ diff --git a/packages/g/gzdoom/.rev b/packages/g/gzdoom/.rev index 380c0bf926d..a76fcd74b12 100644 --- a/packages/g/gzdoom/.rev +++ b/packages/g/gzdoom/.rev @@ -311,4 +311,12 @@ and that one is GPL3. - Update to release 4.13.2 1220355 + + 7864af06b68332e12c16a29912ebbe7a + 4.14.0 + + anag+factory + - Update to release 4.14.0 + 1231771 + diff --git a/packages/g/gzdoom/_scmsync.obsinfo b/packages/g/gzdoom/_scmsync.obsinfo index dc9d215baab..fd736979f6a 100644 --- a/packages/g/gzdoom/_scmsync.obsinfo +++ b/packages/g/gzdoom/_scmsync.obsinfo @@ -1,4 +1,4 @@ -mtime: 1730584040 -commit: 18712dbad51f16c72f8f5dd6ff8514051766b6f94c08294898d2afa82f98a0d4 +mtime: 1734483955 +commit: 0f53b84fd90486d998e3cddfa34330f5a44bad9b73d67697e05607680868459c url: https://src.opensuse.org/jengelh/gzdoom revision: master diff --git a/packages/g/gzdoom/build.specials.obscpio b/packages/g/gzdoom/build.specials.obscpio index 2425b706c69..c176f583c59 120000 --- a/packages/g/gzdoom/build.specials.obscpio +++ b/packages/g/gzdoom/build.specials.obscpio @@ -1 +1 @@ -/ipfs/bafkreifge2bhhuwzx6yjw6uekjqhrgam7wtxbq5py3nxfrou7cy5cs5xnq \ No newline at end of file +/ipfs/bafkreibjm67sschibfulgmx6pys2g223ek7yiprqgkm22akkoclpxcopzy \ No newline at end of file diff --git a/packages/g/gzdoom/g4.13.2.tar.gz b/packages/g/gzdoom/g4.13.2.tar.gz deleted file mode 120000 index cd6b8108146..00000000000 --- a/packages/g/gzdoom/g4.13.2.tar.gz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeigy37o3sel7nalpjw5uyhgxwdkofzjyqbxw4dhm7h6onaeie42lni \ No newline at end of file diff --git a/packages/g/gzdoom/g4.14.0.tar.gz b/packages/g/gzdoom/g4.14.0.tar.gz new file mode 120000 index 00000000000..297922f616b --- /dev/null +++ b/packages/g/gzdoom/g4.14.0.tar.gz @@ -0,0 +1 @@ +/ipfs/bafybeifzbzwa63n4jd4ra4tnos54bdupqfektafc7vsiaqtkfhtmgbxhai \ No newline at end of file diff --git a/packages/g/gzdoom/gzdoom.changes b/packages/g/gzdoom/gzdoom.changes index c6768d07c38..17bb03fd69a 100644 --- a/packages/g/gzdoom/gzdoom.changes +++ b/packages/g/gzdoom/gzdoom.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Wed Dec 18 00:52:50 UTC 2024 - Jan Engelhardt + +- Update to release 4.14.0 + * FOV scales ortho up to 180 degrees + * Interpolate non-Burn screen wipes + * Added net id functions for ACS + * Fixed bouncing on 3D floors + * Fixed A_SprayDecal not working on 3D floors + ------------------------------------------------------------------- Sat Nov 2 16:40:47 UTC 2024 - Jan Engelhardt diff --git a/packages/g/gzdoom/gzdoom.spec b/packages/g/gzdoom/gzdoom.spec index 879ad5fae21..8c5f4ae7711 100644 --- a/packages/g/gzdoom/gzdoom.spec +++ b/packages/g/gzdoom/gzdoom.spec @@ -17,7 +17,7 @@ Name: gzdoom -Version: 4.13.2 +Version: 4.14.0 Release: 0 Summary: A DOOM source port with graphic and modding extensions License: GPL-3.0-only diff --git a/packages/h/helmify/.files b/packages/h/helmify/.files index 0a532382144..aa8e7e58ced 100644 Binary files a/packages/h/helmify/.files and b/packages/h/helmify/.files differ diff --git a/packages/h/helmify/.rev b/packages/h/helmify/.rev index d3bd938ea87..700d1f61d3d 100644 --- a/packages/h/helmify/.rev +++ b/packages/h/helmify/.rev @@ -167,4 +167,12 @@ 1225007 + + 008097850fae3c50642e24e72c16e20a + 0.4.17 + + anag+factory + + 1231865 + diff --git a/packages/h/helmify/_service b/packages/h/helmify/_service index 5251c4f081d..78234b84558 100644 --- a/packages/h/helmify/_service +++ b/packages/h/helmify/_service @@ -3,7 +3,7 @@ https://github.com/arttor/helmify/ git .git - v0.4.16 + v0.4.17 @PARENT_TAG@ v(.*) enable diff --git a/packages/h/helmify/_servicedata b/packages/h/helmify/_servicedata index 84fae569a08..3a2e497c404 100644 --- a/packages/h/helmify/_servicedata +++ b/packages/h/helmify/_servicedata @@ -1,4 +1,4 @@ https://github.com/arttor/helmify/ - 98a79ff572ceb401c923f7d195f245c596a04167 \ No newline at end of file + 7704d84529700c84b1bad41eab534acc296ea98c \ No newline at end of file diff --git a/packages/h/helmify/helmify-0.4.16.obscpio b/packages/h/helmify/helmify-0.4.16.obscpio deleted file mode 120000 index c5175d3c973..00000000000 --- a/packages/h/helmify/helmify-0.4.16.obscpio +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeigxyywpbeyjtu5yjmzp42cblkqwbyn4hkuqpaoxuhjhnd5m4xc3eq \ No newline at end of file diff --git a/packages/h/helmify/helmify-0.4.17.obscpio b/packages/h/helmify/helmify-0.4.17.obscpio new file mode 120000 index 00000000000..58755a6fb49 --- /dev/null +++ b/packages/h/helmify/helmify-0.4.17.obscpio @@ -0,0 +1 @@ +/ipfs/bafybeifzqhgtrjjydo5cdnqjzbwabr4cg7at7vsto7242vj435b6vs3a2q \ No newline at end of file diff --git a/packages/h/helmify/helmify.changes b/packages/h/helmify/helmify.changes index 9b7f2364369..540551695b8 100644 --- a/packages/h/helmify/helmify.changes +++ b/packages/h/helmify/helmify.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Dec 18 11:19:57 UTC 2024 - opensuse_buildservice@ojkastl.de + +- Update to version 0.4.17: + * Update examples/operator templates and values + * added deployment strategy attribute support + ------------------------------------------------------------------- Tue Nov 19 08:18:39 UTC 2024 - opensuse_buildservice@ojkastl.de diff --git a/packages/h/helmify/helmify.obsinfo b/packages/h/helmify/helmify.obsinfo index 76d282088d7..4dda8d3130e 100644 --- a/packages/h/helmify/helmify.obsinfo +++ b/packages/h/helmify/helmify.obsinfo @@ -1,4 +1,4 @@ name: helmify -version: 0.4.16 -mtime: 1731955075 -commit: 98a79ff572ceb401c923f7d195f245c596a04167 +version: 0.4.17 +mtime: 1734514598 +commit: 7704d84529700c84b1bad41eab534acc296ea98c diff --git a/packages/h/helmify/helmify.spec b/packages/h/helmify/helmify.spec index da3f55bf914..ce8fd861701 100644 --- a/packages/h/helmify/helmify.spec +++ b/packages/h/helmify/helmify.spec @@ -19,7 +19,7 @@ %define __arch_install_post export NO_BRP_STRIP_DEBUG=true Name: helmify -Version: 0.4.16 +Version: 0.4.17 Release: 0 Summary: Creates Helm chart from Kubernetes yaml License: MIT diff --git a/packages/h/helmify/vendor.tar.gz b/packages/h/helmify/vendor.tar.gz index de8a8ab46b9..300a14ddca1 120000 --- a/packages/h/helmify/vendor.tar.gz +++ b/packages/h/helmify/vendor.tar.gz @@ -1 +1 @@ -/ipfs/bafybeihlnvzynpkllejxoe2vhj6o6wh7lvlibmvpkwjz4lktxz4sqsx6ky \ No newline at end of file +/ipfs/bafybeichdcho53pm4ebbdhazchie5rsab2noeqn3cizylbxrriyzzrxqq4 \ No newline at end of file diff --git a/packages/h/hyprgraphics/.files b/packages/h/hyprgraphics/.files new file mode 100644 index 00000000000..b566d4fb8f6 Binary files /dev/null and b/packages/h/hyprgraphics/.files differ diff --git a/packages/h/hyprgraphics/.meta b/packages/h/hyprgraphics/.meta new file mode 100644 index 00000000000..18be35d5161 --- /dev/null +++ b/packages/h/hyprgraphics/.meta @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/h/hyprgraphics/.rev b/packages/h/hyprgraphics/.rev new file mode 100644 index 00000000000..f00dd7c21b2 --- /dev/null +++ b/packages/h/hyprgraphics/.rev @@ -0,0 +1,10 @@ + + + e89872369f829d5789a46274772648d3 + 0.1.1 + + anag+factory + dependency for hyperland >= 0.46.0 + 1231824 + + diff --git a/packages/h/hyprgraphics/_service b/packages/h/hyprgraphics/_service new file mode 100644 index 00000000000..42d0f84521b --- /dev/null +++ b/packages/h/hyprgraphics/_service @@ -0,0 +1,17 @@ + + + + https://github.com/hyprwm/hyprgraphics + git + @PARENT_TAG@ + v(.*) + @PARENT_TAG@ + enable + + + + *.tar + xz + + + diff --git a/packages/h/hyprgraphics/hyprgraphics-0.1.1.tar.xz b/packages/h/hyprgraphics/hyprgraphics-0.1.1.tar.xz new file mode 120000 index 00000000000..c6a95671f9f --- /dev/null +++ b/packages/h/hyprgraphics/hyprgraphics-0.1.1.tar.xz @@ -0,0 +1 @@ +/ipfs/bafybeiayot4gwinvq4apg73z3oykzf7naze6egetlqfucqiu22kjfcfo6y \ No newline at end of file diff --git a/packages/h/hyprgraphics/hyprgraphics.changes b/packages/h/hyprgraphics/hyprgraphics.changes new file mode 100644 index 00000000000..72fe9178457 --- /dev/null +++ b/packages/h/hyprgraphics/hyprgraphics.changes @@ -0,0 +1,4 @@ +------------------------------------------------------------------- +Tue Dec 17 13:15:53 UTC 2024 - Florian "sp1rit" + +- Initial packaging of hyprgraphics-0.1.1 diff --git a/packages/h/hyprgraphics/hyprgraphics.spec b/packages/h/hyprgraphics/hyprgraphics.spec new file mode 100644 index 00000000000..042c74375c7 --- /dev/null +++ b/packages/h/hyprgraphics/hyprgraphics.spec @@ -0,0 +1,85 @@ +# +# spec file for package hyprgraphics +# +# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2024 Florian "sp1rit" +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + +%define sover 0 + +Name: hyprgraphics +Version: 0.1.1 +Release: 0 +Summary: Hyprland graphics / resource utilities +License: BSD-3-Clause +URL: https://github.com/hyprwm/hyprgraphics +Source0: %{name}-%{version}.tar.xz +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: pkg-config +BuildRequires: pkgconfig(cairo) +BuildRequires: pkgconfig(hyprutils) +BuildRequires: pkgconfig(libjpeg) +BuildRequires: pkgconfig(libjxl) +BuildRequires: pkgconfig(libjxl_cms) +BuildRequires: pkgconfig(libjxl_threads) +BuildRequires: pkgconfig(libmagic) +BuildRequires: pkgconfig(libwebp) +BuildRequires: pkgconfig(pixman-1) + +%define _description %{expand: +Hyprgraphics is a small C++ library with graphics / resource related +utilities used across the hypr* ecosystem.} + +%description %{_description} + +%package -n lib%{name}%{sover} +Summary: Hyprland graphics / resource utilities +Group: System/Libraries + +%description -n lib%{name}%{sover} %{_description} + +%package devel +Summary: Development files for %{name} +Group: Development/Libraries/C and C++ +Requires: lib%{name}%{sover} = %{version} + +%description devel %{_description} + +This subpackage contains development files for %{name}. + +%prep +%autosetup -p1 + +%build +%cmake +%cmake_build + +%install +%cmake_install + +%ldconfig_scriptlets -n lib%{name}%{sover} + +%files -n lib%{name}%{sover} +%{_libdir}/libhyprgraphics.so.%{sover} +%{_libdir}/libhyprgraphics.so.%{version} + +%files devel +%license LICENSE +%doc README.md +%{_includedir}/%{name} +%{_libdir}/lib%{name}.so +%{_libdir}/pkgconfig/%{name}.pc + +%changelog diff --git a/packages/h/hyprland/.files b/packages/h/hyprland/.files index f4c1ff5cc95..f37cf7b1daa 100644 Binary files a/packages/h/hyprland/.files and b/packages/h/hyprland/.files differ diff --git a/packages/h/hyprland/.rev b/packages/h/hyprland/.rev index d33e192e80c..42821e76e1f 100644 --- a/packages/h/hyprland/.rev +++ b/packages/h/hyprland/.rev @@ -258,4 +258,12 @@ depends on 1159012 1225303 + + cc770aa466011527e88f462b71d74d65 + 0.46.1 + + anag+factory + + 1231825 + diff --git a/packages/h/hyprland/hyprland-0.45.2.tar.xz b/packages/h/hyprland/hyprland-0.45.2.tar.xz deleted file mode 120000 index 8c6bdd38579..00000000000 --- a/packages/h/hyprland/hyprland-0.45.2.tar.xz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeicaz44f4qudtwkpq76e5j55riv6cd65kxtqspmvq5s5moydu6qtce \ No newline at end of file diff --git a/packages/h/hyprland/hyprland-0.46.1.tar.xz b/packages/h/hyprland/hyprland-0.46.1.tar.xz new file mode 120000 index 00000000000..c0f7a48500d --- /dev/null +++ b/packages/h/hyprland/hyprland-0.46.1.tar.xz @@ -0,0 +1 @@ +/ipfs/bafybeiawhb4icyvq2f7zrvk3t6jqxmznwbwy6u5awz6asroh7s2aadmdhu \ No newline at end of file diff --git a/packages/h/hyprland/hyprland.changes b/packages/h/hyprland/hyprland.changes index 32c411ccd49..4037b1a158d 100644 --- a/packages/h/hyprland/hyprland.changes +++ b/packages/h/hyprland/hyprland.changes @@ -1,3 +1,144 @@ +------------------------------------------------------------------- +Tue Dec 17 19:35:11 UTC 2024 - Florian "spirit" + +- Update to version 0.46.1: + + A minor release with a patch backported from main. + + Fixes backported: + - windowrules: fixup duplicate rule enum tags + +------------------------------------------------------------------- +Tue Dec 17 11:20:07 UTC 2024 - Florian "sp1rit" + +- Update to version 0.46.0: + + The Hyprland overlord (also known as Santa in December) is + proudly bringing you 0.46.0. + Merry Hypr Christmas! + + Breaking changes + - window/layer rule regexes now require a full match (not any + match) to trigger. + - cursor:dumb_copy is gone in favor of cursor:use_cpu_buffer. + This should allow no-downsides Nvidia hardware cursors. Please + note it's experimental. + + New features: + - binds: add option to allow fullscreening a pinned window + (#8526) + - config: add 'force' option for + 'cursor:warp_on_change_workspace' (#8681) + - core: Add support for hyprqtutils' update screen (#8651) + - core: add a few festive splashes + - core: move colorspace handling to oklab (#8635) + - dispatchers: Add an option to prioritize focus change within + groups with movefocus (#8601) + - hooks: add pre connected/disconnected monitor events (#8503) + - hyprctl: add an inhibitingIdle field to windows + - hyprctl: add directScanout to hyprctl monitors + - hyprctl: add json output on hyprctl -j plugins list (#8480) + - input: add warp_back_after_non_mouse_input + - logging: Add some context to config error logs (#8326) + - pointer: add drm dumb buffers for cursors (#8399) + - renderer: add lockdead_screen_delay (#8467) + - renderer: add option to blur IME popups (#8521) + - version: add link versions for other utils (#8619) + - windowrules: add rules for mouse and touchpad scroll factors + (#8655) + - xwayland: Support cross DnD from Wayland (#8708) + + Fixes: + - animationmgr: fixup stack-use-after-return + - compositor: fix monitor arrangement with mixed auto directions + - core/data-device: expand damage region to fix minor px errors + - core: Fix workspace selector parsing (#8687) + - data-device: fixup wrong box expansion + - defaultConfig: fixup smart gaps rules + - hyprpm: fix incomplete unmet dependencies message + - internal: fix changeWindowZOrder reordering incorrectly (#8494) + - internal: fix some misused configStringToInt conversions + - internal: fixup some missed updateColorsOk() calls + - layerrules: fix ignorezero not working + - monitor: fix default focus when switching to a fs workspace + - opengl: fixup invalid ogl uniform reads + - opengl: fixup missed /4 in oklab parsing + - renderer: fix incorrect early return (#8590) + - renderer: fixup blur optimization considitons + - seat: fix double scrolling in some applications (#8583) + - shm: fix shm fd size check before creating or resizing shm_pool + (#8572) + - windowrules: fix prop rules with boolean values + - workspace: fix missing name via focusworkspaceoncurrentmonitor + (#8484) + + Other: + - bezier: optimize setup of bezier curves (#8528) + - bind: new long press option (#8302) + - cleanup: remove leftover var in ThreadManager.cpp (#8611) + - config: Changed the default value of + decoration:blur:ignore_opacity to true (#8418) + - config: don't overwrite errors in gradients + - config: throw an error explicitly when parsing colors in + gradients + - config: update the configStringToInt implementation (#8476) + - constraints: don't warp pointer position on release (#8491) + - core/data: Use pointer focus for DnD operations (#8707) + - core/output: don't send enter too aggresively + - core: Move regex from stdlib to re2 (#8736) + - core: Optimize window/layer rule application and scanning + (#8735) + - core: drop using deques in favor of vectors + - core: feeling a bit quirky today. + - core: guard pmonitor in focuswindow + - core: move to os/Process from hyprutils + - core: move version include to hyprctl + - core: removed Herobrine + - core: workspace-related function cleanup / refactor + - crashreporter: avoid clang warning + - debug: clean up fetching of the contents of /proc/device-tree + (#8413) + - debug: clean up opening of files in HyprCtl (#8401) + - descriptions: change allow_pin_fullscreen value to false + (#8592) + - drm: enable explit out fence in AQ (#8431) + - hyprctl: avoid crash on null pwuid + - hyprctl: verify runtime dir exists in instances() + - hyprland-uwsm.desktop: Just reference plain entry (#8553) + - hyprpm: move temp files to XDG_RUNTIME_DIR + - hyprpm: target installed instead of running version (#8634) + - internal: minor cleanups for color results + - keybinds: actually suppress internal keybinds instead of + passing them along (#8538) + - keybinds: allow repeating multiple binds (#8290) + - keybinds: don't animate fullscreen size/pos changes coming in + - keybinds: move to managed pointers + - layersurface: use lastMonitor and not monitor from cursor for + new ls + - master: make center ignore reserved areas (#8625) + - meson: autodetect systemd + - miscfunctions: move configStringToInt to std::expected + - pointer: map devices across all outputs by default (#8352) + - protocols: mark primarySelection as not privileged + - rename hyprland-systemd.desktop and remove + hyprland-session.service + - renderer: don't render unmapped popups + - renderer: drop requesting OUT_FENCE_PTR + - renderer: restore discard mode after IME render pass + - renderer: scaled surfaces could have zero area (#8423) + - renderer: simplify blur enabling logic + - shell: don't use fgrep, prefer grep -F + - shell: propagate new machanism from hyprctl to miscfunctions + - snap: account for position of multiple monitors (#8543) + - snap: bias reserved area when its size is greater than zero + (#8694) + - snap: check which corner is being grabbed for monitor snapping + (#8637) + - snap: use the bit mask to check if snapping occurred (#8659) + - systemd: hyprland-systemd.desktop -> hyprland-uwsm.desktop + - versionkeeper: init version to 0.0.0 if no file is present + - windows/xdg: minor cleanup of min/max size calculations + - windows: allow replacing existing fullscreen (#8566) + - workspace: update hasFullscreenWindow in updateWindows + - workspacerules: Do not check 'on-created-empty' if using a + workspace windowrule (#8486) + - xcursors: store themes in a std:set to order it (#8474) + - xdg-shell: don't report invalid min/max sizes on unset + - xdg-shell: even more robust layout min/max size + ------------------------------------------------------------------- Wed Nov 20 13:55:57 UTC 2024 - Florian "sp1rit" diff --git a/packages/h/hyprland/hyprland.spec b/packages/h/hyprland/hyprland.spec index 4e81ff937f7..bbc841d43d9 100644 --- a/packages/h/hyprland/hyprland.spec +++ b/packages/h/hyprland/hyprland.spec @@ -22,7 +22,7 @@ %define shortname hypr Name: hyprland -Version: 0.45.2 +Version: 0.46.1 Release: 0 Summary: Dynamic tiling Wayland compositor License: BSD-3-Clause @@ -37,15 +37,16 @@ BuildRequires: git BuildRequires: glslang-devel BuildRequires: meson BuildRequires: pkgconfig -BuildRequires: pkgconfig(aquamarine) >= 0.4.2 +BuildRequires: pkgconfig(aquamarine) >= 0.4.5 BuildRequires: pkgconfig(cairo) BuildRequires: pkgconfig(egl) BuildRequires: pkgconfig(gbm) >= 17.1.0 BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(glesv2) BuildRequires: pkgconfig(hyprcursor) >= 0.1.9 +BuildRequires: pkgconfig(hyprgraphics) >= 0.1.1 BuildRequires: pkgconfig(hyprlang) >= 0.3.2 -BuildRequires: pkgconfig(hyprutils) >= 0.2.1 +BuildRequires: pkgconfig(hyprutils) >= 0.2.4 BuildRequires: pkgconfig(hyprwayland-scanner) >= 0.3.8 BuildRequires: pkgconfig(libdrm) >= 2.4.118 BuildRequires: pkgconfig(libinput) >= 1.14.0 @@ -53,6 +54,7 @@ BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(pango) BuildRequires: pkgconfig(pangocairo) BuildRequires: pkgconfig(pixman-1) >= 0.42.0 +BuildRequires: pkgconfig(re2) BuildRequires: pkgconfig(systemd) BuildRequires: pkgconfig(tomlplusplus) BuildRequires: pkgconfig(uuid) @@ -161,6 +163,7 @@ sed -i 's;REPLACE_ME_WITH_PREFIX;%{_prefix};' hyprpm/src/core/DataState.cpp %build %meson \ + -Duwsm=disabled \ -Dwlroots-hyprland:xcb-errors=%{?with_xcb_errors:enabled}%{!?with_xcb_errors:disabled} %meson_build @@ -179,7 +182,6 @@ sed -i 's;REPLACE_ME_WITH_PREFIX;%{_prefix};' hyprpm/src/core/DataState.cpp %{_datadir}/%{shortname}/lockdead2.png %dir %{_datadir}/wayland-sessions/ %{_datadir}/wayland-sessions/%{name}.desktop -%{_datadir}/wayland-sessions/%{name}-systemd.desktop %dir %{_datadir}/xdg-desktop-portal %{_datadir}/xdg-desktop-portal/%{name}-portals.conf %{_mandir}/man1/Hyprland.* diff --git a/packages/h/hyprland/opensuse-hyprpm-use-hyprland-devel-subpkg.patch b/packages/h/hyprland/opensuse-hyprpm-use-hyprland-devel-subpkg.patch index 4abb19c0d89..a68fa8ac4be 100644 --- a/packages/h/hyprland/opensuse-hyprpm-use-hyprland-devel-subpkg.patch +++ b/packages/h/hyprland/opensuse-hyprpm-use-hyprland-devel-subpkg.patch @@ -1,4 +1,4 @@ -From 59baf7887afbb81fc56fc211571f50c6f6806be0 Mon Sep 17 00:00:00 2001 +From 1046bd52a4725819fd0ab00391b29adeb0d1eeef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20sp1rit=E2=80=8B?= Date: Fri, 14 Jun 2024 23:43:46 +0200 Subject: [PATCH] openSUSE: Use hyprland-devel instead of downloading from @@ -34,7 +34,7 @@ index fb8679d..a1c7026 100644 void DataState::ensureStateStoreExists() { diff --git a/hyprpm/src/core/PluginManager.cpp b/hyprpm/src/core/PluginManager.cpp -index 57c6764..7f2ca09 100644 +index 48b108c..b0f590b 100644 --- a/hyprpm/src/core/PluginManager.cpp +++ b/hyprpm/src/core/PluginManager.cpp @@ -17,6 +17,7 @@ @@ -45,18 +45,18 @@ index 57c6764..7f2ca09 100644 #include #include -@@ -412,141 +413,27 @@ bool CPluginManager::updateHeaders(bool force) { - const auto HLVER = getHyprlandVersion(); +@@ -436,141 +437,27 @@ bool CPluginManager::updateHeaders(bool force) { + const auto HLVER = getHyprlandVersion(false); if (!hasDeps()) { -- std::println("\n{}", failureString("Could not update. Dependencies not satisfied. Hyprpm requires: cmake, meson, cpio")); -+ std::println("\n{}", failureString("Could not update. Dependencies not satisfied. Hyprpm requires: hyprland-devel, cmake, meson, cpio")); +- std::println("\n{}", failureString("Could not update. Dependencies not satisfied. Hyprpm requires: cmake, meson, cpio, pkg-config")); ++ std::println("\n{}", failureString("Could not update. Dependencies not satisfied. Hyprpm requires: hyprland-devel, cmake, meson, cpio, pkg-config")); return false; } -- if (!std::filesystem::exists("/tmp/hyprpm")) { -- std::filesystem::create_directory("/tmp/hyprpm"); -- std::filesystem::permissions("/tmp/hyprpm", std::filesystem::perms::all, std::filesystem::perm_options::replace); +- if (!std::filesystem::exists(getTempRoot())) { +- std::filesystem::create_directory(getTempRoot()); +- std::filesystem::permissions(getTempRoot(), std::filesystem::perms::owner_all, std::filesystem::perm_options::replace); - } - - if (!force && headersValid() == HEADERS_OK) { @@ -72,7 +72,7 @@ index 57c6764..7f2ca09 100644 - progress.print(); - - const std::string USERNAME = getpwuid(getuid())->pw_name; -- const auto WORKINGDIR = "/tmp/hyprpm/hyprland-" + USERNAME; +- const auto WORKINGDIR = getTempRoot() + "hyprland-" + USERNAME; - - if (!createSafeDirectory(WORKINGDIR)) { - std::println("\n{}", failureString("Could not prepare working dir for hl")); @@ -90,12 +90,12 @@ index 57c6764..7f2ca09 100644 - if (m_bVerbose && bShallow) - progress.printMessageAbove(verboseString("will shallow since: {}", SHALLOW_DATE)); - -- std::string ret = -- execAndGet("cd /tmp/hyprpm && git clone --recursive https://github.com/hyprwm/Hyprland hyprland-" + USERNAME + (bShallow ? " --shallow-since='" + SHALLOW_DATE + "'" : "")); +- std::string ret = execAndGet(std::format("cd {} && git clone --recursive https://github.com/hyprwm/Hyprland hyprland-{}{}", getTempRoot(), USERNAME, +- (bShallow ? " --shallow-since='" + SHALLOW_DATE + "'" : ""))); - - if (!std::filesystem::exists(WORKINGDIR)) { - progress.printMessageAbove(failureString("Clone failed. Retrying without shallow.")); -- ret = execAndGet("cd /tmp/hyprpm && git clone --recursive https://github.com/hyprwm/hyprland hyprland-" + USERNAME); +- ret = execAndGet(std::format("cd {} && git clone --recursive https://github.com/hyprwm/hyprland hyprland-{}", getTempRoot(), USERNAME)); - } - - if (!std::filesystem::exists(WORKINGDIR + "/.git")) { @@ -131,9 +131,8 @@ index 57c6764..7f2ca09 100644 - progress.printMessageAbove(successString("checked out to running ver")); - progress.m_iSteps = 3; - progress.m_szCurrentMessage = "Building Hyprland"; -+ progress.m_szCurrentMessage = "Checking headers"; - progress.print(); - +- progress.print(); +- - progress.printMessageAbove(statusString("!", Colors::YELLOW, "configuring Hyprland")); - - if (m_bVerbose) @@ -161,8 +160,9 @@ index 57c6764..7f2ca09 100644 - progress.printMessageAbove(successString("configured Hyprland")); - progress.m_iSteps = 4; - progress.m_szCurrentMessage = "Installing sources"; -- progress.print(); -- ++ progress.m_szCurrentMessage = "Checking headers"; + progress.print(); + - const std::string& cmd = - std::format("sed -i -e \"s#PREFIX = /usr/local#PREFIX = {}#\" {}/Makefile && cd {} && make installheaders", DataState::getHeadersPath(), WORKINGDIR, WORKINGDIR); - if (m_bVerbose) @@ -192,7 +192,7 @@ index 57c6764..7f2ca09 100644 progress.m_szCurrentMessage = "Failed"; progress.print(); -@@ -910,6 +797,19 @@ std::string CPluginManager::headerErrorShort(const eHeadersErrors err) { +@@ -953,6 +840,19 @@ std::string CPluginManager::headerErrorShort(const eHeadersErrors err) { } bool CPluginManager::hasDeps() { diff --git a/packages/i/input-pad/.files b/packages/i/input-pad/.files index 14755fe6fe4..3016a8fde04 100644 Binary files a/packages/i/input-pad/.files and b/packages/i/input-pad/.files differ diff --git a/packages/i/input-pad/.rev b/packages/i/input-pad/.rev index 6d8cf71c541..cc2a7b47cbd 100644 --- a/packages/i/input-pad/.rev +++ b/packages/i/input-pad/.rev @@ -84,4 +84,22 @@ 907466 + + 89997c73bd0cb6399182a467c2944486 + 1.0.99.20210817 + + anag+factory + - Update version to 1.0.99.20210817 + * Removed duplicated entry in str.xml + * Fixed a build error of I_ since eek-types.h has the duplicated one + * Fixed to use deprecated APIs in GTK 3.12 + * Imported code.google.com/p/input-pad + * Updated str.xml.in for Emoji and Japanese Acronym + * Fixed CSS data of GtkButton for GTK 3.20 + * configure: Repalced AC_PROG_LIBTOOL with LT_INIT + * Fix some typos in translatable text and make some texts easier to translate + * Run input-pad with GDK X11 backend + * Updated translations (forwarded request 1231811 from hillwood) + 1231814 + diff --git a/packages/i/input-pad/input-pad-1.0.99.20140916.tar.gz b/packages/i/input-pad/input-pad-1.0.99.20140916.tar.gz deleted file mode 120000 index c6a62bf9604..00000000000 --- a/packages/i/input-pad/input-pad-1.0.99.20140916.tar.gz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeifobaq543itupf7hs4o3tq5xtj552uxgtnvowowa2zvtebogj4dne \ No newline at end of file diff --git a/packages/i/input-pad/input-pad-1.0.99.20210817.tar.gz b/packages/i/input-pad/input-pad-1.0.99.20210817.tar.gz new file mode 120000 index 00000000000..e7de25e9363 --- /dev/null +++ b/packages/i/input-pad/input-pad-1.0.99.20210817.tar.gz @@ -0,0 +1 @@ +/ipfs/bafybeigglijvvdfvph5k5opluzzbapmjpjlkjs7bmrkilsldaha4kkhkmq \ No newline at end of file diff --git a/packages/i/input-pad/input-pad.changes b/packages/i/input-pad/input-pad.changes index 9a256f99a47..bee539f5a81 100644 --- a/packages/i/input-pad/input-pad.changes +++ b/packages/i/input-pad/input-pad.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Wed Dec 18 08:40:42 UTC 2024 - Hillwood Yang + +- Update version to 1.0.99.20210817 + * Removed duplicated entry in str.xml + * Fixed a build error of I_ since eek-types.h has the duplicated one + * Fixed to use deprecated APIs in GTK 3.12 + * Imported code.google.com/p/input-pad + * Updated str.xml.in for Emoji and Japanese Acronym + * Fixed CSS data of GtkButton for GTK 3.20 + * configure: Repalced AC_PROG_LIBTOOL with LT_INIT + * Fix some typos in translatable text and make some texts easier to translate + * Run input-pad with GDK X11 backend + * Updated translations + ------------------------------------------------------------------- Wed Jul 21 05:07:48 UTC 2021 - Steve Kowalik diff --git a/packages/i/input-pad/input-pad.spec b/packages/i/input-pad/input-pad.spec index e6c39335f34..0f895862854 100644 --- a/packages/i/input-pad/input-pad.spec +++ b/packages/i/input-pad/input-pad.spec @@ -1,7 +1,7 @@ # # spec file for package input-pad # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -23,16 +23,14 @@ %define build_xtest (0%{suse_version} > 1210) Name: input-pad -Version: 1.0.99.20140916 +Version: 1.0.99.20210817 Release: 0 Summary: On-screen Input Pad to Send Characters with Mouse License: LGPL-2.0-or-later Group: System/GUI/Other URL: https://github.com/fujiwarat/input-pad -Source0: %{name}-%{version}.tar.gz - +Source0: https://github.com/fujiwarat/input-pad/releases/download/%{version}/%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-build - BuildRequires: gettext-devel BuildRequires: gtk2-devel BuildRequires: gtk3-devel diff --git a/packages/i/ipset/.files b/packages/i/ipset/.files index ddb5c3ac845..0642df4e29e 100644 Binary files a/packages/i/ipset/.files and b/packages/i/ipset/.files differ diff --git a/packages/i/ipset/.rev b/packages/i/ipset/.rev index 0d5fabd156d..9a1f1078df4 100644 --- a/packages/i/ipset/.rev +++ b/packages/i/ipset/.rev @@ -420,4 +420,12 @@ Automatic submission by obs-autosubmit 1180191 + + 589b053b0beccf2ca6990115230c4337 + 7.23 + + anag+factory + - Update to release 7.23 + 1231572 + diff --git a/packages/i/ipset/_scmsync.obsinfo b/packages/i/ipset/_scmsync.obsinfo new file mode 100644 index 00000000000..34ebabfe93b --- /dev/null +++ b/packages/i/ipset/_scmsync.obsinfo @@ -0,0 +1,4 @@ +mtime: 1734377449 +commit: ad956f33283bcdf470c977cbd34e6e78cc30ec43df6810b94ae3242e16f22fb6 +url: https://src.opensuse.org/jengelh/ipset +revision: master diff --git a/packages/i/ipset/build.specials.obscpio b/packages/i/ipset/build.specials.obscpio new file mode 120000 index 00000000000..e787624c1b7 --- /dev/null +++ b/packages/i/ipset/build.specials.obscpio @@ -0,0 +1 @@ +/ipfs/bafkreigxj6vfx5v5rmrubpk5wjvkc7jpvsr2lmx3majtnvifjhzfrsxemm \ No newline at end of file diff --git a/packages/i/ipset/ipset-7.22.tar.bz2 b/packages/i/ipset/ipset-7.22.tar.bz2 deleted file mode 120000 index a1e05b89634..00000000000 --- a/packages/i/ipset/ipset-7.22.tar.bz2 +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeibcxyhqlosxpud5e3euv564n3zest7gvxp3pruktg6v52gefu2ena \ No newline at end of file diff --git a/packages/i/ipset/ipset-7.23.tar.bz2 b/packages/i/ipset/ipset-7.23.tar.bz2 new file mode 120000 index 00000000000..27f3fd57fcc --- /dev/null +++ b/packages/i/ipset/ipset-7.23.tar.bz2 @@ -0,0 +1 @@ +/ipfs/bafybeie5bdp5lyumghdi6vwnlsbzbyorcbhjfukekcllmgic4xxucuauia \ No newline at end of file diff --git a/packages/i/ipset/ipset.changes b/packages/i/ipset/ipset.changes index 4dad6f91949..19f9503e1f5 100644 --- a/packages/i/ipset/ipset.changes +++ b/packages/i/ipset/ipset.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Dec 16 19:28:18 UTC 2024 - Jan Engelhardt + +- Update to release 7.23 + * Hold module reference while requesting a module + * Add missing range check in bitmap_ip_uadt + ------------------------------------------------------------------- Wed Jun 5 11:07:43 UTC 2024 - Jan Engelhardt diff --git a/packages/i/ipset/ipset.spec b/packages/i/ipset/ipset.spec index 7f4662747fc..da3ca9f4d49 100644 --- a/packages/i/ipset/ipset.spec +++ b/packages/i/ipset/ipset.spec @@ -25,7 +25,7 @@ %define ipset_build_kmp 0 %endif Name: ipset -Version: 7.22 +Version: 7.23 Release: 0 Summary: Netfilter ipset administration utility License: GPL-2.0-only diff --git a/packages/k/kiwi-templates-Minimal/.files b/packages/k/kiwi-templates-Minimal/.files index f183c7bdfd6..91ca571112e 100644 Binary files a/packages/k/kiwi-templates-Minimal/.files and b/packages/k/kiwi-templates-Minimal/.files differ diff --git a/packages/k/kiwi-templates-Minimal/.rev b/packages/k/kiwi-templates-Minimal/.rev index 4c24b700412..25bbffed55e 100644 --- a/packages/k/kiwi-templates-Minimal/.rev +++ b/packages/k/kiwi-templates-Minimal/.rev @@ -193,4 +193,15 @@ 1224096 + + bd99212e4dffa0a99d277784d5b449f3 + 84.87.1 + + anag+factory + - Add some missing packages to kvm-and-xen-{grub-bls,sdboot} profiles + (boo#1234610) +- Remove outdated comment about kernel-default-base lacking dm-crypt +- Avoid duplicate uefi_mbr inclusion + 1231691 + diff --git a/packages/k/kiwi-templates-Minimal/Minimal.kiwi b/packages/k/kiwi-templates-Minimal/Minimal.kiwi index a4141532067..6343c051309 100644 --- a/packages/k/kiwi-templates-Minimal/Minimal.kiwi +++ b/packages/k/kiwi-templates-Minimal/Minimal.kiwi @@ -359,6 +359,7 @@ + @@ -391,18 +392,16 @@ - + - + - - @@ -419,7 +418,6 @@ - diff --git a/packages/k/kiwi-templates-Minimal/kiwi-templates-Minimal.changes b/packages/k/kiwi-templates-Minimal/kiwi-templates-Minimal.changes index b266e3f9abb..58e59f6f1d2 100644 --- a/packages/k/kiwi-templates-Minimal/kiwi-templates-Minimal.changes +++ b/packages/k/kiwi-templates-Minimal/kiwi-templates-Minimal.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Dec 17 12:52:06 UTC 2024 - Fabian Vogt + +- Add some missing packages to kvm-and-xen-{grub-bls,sdboot} profiles + (boo#1234610) +- Remove outdated comment about kernel-default-base lacking dm-crypt +- Avoid duplicate uefi_mbr inclusion + ------------------------------------------------------------------- Tue Nov 12 12:25:21 UTC 2024 - Alberto Planas Dominguez diff --git a/packages/m/meson/.files b/packages/m/meson/.files index b29f53353dc..0f43204e3df 100644 Binary files a/packages/m/meson/.files and b/packages/m/meson/.files differ diff --git a/packages/m/meson/.rev b/packages/m/meson/.rev index 633a8c2f2d0..e31f250ff72 100644 --- a/packages/m/meson/.rev +++ b/packages/m/meson/.rev @@ -1018,4 +1018,12 @@ Smoketest in GNOME:Next passed 1230120 + + 304263dcdebc351d56b2b6f5be49f98c + 1.6.1 + + anag+factory + + 1231640 + diff --git a/packages/m/meson/13935.patch b/packages/m/meson/13935.patch deleted file mode 100644 index 5342d2ef831..00000000000 --- a/packages/m/meson/13935.patch +++ /dev/null @@ -1,66 +0,0 @@ -From d082aec6ce0a3dc8ec7b3748a5130634d1f1c098 Mon Sep 17 00:00:00 2001 -From: Paolo Bonzini -Date: Wed, 20 Nov 2024 16:19:49 +0100 -Subject: [PATCH] rust: fix computation of library directory - -Using a rustup-based toolchain fails the "rust/2 sharedlib" test for me: - -./prog: error while loading shared libraries: libstd-211931512faabf29.so: cannot open shared object file: No such file or directory - -This happens because recent rustup places the standard library under -SYSROOT/lib/rustlib/TARGET/lib. Retrieve the right directory using -"--print target-libdir". This also provides a more accurate version -for rustc installed in /usr. - -Before: - $ echo $(/usr/bin/rustc --print sysroot)/lib - /usr/lib - -After: - $ /usr/bin/rustc --print target-libdir - /usr/lib/rustlib/x86_64-unknown-linux-gnu/lib - -While at it, cache the value to avoid repeated process invocation. - -Signed-off-by: Paolo Bonzini ---- - mesonbuild/backend/ninjabackend.py | 2 +- - mesonbuild/compilers/rust.py | 7 +++++++ - 2 files changed, 8 insertions(+), 1 deletion(-) - -diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py -index 05d5320798fd..5716ea29e351 100644 ---- a/mesonbuild/backend/ninjabackend.py -+++ b/mesonbuild/backend/ninjabackend.py -@@ -2125,7 +2125,7 @@ def _link_library(libname: str, static: bool, bundle: bool = False): - # ... but then add rustc's sysroot to account for rustup - # installations - for rpath_arg in rpath_args: -- args += ['-C', 'link-arg=' + rpath_arg + ':' + os.path.join(rustc.get_sysroot(), 'lib')] -+ args += ['-C', 'link-arg=' + rpath_arg + ':' + rustc.get_target_libdir()] - - proc_macro_dylib_path = None - if getattr(target, 'rust_crate_type', '') == 'proc-macro': -diff --git a/mesonbuild/compilers/rust.py b/mesonbuild/compilers/rust.py -index f09911db642c..02ac593842ad 100644 ---- a/mesonbuild/compilers/rust.py -+++ b/mesonbuild/compilers/rust.py -@@ -142,11 +142,18 @@ def _native_static_libs(self, work_dir: str, source_name: str) -> None: - def get_dependency_gen_args(self, outtarget: str, outfile: str) -> T.List[str]: - return ['--dep-info', outfile] - -+ @functools.lru_cache(maxsize=None) - def get_sysroot(self) -> str: - cmd = self.get_exelist(ccache=False) + ['--print', 'sysroot'] - p, stdo, stde = Popen_safe_logged(cmd) - return stdo.split('\n', maxsplit=1)[0] - -+ @functools.lru_cache(maxsize=None) -+ def get_target_libdir(self) -> str: -+ cmd = self.get_exelist(ccache=False) + ['--print', 'target-libdir'] -+ p, stdo, stde = Popen_safe_logged(cmd) -+ return stdo.split('\n', maxsplit=1)[0] -+ - @functools.lru_cache(maxsize=None) - def get_crt_static(self) -> bool: - cmd = self.get_exelist(ccache=False) + ['--print', 'cfg'] diff --git a/packages/m/meson/meson-1.6.0.tar.gz b/packages/m/meson/meson-1.6.0.tar.gz deleted file mode 120000 index 204a60beb95..00000000000 --- a/packages/m/meson/meson-1.6.0.tar.gz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeiev4go5vfxpvxqujp3fx6aeyen7e5z2ahejwkrzuj46jrusu3fizi \ No newline at end of file diff --git a/packages/m/meson/meson-1.6.0.tar.gz.asc b/packages/m/meson/meson-1.6.0.tar.gz.asc deleted file mode 100644 index 4e0f2e6eaaf..00000000000 --- a/packages/m/meson/meson-1.6.0.tar.gz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCgAdFiEEGeLW2bRtjapiiPh3wk5jG6ux/nAFAmcVUvAACgkQwk5jG6ux -/nAxlw/9FujH49x68WLJb/vjBBQrA5GOGBy9Qt2iet559auLySqlWNr5PGWDNlRo -2rvdCC0NfJOQkqgHqDpGE8+f0MxL670AHyDYxfwXb3NxR+bCzxSbr/isYeei0Ejq -0GlbpuViZH3gC/pWWrkbcdgBbewk8g3CfdWcywUkrSPh5LGv+NFE7thMd5K/+w2h -ePDS87s2NUxOProX+kTav6yMcS8vnRFUpg6AY/UIODVNbAs/fqy4a53m+kF4C1+1 -z70UGug3x4tRnmPNiUZ9yV0S/HWrrPNWifq/4neB8PNjrRWbzkgsYyuIQkS6sPD2 -z0ZnccTb3l0le/6r+sCJqA/LGPK/hji6uP3YUxPy+FrdCm2Lhq7zVsT0By0VsmcO -heJeNx83rZDZjY+aTL3KHKTU5H83xK3MCwgbv9rzFytY+AzNrLpKQ9Iv5eUo4jgN -HMabygqyKY2FQEVCmHPAKyA5PyW/qWNkft2fRuxvEl1f7sf51jqaYlvNyIwolnGB -eN3uaY99X/FWGgkl4zIIMQDZ6UUlrfYZJwpZ6m9m/0euT7auSBTcxJE+IQz+LTMC -ysfBpsMblYR0gu5epwBQTY10N6DpfEXEs8SKalWhM5zu0TDfwgmJ4Yrd5sxA0ri4 -wcyy1mjc5n/mHZL91uJKOmXknQzDms6ohWhVYD0ZOPXLvZj56/A= -=Ga7S ------END PGP SIGNATURE----- diff --git a/packages/m/meson/meson-1.6.1.tar.gz b/packages/m/meson/meson-1.6.1.tar.gz new file mode 120000 index 00000000000..d69b925ad36 --- /dev/null +++ b/packages/m/meson/meson-1.6.1.tar.gz @@ -0,0 +1 @@ +/ipfs/bafybeig7syj5prw4nhng45aa6it7fi2qg6a3ictut7okt6iygiphggzyjq \ No newline at end of file diff --git a/packages/m/meson/meson-1.6.1.tar.gz.asc b/packages/m/meson/meson-1.6.1.tar.gz.asc new file mode 100644 index 00000000000..2e282c19509 --- /dev/null +++ b/packages/m/meson/meson-1.6.1.tar.gz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEEGeLW2bRtjapiiPh3wk5jG6ux/nAFAmdgl8IACgkQwk5jG6ux +/nDxlg/7BnKdVZkD5yV/7FWvLlndEN81X4gHscJ7U7sChs4lJw2L/pRceD5PJn3n +AGacyubY2yYlbPms6sB/mBe2psG9EebAUrxJ5MKKjW/RPGy+YbIs/VxeSIxfB6dG +FoOWng5bbVrrgZ/h7hiqaaFEMmZhf7xlfHWRC391VX9gyVMi7cgp5tHiGXrDSQ+K +vf6Avq/nBdlMQYahc6sBiQGQl1wDaWeE4lW7Wu4kF0dEYci7eVuaVxmq90Br/ZMV +Je+xYkKbPZuRBUc1RZyBodIb7xqUh+MFk5C5VmfUH0doxKmQLm2A0a3jrUa3E7CG +JXjRw9yJF9Nx4R5KIs73townKR+QirriuVjcd0dkgrjPcwEpH74ILc29eReuo8JI +R5/duPUZwiCeEwV/cnIz8hlgGggAiAIwJg4mW8uMJggVe2jG9aajzSTDQi2ssv+r +57DRDvUE7f0c25//CNX3AvJ9yxT+68WwYaM4nR/Td/oVapDab7beENgF5pOZnhyR +hbWYb0RFLJiB39QIZXXa+Sz2ZwC5M3zZ17FMBtOnISPguYKVKK8Jrt6uVXg1uJ0O +ndfrMJqP0hhZ5k+aR/18xBs657KU3jCj97JLdIWdjKHG/QU3lEQLhcWBUEhukZIS +XsoHvpTNTlDGMNfYmOFZ7V7XMHhNacHTA9gdT49HMtKuz1ol4qk= +=NKmm +-----END PGP SIGNATURE----- diff --git a/packages/m/meson/meson.changes b/packages/m/meson/meson.changes index c968637edb2..953ab8f46e2 100644 --- a/packages/m/meson/meson.changes +++ b/packages/m/meson/meson.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Tue Dec 17 07:21:30 UTC 2024 - Dominique Leuenberger + +- Update to version 1.6.1: + + Handle top level options set in subprojects. + + modernize Rust template. + + CMakeToolchain: Log output on compiler state failure. + + rust: fix computation of library directory. + + modules/rust: Add support for autolib field in the Cargo.toml. +- Drop 13935.patch: fixed upstream. + ------------------------------------------------------------------- Tue Dec 10 14:17:35 UTC 2024 - Dominique Leuenberger diff --git a/packages/m/meson/meson.spec b/packages/m/meson/meson.spec index 1e80e811dbb..022e98c3db3 100644 --- a/packages/m/meson/meson.spec +++ b/packages/m/meson/meson.spec @@ -36,7 +36,7 @@ %bcond_with setuptools %bcond_without mono Name: meson%{name_ext} -Version: 1.6.0 +Version: 1.6.1 Release: 0 Summary: Python-based build system License: Apache-2.0 @@ -51,8 +51,6 @@ Patch0: meson-test-installed-bin.patch Patch1: extend-test-timeout-on-qemu-builds.patch # PATCH-FIX-OPENSUSE meson-distutils.patch -- meson is ring0 and therefor setuptools is not available Patch2: meson-distutils.patch -# PATCH-FIX-UPSTREAM -- Fix test suite with rust 1.83 -Patch3: https://patch-diff.githubusercontent.com/raw/mesonbuild/meson/pull/13935.patch BuildRequires: %{python_module base >= 3.7} BuildRequires: fdupes @@ -190,7 +188,6 @@ Vim/NeoVim. %if !%{with setuptools} %patch -P 2 -p1 %endif -%patch -P 3 -p1 %if 0%{?sle_version} >= 150400 && 0%{?sle_version} < 160000 # AddressSanitizer fails here because of ulimit. diff --git a/packages/m/mozjs128/.files b/packages/m/mozjs128/.files index 771494791cf..cf023791f6c 100644 Binary files a/packages/m/mozjs128/.files and b/packages/m/mozjs128/.files differ diff --git a/packages/m/mozjs128/.rev b/packages/m/mozjs128/.rev index c1f7479b0b4..134cebcac1b 100644 --- a/packages/m/mozjs128/.rev +++ b/packages/m/mozjs128/.rev @@ -63,4 +63,12 @@ 1231258 + + 15916cbb464c6d0802bae24004aca26b + 128.5.1 + + anag+factory + + 1231636 + diff --git a/packages/m/mozjs128/mozjs128-CVE-2024-11403.patch b/packages/m/mozjs128/mozjs128-CVE-2024-11403.patch new file mode 100644 index 00000000000..580f919885d --- /dev/null +++ b/packages/m/mozjs128/mozjs128-CVE-2024-11403.patch @@ -0,0 +1,62 @@ +From 9cc451b91b74ba470fd72bd48c121e9f33d24c99 Mon Sep 17 00:00:00 2001 +From: szabadka <9074039+szabadka@users.noreply.github.com> +Date: Thu, 3 Oct 2024 18:07:38 +0200 +Subject: [PATCH] Port the Huffman lookup table size fix from brunsli. (#3871) + +See also: https://www.youtube.com/watch?v=_ACCK0AUQ8Q&t=696s +--- + lib/jpegli/huffman.h | 16 ++++++++++++---- + lib/jxl/jpeg/enc_jpeg_huffman_decode.h | 16 ++++++++++++---- + 2 files changed, 24 insertions(+), 8 deletions(-) + +--- a/third_party/jpeg-xl/lib/jpegli/huffman.h ++++ b/third_party/jpeg-xl/lib/jpegli/huffman.h +@@ -15,10 +15,18 @@ + + constexpr int kJpegHuffmanRootTableBits = 8; + // Maximum huffman lookup table size. +-// According to zlib/examples/enough.c, 758 entries are always enough for +-// an alphabet of 257 symbols (256 + 1 special symbol for the all 1s code) and +-// max bit length 16 if the root table has 8 bits. +-constexpr int kJpegHuffmanLutSize = 758; ++// Requirements: alphabet of 257 symbols (256 + 1 special symbol for the all 1s ++// code) and max bit length 16, the root table has 8 bits. ++// zlib/examples/enough.c works with an assumption that Huffman code is ++// "complete". Input JPEGs might have this assumption broken, hence the ++// following sum is used as estimate: ++// + number of 1-st level cells ++// + number of symbols ++// + asymptotic amount of repeated 2nd level cells ++// The third number is 1 + 3 + ... + 255 i.e. it is assumed that sub-table of ++// each "size" might be almost completely be filled with repetitions. ++// Total sum is slightly less than 1024,... ++constexpr int kJpegHuffmanLutSize = 1024; + + struct HuffmanTableEntry { + uint8_t bits; // number of bits used for this symbol + +--- a/third_party/jpeg-xl/lib/jxl/jpeg/enc_jpeg_huffman_decode.h ++++ b/third_party/jpeg-xl/lib/jxl/jpeg/enc_jpeg_huffman_decode.h +@@ -15,10 +15,18 @@ + + constexpr int kJpegHuffmanRootTableBits = 8; + // Maximum huffman lookup table size. +-// According to zlib/examples/enough.c, 758 entries are always enough for +-// an alphabet of 257 symbols (256 + 1 special symbol for the all 1s code) and +-// max bit length 16 if the root table has 8 bits. +-constexpr int kJpegHuffmanLutSize = 758; ++// Requirements: alphabet of 257 symbols (256 + 1 special symbol for the all 1s ++// code) and max bit length 16, the root table has 8 bits. ++// zlib/examples/enough.c works with an assumption that Huffman code is ++// "complete". Input JPEGs might have this assumption broken, hence the ++// following sum is used as estimate: ++// + number of 1-st level cells ++// + number of symbols ++// + asymptotic amount of repeated 2nd level cells ++// The third number is 1 + 3 + ... + 255 i.e. it is assumed that sub-table of ++// each "size" might be almost completely be filled with repetitions. ++// Total sum is slightly less than 1024,... ++constexpr int kJpegHuffmanLutSize = 1024; + + struct HuffmanTableEntry { + // Initialize the value to an invalid symbol so that we can recognize it diff --git a/packages/m/mozjs128/mozjs128-CVE-2024-11498.patch b/packages/m/mozjs128/mozjs128-CVE-2024-11498.patch new file mode 100644 index 00000000000..fabe79ed50c --- /dev/null +++ b/packages/m/mozjs128/mozjs128-CVE-2024-11498.patch @@ -0,0 +1,104 @@ +From bf4781a2eed2eef664790170977d1d3d8347efb9 Mon Sep 17 00:00:00 2001 +From: Luca Versari +Date: Thu, 21 Nov 2024 16:33:08 +0100 +Subject: [PATCH] Check height limit in modular trees. (#3943) + +Also rewrite the implementation to use iterative checking instead of +recursive checking of tree property values, to ensure stack usage is +low. + +Before, it was possible for appropriately-crafted files to use a +significant amount of stack (in the order of hundreds of MB). +--- + lib/jxl/modular/encoding/dec_ma.cc | 66 ++++++++++++++++++++---------- + 1 file changed, 45 insertions(+), 21 deletions(-) + +--- a/third_party/jpeg-xl/lib/jxl/modular/encoding/dec_ma.cc ++++ b/third_party/jpeg-xl/lib/jxl/modular/encoding/dec_ma.cc +@@ -8,6 +8,7 @@ + #include + + #include ++#include + + #include "lib/jxl/base/printf_macros.h" + #include "lib/jxl/base/status.h" +@@ -20,23 +21,49 @@ + + namespace { + +-Status ValidateTree( +- const Tree &tree, +- const std::vector> &prop_bounds, +- size_t root) { +- if (tree[root].property == -1) return true; +- size_t p = tree[root].property; +- int val = tree[root].splitval; +- if (prop_bounds[p].first > val) return JXL_FAILURE("Invalid tree"); +- // Splitting at max value makes no sense: left range will be exactly same +- // as parent, right range will be invalid (min > max). +- if (prop_bounds[p].second <= val) return JXL_FAILURE("Invalid tree"); +- auto new_bounds = prop_bounds; +- new_bounds[p].first = val + 1; +- JXL_RETURN_IF_ERROR(ValidateTree(tree, new_bounds, tree[root].lchild)); +- new_bounds[p] = prop_bounds[p]; +- new_bounds[p].second = val; +- return ValidateTree(tree, new_bounds, tree[root].rchild); ++Status ValidateTree(const Tree &tree) { ++ int num_properties = 0; ++ for (auto node : tree) { ++ if (node.property >= num_properties) { ++ num_properties = node.property + 1; ++ } ++ } ++ std::vector height(tree.size()); ++ std::vector> property_ranges( ++ num_properties * tree.size()); ++ for (int i = 0; i < num_properties; i++) { ++ property_ranges[i].first = std::numeric_limits::min(); ++ property_ranges[i].second = std::numeric_limits::max(); ++ } ++ const int kHeightLimit = 2048; ++ for (size_t i = 0; i < tree.size(); i++) { ++ if (height[i] > kHeightLimit) { ++ return JXL_FAILURE("Tree too tall: %d", height[i]); ++ } ++ if (tree[i].property == -1) continue; ++ height[tree[i].lchild] = height[i] + 1; ++ height[tree[i].rchild] = height[i] + 1; ++ for (size_t p = 0; p < static_cast(num_properties); p++) { ++ if (p == static_cast(tree[i].property)) { ++ pixel_type l = property_ranges[i * num_properties + p].first; ++ pixel_type u = property_ranges[i * num_properties + p].second; ++ pixel_type val = tree[i].splitval; ++ if (l > val || u <= val) { ++ return JXL_FAILURE("Invalid tree"); ++ } ++ property_ranges[tree[i].lchild * num_properties + p] = ++ std::make_pair(val + 1, u); ++ property_ranges[tree[i].rchild * num_properties + p] = ++ std::make_pair(l, val); ++ } else { ++ property_ranges[tree[i].lchild * num_properties + p] = ++ property_ranges[i * num_properties + p]; ++ property_ranges[tree[i].rchild * num_properties + p] = ++ property_ranges[i * num_properties + p]; ++ } ++ } ++ } ++ return true; + } + + Status DecodeTree(BitReader *br, ANSSymbolReader *reader, +@@ -85,10 +112,7 @@ + tree->size() + to_decode + 2, Predictor::Zero, 0, 1); + to_decode += 2; + } +- std::vector> prop_bounds; +- prop_bounds.resize(256, {std::numeric_limits::min(), +- std::numeric_limits::max()}); +- return ValidateTree(*tree, prop_bounds, 0); ++ return ValidateTree(*tree); + } + } // namespace + diff --git a/packages/m/mozjs128/mozjs128.changes b/packages/m/mozjs128/mozjs128.changes index 7899a8858b5..3705ac4c011 100644 --- a/packages/m/mozjs128/mozjs128.changes +++ b/packages/m/mozjs128/mozjs128.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Thu Dec 11 13:12:28 UTC 2024 - Cliff Zhao + +- Add mozjs128-CVE-2024-11498.patch: + Backporting bf4781a2 from upstream, Check height limit in modular + trees. Also rewrite the implementation to use iterative checking + instead of recursive checking of tree property values, to ensure + stack usage is low. Before, it was possible for + appropriately-crafted files to use a significant amount of stack. + (CVE-2024-11498, bsc#1233786) + +------------------------------------------------------------------- +Thu Dec 09 11:28:05 UTC 2024 - Cliff Zhao + +- Add mozjs128-CVE-2024-11403.patch: + Backporting 9cc451b9 from upstream, Port the Huffman lookup table + size fix from brunsli. + (CVE-2024-11403, bsc#1233766) + ------------------------------------------------------------------- Thu Dec 05 15:06:01 UTC 2024 - Cliff Zhao diff --git a/packages/m/mozjs128/mozjs128.spec b/packages/m/mozjs128/mozjs128.spec index c0d71cb8244..eed686b4e43 100644 --- a/packages/m/mozjs128/mozjs128.spec +++ b/packages/m/mozjs128/mozjs128.spec @@ -84,6 +84,10 @@ Patch22: mozjs128-CVE-2024-45491.patch Patch23: mozjs128-CVE-2024-45492.patch # PATCH-FIX-UPSTREAM mozjs128-CVE-2024-50602.patch CVE-2024-50602 bsc#1232599 bsc#1232602 qzhao@suse.com -- Make XML_StopParser refuse to stop/suspend an unstarted. Patch24: mozjs128-CVE-2024-50602.patch +# PATCH-FIX-UPSTREAM mozjs128-CVE-2024-11403.patch CVE-2024-11403 bsc#1233766 qzhao@suse.com -- Port the Huffman lookup table size fix from brunsli. +Patch25: mozjs128-CVE-2024-11403.patch +# PATCH-FIX-UPSTREAM mozjs128-CVE-2024-11498.patch CVE-2024-11498 bsc#1233786 qzhao@suse.com -- Check height limit in modular trees. +Patch26: mozjs128-CVE-2024-11498.patch BuildRequires: cargo BuildRequires: ccache BuildRequires: clang @@ -170,6 +174,8 @@ pushd ../.. %patch -P 22 -p1 %patch -P 23 -p1 %patch -P 24 -p1 +%patch -P 25 -p1 +%patch -P 26 -p1 %if %{pkg_vcmp libicu-devel >= 76.1} sed -i 's/icu-i18n/icu-uc &/' js/moz.configure diff --git a/packages/m/mpv/.files b/packages/m/mpv/.files index 369f68d33d5..b4b07490d69 100644 Binary files a/packages/m/mpv/.files and b/packages/m/mpv/.files differ diff --git a/packages/m/mpv/.rev b/packages/m/mpv/.rev index 5bb3a1fdf2d..7a9000c21ef 100644 --- a/packages/m/mpv/.rev +++ b/packages/m/mpv/.rev @@ -2125,4 +2125,520 @@ 1202734 + + df3d426a7b4642051b5a980ffae90ea8 + 0.39.0+git20241217.32d103c58072 + + anag+factory + - 14904.patch: remove obsolete patch +- Update to version 0.39.0+git20241217.32d103c58072: + * meson: bump libdrm version to 2.4.109 + * options: add heic and heif to --image-exts + * ytdl_hook: pass empty proxy value + * demux_lavf: remove obsolete defines + * demux_lavf: detect heif/heic as images + * osc.lua: simplify track ID retrival + * select.lua: abort edition selection when there's only 1 + * DOCS/man/osc: sort mouse bindings consistently + * osc.lua: show the full path when right clicking the title + * osc.lua: open the playlist selector when right clicking playlist arrows + * osc.lua: move title mbtn script-opts below playlist_next's + * DOCS/man/osc: update track middle-click action + * demux_mkv: limit EBML size to 64 MiB for fuzzing + * options: disable playlist and include for fuzzing + * m_property: stop processing after 10 properties even in skip cases + * ao: correctly set state.playing for non-gapless audio after eof + * player/audio: get rid of bogus early return in reinit_audio_filters + * sd_lavc: match video display aspect ratio on SD video in PGS subtitles + * osc.lua: draw box layout below console + * vo: update base_vsync even for initial samples + * vo: use display clock to determine frame_end in display synced case + * vo: extract display synced frame end calculation + * osc.lua: add option to enable fade-in effect + * console.lua: rename dimension variables + * command: signal unavailable error when clipboard is unavailable + * clipboard-vo: make logging verbose when clipboard is unavailable + * clipboard: add CLIPBOARD_UNAVAILABLE error code + * console.lua: clear completions before searching history + * console.lua: remove code repetition to initialize matches + * video/out/gpu/video: don't pass big structs by value when not needed + * m_option: put UPDATE_ flags at the beginning + * console.lua: add margin_{x,y} script-opts + * hwdec_vaapi: don't jump over variable init in try_format_upload + * demux_mkv: fix memory leak of codec params + * configfiles: refactor mp_get_playback_resume_config_filename() + * configfiles: don't use the basename of urls + * console.lua: don't override --osd-bold in completions + * w32_common: guard recursive call to mp_dispatch_queue_process + * player/command: continue hook processing on errors + * player/configfiles: don't loop directory tree if not needed + * options: remove old compatibility definitions + * m_option: don't overlap UPDATE and M_OPT constant values + * osdep/mac/meson.build: remove unused variables + * options/m_option: restore m_geometry_apply centering ability + * meson: use swiftc instead of swift for building + * DOCS/man/mpv: document that g-e selects disc titles + * demux_lavf: simplify replaygain export + * demux_lavf: utilize side data getter for replaygain + * io: support mp_make_wakeup_pipe on Windows + * demux_disc: add playlist filename to edition title if available + * stream_bluray: add STREAM_CTRL_GET_TITLE_PLAYLIST + * demux_disc: expose titles as editions + * stream_bluray: implement STREAM_CTRL_GET_TITLE_LENGTH + * github/workflows: replace ruff-action with a maintained one + * console.lua: fix mp.input.get clients that don't specify completions + * aspect: add --video-recenter + * select.lua: select editions + * demux/stheader: update lav_codecpar's comment + * demux_mkv: propagate global stream side data via codecpar + * demux_lavf: stop global stream side data injection to AVPacket + * console.lua: don't reinsert the next characters on complete + * console.lua: don't complete DLLs on Windows + * defaults.lua: remove outdated comment + * console.lua: complete executables after run + * console.lua: complete filter labels for {a,v}f-command + * console.lua: complete command flags + * console.lua: remove code repetition in complete() + * mac/option: explicitly include and define type of global init variable + * DOCS/man/mpv.rst: add documentation for the numpad +/- key bindings + * etc/input.conf: add KP_PLUS/KP_SUBTRACT key bindings + * command: fix --osd-selected{,-outline}-color + * DOCS/options.rst: specify that gpu-sw only works with OpenGL/Vulkan + * vulkan/context: propagate --gpu-sw on vulkan contexts + * common: ensure MP_HANDLE_OOM is used only on pointers + * ad_lavc: remove unnecesary variable + * options: note that --gamma-auto is only implemented on vo=gpu + * vo_gpu: undeprecate --gamma-factor + * sd_ass: add application/x-font-otf to font_mimetypes + * vf_format: fix format=dolbyvision=no metadata stripping + * player/clipboard/clipboard: don't include global.h in header + * defaults.js: support custom arg in mp.add_key_binding() + * defaults.lua: support custom arg in mp.add_key_binding() + * command: add custom arg for script-binding + * DOCS/man/input.rst: document that WHEEL_* are scalable + * DOCS/man/input.rst: document the scalable commands + * input/cmd: add comment for scalable and is_ignore + * defaults.js: support scalable mp.add_key_binding() + * defaults.lua: support scalable mp.add_key_binding() + * command: make script-binding command scalable + * DOCS: add clipboard documentations + * console.lua: use native clipboard property on win32 and wayland + * video/out/wayland_common: support clipboard monitoring + * command: notify-property command + * clipboard-win: implement clipboard monitoring + * clipboard: add clipboard monitoring API + * clipboard-win: add Windows clipboard backend + * video/out/wayland_common: implement VOCTRL_GET_CLIPBOARD + * video/out/wayland_common: implement clipboard support + * video/out/wayland_common: generalize check_fd + * clipboard-vo: implement VO clipboard backend + * vo: add VOCTRL_GET/SET_CLIPBOARD + * command: add clipboard property + * clipboard: add clipboard API + * DOCS/interface-changes: specify that new additions have to be listed + * osc.lua: show file and track info on title left-click + * osc.lua: cycle sub/audio down on shift+L-click / middle-click + * osc.lua: cycle sub/audio on left-click, select on right-click + * mac: implement VOCTRL_BEGIN_DRAGGING + * bstr: add bstr_xappend0 + * command: highlight selected list items with color + * console.lua: enable runtime updates of script-opts + * player/loadfile: prefer independent track when selecting track + * DOCS/man/options: mention sub-box/osd-box/box profiles + * console.lua: don't append spaces after completion + * console.lua: highlight the first completion in the terminal + * console.lua: update completions after moving the cursor + * player/video: update dynamic hdr params + * console.lua: highlight the first completion suggestion before cycling + * console.lua: save commands in history after autocompletion + * mp_image: always force RGB formats to full-range RGB + * wayland: always recalculate scaling if wl->current_output is not set + * DOCS/man/mpv: improve path docs and clarify config-dir path behavior + * options: rename --sub-ass-hinting to --sub-hinting + * options: rename --sub-ass-shaper to --sub-shaper + * options: rename --sub-ass-line-spacing to --sub-line-spacing + * vo_gpu_next: use display values in target-contrast=auto + * vo_gpu_next: add target-colorspace-hint=auto + * video/out/gpu/context: add target_csp callback to ra_swapchain + * console.lua: expand the first completion on Enter + * console.lua: dont crash when typing a command prefix + * console.lua: show completions as you type + * console.lua: complete fewer properties + * console.lua: determine completions with fuzzy search + * vo_gpu_next: fix mp_image colorspace with some hwdecs + * wayland: don't print same message for fractional and wl_surface scale + * player/loadfile: prefer non-image when selecting video track + * ci/lint-commit-msg: move away from things deprecated in Python 3.9 + * github/workflows: switch Ubuntu mingw-w64 build to pkgconf + * github/workflows: unlink macOS pkg-config if installed + * github/workflows: switch from pkg-config to pkgconf for macOS + * console.lua: limit the length of selectable items + * console.lua: strip multiple lines in selectable items + * video/out/wayland_common: initialize offer fd + * video/out/wayland_common: fix dnd with focus follow mouse + * video/out/wayland_common: extract data offer to a struct + * sub/osd: adjust osd margins + * various: use avcodec_get_supported_config() to resolve deprecation warn + * vo_gpu_next: restore initial hook param value + * vo_gpu_next: clear renderer cache on options update + * vo_gpu_next: remove colospace overrides + * video/mp_image: fix vf=format colorspace override for XYZ + * etc/builtin.conf: add osd-box/sub-box/box profiles + * mac/compat: fix compatibility for deployment targets lower than SDK ver + * console.lua,wayland_common: also detect Wayland if WAYLAND_SOCKET set + * DOCS/man/input.rst: add sections to categorize commands + * DOCS/man/input.rst: make event and hooks sections a level higher + * DOCS/options: add a Video sync section to group related options + * options: move dvd options to stream_dvdnav + * sub/osd_libass: simplify osd bar variable names + * options: move OSD bar opts to a separate struct + * options: move mp_sub_filter_opts to sd_ass.c + * options: remove extra spaces + * common/playlist: don't allocate duplicated playlist_path + * console.lua: don't override the offset of opaque boxes + * console.lua: use OSD margins + * sub/osd/console/stats: use the same 1.65 outline size + * stats.lua: set border size to have similar relative thickness as OSD + * sub/osd/console: adjust font sizes + * meson: define _UCRT_NOISY_NAN to workaround the non-constant NAN define + * loadfile: move mp_format_track_metadata to misc.c + * input/cmd: increase the command length for --input-cmdlist + * input: fix memory leak with scalable input and nonscalable commands + * player/command: remove /100 from sub-pos print + * meson: disable subprocess command for fuzzing + * fuzzer_options_parser: limit input size to 2048 bytes + * defaults.js: send the right number of arguments to input.get callbacks + * defaults.js: fix the opened event with mp.input.get + * meson: rename meson_options.txt to meson.options + * options: increase the default --image-display-duration + * wayland: cleanup check_for_resize function + * video/out/gpu/video: fix chroma offset rotation matrix calculation + * video/out/gpu/video: prevent OOB access when larger angles are used + * sub/osd_libass: don't blur the osd-bar + * DOCS/man/input.rst: remove input commands subject to change heading + * options: add .qoi to the list of image extensions + * ci/win32: restrict shaderc version to fix build errors + * ci/mingw: restrict shaderc version to fix build errors + * ao_audiotrack: make audiotrack jni multi-instance and multi-thread safe + * .github/ISSUE_TEMPLATE: ask for last known working version + * .github/ISSUE_TEMPLATE: unify source of mpv description + * .github/ISSUE_TEMPLATE: clarify the template is for other platforms + * osc.lua: observe playlist-count instead of playlist property + * mac/type: change never mutated variable to let + * videotoolbox: silence OpenGL deprecation warnings + * ao_coreaudio: fix CoreAudio deprecations + * mac/common: fix light sensor deprecations + * vo_gpu_next: set --target-colorspace-hint to `yes` by default + * vo_gpu_next: add a pass_colorspace override for drm + * wayland: guard devices_are_equal completely + * github/workflows: install libdisplay-info on freebsd + * drm: parse edid using libdisplay-info + * vo_gpu: explicitly set target_params to NULL on uninit + * context_drm_gl: add support for hdr metadata + * player/client: reduce log level for hooks not sent to clients + * sd_ass: introduce sub-ass-prune-delay + * sub/sd_ass: set ASS_OVERRIDE_BIT_BLUR if available + * w32_common: update window style after changing maximized state + * vo_gpu_next: add chroma location and HDR metadata to shader parameters + * vo_gpu_next: add dynamic hook parameters + * osdep/terminal: fix dummy implementation + * .luacheckrc: add_hook is not undocumented + * auto_profiles.lua: actually exit when no auto profiles are defined + * defaults.lua: add an exit() function + * video/out/w32_common: don't move window if position isn't set + * video/out/w32_common: always move window when setting state + * fuzzers/fuzzer_json: add simple fuzzing for our json code + * options/m_option: free all list elements when removing them + * m_property: stop expanding strings after 10 properties during fuzzing + * DOCS/man/input: note that properties can be unavailable on init + * DOCS/man/input: remove duplicate paragraph + * DOCS/man/input: suggest normalize-path to get absolute paths + * options/m_option: limit string list to 100 per operation for fuzzing + * encode_lavc: fix memory leak on --ofopts=help + * player/loadfile: limit playlist size to 10 for fuzzing + * options: disallow log-file when fuzzing + * demux_playlist: add data:// to self-expanding protocols + * demux_edl: disallow nested edl to avoid infinite loop + * command: quote input key names in log + * command: use array index for checking first character + * input: fix style + * command: fix keybind command with sequence keys + * command: add the ability to set comment for keybind command + * DOCS/man/input.rst: fix keybind command keyword argument name + * input: deduplicate mp_input_bind_key + * player: don't load encoding mode profile twice + * options: remove stale comment about encoding mode being compiled-in + * console.lua: refine the hovered item calculation + * console.lua: factor OSC margins before the bottom margin + * drm: don't print extra newline on connectors/modes help + * console.lua: use math.ceil in determine_hovered_item() + * console.lua: factor the bottom margin in line calculations + * Revert "console.lua: fix the max log lines calculation" + * DOCS/man/osc.rst: fix binding documentation + * etc/restore-old-bindings.conf: fix comment description + * meson.build: add restore-osc-bindings.conf to conf_files + * DOCS: mention restore-osc-bindings.conf + * etc/restore-osc-bindings.conf: add file to restore old osc bindings + * stats.lua: calculate sizes like --osd-*-size options + * DOCS/contribute.md: fix a typo + * console.lua: update selected item under the cursor on mouse wheel action + * video/mp_image: fix original param copy implementation + * ci/msys2: enable sanitizers for clang build + * DOCS/man/lua: correct example syntax + * DOCS/man/osc: remove non-existent options + * console.lua: restore the bigger default font size + * console.lua: default to a proportional font for select + * osc.lua: hide immediately without animation for select.lua + * console.lua: fix the hovered line calculation without scale with window + * osc.lua: make shift+mbtn_left an alias of mbtn_mid + * osc.lua: remove code repetition for mouse bindings + * osc.lua: rename the tog_fs button + * console.lua: fix the clicked line calculation + * console.lua: document the new hipdi scaling behavior + * console.lua: don't scale with display dpi if scaling with window size + * osc.lua: increase the title font size in box layout + * console.lua: increase the font and border size + * console.lua: add scale_with_window script-opt + * osc.lua: cycle tracks on right click + * osc.lua: don't print auto before tracks are selected + * mac/menu: use show-text instead of old osc script messages + * options: add option to control OSD bar marker style + * options: add options to control OSD bar marker size + * osd_libass: rename marker size variable + * ytdl_hook.lua: track playlist metadata + * Copyright: fix -Dgpl=false description + * Copyright: remove some redundant texts + * Copyright: clean up nonexistent features + * command: remove an extra space from track formatting + * osc.lua: show track-list for one more second + * github: add newline at end of file of pull request template + * github/workflows: add editorconfig linting + * command: print track metadata when changing track + * command: print lang in track-list + * loadfile: reuse circle definitions in command.h + * command: print track metadata in ${track-list} + * laodfile: remove redunant track type check + * demux_playlist: fix comparison for current file if it's in current dir + * video/out/gpu/context: prefer vulkan over opengl when reasonable + * mac/vulkan: add retrieval of color depth and return auto (0) + * vo_gpu_next/vulkan: add mechanism to retrieve color depth in gpu context + * x11: fix --fs-screen=all + * DOCS/man/osc: update default playlist mbtn_right bindings + * osc.lua: don't show the osd-bar on chapter navigation + * osc.lua: cycle window-maximized when right clicking fullscreen + * osc.lua: toggle looping when right clicking playpause + * osc.lua: make mouse bindings customizable + * osc.lua: default chapters_osd and playlist_osd to false + * osc.lua: rename buttons + * osc.lua: bind middle button down instead of up for tracks + * osc.lua: open select.lua by clicking buttons + * osc.lua: show stats page 5 when clicking the title + * osc.lua: add osc-hide script-message + * osc.lua: show the playlist position when playing multiple files + * command: don't print unneeded new lines for track-list + * options: add --script-opt alias for --script-opts-append + * osdep/io: remove duplicated code for error to string conversion + * osc.lua: seek to the nearest chapter when right clicking the seekbar + * vo_gpu_next: raise LUT file max size and report an error if exceeded + * player/javascript: disable stream error logging + * stream: allow max_size of 0 for stream_read_complete + * player/javascript: allow reading partial result for af_push_file + * demux_playlist: use STREAM_READ_FILE_FLAGS_DEFAULT + * stream: add STREAM_READ_FILE_FLAGS_DEFAULT + * stream: add STREAM_ALLOW_PARTIAL_READ flag + * player/javascript: use af for stream_read_file talloc context + * osc.lua: replace escaped double quotes with single quotes + * console.lua: exit when left clicking outside of selectable items + * workflows/comment: don't error out on closed pull requests + * workflows/build: remove safe.directory git config + * stats.lua: remove term_height_limit script-opt + * stats.lua: don't print the scroll hint with bindlist + * stats.lua: clip lines with ${term-clip-cc} + * stats.lua: indent terminal output with 4 spaces instead of tab + * DOCS/man/stats: bindlist: use --script-opts-append + * misc/codepoint_width: assume tabstop width to be 8 + * player/osd: don't add newlines when message would be empty anyway + * msg: skip formatting if there is only control char present + * msg: add newline conditionally + * x11: remove nvidia blacklist logic from --x11-present=auto + * DOCS/man/input: input-bindings can change at runtime + * ci/win32: use upstream meson + * player/javascript: use stream_read_file for af_push_file + * options/parse_configfile: use stream_read_file2 for reading config + * input: use stream_read_file2 for reading config + * stream: delete extra newline + * stream: add stream_read_file2 + * Revert "editorconfig: punish tab usage" + * mac/remote: show external covers in Now Playing Info Center + * mac/event: add MPV_FORMAT_NODE handler + * mac/type: add mpv_node type conversion helpers + * mac/app: add option to adjust Bundle PATH variable + * wayland: be less stupid with color surface creation + * msg: use .. instead of … as ellipsis char + * various: convert tabs to spaces + * wayland: don't use functions not available in libplacebo338 + * various: use mp_tprintf_buf wrapper to work around mingw garbage + * ci/build-common: add -D_FORTIFY_SOURCE=3 + * ci/build-openbsd: don't enable cdda + * ci: refactor ci so common args are picked from one location + * msg: fix width with ellipsis + * options: rename --load-osd-console to --load-console + * msg: fix clipped output to non-tty + * msg: use … instead of ... dots + * stats.lua: don't use io.write from builtin script + * msg: don't format status line if not printing to terminal + * console.lua: don't clear not ours osd messages + * DOCS/man/console.rst: document mouse bindings + * stats.lua: exit with ESC if being toggled + * meson: add back '-Wno-unused-result' for gcc + * DOCS: explain origin of sigmoidization + * filter_kernels: explain origin of LanczosSharp(est) filters + * filter_kernels: link to explanation of ginseng filter + * wayland: don't access vo->target_params directly + * osc.lua: remove NIH list formatting + * DOCS/input: list property values are not useless + * command: implement printing ${track-list/{video,audio,sub}} + * command: print the number of chapters in show-text ${chapter-list} + * command: consider the terminal height in cut_osd_list() + * command: print position/count in show-text ${playlist} + * osd_libass: fix integer overflow in osd_get_text_size() + * console.lua: improve hovered line calculation + * console.lua: make the wheel scroll selectable items instead of the match + * console.lua: print position/count instead of n hidden items + * sub/sd_ass: handle subs with unknown durations on a per packet basis + * player: make redraw_sub flag work on a per track basis + * player/command: destroy cached packets after UPDATE_SUB_{FILT,HARD} + * player: move a redraw_subs edgecase to loadfile + * player/sub: avoid pointlessly redecoding subs + * wayland: map BT.1886 to BT.709 for color-management protocol + * osdep/subprocess: log subprocess error as verbose if killed by us + * wayland: add support for xx-color-management-v4 for vo_dmabuf_wayland + * mac/common: fix usage of vo struct after vo uninit race + * cocoa-cb: only request EDR on opengl layer for supported color spaces + * mac/app: add homebrew ARM install paths to the bundle PATH environment + * cocoa-cb: fix race on shutdown and toggling fullscreen + * input.conf: bind ? to show key bindings + * console.lua: center selectable items around the default item + * console.lua: highlight the select menu's preselected item + * console.lua: close with right click + * video/out/x11_common: make IME work (for libmpv usage) + * build: fix dynamic generation of mpv.desktop file protocols + * stats.lua: add nonscalable prefix to cmd_prefixes + * console.lua: add nonscalable prefix to command_prefixes + * input/cmd: add nonscalable prefix + * ci/build-linux-old: add missing Werror + * stats.lua: rename a variable + * stream_cdda: stop suppressing -Wscript-prototypes + * osdep: remove semaphore-mac + * wayland: use wp-presentation v2 if available + * hwdec_vaapi: try format upload lazily + * msg: strip control char also when not printing to terminal + * vo_gpu_next: suppress tone_mapping_param deprecation warning + * console.lua: use ${term-clip-cc} to clip lines + * msg: allow to truncate the message to terminal width + * misc/codepoint_width: add unicode width detection support + * win32: always fit to the screen on initial positioning + * ci/win32: add libjxl + * DOCS/man/options.rst: add gpu-next differences to --scale-antiring + * win32: center geometry, but only at start + * vulkan/context: make use of VK_EXT_shader_object only if available + * ytdl_hook.lua: always specify --write-srt + * options: mark sub-lavc-o as UPDATE_SUB_HARD + * player/sub: ensure subtitles are updated for images with no audio + * test: only run ffmpeg tests on release versions + * win32: set consoleAllocationPolicy to detached in the manifest + * vo_gpu_next: force a reset when --image-lut is updated + * win32: keep prev_windowrc consistent also for maximized state + * ytdl_hook.lua: add include script-opt of URLs to try with ytdl first + * ytdl_hook.lua: lower case URLs for exclude matching + * command: avoid division by zero in av_timecode_make_string() + * vulkan/context: use VK_EXT_shader_object if available + * console.lua: allow clicking selectable items + * wayland: replace old keymap if we receive a new keymap event + * demux_playlist: ensure the file is added to autocreated playlist + * ci/macos: shift macOS versions to 13-15 + * win32: don't change window size on video reconfig when maximized + * win32: fix window size restore after maximize state + * ci/lint: fix missing return value in lint-commit-msg + * ci/lint: add flake8-commas check + * ci/lint: add isort checks + * ci/lint: check for pep8 naming convention + * ci/lint: add pyupgrade check + * ci/lint: ensure double quotes are used in python + * ci/lint: enable pyflakes and pycodestyle checks + * ci/lint: add python linting + * mp_image: restore dovi metadata before converting to AVFrame + * vf_format: set original params when converting format + * mp_image: only restore params when image is dolbyvision + * mp_image: copy params before dovi mapping for mp_image_copy_attributes + * mac: remove unnecessary window size change check + * DOCS/input: clarify display-names naming on macOS + * mac/swift: fix typo in mpv_event_id string representation + * meson: error out when swift unavailable or disabled and cplayer enabled + * mac/app: fix building with swift disabled + * docs: remove stray newlines + * ci/{openbsd,win32}: bump FFmpeg to 7.1 + * ci/msys2: removed unused clang32 reference + * Revert "ci/msys2: disable some features for 32-bit build" + * README.md: reference nasm instead of yasm + * d3d11_helpers: remove leftover variables + * github/workflows: drop clang32 + * mac/common: don't unconditionally move the window on geometry changes + * x11: don't unconditionally move the window on geometry changes + * win_state: move window centering to vo_calc_window_geometry + * win_state: remove redundant vo_calc_window_geometry functions + * stats.lua: allow keybindings to toggle the display of a specific page + * stats.lua: scroll keybindings while filtering them + * input.lua,defaults.js: don't hardcode mp.input arguments + * stats.lua: filter keybindings by comment + * f_hwtransfer: fix too aggressive preference to use direct upload format + * bstr: add missing function docs + * f_hwtransfer: fix upload formats selection + * f_hwtransfer: ensure that we convert to full range rgb with scale_vaapi + * wayland: support multiple devices and tranches when querying formats + * ci/mingw: pass --enable-gpl to ffmpeg's configure + * vo_{dmabuf_wayland,wlshm}: use proper values with MP_ALIGN_{UP,DOWN} + * ci/mingw: update fribidi to 1.0.16 + * ci/mingw: update harfbuzz to 10.0.1 + * ci/mingw: update freetype to 2.13.3 + * various: remove global.h inclusion where not needed + * options: enable handling --no-hwdec as --hwdec=no + * zsh-completion: fix completing --screenshot-avif-opts-* + * ra_wldambuf: don't unconditionally filter out non-planar formats + * wayland: rename gpu_formats to planar_formats + * wayland_common: fix some stray tabs + * vf_d3d11vpp: add NVIDIA RTX Video HDR support + * video/decode/vd_lavc: fix null deref when hwdec is empty + * player/external_files: fix null deref when cover-art-whitelist is empty + * msg: print format string on format errors + * bstr: don't abort on format error in bstr_xappend_vasprintf + * bstr: use vsnprintf with a proper size of 0 instead of a 1-sized buffer + * ao_coreaudio: fix nan in ca_get_device_latency_ns + * misc/random: seed using libavutil/random_seed + * options: force --ab-loop-count and --loop-file notification + * lua: remove unused #define mp_lua_len + * demux_mkv: drop image probing down to 10000 blocks + * demux_mkv: add missing color repr init + * meson: replace vector code compile check with function attribute check + * meson: bump required version to 1.3.0 + * stats.lua: add timecode display + * command: add video-frame-info/{gop,smpte,estimated-smpte}-timecode + * input: skip BOM properly + * DOCS/man/mpv.rst: clarify configuration files should be UTF-8 + * console.lua: clear terminal msg after changing to OSD display + * vf_d3d11vpp: remove unnecessary compatibility defines + * d3d11_helpers: remove not needed compatibility define + * opengl/context_dxinterop: remove unnecessary compatibility defines + * osdep/timer-win32: remove unnecessary compatibility defines + * osdep/terminal-win: remove unnecessary compatibility defines + * osdep/main-fn-win: remove unnecessary compatibility defines + * win32: remove pathcch compatibility code + * w32_common: remove backward compatibility code + * win32: remove dxgi debug checks + * player/main: guard smtc.h include + * build: ensure HAVE_WIN32_SMTC is always defined +- Remove unnecessary Requires(post,postun) which pulled in >180MiB + + 1231861 + diff --git a/packages/m/mpv/14904.patch b/packages/m/mpv/14904.patch deleted file mode 100644 index feb1a1621a9..00000000000 --- a/packages/m/mpv/14904.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 4a13272da91f0c3e11c53a12a7bd2792ed92f509 Mon Sep 17 00:00:00 2001 -From: llyyr -Date: Mon, 23 Sep 2024 23:31:47 +0530 -Subject: [PATCH] player/main: guard smtc.h include - -also remove defined() since undefined macros are treated as 0. ---- - player/main.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -diff --git a/player/main.c b/player/main.c -index c6a78dfe316f7..21478a6e5f9ba 100644 ---- a/player/main.c -+++ b/player/main.c -@@ -36,7 +36,6 @@ - #include "osdep/threads.h" - #include "osdep/timer.h" - #include "osdep/main-fn.h" --#include "osdep/win32/smtc.h" - - #include "common/av_log.h" - #include "common/codecs.h" -@@ -72,6 +71,10 @@ static const char def_config[] = - #include "etc/builtin.conf.inc" - ; - -+#if HAVE_WIN32_SMTC -+#include "osdep/win32/smtc.h" -+#endif -+ - #if HAVE_COCOA - #include "osdep/mac/app_bridge.h" - #endif -@@ -399,7 +402,7 @@ int mp_initialize(struct MPContext *mpctx, char **options) - cocoa_set_mpv_handle(ctx); - #endif - --#if defined(HAVE_WIN32_SMTC) && HAVE_WIN32_SMTC -+#if HAVE_WIN32_SMTC - if (opts->media_controls == 2 || (mpctx->is_cli && opts->media_controls == 1)) - mp_smtc_init(mp_new_client(mpctx->clients, "SystemMediaTransportControls")); - #endif diff --git a/packages/m/mpv/_servicedata b/packages/m/mpv/_servicedata index 8368cf4a4a0..f79ead3c85f 100644 --- a/packages/m/mpv/_servicedata +++ b/packages/m/mpv/_servicedata @@ -1,4 +1,4 @@ https://github.com/mpv-player/mpv.git - b64c53f730bd4cd4ba0e7001a4a1b611af754018 \ No newline at end of file + 32d103c58072f117817c42c8947a0aebbc263639 \ No newline at end of file diff --git a/packages/m/mpv/mpv-0.39.0+git20240923.b64c53f730bd.obscpio b/packages/m/mpv/mpv-0.39.0+git20240923.b64c53f730bd.obscpio deleted file mode 120000 index 7268383ce47..00000000000 --- a/packages/m/mpv/mpv-0.39.0+git20240923.b64c53f730bd.obscpio +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeieiqj6ql36t2da7g2ozdwljjur2wgnbelv67ui2bwtdwsj75b2okq \ No newline at end of file diff --git a/packages/m/mpv/mpv-0.39.0+git20241217.32d103c58072.obscpio b/packages/m/mpv/mpv-0.39.0+git20241217.32d103c58072.obscpio new file mode 120000 index 00000000000..f011494db91 --- /dev/null +++ b/packages/m/mpv/mpv-0.39.0+git20241217.32d103c58072.obscpio @@ -0,0 +1 @@ +/ipfs/bafybeihuanup35sc76ykqjc5m2ap4jeanisgu3eyid4fg4zhjar3sl7bb4 \ No newline at end of file diff --git a/packages/m/mpv/mpv.changes b/packages/m/mpv/mpv.changes index 65c830a3d21..c45021daa7e 100644 --- a/packages/m/mpv/mpv.changes +++ b/packages/m/mpv/mpv.changes @@ -1,3 +1,519 @@ +------------------------------------------------------------------- +Wed Dec 18 11:08:35 UTC 2024 - llyyr@yukari.in + +- 14904.patch: remove obsolete patch +- Update to version 0.39.0+git20241217.32d103c58072: + * meson: bump libdrm version to 2.4.109 + * options: add heic and heif to --image-exts + * ytdl_hook: pass empty proxy value + * demux_lavf: remove obsolete defines + * demux_lavf: detect heif/heic as images + * osc.lua: simplify track ID retrival + * select.lua: abort edition selection when there's only 1 + * DOCS/man/osc: sort mouse bindings consistently + * osc.lua: show the full path when right clicking the title + * osc.lua: open the playlist selector when right clicking playlist arrows + * osc.lua: move title mbtn script-opts below playlist_next's + * DOCS/man/osc: update track middle-click action + * demux_mkv: limit EBML size to 64 MiB for fuzzing + * options: disable playlist and include for fuzzing + * m_property: stop processing after 10 properties even in skip cases + * ao: correctly set state.playing for non-gapless audio after eof + * player/audio: get rid of bogus early return in reinit_audio_filters + * sd_lavc: match video display aspect ratio on SD video in PGS subtitles + * osc.lua: draw box layout below console + * vo: update base_vsync even for initial samples + * vo: use display clock to determine frame_end in display synced case + * vo: extract display synced frame end calculation + * osc.lua: add option to enable fade-in effect + * console.lua: rename dimension variables + * command: signal unavailable error when clipboard is unavailable + * clipboard-vo: make logging verbose when clipboard is unavailable + * clipboard: add CLIPBOARD_UNAVAILABLE error code + * console.lua: clear completions before searching history + * console.lua: remove code repetition to initialize matches + * video/out/gpu/video: don't pass big structs by value when not needed + * m_option: put UPDATE_ flags at the beginning + * console.lua: add margin_{x,y} script-opts + * hwdec_vaapi: don't jump over variable init in try_format_upload + * demux_mkv: fix memory leak of codec params + * configfiles: refactor mp_get_playback_resume_config_filename() + * configfiles: don't use the basename of urls + * console.lua: don't override --osd-bold in completions + * w32_common: guard recursive call to mp_dispatch_queue_process + * player/command: continue hook processing on errors + * player/configfiles: don't loop directory tree if not needed + * options: remove old compatibility definitions + * m_option: don't overlap UPDATE and M_OPT constant values + * osdep/mac/meson.build: remove unused variables + * options/m_option: restore m_geometry_apply centering ability + * meson: use swiftc instead of swift for building + * DOCS/man/mpv: document that g-e selects disc titles + * demux_lavf: simplify replaygain export + * demux_lavf: utilize side data getter for replaygain + * io: support mp_make_wakeup_pipe on Windows + * demux_disc: add playlist filename to edition title if available + * stream_bluray: add STREAM_CTRL_GET_TITLE_PLAYLIST + * demux_disc: expose titles as editions + * stream_bluray: implement STREAM_CTRL_GET_TITLE_LENGTH + * github/workflows: replace ruff-action with a maintained one + * console.lua: fix mp.input.get clients that don't specify completions + * aspect: add --video-recenter + * select.lua: select editions + * demux/stheader: update lav_codecpar's comment + * demux_mkv: propagate global stream side data via codecpar + * demux_lavf: stop global stream side data injection to AVPacket + * console.lua: don't reinsert the next characters on complete + * console.lua: don't complete DLLs on Windows + * defaults.lua: remove outdated comment + * console.lua: complete executables after run + * console.lua: complete filter labels for {a,v}f-command + * console.lua: complete command flags + * console.lua: remove code repetition in complete() + * mac/option: explicitly include and define type of global init variable + * DOCS/man/mpv.rst: add documentation for the numpad +/- key bindings + * etc/input.conf: add KP_PLUS/KP_SUBTRACT key bindings + * command: fix --osd-selected{,-outline}-color + * DOCS/options.rst: specify that gpu-sw only works with OpenGL/Vulkan + * vulkan/context: propagate --gpu-sw on vulkan contexts + * common: ensure MP_HANDLE_OOM is used only on pointers + * ad_lavc: remove unnecesary variable + * options: note that --gamma-auto is only implemented on vo=gpu + * vo_gpu: undeprecate --gamma-factor + * sd_ass: add application/x-font-otf to font_mimetypes + * vf_format: fix format=dolbyvision=no metadata stripping + * player/clipboard/clipboard: don't include global.h in header + * defaults.js: support custom arg in mp.add_key_binding() + * defaults.lua: support custom arg in mp.add_key_binding() + * command: add custom arg for script-binding + * DOCS/man/input.rst: document that WHEEL_* are scalable + * DOCS/man/input.rst: document the scalable commands + * input/cmd: add comment for scalable and is_ignore + * defaults.js: support scalable mp.add_key_binding() + * defaults.lua: support scalable mp.add_key_binding() + * command: make script-binding command scalable + * DOCS: add clipboard documentations + * console.lua: use native clipboard property on win32 and wayland + * video/out/wayland_common: support clipboard monitoring + * command: notify-property command + * clipboard-win: implement clipboard monitoring + * clipboard: add clipboard monitoring API + * clipboard-win: add Windows clipboard backend + * video/out/wayland_common: implement VOCTRL_GET_CLIPBOARD + * video/out/wayland_common: implement clipboard support + * video/out/wayland_common: generalize check_fd + * clipboard-vo: implement VO clipboard backend + * vo: add VOCTRL_GET/SET_CLIPBOARD + * command: add clipboard property + * clipboard: add clipboard API + * DOCS/interface-changes: specify that new additions have to be listed + * osc.lua: show file and track info on title left-click + * osc.lua: cycle sub/audio down on shift+L-click / middle-click + * osc.lua: cycle sub/audio on left-click, select on right-click + * mac: implement VOCTRL_BEGIN_DRAGGING + * bstr: add bstr_xappend0 + * command: highlight selected list items with color + * console.lua: enable runtime updates of script-opts + * player/loadfile: prefer independent track when selecting track + * DOCS/man/options: mention sub-box/osd-box/box profiles + * console.lua: don't append spaces after completion + * console.lua: highlight the first completion in the terminal + * console.lua: update completions after moving the cursor + * player/video: update dynamic hdr params + * console.lua: highlight the first completion suggestion before cycling + * console.lua: save commands in history after autocompletion + * mp_image: always force RGB formats to full-range RGB + * wayland: always recalculate scaling if wl->current_output is not set + * DOCS/man/mpv: improve path docs and clarify config-dir path behavior + * options: rename --sub-ass-hinting to --sub-hinting + * options: rename --sub-ass-shaper to --sub-shaper + * options: rename --sub-ass-line-spacing to --sub-line-spacing + * vo_gpu_next: use display values in target-contrast=auto + * vo_gpu_next: add target-colorspace-hint=auto + * video/out/gpu/context: add target_csp callback to ra_swapchain + * console.lua: expand the first completion on Enter + * console.lua: dont crash when typing a command prefix + * console.lua: show completions as you type + * console.lua: complete fewer properties + * console.lua: determine completions with fuzzy search + * vo_gpu_next: fix mp_image colorspace with some hwdecs + * wayland: don't print same message for fractional and wl_surface scale + * player/loadfile: prefer non-image when selecting video track + * ci/lint-commit-msg: move away from things deprecated in Python 3.9 + * github/workflows: switch Ubuntu mingw-w64 build to pkgconf + * github/workflows: unlink macOS pkg-config if installed + * github/workflows: switch from pkg-config to pkgconf for macOS + * console.lua: limit the length of selectable items + * console.lua: strip multiple lines in selectable items + * video/out/wayland_common: initialize offer fd + * video/out/wayland_common: fix dnd with focus follow mouse + * video/out/wayland_common: extract data offer to a struct + * sub/osd: adjust osd margins + * various: use avcodec_get_supported_config() to resolve deprecation warn + * vo_gpu_next: restore initial hook param value + * vo_gpu_next: clear renderer cache on options update + * vo_gpu_next: remove colospace overrides + * video/mp_image: fix vf=format colorspace override for XYZ + * etc/builtin.conf: add osd-box/sub-box/box profiles + * mac/compat: fix compatibility for deployment targets lower than SDK ver + * console.lua,wayland_common: also detect Wayland if WAYLAND_SOCKET set + * DOCS/man/input.rst: add sections to categorize commands + * DOCS/man/input.rst: make event and hooks sections a level higher + * DOCS/options: add a Video sync section to group related options + * options: move dvd options to stream_dvdnav + * sub/osd_libass: simplify osd bar variable names + * options: move OSD bar opts to a separate struct + * options: move mp_sub_filter_opts to sd_ass.c + * options: remove extra spaces + * common/playlist: don't allocate duplicated playlist_path + * console.lua: don't override the offset of opaque boxes + * console.lua: use OSD margins + * sub/osd/console/stats: use the same 1.65 outline size + * stats.lua: set border size to have similar relative thickness as OSD + * sub/osd/console: adjust font sizes + * meson: define _UCRT_NOISY_NAN to workaround the non-constant NAN define + * loadfile: move mp_format_track_metadata to misc.c + * input/cmd: increase the command length for --input-cmdlist + * input: fix memory leak with scalable input and nonscalable commands + * player/command: remove /100 from sub-pos print + * meson: disable subprocess command for fuzzing + * fuzzer_options_parser: limit input size to 2048 bytes + * defaults.js: send the right number of arguments to input.get callbacks + * defaults.js: fix the opened event with mp.input.get + * meson: rename meson_options.txt to meson.options + * options: increase the default --image-display-duration + * wayland: cleanup check_for_resize function + * video/out/gpu/video: fix chroma offset rotation matrix calculation + * video/out/gpu/video: prevent OOB access when larger angles are used + * sub/osd_libass: don't blur the osd-bar + * DOCS/man/input.rst: remove input commands subject to change heading + * options: add .qoi to the list of image extensions + * ci/win32: restrict shaderc version to fix build errors + * ci/mingw: restrict shaderc version to fix build errors + * ao_audiotrack: make audiotrack jni multi-instance and multi-thread safe + * .github/ISSUE_TEMPLATE: ask for last known working version + * .github/ISSUE_TEMPLATE: unify source of mpv description + * .github/ISSUE_TEMPLATE: clarify the template is for other platforms + * osc.lua: observe playlist-count instead of playlist property + * mac/type: change never mutated variable to let + * videotoolbox: silence OpenGL deprecation warnings + * ao_coreaudio: fix CoreAudio deprecations + * mac/common: fix light sensor deprecations + * vo_gpu_next: set --target-colorspace-hint to `yes` by default + * vo_gpu_next: add a pass_colorspace override for drm + * wayland: guard devices_are_equal completely + * github/workflows: install libdisplay-info on freebsd + * drm: parse edid using libdisplay-info + * vo_gpu: explicitly set target_params to NULL on uninit + * context_drm_gl: add support for hdr metadata + * player/client: reduce log level for hooks not sent to clients + * sd_ass: introduce sub-ass-prune-delay + * sub/sd_ass: set ASS_OVERRIDE_BIT_BLUR if available + * w32_common: update window style after changing maximized state + * vo_gpu_next: add chroma location and HDR metadata to shader parameters + * vo_gpu_next: add dynamic hook parameters + * osdep/terminal: fix dummy implementation + * .luacheckrc: add_hook is not undocumented + * auto_profiles.lua: actually exit when no auto profiles are defined + * defaults.lua: add an exit() function + * video/out/w32_common: don't move window if position isn't set + * video/out/w32_common: always move window when setting state + * fuzzers/fuzzer_json: add simple fuzzing for our json code + * options/m_option: free all list elements when removing them + * m_property: stop expanding strings after 10 properties during fuzzing + * DOCS/man/input: note that properties can be unavailable on init + * DOCS/man/input: remove duplicate paragraph + * DOCS/man/input: suggest normalize-path to get absolute paths + * options/m_option: limit string list to 100 per operation for fuzzing + * encode_lavc: fix memory leak on --ofopts=help + * player/loadfile: limit playlist size to 10 for fuzzing + * options: disallow log-file when fuzzing + * demux_playlist: add data:// to self-expanding protocols + * demux_edl: disallow nested edl to avoid infinite loop + * command: quote input key names in log + * command: use array index for checking first character + * input: fix style + * command: fix keybind command with sequence keys + * command: add the ability to set comment for keybind command + * DOCS/man/input.rst: fix keybind command keyword argument name + * input: deduplicate mp_input_bind_key + * player: don't load encoding mode profile twice + * options: remove stale comment about encoding mode being compiled-in + * console.lua: refine the hovered item calculation + * console.lua: factor OSC margins before the bottom margin + * drm: don't print extra newline on connectors/modes help + * console.lua: use math.ceil in determine_hovered_item() + * console.lua: factor the bottom margin in line calculations + * Revert "console.lua: fix the max log lines calculation" + * DOCS/man/osc.rst: fix binding documentation + * etc/restore-old-bindings.conf: fix comment description + * meson.build: add restore-osc-bindings.conf to conf_files + * DOCS: mention restore-osc-bindings.conf + * etc/restore-osc-bindings.conf: add file to restore old osc bindings + * stats.lua: calculate sizes like --osd-*-size options + * DOCS/contribute.md: fix a typo + * console.lua: update selected item under the cursor on mouse wheel action + * video/mp_image: fix original param copy implementation + * ci/msys2: enable sanitizers for clang build + * DOCS/man/lua: correct example syntax + * DOCS/man/osc: remove non-existent options + * console.lua: restore the bigger default font size + * console.lua: default to a proportional font for select + * osc.lua: hide immediately without animation for select.lua + * console.lua: fix the hovered line calculation without scale with window + * osc.lua: make shift+mbtn_left an alias of mbtn_mid + * osc.lua: remove code repetition for mouse bindings + * osc.lua: rename the tog_fs button + * console.lua: fix the clicked line calculation + * console.lua: document the new hipdi scaling behavior + * console.lua: don't scale with display dpi if scaling with window size + * osc.lua: increase the title font size in box layout + * console.lua: increase the font and border size + * console.lua: add scale_with_window script-opt + * osc.lua: cycle tracks on right click + * osc.lua: don't print auto before tracks are selected + * mac/menu: use show-text instead of old osc script messages + * options: add option to control OSD bar marker style + * options: add options to control OSD bar marker size + * osd_libass: rename marker size variable + * ytdl_hook.lua: track playlist metadata + * Copyright: fix -Dgpl=false description + * Copyright: remove some redundant texts + * Copyright: clean up nonexistent features + * command: remove an extra space from track formatting + * osc.lua: show track-list for one more second + * github: add newline at end of file of pull request template + * github/workflows: add editorconfig linting + * command: print track metadata when changing track + * command: print lang in track-list + * loadfile: reuse circle definitions in command.h + * command: print track metadata in ${track-list} + * laodfile: remove redunant track type check + * demux_playlist: fix comparison for current file if it's in current dir + * video/out/gpu/context: prefer vulkan over opengl when reasonable + * mac/vulkan: add retrieval of color depth and return auto (0) + * vo_gpu_next/vulkan: add mechanism to retrieve color depth in gpu context + * x11: fix --fs-screen=all + * DOCS/man/osc: update default playlist mbtn_right bindings + * osc.lua: don't show the osd-bar on chapter navigation + * osc.lua: cycle window-maximized when right clicking fullscreen + * osc.lua: toggle looping when right clicking playpause + * osc.lua: make mouse bindings customizable + * osc.lua: default chapters_osd and playlist_osd to false + * osc.lua: rename buttons + * osc.lua: bind middle button down instead of up for tracks + * osc.lua: open select.lua by clicking buttons + * osc.lua: show stats page 5 when clicking the title + * osc.lua: add osc-hide script-message + * osc.lua: show the playlist position when playing multiple files + * command: don't print unneeded new lines for track-list + * options: add --script-opt alias for --script-opts-append + * osdep/io: remove duplicated code for error to string conversion + * osc.lua: seek to the nearest chapter when right clicking the seekbar + * vo_gpu_next: raise LUT file max size and report an error if exceeded + * player/javascript: disable stream error logging + * stream: allow max_size of 0 for stream_read_complete + * player/javascript: allow reading partial result for af_push_file + * demux_playlist: use STREAM_READ_FILE_FLAGS_DEFAULT + * stream: add STREAM_READ_FILE_FLAGS_DEFAULT + * stream: add STREAM_ALLOW_PARTIAL_READ flag + * player/javascript: use af for stream_read_file talloc context + * osc.lua: replace escaped double quotes with single quotes + * console.lua: exit when left clicking outside of selectable items + * workflows/comment: don't error out on closed pull requests + * workflows/build: remove safe.directory git config + * stats.lua: remove term_height_limit script-opt + * stats.lua: don't print the scroll hint with bindlist + * stats.lua: clip lines with ${term-clip-cc} + * stats.lua: indent terminal output with 4 spaces instead of tab + * DOCS/man/stats: bindlist: use --script-opts-append + * misc/codepoint_width: assume tabstop width to be 8 + * player/osd: don't add newlines when message would be empty anyway + * msg: skip formatting if there is only control char present + * msg: add newline conditionally + * x11: remove nvidia blacklist logic from --x11-present=auto + * DOCS/man/input: input-bindings can change at runtime + * ci/win32: use upstream meson + * player/javascript: use stream_read_file for af_push_file + * options/parse_configfile: use stream_read_file2 for reading config + * input: use stream_read_file2 for reading config + * stream: delete extra newline + * stream: add stream_read_file2 + * Revert "editorconfig: punish tab usage" + * mac/remote: show external covers in Now Playing Info Center + * mac/event: add MPV_FORMAT_NODE handler + * mac/type: add mpv_node type conversion helpers + * mac/app: add option to adjust Bundle PATH variable + * wayland: be less stupid with color surface creation + * msg: use .. instead of … as ellipsis char + * various: convert tabs to spaces + * wayland: don't use functions not available in libplacebo338 + * various: use mp_tprintf_buf wrapper to work around mingw garbage + * ci/build-common: add -D_FORTIFY_SOURCE=3 + * ci/build-openbsd: don't enable cdda + * ci: refactor ci so common args are picked from one location + * msg: fix width with ellipsis + * options: rename --load-osd-console to --load-console + * msg: fix clipped output to non-tty + * msg: use … instead of ... dots + * stats.lua: don't use io.write from builtin script + * msg: don't format status line if not printing to terminal + * console.lua: don't clear not ours osd messages + * DOCS/man/console.rst: document mouse bindings + * stats.lua: exit with ESC if being toggled + * meson: add back '-Wno-unused-result' for gcc + * DOCS: explain origin of sigmoidization + * filter_kernels: explain origin of LanczosSharp(est) filters + * filter_kernels: link to explanation of ginseng filter + * wayland: don't access vo->target_params directly + * osc.lua: remove NIH list formatting + * DOCS/input: list property values are not useless + * command: implement printing ${track-list/{video,audio,sub}} + * command: print the number of chapters in show-text ${chapter-list} + * command: consider the terminal height in cut_osd_list() + * command: print position/count in show-text ${playlist} + * osd_libass: fix integer overflow in osd_get_text_size() + * console.lua: improve hovered line calculation + * console.lua: make the wheel scroll selectable items instead of the match + * console.lua: print position/count instead of n hidden items + * sub/sd_ass: handle subs with unknown durations on a per packet basis + * player: make redraw_sub flag work on a per track basis + * player/command: destroy cached packets after UPDATE_SUB_{FILT,HARD} + * player: move a redraw_subs edgecase to loadfile + * player/sub: avoid pointlessly redecoding subs + * wayland: map BT.1886 to BT.709 for color-management protocol + * osdep/subprocess: log subprocess error as verbose if killed by us + * wayland: add support for xx-color-management-v4 for vo_dmabuf_wayland + * mac/common: fix usage of vo struct after vo uninit race + * cocoa-cb: only request EDR on opengl layer for supported color spaces + * mac/app: add homebrew ARM install paths to the bundle PATH environment + * cocoa-cb: fix race on shutdown and toggling fullscreen + * input.conf: bind ? to show key bindings + * console.lua: center selectable items around the default item + * console.lua: highlight the select menu's preselected item + * console.lua: close with right click + * video/out/x11_common: make IME work (for libmpv usage) + * build: fix dynamic generation of mpv.desktop file protocols + * stats.lua: add nonscalable prefix to cmd_prefixes + * console.lua: add nonscalable prefix to command_prefixes + * input/cmd: add nonscalable prefix + * ci/build-linux-old: add missing Werror + * stats.lua: rename a variable + * stream_cdda: stop suppressing -Wscript-prototypes + * osdep: remove semaphore-mac + * wayland: use wp-presentation v2 if available + * hwdec_vaapi: try format upload lazily + * msg: strip control char also when not printing to terminal + * vo_gpu_next: suppress tone_mapping_param deprecation warning + * console.lua: use ${term-clip-cc} to clip lines + * msg: allow to truncate the message to terminal width + * misc/codepoint_width: add unicode width detection support + * win32: always fit to the screen on initial positioning + * ci/win32: add libjxl + * DOCS/man/options.rst: add gpu-next differences to --scale-antiring + * win32: center geometry, but only at start + * vulkan/context: make use of VK_EXT_shader_object only if available + * ytdl_hook.lua: always specify --write-srt + * options: mark sub-lavc-o as UPDATE_SUB_HARD + * player/sub: ensure subtitles are updated for images with no audio + * test: only run ffmpeg tests on release versions + * win32: set consoleAllocationPolicy to detached in the manifest + * vo_gpu_next: force a reset when --image-lut is updated + * win32: keep prev_windowrc consistent also for maximized state + * ytdl_hook.lua: add include script-opt of URLs to try with ytdl first + * ytdl_hook.lua: lower case URLs for exclude matching + * command: avoid division by zero in av_timecode_make_string() + * vulkan/context: use VK_EXT_shader_object if available + * console.lua: allow clicking selectable items + * wayland: replace old keymap if we receive a new keymap event + * demux_playlist: ensure the file is added to autocreated playlist + * ci/macos: shift macOS versions to 13-15 + * win32: don't change window size on video reconfig when maximized + * win32: fix window size restore after maximize state + * ci/lint: fix missing return value in lint-commit-msg + * ci/lint: add flake8-commas check + * ci/lint: add isort checks + * ci/lint: check for pep8 naming convention + * ci/lint: add pyupgrade check + * ci/lint: ensure double quotes are used in python + * ci/lint: enable pyflakes and pycodestyle checks + * ci/lint: add python linting + * mp_image: restore dovi metadata before converting to AVFrame + * vf_format: set original params when converting format + * mp_image: only restore params when image is dolbyvision + * mp_image: copy params before dovi mapping for mp_image_copy_attributes + * mac: remove unnecessary window size change check + * DOCS/input: clarify display-names naming on macOS + * mac/swift: fix typo in mpv_event_id string representation + * meson: error out when swift unavailable or disabled and cplayer enabled + * mac/app: fix building with swift disabled + * docs: remove stray newlines + * ci/{openbsd,win32}: bump FFmpeg to 7.1 + * ci/msys2: removed unused clang32 reference + * Revert "ci/msys2: disable some features for 32-bit build" + * README.md: reference nasm instead of yasm + * d3d11_helpers: remove leftover variables + * github/workflows: drop clang32 + * mac/common: don't unconditionally move the window on geometry changes + * x11: don't unconditionally move the window on geometry changes + * win_state: move window centering to vo_calc_window_geometry + * win_state: remove redundant vo_calc_window_geometry functions + * stats.lua: allow keybindings to toggle the display of a specific page + * stats.lua: scroll keybindings while filtering them + * input.lua,defaults.js: don't hardcode mp.input arguments + * stats.lua: filter keybindings by comment + * f_hwtransfer: fix too aggressive preference to use direct upload format + * bstr: add missing function docs + * f_hwtransfer: fix upload formats selection + * f_hwtransfer: ensure that we convert to full range rgb with scale_vaapi + * wayland: support multiple devices and tranches when querying formats + * ci/mingw: pass --enable-gpl to ffmpeg's configure + * vo_{dmabuf_wayland,wlshm}: use proper values with MP_ALIGN_{UP,DOWN} + * ci/mingw: update fribidi to 1.0.16 + * ci/mingw: update harfbuzz to 10.0.1 + * ci/mingw: update freetype to 2.13.3 + * various: remove global.h inclusion where not needed + * options: enable handling --no-hwdec as --hwdec=no + * zsh-completion: fix completing --screenshot-avif-opts-* + * ra_wldambuf: don't unconditionally filter out non-planar formats + * wayland: rename gpu_formats to planar_formats + * wayland_common: fix some stray tabs + * vf_d3d11vpp: add NVIDIA RTX Video HDR support + * video/decode/vd_lavc: fix null deref when hwdec is empty + * player/external_files: fix null deref when cover-art-whitelist is empty + * msg: print format string on format errors + * bstr: don't abort on format error in bstr_xappend_vasprintf + * bstr: use vsnprintf with a proper size of 0 instead of a 1-sized buffer + * ao_coreaudio: fix nan in ca_get_device_latency_ns + * misc/random: seed using libavutil/random_seed + * options: force --ab-loop-count and --loop-file notification + * lua: remove unused #define mp_lua_len + * demux_mkv: drop image probing down to 10000 blocks + * demux_mkv: add missing color repr init + * meson: replace vector code compile check with function attribute check + * meson: bump required version to 1.3.0 + * stats.lua: add timecode display + * command: add video-frame-info/{gop,smpte,estimated-smpte}-timecode + * input: skip BOM properly + * DOCS/man/mpv.rst: clarify configuration files should be UTF-8 + * console.lua: clear terminal msg after changing to OSD display + * vf_d3d11vpp: remove unnecessary compatibility defines + * d3d11_helpers: remove not needed compatibility define + * opengl/context_dxinterop: remove unnecessary compatibility defines + * osdep/timer-win32: remove unnecessary compatibility defines + * osdep/terminal-win: remove unnecessary compatibility defines + * osdep/main-fn-win: remove unnecessary compatibility defines + * win32: remove pathcch compatibility code + * w32_common: remove backward compatibility code + * win32: remove dxgi debug checks + * player/main: guard smtc.h include + * build: ensure HAVE_WIN32_SMTC is always defined + +------------------------------------------------------------------- +Wed Dec 18 09:34:10 UTC 2024 - Fabian Vogt + +- Remove unnecessary Requires(post,postun) which pulled in >180MiB + ------------------------------------------------------------------- Mon Sep 23 17:57:39 UTC 2024 - llyyr@yukari.in diff --git a/packages/m/mpv/mpv.obsinfo b/packages/m/mpv/mpv.obsinfo index 6a5dc20589d..9a1b3718cd9 100644 --- a/packages/m/mpv/mpv.obsinfo +++ b/packages/m/mpv/mpv.obsinfo @@ -1,4 +1,4 @@ name: mpv -version: 0.39.0+git20240923.b64c53f730bd -mtime: 1727113783 -commit: b64c53f730bd4cd4ba0e7001a4a1b611af754018 +version: 0.39.0+git20241217.32d103c58072 +mtime: 1734478248 +commit: 32d103c58072f117817c42c8947a0aebbc263639 diff --git a/packages/m/mpv/mpv.spec b/packages/m/mpv/mpv.spec index 80ebb7829a2..7c1a634428f 100644 --- a/packages/m/mpv/mpv.spec +++ b/packages/m/mpv/mpv.spec @@ -21,7 +21,7 @@ %define lname libmpv2 Name: mpv -Version: 0.39.0+git20240923.b64c53f730bd +Version: 0.39.0+git20241217.32d103c58072 Release: 0 Summary: Advanced general-purpose multimedia player License: GPL-2.0-or-later @@ -31,7 +31,6 @@ Source: %{name}-%{version}.tar.xz Source2: %{name}.changes # PATCH-FIX-OPENSUSE do not require equal libav versions, obs rebuilds as needed Patch0: mpv-make-ffmpeg-version-check-non-fatal.patch -Patch1: https://patch-diff.githubusercontent.com/raw/mpv-player/mpv/pull/14904.patch BuildRequires: bash BuildRequires: hicolor-icon-theme BuildRequires: linux-kernel-headers @@ -93,10 +92,6 @@ BuildRequires: pkgconfig(xv) BuildRequires: pkgconfig(zimg) >= 2.9 BuildRequires: pkgconfig(zlib) Requires: hicolor-icon-theme -Requires(post): hicolor-icon-theme -Requires(post): update-desktop-files -Requires(postun): hicolor-icon-theme -Requires(postun): update-desktop-files # Used via LUA scripts Recommends: yt-dlp Conflicts: mpv-plugin-mpris < 0.4 diff --git a/packages/n/ncspot/.files b/packages/n/ncspot/.files deleted file mode 100644 index f987d42ffca..00000000000 Binary files a/packages/n/ncspot/.files and /dev/null differ diff --git a/packages/n/ncspot/.meta b/packages/n/ncspot/.meta deleted file mode 100644 index fe2a7c9d44d..00000000000 --- a/packages/n/ncspot/.meta +++ /dev/null @@ -1,9 +0,0 @@ - - Ncurses Spotify client - Cross-platform ncurses Spotify client written in Rust, inspired -by ncmpc and the likes. - - - - https://github.com/hrkfdn/ncspot - diff --git a/packages/n/ncspot/.rev b/packages/n/ncspot/.rev deleted file mode 100644 index 82f2ed439b1..00000000000 --- a/packages/n/ncspot/.rev +++ /dev/null @@ -1,120 +0,0 @@ - - - f5771fb0663f7ddffb821d2611cb0ffb - 0.9.7 - - dimstar_suse - New package, see https://lists.opensuse.org/archives/list/factory@lists.opensuse.org/thread/K5JGL6R2TMUW7TC2Y3O2UULGC65DQWMJ/ - 967583 - - - 4c1badc725004b13361fed3226a36e45 - 0.9.8 - - dimstar_suse - - 974219 - - - d40b7c4289b5a3765044f4f9d8ed2834 - 0.9.8 - - dimstar_suse - - 979017 - - - b6c06b5325770ce4785f44b367ace7f9 - 0.10.0 - - dimstar_suse - - 982217 - - - 917a5cd2c3ae2cbdf6d9933567da67d0 - 0.10.0 - - dimstar_suse - - 984033 - - - 9c58397e4bdd15445b2fe3adfbd50e95 - 0.10.1 - - RBrownFactory - - 991883 - - - 247fa86ca41de7b746ae201e19e0fda2 - 0.11.1 - - dimstar_suse - - 1004485 - - - d52e8f0a180aaad1534235dca823ab73 - 0.11.2 - - dimstar_suse - - 1012063 - - - 0d3575b341aae9cc2ace35c48fa14f44 - 0.12.0 - - dimstar_suse - Update to version 0.12.0 (forwarded request 1045833 from jlkDE) - 1045834 - - - b0d0c7e14fc7e3875b993d39b037e202 - 0.13.0 - - dimstar_suse - - 1070740 - - - 37917e8812302cdc58415c77a5746440 - 0.13.1 - - dimstar_suse - Forwarded request #1079621 from jlkDE - -Update to version 0.13.1 - 1079624 - - - 5d013a9102f0bcacdd43395e2c169c3f - 0.13.2 - - dimstar_suse - Forwarded request #1087285 from jlkDE - -Update to version 0.13.2 - 1087287 - - - 0454b0ebde660629ca16cf19ac2d4ccd - 0.13.3 - - dimstar_suse - - 1093584 - - - 40d37b1fb36c89481f3b063f55a43234 - 0.13.4 - - dimstar_suse - Forwarded request #1101103 from jlkDE - -"Update to version 0.13.4" - 1101104 - - diff --git a/packages/n/ncspot/_service b/packages/n/ncspot/_service deleted file mode 100644 index 516eebff811..00000000000 --- a/packages/n/ncspot/_service +++ /dev/null @@ -1,5 +0,0 @@ - - - ncspot-0.13.4 - - diff --git a/packages/n/ncspot/cargo_config b/packages/n/ncspot/cargo_config deleted file mode 100644 index a476f35fe9f..00000000000 --- a/packages/n/ncspot/cargo_config +++ /dev/null @@ -1,5 +0,0 @@ -[source.crates-io] -replace-with = "vendored-sources" - -[source.vendored-sources] -directory = "vendor" \ No newline at end of file diff --git a/packages/n/ncspot/ncspot-0.13.4.tar.gz b/packages/n/ncspot/ncspot-0.13.4.tar.gz deleted file mode 120000 index 74a7e75b3df..00000000000 --- a/packages/n/ncspot/ncspot-0.13.4.tar.gz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafkreigkftj4uiox5ucbb4zsptz4dnw3teg7xnn5f3yncxz7wcq3l7to5e \ No newline at end of file diff --git a/packages/n/ncspot/ncspot.changes b/packages/n/ncspot/ncspot.changes deleted file mode 100644 index b0347705830..00000000000 --- a/packages/n/ncspot/ncspot.changes +++ /dev/null @@ -1,314 +0,0 @@ -------------------------------------------------------------------- -Thu Jul 27 14:49:09 UTC 2023 - Jan-Luca Kiok - -- Update to version 0.13.4 - Features - * Add save current command - * Add add command for adding song to playlist - Maintenance - * Improve release build options - * Fix: Forward mouse events inside layout - * Refactor: remove unused screenchange variable - * Update documentation: recommend Ueberzug++ - * Sort Artists Ignoring "The" - * Fix: Gracefully handle local files - * Fix: Speed up context menu by fetching album only once - -------------------------------------------------------------------- -Sat Jun 17 12:52:24 UTC 2023 - Jan-Luca Kiok - -- Update to version 0.13.3 - Maintenance - * Fix incorrect notification ID reuse on XDG - * Fix: ListView decrement selected on remove - * Support multiple IPC sockets - * Refactor the entry point to make it more readable - * Fix: command line multi-byte prefix panic - * Prevent tab switching from the command line - * Fix: config option command_key not working - * Remove Snapcraft installation source - * Add cargo installation method - -------------------------------------------------------------------- -Mon May 15 17:47:34 UTC 2023 - Jan-Luca Kiok - -- Lock vendored dependencies - -------------------------------------------------------------------- -Thu May 11 20:55:38 UTC 2023 - Jan-Luca Kiok - -- Lock cargo installation - -------------------------------------------------------------------- -Sun May 7 15:56:35 UTC 2023 - Jan-Luca Kiok - -- Update to version 0.13.2 - Maintenance - * Use notify-rust with zbus instead of dbus and add - ncurses_backend feature flag - * Fix: gracefully handle invalid/not available DBus setups - causing crashes - * Update Nerdfont glyphs - * Dependency updates - -------------------------------------------------------------------- -Sat Apr 15 15:04:26 UTC 2023 - Jan-Luca Kiok - -- Update to version 0.13.1 - Maintenance - * Disable ncspot default features for xtask to simplify build - * Statusbar: Update nerdfont glyphs - * Split up README - * Add 'browse' to 'library_tabs' docs - * Rewrite MPRIS implementation using zbus - Features - * Add vim-like page scrolling - * Emulate double click to play items - -------------------------------------------------------------------- -Fri Mar 10 14:20:33 UTC 2023 - Jan-Luca Kiok - -- Remove check stage via cargo test - -------------------------------------------------------------------- -Fri Mar 10 13:14:09 UTC 2023 - Jan-Luca Kiok - -- Update to version 0.13.0 - Maintenance - * Add info on extracting currently playing to README - * Fix clippy warnings - * Always pass cover URL to notification - * Change unnecessary usage of Arc to borrow instead - * Disable autojump for add to playlist dialog - Features - * Theme config support for Cursive's `HighlightInactive` - * Switch from MM:SS to HH:MM:SS duration representation if needed - * commands: Add "reconnect" command to force socket shutdown - * Allow executing program to retrieve credentials - * Add manpage generation using xtask - * Automatic shell completion generation using xtask -- Switch to zst compression for vendored deps -- Use cargo test as check stage - -------------------------------------------------------------------- -Fri Dec 30 14:08:30 UTC 2022 - Jan-Luca Kiok - -- Update to version 0.12.0 - Maintenance - * Fix: Handle explicit field from Spotify API - * Print "Connecting to Spotify" before setting up Cursive backend - * Link to Flatpak image - * Make entry point synchronous and switch to global runtime - instead - * Document queue module - Features - * Add "save/unsave album" to context menu - * Automatically save backtraces to cache folder - * Create IPC socket on UNIX platforms for remote control and - external track display - -------------------------------------------------------------------- -Mon Oct 17 10:36:29 UTC 2022 - Jan-Luca Kiok - -- Update to version 0.11.2 - Maintenance - * Cleanup: Remove PlayTrackMenu - * Fix: Crash on liked artist but no liked music - Features - * Improve context menus to make the UX/UI more consistent - * Exit gracefully on SIGTERM and SIGHUP - -------------------------------------------------------------------- -Sun Sep 18 12:57:30 UTC 2022 - Jan-Luca Kiok - -- Update to version 0.11.1 - Maintenance - * Fix theming in context menus - * Fix ListView scrollbar behavior - * Switch to Termion backend by default for true color support - * Fix references to pancurses backend in README - * Changes to README capitalized in playlists - * Fixed clipboard not working on GNOME Wayland.by - * Fix: don't crash on empty command line input - * Other refactoring and cleanups - * Fix back button mouse left click - * Fix librespot audio cache path - * Fix: set track position only for clicks, not hold - * Fix: Use buffered backend to prevent flickering with Termion - * Fix: remove broken album cache staleness detection - * Fix: Re-request album tracks if it has >50 tracks - * Fixed pagination bug that caused items not to load when - scrolling with mouse - * Fix pagination in "Browse" screen - Features - * Add category browsing to library - * Add customization of notification message texts - * Improved mouse support - * Mouse wheel: scroll up/down without changing focus - -------------------------------------------------------------------- -Sun Jul 31 14:24:01 UTC 2022 - Jan-Luca Kiok - -- Update to version 0.10.1 - Maintenance - * Add logo to cargo-deb assets - * Clean up documentation - * Enable wayland clipboard support by default on supported - platforms - * Update to librespot 0.4.2 - * Should fix ChannelError issues which were previously fixed - with a workaround in /etc/hosts - * Updated context menu info and config values table in README - Features - * Add 'hide_display_names' config option - * Added possibility to Follow/Unfollow artists via the context - menu - * Add statusbar_format option to configure track formatting in - status bar - -------------------------------------------------------------------- -Mon Jun 20 03:27:46 UTC 2022 - William Brown - -- Automatic update of vendored dependencies - -------------------------------------------------------------------- -Sun Jun 12 13:39:45 UTC 2022 - Jan-Luca Kiok - -- Package desktop file - -------------------------------------------------------------------- -Sun Jun 12 11:48:07 UTC 2022 - Jan-Luca Kiok - -- Depend on rust version 1.61 -- Update to version 0.10.0 - Maintenance - * Update to Librespot 0.4.1 - * Prevent integer overflow when calculating cache size - * Fix some errors and warnings when enabling/disabling features - * Fix: don't throw error if search yields no result - Features - * Add option (library_tabs) to customize library tabs - * Add track_format config option for custom track formatting in - lists - * Add desktop entry & notification icon hint - -------------------------------------------------------------------- -Tue May 24 05:33:08 UTC 2022 - William Brown - -- Automatic update of vendored dependencies - -------------------------------------------------------------------- -Sun May 1 20:48:16 UTC 2022 - Jan-Luca Kiok - -- Update to version 0.9.8 - Maintenance - * Disable compat feature in futures - * Remove webbrowser crate - * Only download cover image when flag enabled - * Fix: do not crash DBus on invalid Spotify URIs - Features - * Add playback_state config option - * Add option to play track from context menu dialog -- Do not strip binary via Cargo - -------------------------------------------------------------------- -Thu Apr 7 17:58:37 UTC 2022 - Jan-Luca Kiok - -- Format spec file via osc service - -------------------------------------------------------------------- -Thu Mar 24 20:49:46 UTC 2022 - Jan-Luca Kiok - -- Update to version 0.9.6 - * Fix error messages shown on successful commands - * Notification improvements (update existing notification, set - application name) - * Dependency updates - - -------------------------------------------------------------------- -Wed Mar 9 19:54:58 UTC 2022 - Jan-Luca Kiok - -- Require cargo version 1.58 at least for binary stripping on cargo - build - -------------------------------------------------------------------- -Wed Mar 9 19:42:49 UTC 2022 - Jab-Luca Kiok - -- Strip binary - -------------------------------------------------------------------- -Wed Mar 9 19:34:59 UTC 2022 - Jan-Luca Kiok - -- Update to version 0.9.6 - Maintenance - * Enable autojump for playlist selection list in context menu - * Use notify-rust with dbus instead of zbus - * Fix compilation on Rust versions < 1.58.0 - * Make album sorting case-insensitive - * Enable gapless by default - * Improve playlist sorting - * Dependency updates - -------------------------------------------------------------------- -Fri Jan 21 16:12:28 UTC 2022 - Jan-Luca Kiok - -- Update to version 0.9.5 - Maintenance - * Fix release build name and win32 feature - * seek spits out correct error when used with no args - * Migrate to cursive 0.17 - * Remove notifications' dependency on cover - * Fix errors showing up even though the command was successful - * Fix lists that were shown as empty even though they contained - items - -------------------------------------------------------------------- -Sat Jan 15 17:36:11 UTC 2022 - Jan-Luca Kiok - -- Update to version 0.9.4 - Maintenance - * Sort library after saving an album - * Stop player when Spotify worker thread dies - * Update librespot to 0.3.1 - * Major/breaking update to rspotify 0.11.3 - * Refactoring and other cleanups - * Fix crash when saving track or opening similar tracks - * Fixed MPRIS OpenUri function not respecting ncspot's shuffle - setting - * Fix queuing of playlists causing "play next" to be broken - * More detailed error message in case of command parse error - * Remove panics in the update_token flow - Features - * Add command to show recommendations - * Enable binding multiple commands to a key - * Add "Share album" contextmenu entry - * Add redraw command and bind to CTRL+L - * Add initial_screen config variable - * Add userRating entity to MPRIS metadata - * Show playlist owner name - * Introduce cache file format version indicator. - * Added Wayland clipboard support - * Added jumpnext and jumpprevious as commands - * Add exec command allowing users to execute shell commands on - key press - * Improved seek command to allow more units (e.g. 2s), check - parse_duration documentation for accepted units - * Set terminal title to ncspot - -------------------------------------------------------------------- -Sat Aug 28 17:42:23 UTC 2021 - Martin Hauke - -- Update to version 0.8.2 - Maintenance - * Reduce API calls by only fetching the full track details if - necessary - * Refactoring, other cleanups and dependency updates - * Remove broken Facebook login code (#310). - Features - * Scrolling on volume text increases/decreases volume. - -------------------------------------------------------------------- -Sun Aug 22 09:28:11 UTC 2021 - Martin Hauke - -- Initial package, version 0.8.1 diff --git a/packages/n/ncspot/ncspot.spec b/packages/n/ncspot/ncspot.spec deleted file mode 100644 index 8f2442ee6b1..00000000000 --- a/packages/n/ncspot/ncspot.spec +++ /dev/null @@ -1,65 +0,0 @@ -# -# spec file for package ncspot -# -# Copyright (c) 2023 SUSE LLC -# Copyright (c) 2021, Martin Hauke -# -# All modifications and additions to the file contributed by third parties -# remain the property of their copyright owners, unless otherwise agreed -# upon. The license for this file, and modifications and additions to the -# file, is the same license as for the pristine package itself (unless the -# license for the pristine package is not an Open Source License, in which -# case the license is the MIT License). An "Open Source License" is a -# license that conforms to the Open Source Definition (Version 1.9) -# published by the Open Source Initiative. - -# Please submit bugfixes or comments via https://bugs.opensuse.org/ -# - - -Name: ncspot -Version: 0.13.4 -Release: 0 -Summary: Ncurses Spotify client -License: BSD-2-Clause -Group: Productivity/Multimedia/Sound/Players -URL: https://github.com/hrkfdn/ncspot -Source: https://github.com/hrkfdn/ncspot/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz -Source1: vendor.tar.zst -Source2: cargo_config -BuildRequires: cargo >= 1.58 -BuildRequires: libpulse-devel -BuildRequires: libxcb-devel -BuildRequires: ncurses5-devel -BuildRequires: openssl-devel -BuildRequires: pkgconfig -BuildRequires: rust >= 1.61 -BuildRequires: update-desktop-files -BuildRequires: zstd -BuildRequires: pkgconfig(dbus-1) >= 1.6 - -%description -Cross-platform ncurses Spotify client written in Rust, inspired -by ncmpc and the likes. - -%prep -%autosetup -p 1 -a 1 -install -D -m 0644 %{SOURCE2} .cargo/config - -%build -# HACK: https://github.com/jeaye/ncurses-rs/issues/191 -export NCURSES_RS_RUSTC_FLAGS="-L /usr/lib64/ncurses5" -cargo build --release --locked %{?_smp_mflags} - -%install -cargo install --locked --no-track --root=%{buildroot}%{_prefix} --path . -install -Dm 0644 misc/ncspot.desktop %{buildroot}/%{_datadir}/applications/ncspot.desktop -%suse_update_desktop_file ncspot - -%files -%license LICENSE -%doc README.md -%{_bindir}/ncspot -%{_datadir}/applications/ncspot.desktop - -%changelog diff --git a/packages/n/ncspot/vendor.tar.zst b/packages/n/ncspot/vendor.tar.zst deleted file mode 120000 index e1f3c96453c..00000000000 --- a/packages/n/ncspot/vendor.tar.zst +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeieg3ppcxj74so4yabm7nr2zh7oph7x3ogynduy7uvgrmfitllya5i \ No newline at end of file diff --git a/packages/o/okteto/.files b/packages/o/okteto/.files index 43e458759cb..cce392eac5f 100644 Binary files a/packages/o/okteto/.files and b/packages/o/okteto/.files differ diff --git a/packages/o/okteto/.rev b/packages/o/okteto/.rev index 92204356143..b9236e55e2a 100644 --- a/packages/o/okteto/.rev +++ b/packages/o/okteto/.rev @@ -727,4 +727,12 @@ 1229997 + + bc005d14d49047cf5145d90a7afb72f6 + 3.2.2 + + anag+factory + + 1231788 + diff --git a/packages/o/okteto/_service b/packages/o/okteto/_service index 4ff87e29f39..8ee1c9ef9fc 100644 --- a/packages/o/okteto/_service +++ b/packages/o/okteto/_service @@ -3,8 +3,8 @@ https://github.com/okteto/okteto git .git - 3.2.1 - 3.2.1 + 3.2.2 + 3.2.2 @PARENT_TAG@ enable diff --git a/packages/o/okteto/_servicedata b/packages/o/okteto/_servicedata index d3a7c9e37b8..fe18da9fa1c 100644 --- a/packages/o/okteto/_servicedata +++ b/packages/o/okteto/_servicedata @@ -1,4 +1,4 @@ https://github.com/okteto/okteto - 036677b566adf6a8ac4f91b2d47c9a14dbbfb232 \ No newline at end of file + 35081a34806b40ef82f1828180b37d8d6a4c5e10 \ No newline at end of file diff --git a/packages/o/okteto/okteto-3.2.1.obscpio b/packages/o/okteto/okteto-3.2.1.obscpio deleted file mode 120000 index 0f0b6a49bce..00000000000 --- a/packages/o/okteto/okteto-3.2.1.obscpio +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeic57zicxlqf6tywr4kxyyrivyw6u6zjad7a5n2drtl2ob4ku2yrlq \ No newline at end of file diff --git a/packages/o/okteto/okteto-3.2.2.obscpio b/packages/o/okteto/okteto-3.2.2.obscpio new file mode 120000 index 00000000000..bb4f3730d62 --- /dev/null +++ b/packages/o/okteto/okteto-3.2.2.obscpio @@ -0,0 +1 @@ +/ipfs/bafybeicr4gawj7zsvja64u2qkqiqpjn3lgj2nu4o5e4u3z247u72dyzo4e \ No newline at end of file diff --git a/packages/o/okteto/okteto.changes b/packages/o/okteto/okteto.changes index 94e1de03023..b32cea90008 100644 --- a/packages/o/okteto/okteto.changes +++ b/packages/o/okteto/okteto.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Dec 18 06:24:17 UTC 2024 - opensuse_buildservice@ojkastl.de + +- Update to version 3.2.2: + * revert: restore kustomize in the cli binary (#4630) (#4632) + ------------------------------------------------------------------- Wed Dec 11 06:52:18 UTC 2024 - opensuse_buildservice@ojkastl.de diff --git a/packages/o/okteto/okteto.obsinfo b/packages/o/okteto/okteto.obsinfo index 014246248e7..015c0823e3f 100644 --- a/packages/o/okteto/okteto.obsinfo +++ b/packages/o/okteto/okteto.obsinfo @@ -1,4 +1,4 @@ name: okteto -version: 3.2.1 -mtime: 1733838646 -commit: 036677b566adf6a8ac4f91b2d47c9a14dbbfb232 +version: 3.2.2 +mtime: 1734442635 +commit: 35081a34806b40ef82f1828180b37d8d6a4c5e10 diff --git a/packages/o/okteto/okteto.spec b/packages/o/okteto/okteto.spec index 270cbbd577d..e28081de6b9 100644 --- a/packages/o/okteto/okteto.spec +++ b/packages/o/okteto/okteto.spec @@ -17,7 +17,7 @@ Name: okteto -Version: 3.2.1 +Version: 3.2.2 Release: 0 Summary: Develop your applications directly in your Kubernetes Cluster License: Apache-2.0 diff --git a/packages/o/okteto/vendor.tar.gz b/packages/o/okteto/vendor.tar.gz index f69ea44391f..33208ce648c 120000 --- a/packages/o/okteto/vendor.tar.gz +++ b/packages/o/okteto/vendor.tar.gz @@ -1 +1 @@ -/ipfs/bafybeibbbyqtafy4rtk3vpkpf25ovmnztwef5hmtk2rraik6ul6wvlnrui \ No newline at end of file +/ipfs/bafybeiesyzx37xa6tdsmqya3na4be5gxfhalmknlbj43bt72ypplur6c54 \ No newline at end of file diff --git a/packages/o/openQA/.files b/packages/o/openQA/.files index 595ba58bba6..16b6d54bd62 100644 Binary files a/packages/o/openQA/.files and b/packages/o/openQA/.files differ diff --git a/packages/o/openQA/.rev b/packages/o/openQA/.rev index d86d842c0c6..3e682b55a38 100644 --- a/packages/o/openQA/.rev +++ b/packages/o/openQA/.rev @@ -7561,4 +7561,16 @@ 4.6.1734355601.fe17962d 1231521 + + 5f64b63ebd23857eed1dcff6f3d6f4dc + 4.6.1734430938.416739ec + + anag+factory + Update to 4.6.1734430938.416739ec +4.6.1734430938.416739ec +4.6.1734430938.416739ec +4.6.1734430938.416739ec +4.6.1734430938.416739ec + 1231751 + diff --git a/packages/o/openQA/openQA-4.6.1734355601.fe17962d.obscpio b/packages/o/openQA/openQA-4.6.1734355601.fe17962d.obscpio deleted file mode 120000 index f284cd1f128..00000000000 --- a/packages/o/openQA/openQA-4.6.1734355601.fe17962d.obscpio +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeigk4tkalukgckj4e4ckkapawio2yb7kakvtjmbhauhxz5h2dzfdjm \ No newline at end of file diff --git a/packages/o/openQA/openQA-4.6.1734430938.416739ec.obscpio b/packages/o/openQA/openQA-4.6.1734430938.416739ec.obscpio new file mode 120000 index 00000000000..4d0be2e414a --- /dev/null +++ b/packages/o/openQA/openQA-4.6.1734430938.416739ec.obscpio @@ -0,0 +1 @@ +/ipfs/bafybeih4kz3wnqyh4476frorasqzwkb2dzztzbqq6gnbd3oomajmah3l6i \ No newline at end of file diff --git a/packages/o/openQA/openQA-client-test.spec b/packages/o/openQA/openQA-client-test.spec index 760a7110b4c..e560300d5c6 100644 --- a/packages/o/openQA/openQA-client-test.spec +++ b/packages/o/openQA/openQA-client-test.spec @@ -18,7 +18,7 @@ %define short_name openQA-client Name: %{short_name}-test -Version: 4.6.1734355601.fe17962d +Version: 4.6.1734430938.416739ec Release: 0 Summary: Test package for %{short_name} License: GPL-2.0-or-later diff --git a/packages/o/openQA/openQA-devel-test.spec b/packages/o/openQA/openQA-devel-test.spec index 130adbb83ba..bd4642b6cd7 100644 --- a/packages/o/openQA/openQA-devel-test.spec +++ b/packages/o/openQA/openQA-devel-test.spec @@ -18,7 +18,7 @@ %define short_name openQA-devel Name: %{short_name}-test -Version: 4.6.1734355601.fe17962d +Version: 4.6.1734430938.416739ec Release: 0 Summary: Test package for %{short_name} License: GPL-2.0-or-later diff --git a/packages/o/openQA/openQA-test.spec b/packages/o/openQA/openQA-test.spec index 0d9c280eede..6433028e264 100644 --- a/packages/o/openQA/openQA-test.spec +++ b/packages/o/openQA/openQA-test.spec @@ -18,7 +18,7 @@ %define short_name openQA Name: %{short_name}-test -Version: 4.6.1734355601.fe17962d +Version: 4.6.1734430938.416739ec Release: 0 Summary: Test package for openQA License: GPL-2.0-or-later diff --git a/packages/o/openQA/openQA-worker-test.spec b/packages/o/openQA/openQA-worker-test.spec index 95f34435fb2..9d63e60c859 100644 --- a/packages/o/openQA/openQA-worker-test.spec +++ b/packages/o/openQA/openQA-worker-test.spec @@ -18,7 +18,7 @@ %define short_name openQA-worker Name: %{short_name}-test -Version: 4.6.1734355601.fe17962d +Version: 4.6.1734430938.416739ec Release: 0 Summary: Test package for %{short_name} License: GPL-2.0-or-later diff --git a/packages/o/openQA/openQA.changes b/packages/o/openQA/openQA.changes index 17219e513f0..e639832ce4f 100644 --- a/packages/o/openQA/openQA.changes +++ b/packages/o/openQA/openQA.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Dec 17 19:13:36 UTC 2024 - okurz@suse.com + +- Update to version 4.6.1734430938.416739ec: + * Update Python version in Helm chart checks + * Dependency cron 2024-12-17 + ------------------------------------------------------------------- Mon Dec 16 14:13:48 UTC 2024 - okurz@suse.com diff --git a/packages/o/openQA/openQA.obsinfo b/packages/o/openQA/openQA.obsinfo index e0572125fd4..a33c7bdf0ba 100644 --- a/packages/o/openQA/openQA.obsinfo +++ b/packages/o/openQA/openQA.obsinfo @@ -1,4 +1,4 @@ name: openQA -version: 4.6.1734355601.fe17962d -mtime: 1734355601 -commit: fe17962dd10819c43329bf4550f5eff35b671388 +version: 4.6.1734430938.416739ec +mtime: 1734430938 +commit: 416739ecf57c54b3c0e42c6bc286ccb81a8c562a diff --git a/packages/o/openQA/openQA.spec b/packages/o/openQA/openQA.spec index 6e847f4af67..ebbb1bb35c8 100644 --- a/packages/o/openQA/openQA.spec +++ b/packages/o/openQA/openQA.spec @@ -90,7 +90,7 @@ %define devel_requires %devel_no_selenium_requires chromedriver Name: openQA -Version: 4.6.1734355601.fe17962d +Version: 4.6.1734430938.416739ec Release: 0 Summary: The openQA web-frontend, scheduler and tools License: GPL-2.0-or-later diff --git a/packages/o/oqs-provider/.files b/packages/o/oqs-provider/.files index 60f381366c7..7d0e34216ea 100644 Binary files a/packages/o/oqs-provider/.files and b/packages/o/oqs-provider/.files differ diff --git a/packages/o/oqs-provider/.rev b/packages/o/oqs-provider/.rev index ab479ea7b31..50883292393 100644 --- a/packages/o/oqs-provider/.rev +++ b/packages/o/oqs-provider/.rev @@ -90,4 +90,16 @@ keys and signatures (bsc#1226468) (forwarded request 1181500 from msmeissn) 1181501 + + 6c3ba4f832466b2582bcac139805c6bb + 0.7.0 + + anag+factory + - updated to 0.7.0: + - Adds support for MAYO from Round 1 of NIST’s Post-Quantum Signature On-Ramp process. + - Adds support for CROSS from Round 1 of NIST’s Post-Quantum Signature On-Ramp process. + - Updates ML-KEM's code points in line with internet draft draft-kwiatkowski-tls-ecdhe-mlkem-02. + - Reverses keyshares for X25519MLKEM768 and X448-ML-KEM-768 TLS hybrids in line with draft-kwiatkowski-tls-ecdhe-mlkem-02. (forwarded request 1231843 from msmeissn) + 1231844 + diff --git a/packages/o/oqs-provider/oqs-provider-0.6.1.tar.gz b/packages/o/oqs-provider/oqs-provider-0.6.1.tar.gz deleted file mode 120000 index f7ae910a92c..00000000000 --- a/packages/o/oqs-provider/oqs-provider-0.6.1.tar.gz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafkreibikirsmyylihap6pjni5cfyqut47riozx67ss6sraw4tpevyr6dy \ No newline at end of file diff --git a/packages/o/oqs-provider/oqs-provider-0.7.0.tar.gz b/packages/o/oqs-provider/oqs-provider-0.7.0.tar.gz new file mode 120000 index 00000000000..0a1eb5238f8 --- /dev/null +++ b/packages/o/oqs-provider/oqs-provider-0.7.0.tar.gz @@ -0,0 +1 @@ +/ipfs/bafkreig5pk62lkvsicdhfsuinovmpphlmkpzddpsxsraga4pwi4utyzsh4 \ No newline at end of file diff --git a/packages/o/oqs-provider/oqs-provider-disable-test.patch b/packages/o/oqs-provider/oqs-provider-disable-test.patch index 1cf2c0e04c7..cc93332b3d3 100644 --- a/packages/o/oqs-provider/oqs-provider-disable-test.patch +++ b/packages/o/oqs-provider/oqs-provider-disable-test.patch @@ -1,13 +1,15 @@ -Index: oqs-provider-0.6.0/CMakeLists.txt +Index: oqs-provider-0.7.0/CMakeLists.txt =================================================================== ---- oqs-provider-0.6.0.orig/CMakeLists.txt -+++ oqs-provider-0.6.0/CMakeLists.txt -@@ -87,8 +87,8 @@ endfunction() +--- oqs-provider-0.7.0.orig/CMakeLists.txt ++++ oqs-provider-0.7.0/CMakeLists.txt +@@ -81,9 +81,9 @@ endfunction() add_subdirectory(oqsprov) # Testing +-include(CTest) -enable_testing() -add_subdirectory(test) ++#include(CTest) +#enable_testing() +#add_subdirectory(test) diff --git a/packages/o/oqs-provider/oqs-provider.changes b/packages/o/oqs-provider/oqs-provider.changes index 0ffe77e9fb5..e107825357f 100644 --- a/packages/o/oqs-provider/oqs-provider.changes +++ b/packages/o/oqs-provider/oqs-provider.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Thu Dec 12 15:15:59 UTC 2024 - Marcus Meissner + +- updated to 0.7.0: + - Adds support for MAYO from Round 1 of NIST’s Post-Quantum Signature On-Ramp process. + - Adds support for CROSS from Round 1 of NIST’s Post-Quantum Signature On-Ramp process. + - Updates ML-KEM's code points in line with internet draft draft-kwiatkowski-tls-ecdhe-mlkem-02. + - Reverses keyshares for X25519MLKEM768 and X448-ML-KEM-768 TLS hybrids in line with draft-kwiatkowski-tls-ecdhe-mlkem-02. + ------------------------------------------------------------------- Tue Jun 18 12:44:27 UTC 2024 - Marcus Meissner diff --git a/packages/o/oqs-provider/oqs-provider.spec b/packages/o/oqs-provider/oqs-provider.spec index f65e3f603a4..40fd1c91425 100644 --- a/packages/o/oqs-provider/oqs-provider.spec +++ b/packages/o/oqs-provider/oqs-provider.spec @@ -17,7 +17,7 @@ Name: oqs-provider -Version: 0.6.1 +Version: 0.7.0 Release: 0 Summary: Quantum-safe crypto provider for OpenSSL License: MIT diff --git a/packages/o/os-autoinst/.files b/packages/o/os-autoinst/.files index c644e7a7518..e6bfc172582 100644 Binary files a/packages/o/os-autoinst/.files and b/packages/o/os-autoinst/.files differ diff --git a/packages/o/os-autoinst/.rev b/packages/o/os-autoinst/.rev index acbc7c6479f..7dd46c0969f 100644 --- a/packages/o/os-autoinst/.rev +++ b/packages/o/os-autoinst/.rev @@ -4447,4 +4447,15 @@ 4.6.1734363783.193a720 1231571 + + 436e0eec4f5a55cc629905b6586b3c08 + 4.6.1734460765.0a6685b + + anag+factory + Update to 4.6.1734460765.0a6685b +4.6.1734460765.0a6685b +4.6.1734460765.0a6685b +4.6.1734460765.0a6685b + 1231753 + diff --git a/packages/o/os-autoinst/os-autoinst-4.6.1734363783.193a720.obscpio b/packages/o/os-autoinst/os-autoinst-4.6.1734363783.193a720.obscpio deleted file mode 120000 index 9bdc2e48e5e..00000000000 --- a/packages/o/os-autoinst/os-autoinst-4.6.1734363783.193a720.obscpio +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeigxk6rpclxyzhtdp6467rlqphejfax6ybold4tfdrki6ylvmu43uu \ No newline at end of file diff --git a/packages/o/os-autoinst/os-autoinst-4.6.1734460765.0a6685b.obscpio b/packages/o/os-autoinst/os-autoinst-4.6.1734460765.0a6685b.obscpio new file mode 120000 index 00000000000..b509db6d325 --- /dev/null +++ b/packages/o/os-autoinst/os-autoinst-4.6.1734460765.0a6685b.obscpio @@ -0,0 +1 @@ +/ipfs/bafybeigauqtd266zfogg4tc5nbpxm4p6xyly2fdoqmiu3cmrsm7slqkrce \ No newline at end of file diff --git a/packages/o/os-autoinst/os-autoinst-devel-test.spec b/packages/o/os-autoinst/os-autoinst-devel-test.spec index 216a0dbe126..a15222ab375 100644 --- a/packages/o/os-autoinst/os-autoinst-devel-test.spec +++ b/packages/o/os-autoinst/os-autoinst-devel-test.spec @@ -18,7 +18,7 @@ %define short_name os-autoinst-devel Name: %{short_name}-test -Version: 4.6.1734363783.193a720 +Version: 4.6.1734460765.0a6685b Release: 0 Summary: Test package for %{short_name} License: GPL-2.0-or-later diff --git a/packages/o/os-autoinst/os-autoinst-openvswitch-test.spec b/packages/o/os-autoinst/os-autoinst-openvswitch-test.spec index 7a284fe4f03..07f562647fd 100644 --- a/packages/o/os-autoinst/os-autoinst-openvswitch-test.spec +++ b/packages/o/os-autoinst/os-autoinst-openvswitch-test.spec @@ -19,7 +19,7 @@ %define name_ext -test %define short_name os-autoinst-openvswitch Name: %{short_name}%{?name_ext} -Version: 4.6.1734363783.193a720 +Version: 4.6.1734460765.0a6685b Release: 0 Summary: test package for %{short_name} License: GPL-2.0-or-later diff --git a/packages/o/os-autoinst/os-autoinst-test.spec b/packages/o/os-autoinst/os-autoinst-test.spec index 997a9c6a6d0..aa693cbb5ac 100644 --- a/packages/o/os-autoinst/os-autoinst-test.spec +++ b/packages/o/os-autoinst/os-autoinst-test.spec @@ -19,7 +19,7 @@ %define name_ext -test %define short_name os-autoinst Name: %{short_name}%{?name_ext} -Version: 4.6.1734363783.193a720 +Version: 4.6.1734460765.0a6685b Release: 0 Summary: test package for os-autoinst License: GPL-2.0-or-later diff --git a/packages/o/os-autoinst/os-autoinst.changes b/packages/o/os-autoinst/os-autoinst.changes index 1f54dbc0705..2cf1b7c41ea 100644 --- a/packages/o/os-autoinst/os-autoinst.changes +++ b/packages/o/os-autoinst/os-autoinst.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Tue Dec 17 19:31:10 UTC 2024 - okurz@suse.com + +- Update to version 4.6.1734460765.0a6685b: + * Remove _typing_limit subroutine because it's never used + * Update t/08-autotest.t + * Enable more unit test code for codecoverage + * Add more subtests for autotest.pm + * Add script/check_qemu_oom to fully covered paths on codecov + * Avoid adding message about termination from myjsonrpc as reason + ------------------------------------------------------------------- Mon Dec 16 19:14:36 UTC 2024 - okurz@suse.com diff --git a/packages/o/os-autoinst/os-autoinst.obsinfo b/packages/o/os-autoinst/os-autoinst.obsinfo index ad64f43a2fe..3972e0ddfd4 100644 --- a/packages/o/os-autoinst/os-autoinst.obsinfo +++ b/packages/o/os-autoinst/os-autoinst.obsinfo @@ -1,4 +1,4 @@ name: os-autoinst -version: 4.6.1734363783.193a720 -mtime: 1734363783 -commit: 193a720d518275852f3d447dc7ecdaa21697a3cf +version: 4.6.1734460765.0a6685b +mtime: 1734460765 +commit: 0a6685b9be79aa4f7b02879d09e29c88366702b3 diff --git a/packages/o/os-autoinst/os-autoinst.spec b/packages/o/os-autoinst/os-autoinst.spec index 4591a3f9b0e..0d0870e94e6 100644 --- a/packages/o/os-autoinst/os-autoinst.spec +++ b/packages/o/os-autoinst/os-autoinst.spec @@ -17,7 +17,7 @@ Name: os-autoinst -Version: 4.6.1734363783.193a720 +Version: 4.6.1734460765.0a6685b Release: 0 Summary: OS-level test automation License: GPL-2.0-or-later diff --git a/packages/o/owncloud-client/.files b/packages/o/owncloud-client/.files index 4eedb450037..f344622e340 100644 Binary files a/packages/o/owncloud-client/.files and b/packages/o/owncloud-client/.files differ diff --git a/packages/o/owncloud-client/.rev b/packages/o/owncloud-client/.rev index bd64c37c81f..bcc6fc119c3 100644 --- a/packages/o/owncloud-client/.rev +++ b/packages/o/owncloud-client/.rev @@ -400,4 +400,18 @@ 1170255 + + 4bf4024c3ec941282d9091e9dbdfb5db + 5.3.1 + + anag+factory + - Add patch: + * owncloud-qt68.patch + +- Update to upstream version 5.3.1 +- Drop package owncloud-icons from this build, it is coming in a + separate package called owncloud-extensions-resources which is + used by all shell extensions for ownCloud + 1231725 + diff --git a/packages/o/owncloud-client/_service b/packages/o/owncloud-client/_service index d70b2d29c0c..c3516533f8e 100644 --- a/packages/o/owncloud-client/_service +++ b/packages/o/owncloud-client/_service @@ -1,7 +1,7 @@ ownCloud_os - v5.2.1 + v5.3.1 git https://github.com/owncloud/client.git @PARENT_TAG@ diff --git a/packages/o/owncloud-client/ownCloud_os-5.2.1.obscpio b/packages/o/owncloud-client/ownCloud_os-5.2.1.obscpio deleted file mode 120000 index 9673aee9d2b..00000000000 --- a/packages/o/owncloud-client/ownCloud_os-5.2.1.obscpio +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeifxpn4pj6g2cyggyjxxxmmzxe3irmhlekg4xpbnhl6pyynpcm7eau \ No newline at end of file diff --git a/packages/o/owncloud-client/ownCloud_os-5.3.1.obscpio b/packages/o/owncloud-client/ownCloud_os-5.3.1.obscpio new file mode 120000 index 00000000000..e47e5446ff2 --- /dev/null +++ b/packages/o/owncloud-client/ownCloud_os-5.3.1.obscpio @@ -0,0 +1 @@ +/ipfs/bafybeiamzo5cnsoivwo2mcttlvg5o3e73ad5mdvzl2h4p3seho4x6ltxwm \ No newline at end of file diff --git a/packages/o/owncloud-client/ownCloud_os.obsinfo b/packages/o/owncloud-client/ownCloud_os.obsinfo index ad4d4855d48..2796c2ea9cb 100644 --- a/packages/o/owncloud-client/ownCloud_os.obsinfo +++ b/packages/o/owncloud-client/ownCloud_os.obsinfo @@ -1,4 +1,4 @@ name: ownCloud_os -version: 5.2.1 -mtime: 1704360845 -commit: 979bb990f214fbd1cccc5536c582d84e196d499f +version: 5.3.1 +mtime: 1718104713 +commit: f15fd5635eb4b24e7e5a29a36a882628fb87a1e9 diff --git a/packages/o/owncloud-client/owncloud-client.changes b/packages/o/owncloud-client/owncloud-client.changes index e7910268fc9..b4b6513f712 100644 --- a/packages/o/owncloud-client/owncloud-client.changes +++ b/packages/o/owncloud-client/owncloud-client.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Tue Dec 17 15:39:28 UTC 2024 - Christophe Marin + +- Add patch: + * owncloud-qt68.patch + +------------------------------------------------------------------- +Wed Oct 16 15:18:15 UTC 2024 - Klaas Freitag + +- Update to upstream version 5.3.1 +- Drop package owncloud-icons from this build, it is coming in a + separate package called owncloud-extensions-resources which is + used by all shell extensions for ownCloud + ------------------------------------------------------------------- Thu Apr 18 06:07:15 UTC 2024 - thod_@gmx.de diff --git a/packages/o/owncloud-client/owncloud-client.spec b/packages/o/owncloud-client/owncloud-client.spec index ca61494b4ea..79540636c96 100644 --- a/packages/o/owncloud-client/owncloud-client.spec +++ b/packages/o/owncloud-client/owncloud-client.spec @@ -24,7 +24,7 @@ %endif Name: owncloud-client -Version: 5.2.1 +Version: 5.3.1 Release: 0 Summary: The ownCloud synchronization client License: GPL-2.0-only AND GPL-3.0-only @@ -34,6 +34,8 @@ Source0: ownCloud_os-%{version}.tar.xz Source2: 69-sync-inotify.conf Source3: README.source Source4: ownCloud.conf +# PATCH-FIX-UPSTREAM +Patch0: owncloud-qt68.patch BuildRequires: cmake >= 2.8.11 BuildRequires: extra-cmake-modules @@ -60,7 +62,7 @@ BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(sqlite3) BuildRequires: pkgconfig(zlib) Requires: libowncloudsync0 = %{version} -Requires: owncloud-icons = %{version} +Requires: owncloud-extensions-resources Requires: qt6-sql-sqlite Suggests: %{name}-nautilus Suggests: %{name}-nemo @@ -117,15 +119,6 @@ Development files for the ownCloud synchronization library. It implements the ownCloud sync algorithm that keeps a local directory in sync with the content on your cloud. -%package -n owncloud-icons -Summary: Icons for the ownCloud client shell integrations -Group: Productivity/Networking/Other -BuildArch: noarch - -%description -n owncloud-icons -Icons for the visual representation of the sync state in various file -managers on the desktop. - %prep %autosetup -p1 -n ownCloud_os-%{version} @@ -144,14 +137,10 @@ install -m 0644 -D %{SOURCE2} %{buildroot}/%{_sysctldir}/69-sync-inotify.conf # do not allow to call home install -m 0644 -D %{SOURCE4} -t %{buildroot}%{_distconfdir}/ownCloud/ +# remove the icons that this version of the source tarball still contains +rm %{buildroot}%{_datadir}/icons/hicolor/*/apps/ownCloud_*png + %suse_update_desktop_file -n owncloud -# workaround for https://github.com/owncloud/ownbrander/issues/322 -for desktop_icon_dir in %{buildroot}%{_datadir}/icons/hicolor/*/apps; do - # copy shortname to executable name, if missing. - if [ -f $desktop_icon_dir/owncloud.png -a ! -f $desktop_icon_dir/owncloud.png ]; then - cp $desktop_icon_dir/owncloud.png $desktop_icon_dir/owncloud.png - fi -done %ldconfig_scriptlets -n libowncloudsync0 @@ -171,13 +160,6 @@ done # https://github.com/owncloud/client/issues/4107 %{_sysctldir}/69-sync-inotify.conf -%files -n owncloud-icons -%{_datadir}/icons/hicolor/*/apps/ownCloud_*.png -%if 0%{?suse_version} < 1550 -%dir %{_datadir}/icons/hicolor/1024x1024 -%dir %{_datadir}/icons/hicolor/1024x1024/apps -%endif - %files -n libowncloudsync0 %{_libdir}/libowncloudsync.so.* %{_libdir}/libowncloud_csync.so.* diff --git a/packages/o/owncloud-client/owncloud-qt68.patch b/packages/o/owncloud-client/owncloud-qt68.patch new file mode 100644 index 00000000000..eb52a3c6f8d --- /dev/null +++ b/packages/o/owncloud-client/owncloud-qt68.patch @@ -0,0 +1,33 @@ +From b2ff293ee10cb86c7c083e0ec10148e3f4b019f6 Mon Sep 17 00:00:00 2001 +From: Hannah von Reth +Date: Fri, 18 Oct 2024 12:40:53 +0200 +Subject: [PATCH] fix: Qt6.8 build fix (#11943) + +--- + test/testcredentialmanager.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/test/testcredentialmanager.cpp b/test/testcredentialmanager.cpp +index 8881cb98388..90bead31e2a 100644 +--- a/test/testcredentialmanager.cpp ++++ b/test/testcredentialmanager.cpp +@@ -112,8 +112,8 @@ private Q_SLOTS: + QTest::qWait(1000); + for (const auto s : spies) { + QCOMPARE(s->count(), 1); +- s->deleteLater(); + } ++ qDeleteAll(spies); + spies.clear(); + { + auto jobs = creds->clear(QStringLiteral("foo")); +@@ -131,8 +131,8 @@ private Q_SLOTS: + QTest::qWait(1000); + for (const auto s : spies) { + QCOMPARE(s->count(), 1); +- s->deleteLater(); + } ++ qDeleteAll(spies); + } + } + }; diff --git a/packages/o/owncloud-extensions-resources/.files b/packages/o/owncloud-extensions-resources/.files new file mode 100644 index 00000000000..b2f1a3449d1 Binary files /dev/null and b/packages/o/owncloud-extensions-resources/.files differ diff --git a/packages/o/owncloud-extensions-resources/.meta b/packages/o/owncloud-extensions-resources/.meta new file mode 100644 index 00000000000..d335e1c0b4b --- /dev/null +++ b/packages/o/owncloud-extensions-resources/.meta @@ -0,0 +1,6 @@ + + Resources for the ownCloud client and desktop shell integrations + This package provides resources like icons for the ownCloud client and the shell integrations + + https://owncloud.org/download + diff --git a/packages/o/owncloud-extensions-resources/.rev b/packages/o/owncloud-extensions-resources/.rev new file mode 100644 index 00000000000..fa9c942694a --- /dev/null +++ b/packages/o/owncloud-extensions-resources/.rev @@ -0,0 +1,10 @@ + + + baaf73aa8bf04fc9708ba7f318102c51 + 1.0.0 + + anag+factory + Init, needed by owncloud-client + 1231819 + + diff --git a/packages/o/owncloud-extensions-resources/client-desktop-shell-integration-resources-1.0.0.tar.gz b/packages/o/owncloud-extensions-resources/client-desktop-shell-integration-resources-1.0.0.tar.gz new file mode 120000 index 00000000000..a41073438d0 --- /dev/null +++ b/packages/o/owncloud-extensions-resources/client-desktop-shell-integration-resources-1.0.0.tar.gz @@ -0,0 +1 @@ +/ipfs/bafybeig3dmgdu4whmwgngd4tecgfvpnogn423sn65lxjqfopytyaxr2ooa \ No newline at end of file diff --git a/packages/o/owncloud-extensions-resources/owncloud-extensions-resources.changes b/packages/o/owncloud-extensions-resources/owncloud-extensions-resources.changes new file mode 100644 index 00000000000..5813cea2a2c --- /dev/null +++ b/packages/o/owncloud-extensions-resources/owncloud-extensions-resources.changes @@ -0,0 +1,24 @@ +------------------------------------------------------------------- +Wed Oct 23 14:00:36 UTC 2024 - Klaas Freitag + +- Remove unneeded scriptlet + +------------------------------------------------------------------- +Wed Oct 23 07:59:11 UTC 2024 - Klaas Freitag + +- Review feedback: Remove group and add download link to source + +------------------------------------------------------------------- +Tue Oct 22 07:57:14 UTC 2024 - Klaas Freitag + +- bump version to 1.0.0, first released version + +------------------------------------------------------------------- +Thu Oct 17 07:26:29 UTC 2024 - Klaas Freitag + +- renamed package to owncloud-extension-resources + +------------------------------------------------------------------- +Tue Oct 15 15:38:17 UTC 2024 - Klaas Freitag + +- Initial package with resources diff --git a/packages/o/owncloud-extensions-resources/owncloud-extensions-resources.spec b/packages/o/owncloud-extensions-resources/owncloud-extensions-resources.spec new file mode 100644 index 00000000000..91d23c6418b --- /dev/null +++ b/packages/o/owncloud-extensions-resources/owncloud-extensions-resources.spec @@ -0,0 +1,52 @@ +# +# spec file for package owncloud-client-resources +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: owncloud-extensions-resources +Version: 1.0.0 +Release: 0 +Summary: Resources for the ownCloud client and desktop shell integrations +License: GPL-2.0-or-later +URL: https://owncloud.org/download +Source0: https://github.com/owncloud/client-desktop-shell-integration-resources/archive/v%{version}.tar.gz#/client-desktop-shell-integration-resources-%{version}.tar.gz +BuildRequires: cmake >= 3.18 +BuildRequires: extra-cmake-modules +# Moved from owncloud-client to a different package +Provides: owncloud-icons = 5.3.1 +Obsoletes: owncloud-icons < 5.3.1 + +%description + +This package provides resources like icons for the ownCloud client and the shell integrations + +%prep +%autosetup -p1 -n client-desktop-shell-integration-resources-%{version} + +%build +%cmake +%cmake_build + +%install +%cmake_install + +%files +%{_libdir}/cmake/ownCloudShellResources/ +%{_datadir}/icons/*/*/*/* +%doc README.md +%license COPYING + +%changelog diff --git a/packages/p/perl-Inline-Python/.files b/packages/p/perl-Inline-Python/.files index 5e888f0cfe1..7ddcd82e09d 100644 Binary files a/packages/p/perl-Inline-Python/.files and b/packages/p/perl-Inline-Python/.files differ diff --git a/packages/p/perl-Inline-Python/.rev b/packages/p/perl-Inline-Python/.rev index 9417e34ffc5..7e99f052486 100644 --- a/packages/p/perl-Inline-Python/.rev +++ b/packages/p/perl-Inline-Python/.rev @@ -31,4 +31,13 @@ 1080866 + + 9af8dc5dbd799927d33f395212f4c7ea + 0.57 + + anag+factory + - add initperl_prototype.diff to fix compiler issue + + 1231823 + diff --git a/packages/p/perl-Inline-Python/cpanspec.yml b/packages/p/perl-Inline-Python/cpanspec.yml index 4fbe92a0706..014799aab43 100644 --- a/packages/p/perl-Inline-Python/cpanspec.yml +++ b/packages/p/perl-Inline-Python/cpanspec.yml @@ -4,11 +4,11 @@ #sources: # - source1 # - source2 -#patches: -# foo.patch: -p1 -# bar.patch: +patches: + initperl_prototype.diff: -p1 preamble: |- BuildRequires: python3-devel + BuildRequires: perl(Parse::RecDescent) #post_prep: |- # hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s, *,,g'` # sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL diff --git a/packages/p/perl-Inline-Python/initperl_prototype.diff b/packages/p/perl-Inline-Python/initperl_prototype.diff new file mode 100644 index 00000000000..0828127342c --- /dev/null +++ b/packages/p/perl-Inline-Python/initperl_prototype.diff @@ -0,0 +1,12 @@ +diff -ur Inline-Python-0.57/Python.xs Inline-Python-0.57_fix/Python.xs +--- Inline-Python-0.57/Python.xs 2022-09-18 13:07:09.299412240 +0200 ++++ Inline-Python-0.57_fix/Python.xs 2024-12-18 10:02:00.459704530 +0100 +@@ -8,6 +8,8 @@ + #include "py2pl.h" + #include "util.h" + ++void initperl(void); ++ + #ifdef EXPOSE_PERL + #include "perlmodule.h" + #endif diff --git a/packages/p/perl-Inline-Python/perl-Inline-Python.changes b/packages/p/perl-Inline-Python/perl-Inline-Python.changes index 1e53d836519..9b2461c71d3 100644 --- a/packages/p/perl-Inline-Python/perl-Inline-Python.changes +++ b/packages/p/perl-Inline-Python/perl-Inline-Python.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Dec 18 09:05:08 UTC 2024 - Dirk Stoecker + +- add initperl_prototype.diff to fix compiler issue + ------------------------------------------------------------------- Thu Apr 20 10:47:40 UTC 2023 - Tina MΓΌller diff --git a/packages/p/perl-Inline-Python/perl-Inline-Python.spec b/packages/p/perl-Inline-Python/perl-Inline-Python.spec index a90d3d61c6e..798c857aa1d 100644 --- a/packages/p/perl-Inline-Python/perl-Inline-Python.spec +++ b/packages/p/perl-Inline-Python/perl-Inline-Python.spec @@ -1,7 +1,7 @@ # # spec file for package perl-Inline-Python # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -25,6 +25,7 @@ Summary: Write Perl subs and classes in Python URL: https://metacpan.org/release/%{cpan_name} Source0: https://cpan.metacpan.org/authors/id/N/NI/NINE/%{cpan_name}-%{version}.tar.gz Source1: cpanspec.yml +Patch0: initperl_prototype.diff BuildRequires: perl BuildRequires: perl-macros BuildRequires: perl(Digest::MD5) >= 2.5 @@ -37,6 +38,7 @@ Requires: perl(Inline) >= 0.46 %{perl_requires} # MANUAL BEGIN BuildRequires: python3-devel +BuildRequires: perl(Parse::RecDescent) # MANUAL END %description @@ -53,7 +55,7 @@ also gives you instructions on how to use 'perlmodule', the Python package which gives you access to the Perl interpreter. %prep -%autosetup -n %{cpan_name}-%{version} +%autosetup -n %{cpan_name}-%{version} -p1 %build export INLINE_PYTHON_EXECUTABLE=/usr/bin/python3 diff --git a/packages/p/python-freezerclient/.files b/packages/p/python-freezerclient/.files index 8b02438556b..dd64a6e79d3 100644 Binary files a/packages/p/python-freezerclient/.files and b/packages/p/python-freezerclient/.files differ diff --git a/packages/p/python-freezerclient/.rev b/packages/p/python-freezerclient/.rev index 70f2969d834..82c45b1acc5 100644 --- a/packages/p/python-freezerclient/.rev +++ b/packages/p/python-freezerclient/.rev @@ -193,4 +193,16 @@ - Add arm64 gate ci job 979066 + + 232ddb01f51588b38114397b2c8087f1 + 5.2.0 + + anag+factory + - update to version 5.2.0 + - Dropped the python 3.6/3.7 in zed cycle testing runtime + - Drop lower-constraints.txt and its testing + - Update arm ci jobs + - Add zed test jobs + 1231836 + diff --git a/packages/p/python-freezerclient/.servicemark b/packages/p/python-freezerclient/.servicemark deleted file mode 100644 index 1003b90c9f2..00000000000 --- a/packages/p/python-freezerclient/.servicemark +++ /dev/null @@ -1 +0,0 @@ -30be88743695f35bceec75d7f25cf87d diff --git a/packages/p/python-freezerclient/_service b/packages/p/python-freezerclient/_service index c367d185ba8..e9bf976bb5e 100644 --- a/packages/p/python-freezerclient/_service +++ b/packages/p/python-freezerclient/_service @@ -1,12 +1,12 @@ - + https://opendev.org/openstack/rpm-packaging/raw/master/openstack/python-freezerclient/python-freezerclient.spec.j2 python-freezerclient.spec https://opendev.org/openstack/python-freezerclient/raw/branch/master/requirements.txt cloud-devel@suse.de gh,openstack,python-freezerclient - + - + diff --git a/packages/p/python-freezerclient/python-freezerclient-4.4.0.tar.gz b/packages/p/python-freezerclient/python-freezerclient-4.4.0.tar.gz deleted file mode 120000 index 2a647a86b21..00000000000 --- a/packages/p/python-freezerclient/python-freezerclient-4.4.0.tar.gz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafkreigpfbdigdwtku55ynfwwmse6q7m5la6yfwtnrd5koklmvzmljyvuu \ No newline at end of file diff --git a/packages/p/python-freezerclient/python-freezerclient-5.2.0.tar.gz b/packages/p/python-freezerclient/python-freezerclient-5.2.0.tar.gz new file mode 120000 index 00000000000..a9316969f66 --- /dev/null +++ b/packages/p/python-freezerclient/python-freezerclient-5.2.0.tar.gz @@ -0,0 +1 @@ +/ipfs/bafkreic3stgoazbhpmgowdlqcejhrka3bgfk62ywnycppki32g7nl5li4e \ No newline at end of file diff --git a/packages/p/python-freezerclient/python-freezerclient.changes b/packages/p/python-freezerclient/python-freezerclient.changes index f5200e087e6..624a38eb7e6 100644 --- a/packages/p/python-freezerclient/python-freezerclient.changes +++ b/packages/p/python-freezerclient/python-freezerclient.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Wed Jan 10 16:50:13 UTC 2024 - cloud-devel@suse.de + +- update to version 5.2.0 + - Dropped the python 3.6/3.7 in zed cycle testing runtime + - Drop lower-constraints.txt and its testing + - Update arm ci jobs + - Add zed test jobs + ------------------------------------------------------------------- Tue May 24 21:01:04 UTC 2022 - cloud-devel@suse.de diff --git a/packages/p/python-freezerclient/python-freezerclient.spec b/packages/p/python-freezerclient/python-freezerclient.spec index 07a53f129d3..54c48cbbe22 100644 --- a/packages/p/python-freezerclient/python-freezerclient.spec +++ b/packages/p/python-freezerclient/python-freezerclient.spec @@ -1,7 +1,7 @@ # # spec file for package python-freezerclient # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,13 +17,13 @@ Name: python-freezerclient -Version: 4.4.0 +Version: 5.2.0 Release: 0 Summary: Python API and CLI for OpenStack Freezer License: Apache-2.0 Group: Development/Languages/Python URL: https://docs.openstack.org/python-freezerclient -Source0: https://files.pythonhosted.org/packages/source/p/python-freezerclient/python-freezerclient-4.4.0.tar.gz +Source0: https://files.pythonhosted.org/packages/source/p/python-freezerclient/python-freezerclient-5.2.0.tar.gz BuildRequires: openstack-macros BuildRequires: python3-cliff >= 2.8.0 BuildRequires: python3-fixtures @@ -77,14 +77,14 @@ This package contains the documentation. %{py3_build} # Build HTML docs and man page -PBR_VERSION=4.4.0 %sphinx_build -b html doc/source doc/build/html +PBR_VERSION=5.2.0 %sphinx_build -b html doc/source doc/build/html rm -r doc/build/html/.{doctrees,buildinfo} %install %{py3_install} %check -python3 -m stestr.cli run +%{openstack_stestr_run} %files -n python3-freezerclient %doc README.rst diff --git a/packages/p/python-httpx-socks/.files b/packages/p/python-httpx-socks/.files index 98fd24615fc..045096e1c1e 100644 Binary files a/packages/p/python-httpx-socks/.files and b/packages/p/python-httpx-socks/.files differ diff --git a/packages/p/python-httpx-socks/.rev b/packages/p/python-httpx-socks/.rev index 547bf27960d..b91e75d2008 100644 --- a/packages/p/python-httpx-socks/.rev +++ b/packages/p/python-httpx-socks/.rev @@ -17,4 +17,15 @@ * Include tests in MANIFEST.in 1224010 + + d05ff31855737eaec075fe329857006a + 0.10.0 + + anag+factory + - Update to 0.10.0: + * Minor fixes for httpx 0.28.x +- hypercorn now builds for 3.10, so don't skip testing there. +- Tighten up test BuildRequires. + 1231776 + diff --git a/packages/p/python-httpx-socks/httpx_socks-0.10.0.tar.gz b/packages/p/python-httpx-socks/httpx_socks-0.10.0.tar.gz new file mode 120000 index 00000000000..b2ed19c323b --- /dev/null +++ b/packages/p/python-httpx-socks/httpx_socks-0.10.0.tar.gz @@ -0,0 +1 @@ +/ipfs/bafkreihcglrrc5g6phghtstros54cwnkxnfzlyh7ltbnrfgth5wl4gqqsy \ No newline at end of file diff --git a/packages/p/python-httpx-socks/httpx_socks-0.9.2.tar.gz b/packages/p/python-httpx-socks/httpx_socks-0.9.2.tar.gz deleted file mode 120000 index 43c71d3f5df..00000000000 --- a/packages/p/python-httpx-socks/httpx_socks-0.9.2.tar.gz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafkreignablq76a4z2m3gn7pboxqc66wdx4ip2othvfl5oneqj2tq3xb4u \ No newline at end of file diff --git a/packages/p/python-httpx-socks/python-httpx-socks.changes b/packages/p/python-httpx-socks/python-httpx-socks.changes index 31c693606c6..79e5b74eafe 100644 --- a/packages/p/python-httpx-socks/python-httpx-socks.changes +++ b/packages/p/python-httpx-socks/python-httpx-socks.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Dec 18 04:47:35 UTC 2024 - Steve Kowalik + +- Update to 0.10.0: + * Minor fixes for httpx 0.28.x +- hypercorn now builds for 3.10, so don't skip testing there. +- Tighten up test BuildRequires. + ------------------------------------------------------------------- Wed Nov 13 15:24:37 UTC 2024 - Dirk MΓΌller diff --git a/packages/p/python-httpx-socks/python-httpx-socks.spec b/packages/p/python-httpx-socks/python-httpx-socks.spec index 15692e1dc63..976bccb3394 100644 --- a/packages/p/python-httpx-socks/python-httpx-socks.spec +++ b/packages/p/python-httpx-socks/python-httpx-socks.spec @@ -20,14 +20,12 @@ %if "%{flavor}" == "test" %define psuffix -test %bcond_without test -# python310-hypercorn doesn't exist -%define skip_python310 1 %else %define psuffix %{nil} %bcond_with test %endif Name: python-httpx-socks%{psuffix} -Version: 0.9.2 +Version: 0.10.0 Release: 0 Summary: Proxy (HTTP, SOCKS) transports for httpx License: Apache-2.0 @@ -42,13 +40,11 @@ BuildRequires: python-rpm-macros BuildRequires: %{python_module anyio} BuildRequires: %{python_module async-timeout} BuildRequires: %{python_module flake8} -BuildRequires: %{python_module httpcore} -BuildRequires: %{python_module httpx} +BuildRequires: %{python_module httpx-socks = %{version}} BuildRequires: %{python_module hypercorn} BuildRequires: %{python_module pytest-asyncio} BuildRequires: %{python_module pytest-trio} BuildRequires: %{python_module pytest} -BuildRequires: %{python_module python-socks} BuildRequires: %{python_module starlette} BuildRequires: %{python_module tiny-proxy} BuildRequires: %{python_module trio} diff --git a/packages/p/python-hypercorn/.files b/packages/p/python-hypercorn/.files index dd8fc18cdd0..8f7baaa5c28 100644 Binary files a/packages/p/python-hypercorn/.files and b/packages/p/python-hypercorn/.files differ diff --git a/packages/p/python-hypercorn/.rev b/packages/p/python-hypercorn/.rev index 741c6b93b82..a66878a7a73 100644 --- a/packages/p/python-hypercorn/.rev +++ b/packages/p/python-hypercorn/.rev @@ -24,4 +24,12 @@ 1190921 + + 235cc87bb983de03ff0a613e315e6d5a + 0.17.3 + + anag+factory + - Enable Python 3.10 builds. + 1231775 + diff --git a/packages/p/python-hypercorn/python-hypercorn.changes b/packages/p/python-hypercorn/python-hypercorn.changes index befbd410b25..7c76e9e95d1 100644 --- a/packages/p/python-hypercorn/python-hypercorn.changes +++ b/packages/p/python-hypercorn/python-hypercorn.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Dec 18 04:38:54 UTC 2024 - Steve Kowalik + +- Enable Python 3.10 builds. + ------------------------------------------------------------------- Wed Jul 31 14:12:37 UTC 2024 - John Paul Adrian Glaubitz diff --git a/packages/p/python-hypercorn/python-hypercorn.spec b/packages/p/python-hypercorn/python-hypercorn.spec index 3455b9c3d69..3a047f024f5 100644 --- a/packages/p/python-hypercorn/python-hypercorn.spec +++ b/packages/p/python-hypercorn/python-hypercorn.spec @@ -16,8 +16,6 @@ # -# avoid taskgroup backports -%define skip_python310 1 Name: python-hypercorn Version: 0.17.3 Release: 0 @@ -36,6 +34,7 @@ BuildRequires: %{python_module priority} BuildRequires: %{python_module pytest-asyncio} BuildRequires: %{python_module pytest-trio} BuildRequires: %{python_module pytest} +BuildRequires: %{python_module taskgroup if %python-base < 3.11} BuildRequires: %{python_module trio >= 0.22.0} BuildRequires: %{python_module wsproto >= 0.14.0} BuildRequires: fdupes @@ -44,6 +43,12 @@ Requires: python-h11 Requires: python-h2 >= 3.1.0 Requires: python-priority Requires: python-wsproto >= 0.14.0 +%if %{python_version_nodots} < 311 +Requires: python-exceptiongroup >= 1.1 +Requires: python-taskgroup +Requires: python-tomli +Requires: python-typing-extensions +%endif Requires(post): update-alternatives Requires(postun): update-alternatives BuildArch: noarch @@ -81,6 +86,8 @@ sed -i 's/--no-cov-on-fail//' pyproject.toml %python_uninstall_alternative hypercorn %files %{python_files} +%doc README.rst +%license LICENSE %{python_sitelib}/hypercorn %{python_sitelib}/hypercorn-%{version}.dist-info %python_alternative %{_bindir}/hypercorn diff --git a/packages/p/python-keystoneauth1/.files b/packages/p/python-keystoneauth1/.files index 8f8f19c34ad..00d091d422f 100644 Binary files a/packages/p/python-keystoneauth1/.files and b/packages/p/python-keystoneauth1/.files differ diff --git a/packages/p/python-keystoneauth1/.rev b/packages/p/python-keystoneauth1/.rev index 765093e989a..09c499b6ae6 100644 --- a/packages/p/python-keystoneauth1/.rev +++ b/packages/p/python-keystoneauth1/.rev @@ -389,4 +389,25 @@ update to version 2.12.0 - Add doc of OAuth 2.0 Mutual-TLS Authenticate 1171461 + + 9ad36c217c15f8913b495083ec1608d3 + 5.8.0 + + anag+factory + - update to version 5.8.0 + - reno: Update master for unmaintained/wallaby + - reno: Update master for unmaintained/victoria + - Drop unused reno from test requirements + - Output verification_uri_complete by logger + - Remove old excludes + - Python 3.12: do not use datetime.utcnow() + - reno: Update master for unmaintained/zed + - Update requests of device flow for public client + - Add OTP to v3OIDCpassword plugin + - Update master for stable/2024.1 + - Do not log sensitive info in OIDC + - reno: Update master for unmaintained/xena + - tox: Migrate to tox v4 + 1231835 + diff --git a/packages/p/python-keystoneauth1/keystoneauth1-5.6.0.tar.gz b/packages/p/python-keystoneauth1/keystoneauth1-5.6.0.tar.gz deleted file mode 120000 index 47ddd20ede5..00000000000 --- a/packages/p/python-keystoneauth1/keystoneauth1-5.6.0.tar.gz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeib3jzxtlb7gkmfjgvag537icxcrfefl3gsjbqgfvzxjcqxbqaftla \ No newline at end of file diff --git a/packages/p/python-keystoneauth1/keystoneauth1-5.8.0.tar.gz b/packages/p/python-keystoneauth1/keystoneauth1-5.8.0.tar.gz new file mode 120000 index 00000000000..eb8c2d298ed --- /dev/null +++ b/packages/p/python-keystoneauth1/keystoneauth1-5.8.0.tar.gz @@ -0,0 +1 @@ +/ipfs/bafybeihyoip2e5hl5v6pz5rivxoaybzh7lsg4o5hracfvbhiji2vi4i2du \ No newline at end of file diff --git a/packages/p/python-keystoneauth1/python-keystoneauth1.changes b/packages/p/python-keystoneauth1/python-keystoneauth1.changes index 2cfd75e7bf4..187fab06f83 100644 --- a/packages/p/python-keystoneauth1/python-keystoneauth1.changes +++ b/packages/p/python-keystoneauth1/python-keystoneauth1.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Mon Sep 2 17:35:47 UTC 2024 - cloud-devel@suse.de + +- update to version 5.8.0 + - reno: Update master for unmaintained/wallaby + - reno: Update master for unmaintained/victoria + - Drop unused reno from test requirements + - Output verification_uri_complete by logger + - Remove old excludes + - Python 3.12: do not use datetime.utcnow() + - reno: Update master for unmaintained/zed + - Update requests of device flow for public client + - Add OTP to v3OIDCpassword plugin + - Update master for stable/2024.1 + - Do not log sensitive info in OIDC + - reno: Update master for unmaintained/xena + - tox: Migrate to tox v4 + ------------------------------------------------------------------- Thu May 2 22:06:33 UTC 2024 - cloud-devel@suse.de diff --git a/packages/p/python-keystoneauth1/python-keystoneauth1.spec b/packages/p/python-keystoneauth1/python-keystoneauth1.spec index 87110bcefff..5d2f9cb26f0 100644 --- a/packages/p/python-keystoneauth1/python-keystoneauth1.spec +++ b/packages/p/python-keystoneauth1/python-keystoneauth1.spec @@ -17,13 +17,13 @@ Name: python-keystoneauth1 -Version: 5.6.0 +Version: 5.8.0 Release: 0 Summary: OpenStack authenticating tools License: Apache-2.0 Group: Development/Languages/Python URL: https://docs.openstack.org/keystoneauth -Source0: https://files.pythonhosted.org/packages/source/k/keystoneauth1/keystoneauth1-5.6.0.tar.gz +Source0: https://files.pythonhosted.org/packages/source/k/keystoneauth1/keystoneauth1-5.8.0.tar.gz BuildRequires: openstack-macros BuildRequires: python3-PyYAML BuildRequires: python3-betamax diff --git a/packages/p/python-novaclient/.files b/packages/p/python-novaclient/.files index 6d15964dca0..f643422065c 100644 Binary files a/packages/p/python-novaclient/.files and b/packages/p/python-novaclient/.files differ diff --git a/packages/p/python-novaclient/.rev b/packages/p/python-novaclient/.rev index 10ba3df5e73..6e1f35da5c8 100644 --- a/packages/p/python-novaclient/.rev +++ b/packages/p/python-novaclient/.rev @@ -758,4 +758,23 @@ update to version 5.1.0 - reno: Update master for unmaintained/yoga 1161193 + + 706415af33f0c7814a0b6c2eea000550 + 18.7.0 + + anag+factory + - update to version 18.7.0 + - tox: Add Python-specific functional envs + - Fix Python 3.12 compatibility + - support get and list server's metadata + - reno: Update master for unmaintained/victoria + - functional: Handle multiple networks + - reno: Update master for unmaintained/wallaby + - Update master for stable/2024.1 + - [doc] change directive noindex to no-index + - reno: Update master for unmaintained/xena + - Remove old excludes + - reno: Update master for unmaintained/zed + 1231834 + diff --git a/packages/p/python-novaclient/python-novaclient-18.6.0.tar.gz b/packages/p/python-novaclient/python-novaclient-18.6.0.tar.gz deleted file mode 120000 index 8d8bce067df..00000000000 --- a/packages/p/python-novaclient/python-novaclient-18.6.0.tar.gz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeig5lqtftedukpui5slb5sp4jgnlhsienl66i5rpgbuvsjyebdijnm \ No newline at end of file diff --git a/packages/p/python-novaclient/python-novaclient-18.7.0.tar.gz b/packages/p/python-novaclient/python-novaclient-18.7.0.tar.gz new file mode 120000 index 00000000000..f167de99af1 --- /dev/null +++ b/packages/p/python-novaclient/python-novaclient-18.7.0.tar.gz @@ -0,0 +1 @@ +/ipfs/bafybeiefm67xjldc6inerhtzcsxzgk3kejw6svj2mc5p2apt4hmh6ytwam \ No newline at end of file diff --git a/packages/p/python-novaclient/python-novaclient.changes b/packages/p/python-novaclient/python-novaclient.changes index 16782f41d60..c47cad007f3 100644 --- a/packages/p/python-novaclient/python-novaclient.changes +++ b/packages/p/python-novaclient/python-novaclient.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Tue Sep 3 13:16:34 UTC 2024 - cloud-devel@suse.de + +- update to version 18.7.0 + - tox: Add Python-specific functional envs + - Fix Python 3.12 compatibility + - support get and list server's metadata + - reno: Update master for unmaintained/victoria + - functional: Handle multiple networks + - reno: Update master for unmaintained/wallaby + - Update master for stable/2024.1 + - [doc] change directive noindex to no-index + - reno: Update master for unmaintained/xena + - Remove old excludes + - reno: Update master for unmaintained/zed + ------------------------------------------------------------------- Sun Mar 24 20:11:48 UTC 2024 - cloud-devel@suse.de diff --git a/packages/p/python-novaclient/python-novaclient.spec b/packages/p/python-novaclient/python-novaclient.spec index 7cf6ffcbc15..326b8df65e7 100644 --- a/packages/p/python-novaclient/python-novaclient.spec +++ b/packages/p/python-novaclient/python-novaclient.spec @@ -17,14 +17,14 @@ Name: python-novaclient -Version: 18.6.0 +Version: 18.7.0 Release: 0 Epoch: 0 Summary: Python API and CLI for OpenStack Nova License: Apache-2.0 Group: Development/Languages/Python URL: https://docs.openstack.org/python-novaclient -Source0: https://files.pythonhosted.org/packages/source/p/python-novaclient/python-novaclient-18.6.0.tar.gz +Source0: https://files.pythonhosted.org/packages/source/p/python-novaclient/python-novaclient-18.7.0.tar.gz BuildRequires: openssl BuildRequires: openstack-macros BuildRequires: python3-cinderclient @@ -34,7 +34,7 @@ BuildRequires: python3-glanceclient BuildRequires: python3-keystoneclient BuildRequires: python3-os-client-config BuildRequires: python3-osprofiler -BuildRequires: python3-pbr >= 2.0.0 +BuildRequires: python3-pbr >= 3.0.0 BuildRequires: python3-requests-mock BuildRequires: python3-stestr BuildRequires: python3-testscenarios @@ -54,9 +54,9 @@ Requires: python3-PrettyTable >= 0.7.2 Requires: python3-iso8601 >= 0.1.11 Requires: python3-keystoneauth1 >= 3.5.0 Requires: python3-oslo.i18n >= 3.15.3 -Requires: python3-oslo.serialization >= 2.18.0 +Requires: python3-oslo.serialization >= 2.20.0 Requires: python3-oslo.utils >= 3.33.0 -Requires: python3-pbr >= 2.0.0 +Requires: python3-pbr >= 3.0.0 Requires: python3-simplejson %if 0%{?suse_version} Obsoletes: python2-novaclient < 16.0.0 @@ -89,7 +89,7 @@ This package contains auto-generated documentation. %build %{py3_build} -PBR_VERSION=18.6.0 %sphinx_build -b html -d doc/build/doctrees doc/source doc/build/html +PBR_VERSION=18.7.0 %sphinx_build -b html -d doc/build/doctrees doc/source doc/build/html # Fix hidden-file-or-dir warnings rm -fr doc/build/html/.doctrees doc/build/html/.buildinfo diff --git a/packages/p/python-osc-lib/.files b/packages/p/python-osc-lib/.files index cb679af50eb..6fbb0d71af0 100644 Binary files a/packages/p/python-osc-lib/.files and b/packages/p/python-osc-lib/.files differ diff --git a/packages/p/python-osc-lib/.rev b/packages/p/python-osc-lib/.rev index 258577b63a5..4d5d36feedc 100644 --- a/packages/p/python-osc-lib/.rev +++ b/packages/p/python-osc-lib/.rev @@ -323,4 +323,20 @@ - Add pre-commit 1171411 + + 8c5fa7ef1d6ef646fad426ac66fea760 + 3.1.0 + + anag+factory + - update to version 3.1.0 + - Fix branch selection in zuul config + - Update master for stable/2024.1 + - reno: Update master for unmaintained/victoria + - zuul: Use openstack-python3-jobs template + - reno: Update master for unmaintained/zed + - reno: Update master for unmaintained/wallaby + - reno: Update master for unmaintained/xena + - Drop dependency on simplejson + 1231833 + diff --git a/packages/p/python-osc-lib/osc-lib-3.0.1.tar.gz b/packages/p/python-osc-lib/osc-lib-3.0.1.tar.gz deleted file mode 120000 index 391b0bea56f..00000000000 --- a/packages/p/python-osc-lib/osc-lib-3.0.1.tar.gz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafkreidgbksshrn6zh4bozy4jnb2y7klot3kdr7wdm4mf3rv7wjyiireky \ No newline at end of file diff --git a/packages/p/python-osc-lib/osc-lib-3.1.0.tar.gz b/packages/p/python-osc-lib/osc-lib-3.1.0.tar.gz new file mode 120000 index 00000000000..76e53b7b30f --- /dev/null +++ b/packages/p/python-osc-lib/osc-lib-3.1.0.tar.gz @@ -0,0 +1 @@ +/ipfs/bafkreihpbbjetkdwjnxstvae5wswnitbumadkavkimntt76vimd64eb6de \ No newline at end of file diff --git a/packages/p/python-osc-lib/python-osc-lib.changes b/packages/p/python-osc-lib/python-osc-lib.changes index db014d0ec69..b6cd6f76769 100644 --- a/packages/p/python-osc-lib/python-osc-lib.changes +++ b/packages/p/python-osc-lib/python-osc-lib.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Mon Sep 2 17:35:00 UTC 2024 - cloud-devel@suse.de + +- update to version 3.1.0 + - Fix branch selection in zuul config + - Update master for stable/2024.1 + - reno: Update master for unmaintained/victoria + - zuul: Use openstack-python3-jobs template + - reno: Update master for unmaintained/zed + - reno: Update master for unmaintained/wallaby + - reno: Update master for unmaintained/xena + - Drop dependency on simplejson + ------------------------------------------------------------------- Thu May 2 16:01:49 UTC 2024 - cloud-devel@suse.de diff --git a/packages/p/python-osc-lib/python-osc-lib.spec b/packages/p/python-osc-lib/python-osc-lib.spec index 0fe532ad8aa..880fa2d87d1 100644 --- a/packages/p/python-osc-lib/python-osc-lib.spec +++ b/packages/p/python-osc-lib/python-osc-lib.spec @@ -17,13 +17,13 @@ Name: python-osc-lib -Version: 3.0.1 +Version: 3.1.0 Release: 0 Summary: OpenStackClient Library License: Apache-2.0 Group: Development/Languages/Python URL: https://docs.openstack.org/developer/osc-lib -Source0: https://files.pythonhosted.org/packages/source/o/osc-lib/osc-lib-3.0.1.tar.gz +Source0: https://files.pythonhosted.org/packages/source/o/osc-lib/osc-lib-3.1.0.tar.gz BuildRequires: openstack-macros BuildRequires: python3-cliff >= 3.2.0 BuildRequires: python3-fixtures @@ -36,7 +36,7 @@ BuildRequires: python3-osprofiler BuildRequires: python3-pbr >= 2.0.0 BuildRequires: python3-platformdirs BuildRequires: python3-requests-mock -BuildRequires: python3-simplejson >= 3.5.1 +BuildRequires: python3-simplejson BuildRequires: python3-stestr BuildRequires: python3-stevedore >= 1.20.0 BuildRequires: python3-testtools @@ -55,7 +55,7 @@ Requires: python3-oslo.i18n >= 3.15.3 Requires: python3-oslo.utils >= 3.33.0 Requires: python3-pbr >= 2.0.0 Requires: python3-platformdirs -Requires: python3-simplejson >= 3.5.1 +Requires: python3-simplejson Requires: python3-stevedore >= 1.20.0 %description -n python3-osc-lib @@ -75,7 +75,7 @@ BuildRequires: python3-sphinxcontrib-apidoc Documentation for the OpenStack client library. %prep -%autosetup -p1 -n osc-lib-3.0.1 +%autosetup -p1 -n osc-lib-3.1.0 %py_req_cleanup %build diff --git a/packages/p/python-oslo.serialization/.files b/packages/p/python-oslo.serialization/.files index e89b484c00c..3a01e56b5a3 100644 Binary files a/packages/p/python-oslo.serialization/.files and b/packages/p/python-oslo.serialization/.files differ diff --git a/packages/p/python-oslo.serialization/.rev b/packages/p/python-oslo.serialization/.rev index 591e7af6dcc..a6c3fe17681 100644 --- a/packages/p/python-oslo.serialization/.rev +++ b/packages/p/python-oslo.serialization/.rev @@ -331,4 +331,19 @@ - jsonutils: Raise ValueError in case the input can't be converted 1171466 + + 8fab4dc8ebc34c659d6a1cd7de6898ae + 5.5.0 + + anag+factory + - update to version 5.5.0 + - reno: Update master for unmaintained/wallaby + - reno: Update master for unmaintained/xena + - Update master for stable/2024.1 + - Remove old excludes + - reno: Update master for unmaintained/victoria + - [jsonutils] Add handling of datetime.date format + - reno: Update master for unmaintained/zed + 1231832 + diff --git a/packages/p/python-oslo.serialization/oslo.serialization-5.4.0.tar.gz b/packages/p/python-oslo.serialization/oslo.serialization-5.4.0.tar.gz deleted file mode 120000 index e5606d50b0c..00000000000 --- a/packages/p/python-oslo.serialization/oslo.serialization-5.4.0.tar.gz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafkreibrlszumxuzy2c4wci3sa3fznybx3tridrajor6l7bnriqlj3dooy \ No newline at end of file diff --git a/packages/p/python-oslo.serialization/oslo.serialization-5.5.0.tar.gz b/packages/p/python-oslo.serialization/oslo.serialization-5.5.0.tar.gz new file mode 120000 index 00000000000..e94c953e472 --- /dev/null +++ b/packages/p/python-oslo.serialization/oslo.serialization-5.5.0.tar.gz @@ -0,0 +1 @@ +/ipfs/bafkreie6oux4lwfjowkwokg5s2ucdbtyhm767swlwnktvtmtgbmimhqvuy \ No newline at end of file diff --git a/packages/p/python-oslo.serialization/python-oslo.serialization.changes b/packages/p/python-oslo.serialization/python-oslo.serialization.changes index 63785f2890e..a5f25f887d1 100644 --- a/packages/p/python-oslo.serialization/python-oslo.serialization.changes +++ b/packages/p/python-oslo.serialization/python-oslo.serialization.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Mon Sep 2 17:30:41 UTC 2024 - cloud-devel@suse.de + +- update to version 5.5.0 + - reno: Update master for unmaintained/wallaby + - reno: Update master for unmaintained/xena + - Update master for stable/2024.1 + - Remove old excludes + - reno: Update master for unmaintained/victoria + - [jsonutils] Add handling of datetime.date format + - reno: Update master for unmaintained/zed + ------------------------------------------------------------------- Thu May 2 22:11:41 UTC 2024 - cloud-devel@suse.de diff --git a/packages/p/python-oslo.serialization/python-oslo.serialization.spec b/packages/p/python-oslo.serialization/python-oslo.serialization.spec index 4f31aa0a85f..f5ffb7f32e5 100644 --- a/packages/p/python-oslo.serialization/python-oslo.serialization.spec +++ b/packages/p/python-oslo.serialization/python-oslo.serialization.spec @@ -17,13 +17,13 @@ Name: python-oslo.serialization -Version: 5.4.0 +Version: 5.5.0 Release: 0 Summary: OpenStack serialization library License: Apache-2.0 Group: Development/Languages/Python URL: https://docs.openstack.org/oslo.serialization -Source0: https://files.pythonhosted.org/packages/source/o/oslo.serialization/oslo.serialization-5.4.0.tar.gz +Source0: https://files.pythonhosted.org/packages/source/o/oslo.serialization/oslo.serialization-5.5.0.tar.gz BuildRequires: openstack-macros BuildRequires: python3-msgpack >= 0.5.2 BuildRequires: python3-netaddr @@ -61,7 +61,7 @@ in transmittable and storable formats, such as Base64, JSON and MessagePack. This package contains the documentation. %prep -%autosetup -p1 -n oslo.serialization-5.4.0 +%autosetup -p1 -n oslo.serialization-5.5.0 sed -i -e "s,bandit.*,," test-requirements.txt %py_req_cleanup diff --git a/packages/p/python-sushy/.files b/packages/p/python-sushy/.files index e944de5ceff..34913b642b7 100644 Binary files a/packages/p/python-sushy/.files and b/packages/p/python-sushy/.files differ diff --git a/packages/p/python-sushy/.rev b/packages/p/python-sushy/.rev index abe0ab48807..f19ccbbc5d5 100644 --- a/packages/p/python-sushy/.rev +++ b/packages/p/python-sushy/.rev @@ -302,4 +302,18 @@ - reno: Update master for unmaintained/xena 1178612 + + b626c7e83ad5d7c1ecd0e96abd1ffb90 + 5.2.0 + + anag+factory + - update to version 5.2.0 + - avoid MAC addresses that are the empty string + - Trivial: fix duplicated docstring + - When ManagedBy attribute is missing from System retry with Managers + - Name is not mandatory for Storage/StorageControllers + - Fix link to bugs + - Log the response when unable to parse JSON + 1231830 + diff --git a/packages/p/python-sushy/python-sushy.changes b/packages/p/python-sushy/python-sushy.changes index 631131936c8..ad6ab488cf4 100644 --- a/packages/p/python-sushy/python-sushy.changes +++ b/packages/p/python-sushy/python-sushy.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Tue Sep 3 13:17:42 UTC 2024 - cloud-devel@suse.de + +- update to version 5.2.0 + - avoid MAC addresses that are the empty string + - Trivial: fix duplicated docstring + - When ManagedBy attribute is missing from System retry with Managers + - Name is not mandatory for Storage/StorageControllers + - Fix link to bugs + - Log the response when unable to parse JSON + ------------------------------------------------------------------- Tue Jun 4 20:09:08 UTC 2024 - cloud-devel@suse.de diff --git a/packages/p/python-sushy/python-sushy.spec b/packages/p/python-sushy/python-sushy.spec index 2174add8867..b9955b41806 100644 --- a/packages/p/python-sushy/python-sushy.spec +++ b/packages/p/python-sushy/python-sushy.spec @@ -17,13 +17,13 @@ Name: python-sushy -Version: 5.1.0 +Version: 5.2.0 Release: 0 Summary: Python library to communicate with Redfish based systems License: Apache-2.0 Group: Development/Languages/Python URL: https://docs.openstack.org/sushy -Source0: https://files.pythonhosted.org/packages/source/s/sushy/sushy-5.1.0.tar.gz +Source0: https://files.pythonhosted.org/packages/source/s/sushy/sushy-5.2.0.tar.gz BuildRequires: openstack-macros BuildRequires: python3-oslotest BuildRequires: python3-pbr >= 2.0.0 @@ -62,7 +62,7 @@ Sushy is a Python library to communicate with `Redfish` based systems. This package contains the documentation. %prep -%autosetup -p1 -n sushy-5.1.0 +%autosetup -p1 -n sushy-5.2.0 %py_req_cleanup %build diff --git a/packages/p/python-sushy/sushy-5.1.0.tar.gz b/packages/p/python-sushy/sushy-5.1.0.tar.gz deleted file mode 120000 index 9c1f93e0097..00000000000 --- a/packages/p/python-sushy/sushy-5.1.0.tar.gz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafkreih5r6jhejzfutf4qo4usyf2frhr5cqclmfy65cn2yyiw7vs6xnnem \ No newline at end of file diff --git a/packages/p/python-sushy/sushy-5.2.0.tar.gz b/packages/p/python-sushy/sushy-5.2.0.tar.gz new file mode 120000 index 00000000000..164f1156a94 --- /dev/null +++ b/packages/p/python-sushy/sushy-5.2.0.tar.gz @@ -0,0 +1 @@ +/ipfs/bafkreigzbjuw732cyurisilzcohuz2xdi7irm5xp3pqy7xw2bt4bcvgb4q \ No newline at end of file diff --git a/packages/p/python-taskgroup/.files b/packages/p/python-taskgroup/.files new file mode 100644 index 00000000000..6b0c50d13ad Binary files /dev/null and b/packages/p/python-taskgroup/.files differ diff --git a/packages/p/python-taskgroup/.meta b/packages/p/python-taskgroup/.meta new file mode 100644 index 00000000000..0cf8502a956 --- /dev/null +++ b/packages/p/python-taskgroup/.meta @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/p/python-taskgroup/.rev b/packages/p/python-taskgroup/.rev new file mode 100644 index 00000000000..d21148db364 --- /dev/null +++ b/packages/p/python-taskgroup/.rev @@ -0,0 +1,10 @@ + + + b8f7befcbc7433ad9d1e54915ddb5ffe + 0.2.1 + + anag+factory + - Initial release of 0.2.1. + 1231774 + + diff --git a/packages/p/python-taskgroup/python-taskgroup.changes b/packages/p/python-taskgroup/python-taskgroup.changes new file mode 100644 index 00000000000..ba04da5431f --- /dev/null +++ b/packages/p/python-taskgroup/python-taskgroup.changes @@ -0,0 +1,4 @@ +------------------------------------------------------------------- +Wed Dec 18 04:36:54 UTC 2024 - Steve Kowalik + +- Initial release of 0.2.1. diff --git a/packages/p/python-taskgroup/python-taskgroup.spec b/packages/p/python-taskgroup/python-taskgroup.spec new file mode 100644 index 00000000000..ef588449947 --- /dev/null +++ b/packages/p/python-taskgroup/python-taskgroup.spec @@ -0,0 +1,62 @@ +# +# spec file for package python-taskgroup +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: python-taskgroup +Version: 0.2.1 +Release: 0 +Summary: Backport of asyncio.TaskGroup, asyncio.Runner and asynciotimeout +License: MIT +URL: https://github.com/graingert/taskgroup +Source: https://files.pythonhosted.org/packages/source/t/taskgroup/taskgroup-%{version}.tar.gz +BuildRequires: %{python_module flit-core >= 3.2} +BuildRequires: %{python_module pip} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Requires: python-exceptiongroup +Requires: python-typing_extensions >= 4.12.2 +BuildArch: noarch +%python_subpackages + +%description +This is a backport of the TaskGroup, Runner and timeout code from +Python 3.12a1 to Python 3.9, Python 3.10 and Python 3.11. + +This project works by temporarily swapping the current task of a coroutine to a +subclass of asyncio.Task with uncancel and context setting support. +The advantage of this approach means that most of the operation of +asyncio.Task will continue to be c-accelerated. + +%prep +%autosetup -p1 -n taskgroup-%{version} + +%build +%pyproject_wheel + +%install +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} + +# There is no testsuite + +%files %{python_files} +%doc README.md +%license LICENSE +%{python_sitelib}/taskgroup +%{python_sitelib}/taskgroup-%{version}.dist-info + +%changelog diff --git a/packages/p/python-taskgroup/taskgroup-0.2.1.tar.gz b/packages/p/python-taskgroup/taskgroup-0.2.1.tar.gz new file mode 120000 index 00000000000..44781aa06ac --- /dev/null +++ b/packages/p/python-taskgroup/taskgroup-0.2.1.tar.gz @@ -0,0 +1 @@ +/ipfs/bafkreiar7koc3midogekyc3ay4h2s6jehuald7xbu3tb4mlryiobv527pa \ No newline at end of file diff --git a/packages/p/python-urllib3/.files b/packages/p/python-urllib3/.files index 53052a142f4..2253aa46834 100644 Binary files a/packages/p/python-urllib3/.files and b/packages/p/python-urllib3/.files differ diff --git a/packages/p/python-urllib3/.rev b/packages/p/python-urllib3/.rev index 848720f0ddc..4697db01fb7 100644 --- a/packages/p/python-urllib3/.rev +++ b/packages/p/python-urllib3/.rev @@ -862,4 +862,12 @@ + Fixed HTTPConnection.proxy_is_verified and 1205339 + + ad60f9b912e3dc810e5adeb386d348db + 2.2.3 + + anag+factory + - Ignore DeprecationWarning in tests (bsc#1234681) + 1231820 + diff --git a/packages/p/python-urllib3/python-urllib3.changes b/packages/p/python-urllib3/python-urllib3.changes index 86c01c22b99..35933a2c065 100644 --- a/packages/p/python-urllib3/python-urllib3.changes +++ b/packages/p/python-urllib3/python-urllib3.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Dec 18 08:41:22 UTC 2024 - Daniel Garcia + +- Ignore DeprecationWarning in tests (bsc#1234681) + ------------------------------------------------------------------- Thu Oct 3 05:10:09 UTC 2024 - Steve Kowalik diff --git a/packages/p/python-urllib3/python-urllib3.spec b/packages/p/python-urllib3/python-urllib3.spec index af1573bb626..403116c4f45 100644 --- a/packages/p/python-urllib3/python-urllib3.spec +++ b/packages/p/python-urllib3/python-urllib3.spec @@ -130,7 +130,7 @@ skiplist+=" or test_requesting_large_resources_via_ssl" skiplist+=" or test_deprecated_no_scheme" # weird threading issues on OBS runners skiplist+=" or test_http2_probe_blocked_per_thread" -%pytest %{?jobs:-n %jobs} -k "not (${skiplist})" --ignore test/with_dummyserver/test_socketlevel.py +%pytest -W ignore::DeprecationWarning %{?jobs:-n %jobs} -k "not (${skiplist})" --ignore test/with_dummyserver/test_socketlevel.py %endif %if ! %{with test} diff --git a/packages/p/python-yaql/.files b/packages/p/python-yaql/.files index da82cb93b0e..b3cc6719e2a 100644 Binary files a/packages/p/python-yaql/.files and b/packages/p/python-yaql/.files differ diff --git a/packages/p/python-yaql/.rev b/packages/p/python-yaql/.rev index 43ad1db2a94..1c072c256ca 100644 --- a/packages/p/python-yaql/.rev +++ b/packages/p/python-yaql/.rev @@ -176,4 +176,27 @@ 1011998 + + e5d8363a5413718f023a9bcd32a7c41f + 3.0.0 + + anag+factory + - update to version 3.0.0 + - Use py3 as the default runtime for tox + - Update python classifier in setup.cfg + - Publish release notes + - Restore Python 3.6/7 support + - Replace assertItemsEqual with assertCountEqual + - [community goal] Update contributor documentation + - Stop using deprecated 'message' attribute in Exception + - Drop direct execution of run.py + - Remove format function + - Update CI to use unversioned jobs template + - Bump hacking + - Migrate from testr to stestr + - Remove translation sections from setup.cfg + - Remove shebang from setup.py + - setup.cfg: Replace dashes by underscores + 1231829 + diff --git a/packages/p/python-yaql/.servicemark b/packages/p/python-yaql/.servicemark deleted file mode 100644 index bb7ed88a2d6..00000000000 --- a/packages/p/python-yaql/.servicemark +++ /dev/null @@ -1 +0,0 @@ -725f522fd3a35c2dd7c89c302fbdd565 diff --git a/packages/p/python-yaql/_service b/packages/p/python-yaql/_service index fcb03a924bb..0adea22ed90 100644 --- a/packages/p/python-yaql/_service +++ b/packages/p/python-yaql/_service @@ -1,11 +1,11 @@ - + https://opendev.org/openstack/rpm-packaging/raw/master/openstack/yaql/yaql.spec.j2 python-yaql.spec cloud-devel@suse.de gh,openstack,yaql - + - + diff --git a/packages/p/python-yaql/python-yaql.changes b/packages/p/python-yaql/python-yaql.changes index d77bb1f2510..7acb804092d 100644 --- a/packages/p/python-yaql/python-yaql.changes +++ b/packages/p/python-yaql/python-yaql.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Fri May 10 08:42:45 UTC 2024 - cloud-devel@suse.de + +- update to version 3.0.0 + - Use py3 as the default runtime for tox + - Update python classifier in setup.cfg + - Publish release notes + - Restore Python 3.6/7 support + - Replace assertItemsEqual with assertCountEqual + - [community goal] Update contributor documentation + - Stop using deprecated 'message' attribute in Exception + - Drop direct execution of run.py + - Remove format function + - Update CI to use unversioned jobs template + - Bump hacking + - Migrate from testr to stestr + - Remove translation sections from setup.cfg + - Remove shebang from setup.py + - setup.cfg: Replace dashes by underscores + ------------------------------------------------------------------- Fri Oct 14 12:35:15 UTC 2022 - pgajdos@suse.com diff --git a/packages/p/python-yaql/python-yaql.spec b/packages/p/python-yaql/python-yaql.spec index 1a959bc32e7..41705b7c905 100644 --- a/packages/p/python-yaql/python-yaql.spec +++ b/packages/p/python-yaql/python-yaql.spec @@ -1,7 +1,7 @@ # # spec file for package python-yaql # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,13 +18,13 @@ %global oldpython python Name: python-yaql -Version: 2.0.0 +Version: 3.0.0 Release: 0 Summary: YAQL - Yet Another Query Language License: Apache-2.0 Group: Development/Languages/Python URL: https://docs.openstack.org/yaql -Source0: https://files.pythonhosted.org/packages/source/y/yaql/yaql-2.0.0.tar.gz +Source0: https://files.pythonhosted.org/packages/source/y/yaql/yaql-3.0.0.tar.gz BuildRequires: openstack-macros # for testing BuildRequires: python3-Sphinx @@ -33,7 +33,8 @@ BuildRequires: python3-pbr BuildRequires: python3-ply BuildRequires: python3-python-dateutil BuildRequires: python3-python-subunit -BuildRequires: python3-testrepository +BuildRequires: python3-setuptools +BuildRequires: python3-stestr BuildRequires: python3-testscenarios BuildRequires: python3-testtools BuildArch: noarch @@ -62,7 +63,7 @@ written in python and is distributed via PyPI. This package contains the Python 3.x module. %prep -%autosetup -p1 -n yaql-2.0.0 +%autosetup -p1 -n yaql-3.0.0 %py_req_cleanup %build @@ -72,7 +73,7 @@ This package contains the Python 3.x module. %{py3_install} %check -PYTHON=python3 python3 setup.py testr +%{openstack_stestr_run} %files -n python3-yaql %license LICENSE diff --git a/packages/p/python-yaql/yaql-2.0.0.tar.gz b/packages/p/python-yaql/yaql-2.0.0.tar.gz deleted file mode 120000 index 4f9f6ea3d1a..00000000000 --- a/packages/p/python-yaql/yaql-2.0.0.tar.gz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafkreifqacuew6fjyi5zsuv7rrc7n2jooutzpxzhz2t7ktbsrkpqeukhv4 \ No newline at end of file diff --git a/packages/p/python-yaql/yaql-3.0.0.tar.gz b/packages/p/python-yaql/yaql-3.0.0.tar.gz new file mode 120000 index 00000000000..0263851680b --- /dev/null +++ b/packages/p/python-yaql/yaql-3.0.0.tar.gz @@ -0,0 +1 @@ +/ipfs/bafkreiegsfeusg4r2g447vek2gb2qcfeo5bhfnz5fbkej6rxj3jfsywcgm \ No newline at end of file diff --git a/packages/q/qalculate/.files b/packages/q/qalculate/.files index dccad408302..552bdcf133c 100644 Binary files a/packages/q/qalculate/.files and b/packages/q/qalculate/.files differ diff --git a/packages/q/qalculate/.rev b/packages/q/qalculate/.rev index 775b1619a11..88c072e11d7 100644 --- a/packages/q/qalculate/.rev +++ b/packages/q/qalculate/.rev @@ -480,4 +480,12 @@ 1191843 + + 3f907a34fbc5c7b95ff0381937b556ac + 5.4.0 + + anag+factory + + 1231777 + diff --git a/packages/q/qalculate/libqalculate-5.2.0.tar.gz b/packages/q/qalculate/libqalculate-5.2.0.tar.gz deleted file mode 120000 index 7396534b059..00000000000 --- a/packages/q/qalculate/libqalculate-5.2.0.tar.gz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeidqafanbkfwarup72dfti5tz3a5ogxga5smojq3npkdo2tehbl2me \ No newline at end of file diff --git a/packages/q/qalculate/libqalculate-5.4.0.tar.gz b/packages/q/qalculate/libqalculate-5.4.0.tar.gz new file mode 120000 index 00000000000..81dff412e09 --- /dev/null +++ b/packages/q/qalculate/libqalculate-5.4.0.tar.gz @@ -0,0 +1 @@ +/ipfs/bafybeihfwgybw3d3bp2sff2vc5amkja7ncdvbrqvj5zrr76dyql5uz2dky \ No newline at end of file diff --git a/packages/q/qalculate/qalculate.changes b/packages/q/qalculate/qalculate.changes index 74870eeb105..0e02f20ce86 100644 --- a/packages/q/qalculate/qalculate.changes +++ b/packages/q/qalculate/qalculate.changes @@ -1,3 +1,74 @@ +------------------------------------------------------------------- +Tue Dec 17 21:51:02 UTC 2024 - Matej Cepl + +- update to 5.4.0: + - Option to continuously display result while editing + expression + - Option to specify number of displayed significant digits, + instead of using precision + - New functions: tripleProduct(), multilimit() + - Improve decision to automatically convert unchanged quantity + with unit + - Improve ability to abort matrix functions + - Add plot() function example, and support expression in y=f(x) + format + - Place "approx." on same line as value (instead of as equals + sign) in qalc + - Display "aborted" for long aborted result in qalc + - Updated French translation + - Fix case conversion of Β΅ to M and similar + - Fix segfault with very large integer raised by very large + integer + - Fix wrong output of converted unit with non-numerical + exponent in some cases (e.g. ft^x converted to m without + expansion) + - Fix "sqrt(x-1/x)+sqrt(1-1/x)-x=0" when approximation is not + exact + - Fix clear using Ctrl+L when input line is not empty + - Minor bug fixes and feature enhancements +- update to 5.3.0: + - Fix memory leaks + - Fix segfault with recursive (self-referencing) function + - Fix input of negative exponent in scientific e notation with + RPN syntax + - Fix parsing of 1Β°2'3" as 1Β°+2'+3" + - Fix definite integral for 1/sqrt(1-x^2), with limits + higher/lower than or equal to -1 and 1 + - Fix crash with empty vector in plot function, e.g. plot([]) + - Fix "did you mean..." warning for two implicitly + multiplicated functions without space between (e.g. + "atan2(a,b)atan2(c,d)") + - Fix inability to abort randpoisson() with very high rate + value + - Fix Calculator::reset() + - Improve handling of "where" expressions with inequalities + - Place n and C last in variable isolation priority order + - Remove unnecessary calculation for output of integers + with non-decimal number base (fixes delay with very high + precision) + - Add nmi symbol for nautical mile + - Add free_thread_caches() function + - Add Calculator::parseToExpression() + - Disable load() and export() functions when --disable-insecure + compile option is enabled + - Fix saving of percentage interpretation in qalc + - Fix save definitions option in qalc + - Fix interpretation of mHβ‚‚O, and related units with Unicode + subscript in qalc + - Fix line break for output from command line expression or + file, before interactive mode + - Avoid asking questions when reading commands/expressions from + file before interactive mode + - "unkeep" command (reverse of "keep") + - Support abbreviations for scientific (sci) and engineering + (eng) as options for scientific notation (exp) + - Show error for unrecognized command line options when + expression is separated from options by "--" + - Do not show single input decimal number as fraction by + default if small or large enough to be displayed using + scientific notation + - Minor bug fixes and feature enhancements + ------------------------------------------------------------------- Tue Jul 30 11:00:57 UTC 2024 - pgajdos@suse.com diff --git a/packages/q/qalculate/qalculate.spec b/packages/q/qalculate/qalculate.spec index bcf1ed6af1d..3fb95772d9e 100644 --- a/packages/q/qalculate/qalculate.spec +++ b/packages/q/qalculate/qalculate.spec @@ -19,7 +19,7 @@ %define major 23 %define libname libqalculate Name: qalculate -Version: 5.2.0 +Version: 5.4.0 Release: 0 Summary: Multi-purpose desktop calculator application License: GPL-2.0-or-later diff --git a/packages/q/qbittorrent/.files b/packages/q/qbittorrent/.files index 547f3ee3b10..c5d8886e7f0 100644 Binary files a/packages/q/qbittorrent/.files and b/packages/q/qbittorrent/.files differ diff --git a/packages/q/qbittorrent/.rev b/packages/q/qbittorrent/.rev index 2f3ca9d07e3..9f5f709007d 100644 --- a/packages/q/qbittorrent/.rev +++ b/packages/q/qbittorrent/.rev @@ -1463,4 +1463,12 @@ 1224892 + + 773b4171a3f4fbfbf96b16909cafa57b + 5.0.3 + + anag+factory + + 1231798 + diff --git a/packages/q/qbittorrent/qbittorrent-5.0.2.tar.xz b/packages/q/qbittorrent/qbittorrent-5.0.2.tar.xz deleted file mode 120000 index 09f633ead79..00000000000 --- a/packages/q/qbittorrent/qbittorrent-5.0.2.tar.xz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeiaef745xsb3h7z75yxav5abtqa3f5dun3l7ujorzfthryz6goxwqq \ No newline at end of file diff --git a/packages/q/qbittorrent/qbittorrent-5.0.2.tar.xz.asc b/packages/q/qbittorrent/qbittorrent-5.0.2.tar.xz.asc deleted file mode 100644 index 1345efe3fd1..00000000000 --- a/packages/q/qbittorrent/qbittorrent-5.0.2.tar.xz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCAAdFiEE2PPad6rGdBBTWZwTbkotAlt8yaIFAmc6X5wACgkQbkotAlt8 -yaKCBQ/+LHFtp6P0RShDE7a0pnDgmQQztxNDHK17AZhomUjgBwMn81/Da1ljM2vM -bIPBNwFewLgShBhyW917/UKJkduhVeBvM6UgNL+INE8XgqWA8orAr+FPYPZQ4gAx -aLXoYjB7ZWgvhgHst1vHiQEvdsar8toRs7vFPZNIefO/4EMyUL0DuIicH65ayQVQ -JzPlZSP69G3hIA4hk/5CslR/to1WT27K+whX72TGBQvZp7mXSgszAYvySynKU1KO -s5C2PYPj3eIil1dZi/R5JBmQSyYTsijk/wvIyUFCNxKb4IQuaeuk+guigHN5HxSK -KeFJbDnVTXe7Klm/aO4D5O4u2tNTKDa/INGmVQY0G2TW4R93i9vBgWjdQo3ZX1zT -WDGy7UgdzRX1GY+uOjU5D+Y+n8lTv+gvyMll6tE1ZbbklULBY2pn/4ZdBgaons6k -tx+ozD+ufcGmCOPb/Uu8RLCN+18NnZW9HOFlEW9yByN5fabTkf/qSUaCJAAuZUj1 -htHkSTepkP0tHTfP+LL8QVgTDTr3ckT5ne356DE7EL/mKhIwjXRO95FUqJcJJi0x -6ezKLPgqt10iPdZjuEnQkUDqwGQHiK5aulQfwL5rb0ZKE0a/CBmKUkjwQCyChF9e -DLvf6dsTDy7mnnKdE/lXCcNXE4TnetDGt1tj7h+F1X2qRoLRttI= -=UAWz ------END PGP SIGNATURE----- diff --git a/packages/q/qbittorrent/qbittorrent-5.0.3.tar.xz b/packages/q/qbittorrent/qbittorrent-5.0.3.tar.xz new file mode 120000 index 00000000000..136477623a4 --- /dev/null +++ b/packages/q/qbittorrent/qbittorrent-5.0.3.tar.xz @@ -0,0 +1 @@ +/ipfs/bafybeifuhcyh3hsgaihyujihyiq3c5ohvmzcxxml4wlxzhya573tkkudei \ No newline at end of file diff --git a/packages/q/qbittorrent/qbittorrent-5.0.3.tar.xz.asc b/packages/q/qbittorrent/qbittorrent-5.0.3.tar.xz.asc new file mode 100644 index 00000000000..1a72fead8a0 --- /dev/null +++ b/packages/q/qbittorrent/qbittorrent-5.0.3.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEE2PPad6rGdBBTWZwTbkotAlt8yaIFAmdfa8cACgkQbkotAlt8 +yaJzPBAAjYAz2Bo/f3/SqYzTTDc77imUf6Qftj4mnjNZEs7kNko+wKqD4A3iRjN0 +UrqSAnc48iPK48Wy8qB4uEO0URCvOZpTUKDCEjbC2f6IDeNNlJzWfSj64SSX8fWq +M/ku7/qwERPvZuGJgIYs3XPtcC3BXKgi99pQDi/woNbav5N0GlOsivNM/h2WgoPT +Px45uQ9ectOCyWAbWd1VVjkVjGqwF7CaSHSTMeVT7fukiaVvGto70wb8aS0mbcZ4 +6zkcpyu0GccDWFKN0ff2HQeA7QHEU+49Q3woKVDaQmV6EYZA9bcUNmxPao5oa68/ +C+7gGhRoFzmskJhzxRsTT6Ui4204iE7+rUbS5eGgKSVxc/76FyeX+UE2mqHDDp0D +oiBLO1nf0e3SepYCX7inBhaesvXPFvQZt84yuBwVkfwL3vQ6khxE7UMhohMxYaO+ +WyDVdaMqL9p+QjOi/9TPisFDFf/pVLkpidGsTQOrIZWeV0jV+bhq2JSX3u5vNr9V +ZMvQONr/yj97OeSSEY58xZAtKhWcLmSfC5jWVAc2zOj+2+1GoYEKI5Xj2ufIdh23 +6BWhGQa0S8dWlAVDuSIbO/aG0gEYXxFpgyx5FnVlUi5/phDjQ/8rN4mDEGDueXfM +eyw+dv3+BIIV4g41UdmxbNA1vAXEZMzl6yy51BYTBPelQKK0vAM= +=75Ay +-----END PGP SIGNATURE----- diff --git a/packages/q/qbittorrent/qbittorrent.changes b/packages/q/qbittorrent/qbittorrent.changes index 31a4ee951bc..7ba99c77a05 100644 --- a/packages/q/qbittorrent/qbittorrent.changes +++ b/packages/q/qbittorrent/qbittorrent.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Wed Dec 18 06:43:48 UTC 2024 - Luigi Baldoni + +- Update to version 5.0.3 + Bug fixes: + * Discard obsolete "state update" events after torrent is + reloaded + * Fix incorrect SQL column definition + * Avoid redundant requests of announce entries from libtorrent + Web UI: + * Fix removing tracker URL with '|' character + * Fix reloading page after login + Web API: + * Fix incorrect key in torrent creator + RSS: + * Don't add duplicate episodes to previously matched + * Use cached current time when parsing RSS feed + ------------------------------------------------------------------- Mon Nov 18 11:00:27 UTC 2024 - Luigi Baldoni diff --git a/packages/q/qbittorrent/qbittorrent.spec b/packages/q/qbittorrent/qbittorrent.spec index d1e74ef2a50..ee0814b05ae 100644 --- a/packages/q/qbittorrent/qbittorrent.spec +++ b/packages/q/qbittorrent/qbittorrent.spec @@ -25,7 +25,7 @@ %endif Name: qbittorrent -Version: 5.0.2 +Version: 5.0.3 Release: 0 Summary: A BitTorrent client in Qt License: GPL-2.0-or-later diff --git a/packages/s/SDL2_image/.files b/packages/s/SDL2_image/.files index db0d933f74d..ad97e821217 100644 Binary files a/packages/s/SDL2_image/.files and b/packages/s/SDL2_image/.files differ diff --git a/packages/s/SDL2_image/.rev b/packages/s/SDL2_image/.rev index 25e9e788d0c..7c96665329e 100644 --- a/packages/s/SDL2_image/.rev +++ b/packages/s/SDL2_image/.rev @@ -165,4 +165,12 @@ - Update to release 2.8.2 1136028 + + dff134fbab1431694cd4e373aa65db3b + 2.8.3 + + anag+factory + - Update to release 2.8.3 + 1231770 + diff --git a/packages/s/SDL2_image/SDL2_image-2.8.2.tar.gz b/packages/s/SDL2_image/SDL2_image-2.8.2.tar.gz deleted file mode 120000 index daa70a2c553..00000000000 --- a/packages/s/SDL2_image/SDL2_image-2.8.2.tar.gz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeiddir5aw5fesaqbddk4rm44cblfygu2j2wj4e3cvdlkpwqwcpid3m \ No newline at end of file diff --git a/packages/s/SDL2_image/SDL2_image-2.8.3.tar.gz b/packages/s/SDL2_image/SDL2_image-2.8.3.tar.gz new file mode 120000 index 00000000000..e378658df77 --- /dev/null +++ b/packages/s/SDL2_image/SDL2_image-2.8.3.tar.gz @@ -0,0 +1 @@ +/ipfs/bafybeic5chbu757pgedtzqevasdwlyvn2igtuxqlhnlgkqxv3r6gpcveaa \ No newline at end of file diff --git a/packages/s/SDL2_image/SDL2_image.changes b/packages/s/SDL2_image/SDL2_image.changes index 1eba1e79ac3..9f19af40840 100644 --- a/packages/s/SDL2_image/SDL2_image.changes +++ b/packages/s/SDL2_image/SDL2_image.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Dec 17 23:27:31 UTC 2024 - Jan Engelhardt + +- Update to release 2.8.3 + * Fixed handling of grayscale images with alpha + ------------------------------------------------------------------- Mon Jan 1 21:44:53 UTC 2024 - Jan Engelhardt diff --git a/packages/s/SDL2_image/SDL2_image.spec b/packages/s/SDL2_image/SDL2_image.spec index e1e92405fce..28cb0ea087f 100644 --- a/packages/s/SDL2_image/SDL2_image.spec +++ b/packages/s/SDL2_image/SDL2_image.spec @@ -18,7 +18,7 @@ Name: SDL2_image %define lname libSDL2_image-2_0-0 -Version: 2.8.2 +Version: 2.8.3 Release: 0 Summary: Simple DirectMedia Layer 2 image loading library License: Zlib @@ -28,9 +28,11 @@ URL: https://libsdl.org/projects/SDL_image/ #Hg-Clone: http://hg.libsdl.org/SDL_image/ Source: https://github.com/libsdl-org/SDL_image/releases/download/release-%version/SDL2_image-%version.tar.gz BuildRequires: SDL2-devel >= 2.24 +BuildRequires: automake BuildRequires: dos2unix BuildRequires: libjpeg-devel BuildRequires: libtiff-devel +BuildRequires: libtool BuildRequires: pkg-config BuildRequires: pkgconfig(libavif) BuildRequires: pkgconfig(libjxl) @@ -68,6 +70,7 @@ TIFF and WEBP formats. %autosetup -p1 dos2unix *.txt rm -rf external +autoreconf -fi %build # --disable-*-shared: Link, rather than dlopen. diff --git a/packages/s/SDL2_image/_scmsync.obsinfo b/packages/s/SDL2_image/_scmsync.obsinfo new file mode 100644 index 00000000000..4f8c28903ce --- /dev/null +++ b/packages/s/SDL2_image/_scmsync.obsinfo @@ -0,0 +1,4 @@ +mtime: 1734483122 +commit: 6b1ad4b2f408c4a96050c7f4b6454be2daeef87b1a82d65cded4cd2b0aa79ced +url: https://src.opensuse.org/jengelh/SDL2_image +revision: master diff --git a/packages/s/SDL2_image/build.specials.obscpio b/packages/s/SDL2_image/build.specials.obscpio new file mode 120000 index 00000000000..67e395f2091 --- /dev/null +++ b/packages/s/SDL2_image/build.specials.obscpio @@ -0,0 +1 @@ +/ipfs/bafkreif3746kmexbk6ay777yld5z7t3fe5nqqfjc5qgpl3ndu7sbepwkra \ No newline at end of file diff --git a/packages/s/sdbootutil/.files b/packages/s/sdbootutil/.files index d743d25282d..425ac1d4d1f 100644 Binary files a/packages/s/sdbootutil/.files and b/packages/s/sdbootutil/.files differ diff --git a/packages/s/sdbootutil/.rev b/packages/s/sdbootutil/.rev index 0e1103f3dcd..6be88bb4685 100644 --- a/packages/s/sdbootutil/.rev +++ b/packages/s/sdbootutil/.rev @@ -380,4 +380,12 @@ 1228721 + + ce959a10ba4160f924990d45bc673a48 + 1+git20241217.5aeb4e9 + + anag+factory + + 1231678 + diff --git a/packages/s/sdbootutil/_servicedata b/packages/s/sdbootutil/_servicedata index e1d49ce331c..5fec84a1a31 100644 --- a/packages/s/sdbootutil/_servicedata +++ b/packages/s/sdbootutil/_servicedata @@ -1,4 +1,4 @@ https://github.com/openSUSE/sdbootutil.git - dccea55a79e4c76880b82251c43e22feb58d0660 \ No newline at end of file + 5aeb4e9eb87a381c86ec8b751170289fd2b08fba \ No newline at end of file diff --git a/packages/s/sdbootutil/sdbootutil-1+git20241206.dccea55.obscpio b/packages/s/sdbootutil/sdbootutil-1+git20241206.dccea55.obscpio deleted file mode 120000 index 907f90acc78..00000000000 --- a/packages/s/sdbootutil/sdbootutil-1+git20241206.dccea55.obscpio +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeicv3q33sxs6ecyw2sbk2aq6uo4qlbcdojzd4kmypwjzbvzo6bdoem \ No newline at end of file diff --git a/packages/s/sdbootutil/sdbootutil-1+git20241217.5aeb4e9.obscpio b/packages/s/sdbootutil/sdbootutil-1+git20241217.5aeb4e9.obscpio new file mode 120000 index 00000000000..43bab391fa2 --- /dev/null +++ b/packages/s/sdbootutil/sdbootutil-1+git20241217.5aeb4e9.obscpio @@ -0,0 +1 @@ +/ipfs/bafybeidatdiq2kovensqeykt4wj6tzmvnwrvstnfuhqa6azb7wya453cnu \ No newline at end of file diff --git a/packages/s/sdbootutil/sdbootutil.changes b/packages/s/sdbootutil/sdbootutil.changes index 08c90cf924f..6b9b31fb6f4 100644 --- a/packages/s/sdbootutil/sdbootutil.changes +++ b/packages/s/sdbootutil/sdbootutil.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Tue Dec 17 11:50:04 UTC 2024 - aplanas@suse.com + +- Update to version 1+git20241217.5aeb4e9: + * Use only the first output line of findmount in free space calc + +------------------------------------------------------------------- +Tue Dec 17 09:15:39 UTC 2024 - aplanas@suse.com + +- Update to version 1+git20241217.1370153: + * Add trigger for grub2-bls + ------------------------------------------------------------------- Fri Dec 06 09:09:56 UTC 2024 - aplanas@suse.com diff --git a/packages/s/sdbootutil/sdbootutil.obsinfo b/packages/s/sdbootutil/sdbootutil.obsinfo index 1448ce0d7fa..67aef20fd18 100644 --- a/packages/s/sdbootutil/sdbootutil.obsinfo +++ b/packages/s/sdbootutil/sdbootutil.obsinfo @@ -1,4 +1,4 @@ name: sdbootutil -version: 1+git20241206.dccea55 -mtime: 1733475786 -commit: dccea55a79e4c76880b82251c43e22feb58d0660 +version: 1+git20241217.5aeb4e9 +mtime: 1734435607 +commit: 5aeb4e9eb87a381c86ec8b751170289fd2b08fba diff --git a/packages/s/sdbootutil/sdbootutil.spec b/packages/s/sdbootutil/sdbootutil.spec index 7d6279e0563..8002211d641 100644 --- a/packages/s/sdbootutil/sdbootutil.spec +++ b/packages/s/sdbootutil/sdbootutil.spec @@ -17,7 +17,7 @@ Name: sdbootutil -Version: 1+git20241206.dccea55 +Version: 1+git20241217.5aeb4e9 Release: 0 Summary: bootctl wrapper for BLS boot loaders License: MIT @@ -128,7 +128,7 @@ install -D -m 755 50-%{name}.install %{buildroot}%{_prefix}/lib/kernel/install.d install -D -m 755 kernel-install-%{name}.conf \ %{buildroot}%{_prefix}/lib/tmpfiles.d/kernel-install-%{name}.conf -%transfiletriggerin -- %{_prefix}/lib/systemd/boot/efi %{_datadir}/efi/%{_build_arch} +%transfiletriggerin -- %{_prefix}/lib/systemd/boot/efi %{_datadir}/grub2/%{_build_arch}-efi %{_datadir}/efi/%{_build_arch} cat > /dev/null || : [ "$YAST_IS_RUNNING" != 'instsys' ] || exit 0 [ -e /sys/firmware/efi/efivars ] || exit 0 diff --git a/packages/s/sendmail/.files b/packages/s/sendmail/.files index 1320bc3764f..6047d73fd2f 100644 Binary files a/packages/s/sendmail/.files and b/packages/s/sendmail/.files differ diff --git a/packages/s/sendmail/.rev b/packages/s/sendmail/.rev index 0cd6bf80c0b..43fb6a37cb9 100644 --- a/packages/s/sendmail/.rev +++ b/packages/s/sendmail/.rev @@ -1278,4 +1278,12 @@ SUSE- proprietary prefix added until Sendmail is accepted as valid SPDX license Prepare for RPM 4.20 (forwarded request 1151482 from dimstar) 1151694 + + 257ffc9145e65e1d8a171554b210a994 + 8.18.1 + + anag+factory + Add sendmail.8.18.1-reproducibleuname.patch to not embed the build machine's kernel version in debuginfo (boo#1234629) (forwarded request 1231685 from bmwiedemann) + 1231690 + diff --git a/packages/s/sendmail/sendmail.8.18.1-reproducibleuname.patch b/packages/s/sendmail/sendmail.8.18.1-reproducibleuname.patch new file mode 100644 index 00000000000..b62d7390bef --- /dev/null +++ b/packages/s/sendmail/sendmail.8.18.1-reproducibleuname.patch @@ -0,0 +1,12 @@ +Index: sendmail-8.18.1/devtools/bin/Build +=================================================================== +--- sendmail-8.18.1.orig/devtools/bin/Build ++++ sendmail-8.18.1/devtools/bin/Build +@@ -325,6 +325,7 @@ then + arch=`uname -m | sed -e 's/ //g' -e 's/\//-/g'` + os=`uname -s | sed -e 's/\//-/g' -e 's/ //g'` + rel=`uname -r | sed -e 's/(/-/g' -e 's/)//g' -e 's/ //g'` ++ rel=6.12 + fi + + # diff --git a/packages/s/sendmail/sendmail.changes b/packages/s/sendmail/sendmail.changes index 7288d432866..d63217c70b7 100644 --- a/packages/s/sendmail/sendmail.changes +++ b/packages/s/sendmail/sendmail.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Dec 17 12:20:45 UTC 2024 - Bernhard Wiedemann + +- Add sendmail.8.18.1-reproducibleuname.patch to not embed + the build machine's kernel version in debuginfo (boo#1234629) + ------------------------------------------------------------------- Mon Feb 26 13:07:48 UTC 2024 - Dominique Leuenberger diff --git a/packages/s/sendmail/sendmail.spec b/packages/s/sendmail/sendmail.spec index 143ae9c10e0..6845cba0fa3 100644 --- a/packages/s/sendmail/sendmail.spec +++ b/packages/s/sendmail/sendmail.spec @@ -154,6 +154,7 @@ Patch4: sendmail-8.14.8-m4header.patch Patch5: sendmail-fd-passing-libmilter.patch # PATCH-FIX-OPENSUSE: make build result reproducible Patch8: sendmail-8.15.2-reproducible.patch +Patch9: sendmail.8.18.1-reproducibleuname.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %global _sysconfdir %{_sysconfdir} %global _mailcnfdir %{_sysconfdir}/mail @@ -250,6 +251,7 @@ processed mail on to the MTA (e.g. sendmail). %patch -P 5 -p1 -b .fdmilt %patch -P 0 -p0 -b .p0 %patch -P 8 -p1 -b .reproducible +%patch -P 9 -p1 -b .reproducibleuname tar --strip-components=1 -xf %{S:1} set -f cat <<-EOF > file-list diff --git a/packages/s/spirv-headers/.files b/packages/s/spirv-headers/.files index 31433aed23c..f0be158c749 100644 Binary files a/packages/s/spirv-headers/.files and b/packages/s/spirv-headers/.files differ diff --git a/packages/s/spirv-headers/.rev b/packages/s/spirv-headers/.rev index 3c5cd6b3a88..a66bde8dd73 100644 --- a/packages/s/spirv-headers/.rev +++ b/packages/s/spirv-headers/.rev @@ -354,4 +354,12 @@ - Update to release 1.6.4+sdk296 1206373 + + d034444c0608c9493dadb5c7cc8408ce + 1.6.4+sdk303 + + anag+factory + - Update to snapshot 1.6.4+sdk303 + 1231573 + diff --git a/packages/s/spirv-headers/0001-Add-SPV_EXT_optnone-449.patch b/packages/s/spirv-headers/0001-Add-SPV_EXT_optnone-449.patch deleted file mode 100644 index 219dcde8378..00000000000 --- a/packages/s/spirv-headers/0001-Add-SPV_EXT_optnone-449.patch +++ /dev/null @@ -1,333 +0,0 @@ -From 0413bc33faa7d85d8619c119661c09774bb47654 Mon Sep 17 00:00:00 2001 -From: Dmitry Sidorov -Date: Wed, 25 Sep 2024 18:01:03 +0200 -Subject: [PATCH 1/2] Add SPV_EXT_optnone (#449) - -* Rename SPV_INTEL_optnone to SPV_EXT_optnone - -Signed-off-by: Sidorov, Dmitry - -* keep intel names as well - -Signed-off-by: Sidorov, Dmitry - ---------- - -Signed-off-by: Sidorov, Dmitry ---- - include/spirv/unified1/spirv.bf | 3 +++ - include/spirv/unified1/spirv.core.grammar.json | 12 ++++++++++++ - include/spirv/unified1/spirv.cs | 3 +++ - include/spirv/unified1/spirv.h | 5 ++++- - include/spirv/unified1/spirv.hpp | 5 ++++- - include/spirv/unified1/spirv.hpp11 | 5 ++++- - include/spirv/unified1/spirv.json | 2 ++ - include/spirv/unified1/spirv.lua | 3 +++ - include/spirv/unified1/spirv.py | 3 +++ - include/spirv/unified1/spv.d | 3 +++ - 10 files changed, 41 insertions(+), 3 deletions(-) - -diff --git a/include/spirv/unified1/spirv.bf b/include/spirv/unified1/spirv.bf -index 453a3a2..fc66285 100644 ---- a/include/spirv/unified1/spirv.bf -+++ b/include/spirv/unified1/spirv.bf -@@ -871,6 +871,7 @@ namespace Spv - DontInline = 1, - Pure = 2, - Const = 3, -+ OptNoneEXT = 16, - OptNoneINTEL = 16, - Max = 0x7fffffff, - } -@@ -882,6 +883,7 @@ namespace Spv - DontInline = 0x00000002, - Pure = 0x00000004, - Const = 0x00000008, -+ OptNoneEXT = 0x00010000, - OptNoneINTEL = 0x00010000, - } - -@@ -1256,6 +1258,7 @@ namespace Spv - AtomicFloat32AddEXT = 6033, - AtomicFloat64AddEXT = 6034, - LongCompositesINTEL = 6089, -+ OptNoneEXT = 6094, - OptNoneINTEL = 6094, - AtomicFloat16AddEXT = 6095, - DebugInfoModuleINTEL = 6114, -diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json -index d562964..25bb306 100644 ---- a/include/spirv/unified1/spirv.core.grammar.json -+++ b/include/spirv/unified1/spirv.core.grammar.json -@@ -10517,6 +10517,12 @@ - "value" : "0x0008", - "version" : "1.0" - }, -+ { -+ "enumerant" : "OptNoneEXT", -+ "value" : "0x10000", -+ "capabilities" : [ "OptNoneEXT" ], -+ "version" : "None" -+ }, - { - "enumerant" : "OptNoneINTEL", - "value" : "0x10000", -@@ -16711,6 +16717,12 @@ - "extensions" : [ "SPV_INTEL_long_composites" ], - "version" : "None" - }, -+ { -+ "enumerant" : "OptNoneEXT", -+ "value" : 6094, -+ "extensions" : [ "SPV_EXT_optnone" ], -+ "version" : "None" -+ }, - { - "enumerant" : "OptNoneINTEL", - "value" : 6094, -diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs -index dfdbac6..b06bab7 100644 ---- a/include/spirv/unified1/spirv.cs -+++ b/include/spirv/unified1/spirv.cs -@@ -870,6 +870,7 @@ namespace Spv - DontInline = 1, - Pure = 2, - Const = 3, -+ OptNoneEXT = 16, - OptNoneINTEL = 16, - Max = 0x7fffffff, - } -@@ -881,6 +882,7 @@ namespace Spv - DontInline = 0x00000002, - Pure = 0x00000004, - Const = 0x00000008, -+ OptNoneEXT = 0x00010000, - OptNoneINTEL = 0x00010000, - } - -@@ -1255,6 +1257,7 @@ namespace Spv - AtomicFloat32AddEXT = 6033, - AtomicFloat64AddEXT = 6034, - LongCompositesINTEL = 6089, -+ OptNoneEXT = 6094, - OptNoneINTEL = 6094, - AtomicFloat16AddEXT = 6095, - DebugInfoModuleINTEL = 6114, -diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h -index 92096ec..00f5ab3 100644 ---- a/include/spirv/unified1/spirv.h -+++ b/include/spirv/unified1/spirv.h -@@ -852,6 +852,7 @@ typedef enum SpvFunctionControlShift_ { - SpvFunctionControlDontInlineShift = 1, - SpvFunctionControlPureShift = 2, - SpvFunctionControlConstShift = 3, -+ SpvFunctionControlOptNoneEXTShift = 16, - SpvFunctionControlOptNoneINTELShift = 16, - SpvFunctionControlMax = 0x7fffffff, - } SpvFunctionControlShift; -@@ -862,6 +863,7 @@ typedef enum SpvFunctionControlMask_ { - SpvFunctionControlDontInlineMask = 0x00000002, - SpvFunctionControlPureMask = 0x00000004, - SpvFunctionControlConstMask = 0x00000008, -+ SpvFunctionControlOptNoneEXTMask = 0x00010000, - SpvFunctionControlOptNoneINTELMask = 0x00010000, - } SpvFunctionControlMask; - -@@ -1226,6 +1228,7 @@ typedef enum SpvCapability_ { - SpvCapabilityAtomicFloat32AddEXT = 6033, - SpvCapabilityAtomicFloat64AddEXT = 6034, - SpvCapabilityLongCompositesINTEL = 6089, -+ SpvCapabilityOptNoneEXT = 6094, - SpvCapabilityOptNoneINTEL = 6094, - SpvCapabilityAtomicFloat16AddEXT = 6095, - SpvCapabilityDebugInfoModuleINTEL = 6114, -@@ -3823,7 +3826,7 @@ inline const char* SpvCapabilityToString(SpvCapability value) { - case SpvCapabilityAtomicFloat32AddEXT: return "AtomicFloat32AddEXT"; - case SpvCapabilityAtomicFloat64AddEXT: return "AtomicFloat64AddEXT"; - case SpvCapabilityLongCompositesINTEL: return "LongCompositesINTEL"; -- case SpvCapabilityOptNoneINTEL: return "OptNoneINTEL"; -+ case SpvCapabilityOptNoneEXT: return "OptNoneEXT"; - case SpvCapabilityAtomicFloat16AddEXT: return "AtomicFloat16AddEXT"; - case SpvCapabilityDebugInfoModuleINTEL: return "DebugInfoModuleINTEL"; - case SpvCapabilityBFloat16ConversionINTEL: return "BFloat16ConversionINTEL"; -diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp -index 1065013..4a8b09a 100644 ---- a/include/spirv/unified1/spirv.hpp -+++ b/include/spirv/unified1/spirv.hpp -@@ -848,6 +848,7 @@ enum FunctionControlShift { - FunctionControlDontInlineShift = 1, - FunctionControlPureShift = 2, - FunctionControlConstShift = 3, -+ FunctionControlOptNoneEXTShift = 16, - FunctionControlOptNoneINTELShift = 16, - FunctionControlMax = 0x7fffffff, - }; -@@ -858,6 +859,7 @@ enum FunctionControlMask { - FunctionControlDontInlineMask = 0x00000002, - FunctionControlPureMask = 0x00000004, - FunctionControlConstMask = 0x00000008, -+ FunctionControlOptNoneEXTMask = 0x00010000, - FunctionControlOptNoneINTELMask = 0x00010000, - }; - -@@ -1222,6 +1224,7 @@ enum Capability { - CapabilityAtomicFloat32AddEXT = 6033, - CapabilityAtomicFloat64AddEXT = 6034, - CapabilityLongCompositesINTEL = 6089, -+ CapabilityOptNoneEXT = 6094, - CapabilityOptNoneINTEL = 6094, - CapabilityAtomicFloat16AddEXT = 6095, - CapabilityDebugInfoModuleINTEL = 6114, -@@ -3819,7 +3822,7 @@ inline const char* CapabilityToString(Capability value) { - case CapabilityAtomicFloat32AddEXT: return "AtomicFloat32AddEXT"; - case CapabilityAtomicFloat64AddEXT: return "AtomicFloat64AddEXT"; - case CapabilityLongCompositesINTEL: return "LongCompositesINTEL"; -- case CapabilityOptNoneINTEL: return "OptNoneINTEL"; -+ case CapabilityOptNoneEXT: return "OptNoneEXT"; - case CapabilityAtomicFloat16AddEXT: return "AtomicFloat16AddEXT"; - case CapabilityDebugInfoModuleINTEL: return "DebugInfoModuleINTEL"; - case CapabilityBFloat16ConversionINTEL: return "BFloat16ConversionINTEL"; -diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11 -index 22e45f5..c0b82e9 100644 ---- a/include/spirv/unified1/spirv.hpp11 -+++ b/include/spirv/unified1/spirv.hpp11 -@@ -848,6 +848,7 @@ enum class FunctionControlShift : unsigned { - DontInline = 1, - Pure = 2, - Const = 3, -+ OptNoneEXT = 16, - OptNoneINTEL = 16, - Max = 0x7fffffff, - }; -@@ -858,6 +859,7 @@ enum class FunctionControlMask : unsigned { - DontInline = 0x00000002, - Pure = 0x00000004, - Const = 0x00000008, -+ OptNoneEXT = 0x00010000, - OptNoneINTEL = 0x00010000, - }; - -@@ -1222,6 +1224,7 @@ enum class Capability : unsigned { - AtomicFloat32AddEXT = 6033, - AtomicFloat64AddEXT = 6034, - LongCompositesINTEL = 6089, -+ OptNoneEXT = 6094, - OptNoneINTEL = 6094, - AtomicFloat16AddEXT = 6095, - DebugInfoModuleINTEL = 6114, -@@ -3819,7 +3822,7 @@ inline const char* CapabilityToString(Capability value) { - case CapabilityAtomicFloat32AddEXT: return "AtomicFloat32AddEXT"; - case CapabilityAtomicFloat64AddEXT: return "AtomicFloat64AddEXT"; - case CapabilityLongCompositesINTEL: return "LongCompositesINTEL"; -- case CapabilityOptNoneINTEL: return "OptNoneINTEL"; -+ case CapabilityOptNoneEXT: return "OptNoneEXT"; - case CapabilityAtomicFloat16AddEXT: return "AtomicFloat16AddEXT"; - case CapabilityDebugInfoModuleINTEL: return "DebugInfoModuleINTEL"; - case CapabilityBFloat16ConversionINTEL: return "BFloat16ConversionINTEL"; -diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json -index 161deff..50b7a92 100644 ---- a/include/spirv/unified1/spirv.json -+++ b/include/spirv/unified1/spirv.json -@@ -854,6 +854,7 @@ - "DontInline": 1, - "Pure": 2, - "Const": 3, -+ "OptNoneEXT": 16, - "OptNoneINTEL": 16 - } - }, -@@ -1199,6 +1200,7 @@ - "AtomicFloat32AddEXT": 6033, - "AtomicFloat64AddEXT": 6034, - "LongCompositesINTEL": 6089, -+ "OptNoneEXT": 6094, - "OptNoneINTEL": 6094, - "AtomicFloat16AddEXT": 6095, - "DebugInfoModuleINTEL": 6114, -diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua -index 28c5e40..745ce60 100644 ---- a/include/spirv/unified1/spirv.lua -+++ b/include/spirv/unified1/spirv.lua -@@ -839,6 +839,7 @@ spv = { - DontInline = 1, - Pure = 2, - Const = 3, -+ OptNoneEXT = 16, - OptNoneINTEL = 16, - Max = 0x7fffffff, - }, -@@ -849,6 +850,7 @@ spv = { - DontInline = 0x00000002, - Pure = 0x00000004, - Const = 0x00000008, -+ OptNoneEXT = 0x00010000, - OptNoneINTEL = 0x00010000, - }, - -@@ -1213,6 +1215,7 @@ spv = { - AtomicFloat32AddEXT = 6033, - AtomicFloat64AddEXT = 6034, - LongCompositesINTEL = 6089, -+ OptNoneEXT = 6094, - OptNoneINTEL = 6094, - AtomicFloat16AddEXT = 6095, - DebugInfoModuleINTEL = 6114, -diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py -index bb78fe3..c2c690a 100644 ---- a/include/spirv/unified1/spirv.py -+++ b/include/spirv/unified1/spirv.py -@@ -817,6 +817,7 @@ spv = { - 'DontInline' : 1, - 'Pure' : 2, - 'Const' : 3, -+ 'OptNoneEXT' : 16, - 'OptNoneINTEL' : 16, - }, - -@@ -826,6 +827,7 @@ spv = { - 'DontInline' : 0x00000002, - 'Pure' : 0x00000004, - 'Const' : 0x00000008, -+ 'OptNoneEXT' : 0x00010000, - 'OptNoneINTEL' : 0x00010000, - }, - -@@ -1184,6 +1186,7 @@ spv = { - 'AtomicFloat32AddEXT' : 6033, - 'AtomicFloat64AddEXT' : 6034, - 'LongCompositesINTEL' : 6089, -+ 'OptNoneEXT' : 6094, - 'OptNoneINTEL' : 6094, - 'AtomicFloat16AddEXT' : 6095, - 'DebugInfoModuleINTEL' : 6114, -diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d -index daf2523..ea9216c 100644 ---- a/include/spirv/unified1/spv.d -+++ b/include/spirv/unified1/spv.d -@@ -873,6 +873,7 @@ enum FunctionControlShift : uint - DontInline = 1, - Pure = 2, - Const = 3, -+ OptNoneEXT = 16, - OptNoneINTEL = 16, - Max = 0x7fffffff, - } -@@ -884,6 +885,7 @@ enum FunctionControlMask : uint - DontInline = 0x00000002, - Pure = 0x00000004, - Const = 0x00000008, -+ OptNoneEXT = 0x00010000, - OptNoneINTEL = 0x00010000, - } - -@@ -1258,6 +1260,7 @@ enum Capability : uint - AtomicFloat32AddEXT = 6033, - AtomicFloat64AddEXT = 6034, - LongCompositesINTEL = 6089, -+ OptNoneEXT = 6094, - OptNoneINTEL = 6094, - AtomicFloat16AddEXT = 6095, - DebugInfoModuleINTEL = 6114, --- -2.46.1 - diff --git a/packages/s/spirv-headers/0002-Reserve-SPIR-V-enums-for-MediaTek-451.patch b/packages/s/spirv-headers/0002-Reserve-SPIR-V-enums-for-MediaTek-451.patch deleted file mode 100644 index 0a471cac6b1..00000000000 --- a/packages/s/spirv-headers/0002-Reserve-SPIR-V-enums-for-MediaTek-451.patch +++ /dev/null @@ -1,48 +0,0 @@ -From ec59c77a3bb5c747a369931ef101ac7c14823f2f Mon Sep 17 00:00:00 2001 -From: "Samuel (Sheng-Wen) Huang" <38491862+samuelhsw@users.noreply.github.com> -Date: Wed, 25 Sep 2024 09:03:12 -0700 -Subject: [PATCH 2/2] Reserve SPIR-V enums for MediaTek (#451) - ---- - include/spirv/spir-v.xml | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/include/spirv/spir-v.xml b/include/spirv/spir-v.xml -index 43dba9e..ad437d1 100644 ---- a/include/spirv/spir-v.xml -+++ b/include/spirv/spir-v.xml -@@ -152,13 +152,14 @@ - - - -+ - - -- -+ - - - -@@ -185,13 +186,14 @@ - - - -+ - - -- -+ - - - --- -2.46.1 - diff --git a/packages/s/spirv-headers/_scmsync.obsinfo b/packages/s/spirv-headers/_scmsync.obsinfo index 759216a3f2b..827e181cac5 100644 --- a/packages/s/spirv-headers/_scmsync.obsinfo +++ b/packages/s/spirv-headers/_scmsync.obsinfo @@ -1,4 +1,4 @@ -mtime: 1728403956 -commit: edf237a7fca487d1ee6effb1fd4f23d68bbdb989a94270a1875f6d2acd3fcd1d +mtime: 1734295673 +commit: 6272520b8f7295acbbf1287a42ae9205b8acce0dbaf75c83c50af7a64e337014 url: https://src.opensuse.org/jengelh/spirv-headers revision: master diff --git a/packages/s/spirv-headers/build.specials.obscpio b/packages/s/spirv-headers/build.specials.obscpio index 9908eda6ee4..d8d7289561a 120000 --- a/packages/s/spirv-headers/build.specials.obscpio +++ b/packages/s/spirv-headers/build.specials.obscpio @@ -1 +1 @@ -/ipfs/bafkreialln54k36u3btzhmvwdtxfampn2x7o5cs2qctun3rh74nvhptldy \ No newline at end of file +/ipfs/bafkreierwgu5wckm6uijy75xrvhafhnwq3rr6qephylhvpa3sn5ww3lopm \ No newline at end of file diff --git a/packages/s/spirv-headers/cb6b2c32dbfc3257c1e9142a116fe9ee3d9b80a2.tar.gz b/packages/s/spirv-headers/cb6b2c32dbfc3257c1e9142a116fe9ee3d9b80a2.tar.gz new file mode 120000 index 00000000000..3e1054188f8 --- /dev/null +++ b/packages/s/spirv-headers/cb6b2c32dbfc3257c1e9142a116fe9ee3d9b80a2.tar.gz @@ -0,0 +1 @@ +/ipfs/bafybeiahhqhwdylhkuygdiny7skvbcefzcby6up2zop2pwyh22ekasdxle \ No newline at end of file diff --git a/packages/s/spirv-headers/spirv-headers.changes b/packages/s/spirv-headers/spirv-headers.changes index 34c41d06231..fe0a45c9d48 100644 --- a/packages/s/spirv-headers/spirv-headers.changes +++ b/packages/s/spirv-headers/spirv-headers.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Sun Dec 15 20:43:19 UTC 2024 - Jan Engelhardt + +- Update to snapshot 1.6.4+sdk303 + * Add SPV_EXT_optnone, SPV_EXT_arithmetic_fence, + SPV_NV_cooperative_matrix2, SPV_NV_tensor_addressing +- Delete 0001-Add-SPV_EXT_optnone-449.patch, + 0002-Reserve-SPIR-V-enums-for-MediaTek-451.patch (unmerged) + ------------------------------------------------------------------- Tue Oct 8 16:04:45 UTC 2024 - Jan Engelhardt diff --git a/packages/s/spirv-headers/spirv-headers.spec b/packages/s/spirv-headers/spirv-headers.spec index 18304855697..ad621ba3b40 100644 --- a/packages/s/spirv-headers/spirv-headers.spec +++ b/packages/s/spirv-headers/spirv-headers.spec @@ -24,16 +24,15 @@ # and the independently increasing toolchain release number (296). Name: spirv-headers -Version: 1.6.4+sdk296 -%define innerver 1.3.296 +Version: 1.6.4+sdk303 +%define innerver 1.3.303 +%define rev cb6b2c32dbfc3257c1e9142a116fe9ee3d9b80a2 Release: 0 Summary: Machine-readable files from the SPIR-V registry License: MIT Group: Development/Libraries/C and C++ URL: https://github.com/KhronosGroup/SPIRV-Headers -Source: https://github.com/KhronosGroup/SPIRV-Headers/archive/vulkan-sdk-%innerver.tar.gz -Patch1: 0001-Add-SPV_EXT_optnone-449.patch -Patch2: 0002-Reserve-SPIR-V-enums-for-MediaTek-451.patch +Source: https://github.com/KhronosGroup/SPIRV-Headers/archive/cb6b2c32dbfc3257c1e9142a116fe9ee3d9b80a2.tar.gz BuildArch: noarch BuildRequires: cmake >= 2.8 BuildRequires: fdupes @@ -50,7 +49,7 @@ registry. This includes: * The XML registry file. %prep -%autosetup -n SPIRV-Headers-vulkan-sdk-%innerver -p1 +%autosetup -n SPIRV-Headers-%rev -p1 %build %cmake diff --git a/packages/s/spirv-headers/vulkan-sdk-1.3.296.tar.gz b/packages/s/spirv-headers/vulkan-sdk-1.3.296.tar.gz deleted file mode 120000 index 4b92ecd2528..00000000000 --- a/packages/s/spirv-headers/vulkan-sdk-1.3.296.tar.gz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeibi4x64ovdandg757w5hgzxdtnaz4gfz2jdzcibl3btyuxbjnhf5i \ No newline at end of file diff --git a/packages/s/spirv-tools/.files b/packages/s/spirv-tools/.files index 8ba65fdb312..c1c84e3b219 100644 Binary files a/packages/s/spirv-tools/.files and b/packages/s/spirv-tools/.files differ diff --git a/packages/s/spirv-tools/.rev b/packages/s/spirv-tools/.rev index 263d8e103a8..bb2de1c79f5 100644 --- a/packages/s/spirv-tools/.rev +++ b/packages/s/spirv-tools/.rev @@ -372,4 +372,12 @@ join Staging:E - Update to release 2024.4~rc1 1206398 + + 7a8f9465b48e5da0540df2ca43ae4988 + 2024.4~rc2 + + anag+factory + - Update to release 2024.4~rc2 + 1231577 + diff --git a/packages/s/spirv-tools/0001-SPV_KHR_untyped_pointers-Fix-verification-for-OpenCL.patch b/packages/s/spirv-tools/0001-SPV_KHR_untyped_pointers-Fix-verification-for-OpenCL.patch deleted file mode 100644 index 9477def240c..00000000000 --- a/packages/s/spirv-tools/0001-SPV_KHR_untyped_pointers-Fix-verification-for-OpenCL.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 01c8438ee4ac52c248119b7e03e0b021f853b51a Mon Sep 17 00:00:00 2001 -From: Viktoria Maximova -Date: Fri, 20 Sep 2024 17:31:46 +0200 -Subject: [PATCH] [SPV_KHR_untyped_pointers] Fix verification for OpenCL.std - instructions (#5810) - -Allow `p` to be untyped pointer for `fract`, `frexp`, `lgamma_r`, -`modf`, `remquo`, and `sincos`. - -``` -operand must be a pointer(p1, ...).If it is a typed pointer, it must -point to data types. - -``` - -https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/main/extensions/KHR/SPV_KHR_untyped_pointers.html#_modifications_to_the_opencl_std_extended_instruction_set ---- - source/val/validate_extensions.cpp | 10 ++++++---- - source/val/validate_memory.cpp | 4 +++- - 2 files changed, 9 insertions(+), 5 deletions(-) - -diff --git a/source/val/validate_extensions.cpp b/source/val/validate_extensions.cpp -index e26df288..74974a4f 100644 ---- a/source/val/validate_extensions.cpp -+++ b/source/val/validate_extensions.cpp -@@ -1980,7 +1980,7 @@ spv_result_t ValidateExtInst(ValidationState_t& _, const Instruction* inst) { - "CrossWorkgroup, Workgroup or Function"; - } - -- if (result_type != p_data_type) { -+ if (!_.ContainsUntypedPointer(p_type) && result_type != p_data_type) { - return _.diag(SPV_ERROR_INVALID_DATA, inst) - << ext_inst_name() << ": " - << "expected data type of the pointer to be equal to Result " -@@ -2042,15 +2042,17 @@ spv_result_t ValidateExtInst(ValidationState_t& _, const Instruction* inst) { - "CrossWorkgroup, Workgroup or Function"; - } - -- if (!_.IsIntScalarOrVectorType(p_data_type) || -- _.GetBitWidth(p_data_type) != 32) { -+ if ((!_.IsIntScalarOrVectorType(p_data_type) || -+ _.GetBitWidth(p_data_type) != 32) && -+ !_.ContainsUntypedPointer(p_type)) { - return _.diag(SPV_ERROR_INVALID_DATA, inst) - << ext_inst_name() << ": " - << "expected data type of the pointer to be a 32-bit int " - "scalar or vector type"; - } - -- if (_.GetDimension(p_data_type) != num_components) { -+ if (!_.ContainsUntypedPointer(p_type) && -+ _.GetDimension(p_data_type) != num_components) { - return _.diag(SPV_ERROR_INVALID_DATA, inst) - << ext_inst_name() << ": " - << "expected data type of the pointer to have the same number " -diff --git a/source/val/validate_memory.cpp b/source/val/validate_memory.cpp -index 9bfa3c21..a9ae3644 100644 ---- a/source/val/validate_memory.cpp -+++ b/source/val/validate_memory.cpp -@@ -463,7 +463,9 @@ spv_result_t ValidateVariable(ValidationState_t& _, const Instruction* inst) { - const auto initializer_id = inst->GetOperandAs(initializer_index); - const auto initializer = _.FindDef(initializer_id); - const auto is_module_scope_var = -- initializer && (initializer->opcode() == spv::Op::OpVariable) && -+ initializer && -+ (initializer->opcode() == spv::Op::OpVariable || -+ initializer->opcode() == spv::Op::OpUntypedVariableKHR) && - (initializer->GetOperandAs(storage_class_index) != - spv::StorageClass::Function); - const auto is_constant = --- -2.46.1 - diff --git a/packages/s/spirv-tools/_scmsync.obsinfo b/packages/s/spirv-tools/_scmsync.obsinfo index c157541c49b..a6d3dc3fe3e 100644 --- a/packages/s/spirv-tools/_scmsync.obsinfo +++ b/packages/s/spirv-tools/_scmsync.obsinfo @@ -1,4 +1,4 @@ -mtime: 1728417615 -commit: b5d4e85baaf350f6da9fc1b6035f0200120a97da30de74a0aa766bc98d5562f6 +mtime: 1734379448 +commit: aae3b7f43c6c579079d06523fe5ec101506338f9512020604a4459b40c46044e url: https://src.opensuse.org/jengelh/spirv-tools revision: master diff --git a/packages/s/spirv-tools/baselibs.conf b/packages/s/spirv-tools/baselibs.conf index 846b8381e63..b812fa00cf6 100644 --- a/packages/s/spirv-tools/baselibs.conf +++ b/packages/s/spirv-tools/baselibs.conf @@ -1,4 +1,4 @@ -libSPIRV-Tools-2024_4_rc1 +libSPIRV-Tools-2024_4_rc2 spirv-tools-devel requires -spirv-tools- - requires "libSPIRV-Tools-2024_4_rc1- = " + requires "libSPIRV-Tools-2024_4_rc2- = " diff --git a/packages/s/spirv-tools/build.specials.obscpio b/packages/s/spirv-tools/build.specials.obscpio index e1702aeddb3..d03c5216ea0 120000 --- a/packages/s/spirv-tools/build.specials.obscpio +++ b/packages/s/spirv-tools/build.specials.obscpio @@ -1 +1 @@ -/ipfs/bafkreihnvq5rqgoy4vtboedrqn2dhjftukjxym4ib6ns2mej2ppjczl6yi \ No newline at end of file +/ipfs/bafkreieo4wblbphqli4jm6ycpa2shdzakrcslvnsayakhvipediegj5yhy \ No newline at end of file diff --git a/packages/s/spirv-tools/spirv-tools.changes b/packages/s/spirv-tools/spirv-tools.changes index 4edff541f0e..0473bf6b068 100644 --- a/packages/s/spirv-tools/spirv-tools.changes +++ b/packages/s/spirv-tools/spirv-tools.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Sun Dec 15 18:56:06 UTC 2024 - Jan Engelhardt + +- Update to release 2024.4~rc2 + * General: + * Add FPEncoding operand type. (#5726) + * Support SPV_KHR_untyped_pointers, SPV_INTEL_global_variable_host_access, + SPV_KHR_compute_shader_derivative + * Vulkan 1.4 support (#5899) + * Optimizer: Add knowledge of cooperative matrice +- Delete 0001-SPV_KHR_untyped_pointers-Fix-verification-for-OpenCL.patch + (merged) + ------------------------------------------------------------------- Tue Oct 8 16:12:56 UTC 2024 - Jan Engelhardt diff --git a/packages/s/spirv-tools/spirv-tools.spec b/packages/s/spirv-tools/spirv-tools.spec index 0319e8d0e00..531e8bd9d51 100644 --- a/packages/s/spirv-tools/spirv-tools.spec +++ b/packages/s/spirv-tools/spirv-tools.spec @@ -17,30 +17,29 @@ %define _lto_cflags %nil -%define lname libSPIRV-Tools-2024_4_rc1 +%define lname libSPIRV-Tools-2024_4_rc2 Name: spirv-tools -Version: 2024.4~rc1 +Version: 2024.4~rc2 Release: 0 Summary: API and commands for processing SPIR-V modules License: Apache-2.0 Group: Development/Libraries/C and C++ URL: https://github.com/KhronosGroup/SPIRV-Tools -Source: https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/v2024.4.rc1.tar.gz +Source: https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/v2024.4.rc2.tar.gz Source9: baselibs.conf Patch1: ver.diff -Patch2: 0001-SPV_KHR_untyped_pointers-Fix-verification-for-OpenCL.patch BuildRequires: bison BuildRequires: cmake >= 3.17.2 %if 0%{?suse_version} >= 1599 BuildRequires: gcc-c++ %else -BuildRequires: gcc11-c++ +BuildRequires: gcc12-c++ %endif BuildRequires: pkg-config BuildRequires: python3-base BuildRequires: python3-xml -BuildRequires: spirv-headers >= 1.6.1+sdk283+g8 +BuildRequires: spirv-headers >= 1.6.4+sdk303 %description The package includes an assembler, binary module parser, @@ -68,13 +67,13 @@ validator, and is used in the standalone tools whilst also enabling integration into other code bases directly. %prep -%autosetup -p1 -n SPIRV-Tools-2024.4.rc1 +%autosetup -p1 -n SPIRV-Tools-2024.4.rc2 find . -type f -name CMakeLists.txt -exec \ perl -i -pe 's{\@PACKAGE_VERSION\@}{%version}' CMakeLists.txt {} + %build %if 0%{?suse_version} && 0%{?suse_version} < 1599 -export CXX=g++-11 +export CXX=g++-12 %endif %cmake -DSPIRV-Headers_SOURCE_DIR="%_prefix" \ -DSPIRV_TOOLS_BUILD_STATIC:BOOL=OFF -DBUILD_SHARED_LIBS:BOOL=ON @@ -87,8 +86,7 @@ for i in "" "-diff" "-link" "-lint" "-opt" "-reduce" "-shared"; do ln -s "libSPIRV-Tools$i-%version.so" "%buildroot/%_libdir/libSPIRV-Tools$i.so" done -%post -n %lname -p /sbin/ldconfig -%postun -n %lname -p /sbin/ldconfig +%ldconfig_scriptlets -n %lname %files %_bindir/spirv-* diff --git a/packages/s/spirv-tools/v2024.4.rc1.tar.gz b/packages/s/spirv-tools/v2024.4.rc1.tar.gz deleted file mode 120000 index a5e7ef2f0a3..00000000000 --- a/packages/s/spirv-tools/v2024.4.rc1.tar.gz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeibmd2vn6buenrwauhfco2mqzjmjgmuyr2ad3uepnejlaplg55xcee \ No newline at end of file diff --git a/packages/s/spirv-tools/v2024.4.rc2.tar.gz b/packages/s/spirv-tools/v2024.4.rc2.tar.gz new file mode 120000 index 00000000000..01cd5045bdd --- /dev/null +++ b/packages/s/spirv-tools/v2024.4.rc2.tar.gz @@ -0,0 +1 @@ +/ipfs/bafybeigizd5lhpybc64vt5ohn6damruzccic64ywkqntepgbraxqrceevu \ No newline at end of file diff --git a/packages/t/talhelper/.files b/packages/t/talhelper/.files index 6c5e653884a..da5609d65ae 100644 Binary files a/packages/t/talhelper/.files and b/packages/t/talhelper/.files differ diff --git a/packages/t/talhelper/.rev b/packages/t/talhelper/.rev index 0e76e39c9b7..139abbb9539 100644 --- a/packages/t/talhelper/.rev +++ b/packages/t/talhelper/.rev @@ -63,4 +63,12 @@ 1231329 + + fee1ea90d0dbf5e869db995d09e2e4f6 + 3.0.13 + + anag+factory + + 1231789 + diff --git a/packages/t/talhelper/_service b/packages/t/talhelper/_service index 881fe282785..db64abeb37f 100644 --- a/packages/t/talhelper/_service +++ b/packages/t/talhelper/_service @@ -3,7 +3,7 @@ https://github.com/budimanjojo/talhelper git .git - v3.0.12 + v3.0.13 @PARENT_TAG@ v(.*) enable diff --git a/packages/t/talhelper/_servicedata b/packages/t/talhelper/_servicedata index 5a490444370..177076b520f 100644 --- a/packages/t/talhelper/_servicedata +++ b/packages/t/talhelper/_servicedata @@ -1,4 +1,4 @@ https://github.com/budimanjojo/talhelper - 0eec78890fac38454d77965fa9c96d4e698a9c11 \ No newline at end of file + b90eb692396f96971722a821758dd5d54dcf9c3a \ No newline at end of file diff --git a/packages/t/talhelper/talhelper-3.0.12.obscpio b/packages/t/talhelper/talhelper-3.0.12.obscpio deleted file mode 120000 index 773cfeb20ad..00000000000 --- a/packages/t/talhelper/talhelper-3.0.12.obscpio +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeietvx72l2evb4sgrgnhxh27xhdqi5wt6uon3y5lm6bjzmdcjohsr4 \ No newline at end of file diff --git a/packages/t/talhelper/talhelper-3.0.13.obscpio b/packages/t/talhelper/talhelper-3.0.13.obscpio new file mode 120000 index 00000000000..3732778c97b --- /dev/null +++ b/packages/t/talhelper/talhelper-3.0.13.obscpio @@ -0,0 +1 @@ +/ipfs/bafybeia2kkrky34nnnzzivwtki3cuerd6ciwvuiogpjrhwo5lyisp5iwdm \ No newline at end of file diff --git a/packages/t/talhelper/talhelper.changes b/packages/t/talhelper/talhelper.changes index c45890e7aa0..b2aae0ceaf7 100644 --- a/packages/t/talhelper/talhelper.changes +++ b/packages/t/talhelper/talhelper.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Wed Dec 18 06:26:00 UTC 2024 - opensuse_buildservice@ojkastl.de + +- Update to version 3.0.13: + * fix(goreleaser): fix typo in arm64v8 platform container build + * docs: update CLI reference documentation (#762) + * chore(container): update bitnami/kubectl docker tag to v1.32.0 + * chore(deps): update dependency siderolabs/talos to v1.9.0 + * chore(container): update ghcr.io/siderolabs/talosctl docker tag + to v1.9.0 + * fix(deps): update module + github.com/siderolabs/talos/pkg/machinery to v1.9.0 + * feat(readme): thank you @qjoly for the sponsor! + * chore(schema): update talos-extensions.yaml JSON schema (#761) + * chore(schema): update talos-extensions.yaml JSON schema + * fix(deps): update module github.com/budimanjojo/talhelper/v3 to + v3.0.12 + * feat(validate): add validator for `installDiskSelector` + * feat: update flake + * feat: update Scoop for talhelper version v3.0.12 + ------------------------------------------------------------------- Mon Dec 16 07:06:37 UTC 2024 - opensuse_buildservice@ojkastl.de diff --git a/packages/t/talhelper/talhelper.obsinfo b/packages/t/talhelper/talhelper.obsinfo index e1e90a9727a..1ca2454340e 100644 --- a/packages/t/talhelper/talhelper.obsinfo +++ b/packages/t/talhelper/talhelper.obsinfo @@ -1,4 +1,4 @@ name: talhelper -version: 3.0.12 -mtime: 1734328187 -commit: 0eec78890fac38454d77965fa9c96d4e698a9c11 +version: 3.0.13 +mtime: 1734493760 +commit: b90eb692396f96971722a821758dd5d54dcf9c3a diff --git a/packages/t/talhelper/talhelper.spec b/packages/t/talhelper/talhelper.spec index b6ad9ed3e73..aac44986b66 100644 --- a/packages/t/talhelper/talhelper.spec +++ b/packages/t/talhelper/talhelper.spec @@ -17,7 +17,7 @@ Name: talhelper -Version: 3.0.12 +Version: 3.0.13 Release: 0 Summary: Tool to help creating Talos kubernetes cluster License: BSD-3-Clause diff --git a/packages/t/talhelper/vendor.tar.gz b/packages/t/talhelper/vendor.tar.gz index 865768d99a0..ecc87ab7ee2 120000 --- a/packages/t/talhelper/vendor.tar.gz +++ b/packages/t/talhelper/vendor.tar.gz @@ -1 +1 @@ -/ipfs/bafybeiavewvqigtifdg7qc3dksezbffd3c5v7igwyovsqopb53osx2ukae \ No newline at end of file +/ipfs/bafybeifhomzhkoz6n2jxrjcpd356sxpweznhtmmfnsecufqsekpego2vre \ No newline at end of file diff --git a/packages/t/talosctl/.files b/packages/t/talosctl/.files index 1eeed1d821a..378347f4b2b 100644 Binary files a/packages/t/talosctl/.files and b/packages/t/talosctl/.files differ diff --git a/packages/t/talosctl/.rev b/packages/t/talosctl/.rev index 3de80bf1b31..95483076d6c 100644 --- a/packages/t/talosctl/.rev +++ b/packages/t/talosctl/.rev @@ -151,4 +151,12 @@ 1230769 + + a3a94de0834adfdb3b548ae4f078534b + 1.9.0 + + anag+factory + + 1231790 + diff --git a/packages/t/talosctl/_service b/packages/t/talosctl/_service index d5311c9ddde..142f4b0fc39 100644 --- a/packages/t/talosctl/_service +++ b/packages/t/talosctl/_service @@ -4,7 +4,7 @@ git .git go.work - v1.8.4 + v1.9.0 v* @PARENT_TAG@ v(.*) diff --git a/packages/t/talosctl/talosctl-1.8.4.obscpio b/packages/t/talosctl/talosctl-1.8.4.obscpio deleted file mode 120000 index 3ba5900658f..00000000000 --- a/packages/t/talosctl/talosctl-1.8.4.obscpio +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeibdhdcletnjpf5lpmf5pbcvgd2t3bkuapwmwa5uxuf2tnm2cxvk34 \ No newline at end of file diff --git a/packages/t/talosctl/talosctl-1.9.0.obscpio b/packages/t/talosctl/talosctl-1.9.0.obscpio new file mode 120000 index 00000000000..c8d1f6d4255 --- /dev/null +++ b/packages/t/talosctl/talosctl-1.9.0.obscpio @@ -0,0 +1 @@ +/ipfs/bafybeih7sanlpwuhlt4lt3eflxup55e3amp3w7wotzxgmy44bvtq5352zq \ No newline at end of file diff --git a/packages/t/talosctl/talosctl.changes b/packages/t/talosctl/talosctl.changes index 6552eaf38aa..a4a122232b6 100644 --- a/packages/t/talosctl/talosctl.changes +++ b/packages/t/talosctl/talosctl.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Wed Dec 18 06:26:48 UTC 2024 - Johannes Kastl + +- update to 1.9.0: + Large update, full changelog is here: + https://github.com/siderolabs/talos/releases/tag/v1.9.0 + * Auditd + - Talos Linux now starts an auditd service by default. + Logs can be read with talosctl logs auditd. + * talosctl cgroups + - The talosctl cgroups command has been added to the talosctl + tool. This command allows you to view the cgroup resource + consumption and limits for a machine, e.g. talosctl cgroups + --preset memory. + * talosctl disks + - The command talosctl disks was removed, please use talosctl + get disks, talosctl get systemdisk, and talosctl get + blockdevices instead. + * talosctl wipe + - The new command talosctl wipe disk allows to wipe a disk or a + partition which is not used as a volume. + ------------------------------------------------------------------- Fri Dec 13 10:11:20 UTC 2024 - Johannes Kastl diff --git a/packages/t/talosctl/talosctl.obsinfo b/packages/t/talosctl/talosctl.obsinfo index 91df12c2474..f3c6e348053 100644 --- a/packages/t/talosctl/talosctl.obsinfo +++ b/packages/t/talosctl/talosctl.obsinfo @@ -1,4 +1,4 @@ name: talosctl -version: 1.8.4 -mtime: 1734029357 -commit: 3c151c8a004b5cf62095653bc1ac1b6857a7fff0 +version: 1.9.0 +mtime: 1734441440 +commit: 3cb25ceb3f3f14ff03c752f9f2dbd6480a20c78a diff --git a/packages/t/talosctl/talosctl.spec b/packages/t/talosctl/talosctl.spec index a3ef28265ce..79667f557a2 100644 --- a/packages/t/talosctl/talosctl.spec +++ b/packages/t/talosctl/talosctl.spec @@ -17,7 +17,7 @@ Name: talosctl -Version: 1.8.4 +Version: 1.9.0 Release: 0 Summary: CLI to interact with Talos Linux License: MPL-2.0 diff --git a/packages/t/talosctl/vendor.tar.gz b/packages/t/talosctl/vendor.tar.gz index 8be0c7f5dca..5870d2725cf 120000 --- a/packages/t/talosctl/vendor.tar.gz +++ b/packages/t/talosctl/vendor.tar.gz @@ -1 +1 @@ -/ipfs/bafybeihksls3z6yr4b74mm5jfy6lcllkh2vmptlsdw3qlxcjpjy6b7jnau \ No newline at end of file +/ipfs/bafybeifufcpvklh3nahjgr5i2tzuh5gv56webeqifpiivolnyceyoxoadq \ No newline at end of file diff --git a/packages/t/tuba/.files b/packages/t/tuba/.files index 6bb05398d55..f8963cd9e08 100644 Binary files a/packages/t/tuba/.files and b/packages/t/tuba/.files differ diff --git a/packages/t/tuba/.rev b/packages/t/tuba/.rev index ac4a28175a9..616bc0a4756 100644 --- a/packages/t/tuba/.rev +++ b/packages/t/tuba/.rev @@ -43,4 +43,41 @@ * Segfault when closing the mediaviewer before the spinner timeout finishes (forwarded request 1199904 from rrahl0) 1199905 + + 28de7b005893863a20b3ba83313097a5 + 0.9.0 + + anag+factory + - update to 0.9.0: + * Audio Visualizer + * Focus Picker + * Scheduled Posts + * Draft Posts + * Bold search query in results + * Mute expiration and notification hiding switch + * Verified Authors section on preview cards + * Link discussion timelines on explore tab news + * Accent colors and other GNOME 47 changes + * Numeric style for counters + * Adw.Spinners + * Attachment thumbnail in alt text dialog + * Custom picture widget that can display thumbnails at their defined focus position + * tuba://share + * Removed the pre 0.8 cache cleaner + * Muting your own posts + * Copy attachment on CtrlC in the Media Viewer + * Auto-fill author button in Advanced Search Dialog + * Hashtag extracting from the end of a post to a separate section + * Removed GL renderer preference + * Poll animations + * Poll show and refresh results buttons + * Full emoji reaction and stats support when possible + * Opt-in anonymous preference popularity analytics + * Improved the profile posts, replies, media filter UX + * Use TextView for the alt text dialog + * Sync post language and spellchecker language + * #FediWrapped + * Account suggestions for new fediverse users (forwarded request 1231768 from rrahl0) + 1231769 + diff --git a/packages/t/tuba/tuba-0.8.4.tar.gz b/packages/t/tuba/tuba-0.8.4.tar.gz deleted file mode 120000 index 5ba623b6f36..00000000000 --- a/packages/t/tuba/tuba-0.8.4.tar.gz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeibzlhwgeca76cnenkoiqr4dwbdkuar37fvxnq5bzl5ch36bvdmnsi \ No newline at end of file diff --git a/packages/t/tuba/tuba-0.9.0.tar.gz b/packages/t/tuba/tuba-0.9.0.tar.gz new file mode 120000 index 00000000000..5e16b5d0096 --- /dev/null +++ b/packages/t/tuba/tuba-0.9.0.tar.gz @@ -0,0 +1 @@ +/ipfs/bafybeifw47xbkyghgpsm3i3idxsgi6agqugietgqujetln3ba2rzixbrru \ No newline at end of file diff --git a/packages/t/tuba/tuba.changes b/packages/t/tuba/tuba.changes index 74a9907a41b..1ed2a876011 100644 --- a/packages/t/tuba/tuba.changes +++ b/packages/t/tuba/tuba.changes @@ -1,3 +1,70 @@ +------------------------------------------------------------------- +Tue Dec 17 23:31:35 UTC 2024 - Richard Rahl + +- update to 0.9.0: + * Audio Visualizer + * Focus Picker + * Scheduled Posts + * Draft Posts + * Bold search query in results + * Mute expiration and notification hiding switch + * Verified Authors section on preview cards + * Link discussion timelines on explore tab news + * Accent colors and other GNOME 47 changes + * Numeric style for counters + * Adw.Spinners + * Attachment thumbnail in alt text dialog + * Custom picture widget that can display thumbnails at their defined focus position + * tuba://share + * Removed the pre 0.8 cache cleaner + * Muting your own posts + * Copy attachment on CtrlC in the Media Viewer + * Auto-fill author button in Advanced Search Dialog + * Hashtag extracting from the end of a post to a separate section + * Removed GL renderer preference + * Poll animations + * Poll show and refresh results buttons + * Full emoji reaction and stats support when possible + * Opt-in anonymous preference popularity analytics + * Improved the profile posts, replies, media filter UX + * Use TextView for the alt text dialog + * Sync post language and spellchecker language + * #FediWrapped + * Account suggestions for new fediverse users + * Clean up timelines when blocking / muting accounts + * Moved accounts note + * Dedicated quote button when appropriate + * Viewing which ones of the people you follow also follow an account + * Refreshing outdated profile info on cached users + * Placing favorite lists to the sidebar + * Simpler UX for list member removals + * Bubble timeline on supported backends + * Moved notification policy settings to the notification view settings dialog + * Hide window controls from the Media Viewer to avoid accidentally closing Tuba + * Many accessibility improvements + * Account birthday style + * Thread root post refresh on load + * Removed timeline refreshing on network change + * Avatar and Header alt text viewing and editing on supported backends + * Improved UI of the New Account Dialog to better match the HIG + * Handle status notification type + * Handle moderation_warning notification type + * Window icon as a fallback + * Alt text publishing on Akkoma + * Dialog titles not following the HIG + * Jarring Media Viewer scale animation states + * Completion providers returning incorrect results due to the prefix in some backends + * Crashes due to custom widgets types not being available sometimes + * Floating button area being unclickable and unscrollable + * Headerbar having a big minimum width + * Use UriLauncher when appropriate + * Utility dialogs headerbar UX not following the HIG + * List creation and editing on Akkoma + * Media Viewer auto-hide timeout match Gtk.Video's + * Filter creation and editing on GoToSocial + * Timestamp tooltip text format not being converted to the local timezone from UTC + * RTL versions of icons not being set or missing + ------------------------------------------------------------------- Tue Sep 10 15:42:14 UTC 2024 - Richard Rahl @@ -124,7 +191,6 @@ Sat Jun 22 11:34:02 UTC 2024 - Richard Rahl * Some strings not being marked for translations * Other bug and memory leak fixes - ------------------------------------------------------------------- Sun Apr 21 02:24:03 UTC 2024 - Richard Rahl diff --git a/packages/t/tuba/tuba.spec b/packages/t/tuba/tuba.spec index c0b362ecd30..8c8e52f832a 100644 --- a/packages/t/tuba/tuba.spec +++ b/packages/t/tuba/tuba.spec @@ -18,7 +18,7 @@ %define appname dev.geopjr.Tuba Name: tuba -Version: 0.8.4 +Version: 0.9.0 Release: 0 Summary: Browse the Fediverse License: GPL-3.0-only @@ -27,14 +27,14 @@ Source0: %{url}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz BuildRequires: appstream-glib BuildRequires: cmake BuildRequires: desktop-file-utils -BuildRequires: git-core BuildRequires: hicolor-icon-theme BuildRequires: meson >= 0.56 BuildRequires: pkgconfig -BuildRequires: update-desktop-files BuildRequires: vala >= 0.48 BuildRequires: pkgconfig(clapper-0.0) BuildRequires: pkgconfig(gee-0.8) >= 0.8.5 +BuildRequires: pkgconfig(gstreamer-1.0) +BuildRequires: pkgconfig(gstreamer-base-1.0) BuildRequires: pkgconfig(gtksourceview-5) BuildRequires: pkgconfig(icu-uc) BuildRequires: pkgconfig(json-glib-1.0) >= 1.4.4 @@ -63,7 +63,6 @@ BuildRequires: pkgconfig(libxml-2.0) >= 2.9.10 %install %meson_install %find_lang %{appname} -%suse_update_desktop_file %{appname} %check %meson_test @@ -78,7 +77,7 @@ BuildRequires: pkgconfig(libxml-2.0) >= 2.9.10 %{_datadir}/gtksourceview-5/styles/fedi* %{_iconsdir}/hicolor/scalable/apps/%{appname}.svg %{_iconsdir}/hicolor/symbolic/apps/%{appname}-symbolic.svg -%{_mandir}/man1/%{appname}.1.gz +%{_mandir}/man?/%{appname}.?%{?ext_man} %{_datadir}/metainfo/%{appname}.metainfo.xml %files lang -f %{appname}.lang