openSUSE Commits
Threads by month
- ----- 2024 -----
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
May 2023
- 1 participants
- 2432 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package pluto for openSUSE:Factory checked in at 2023-05-31 21:54:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pluto (Old)
and /work/SRC/openSUSE:Factory/.pluto.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pluto"
Wed May 31 21:54:30 2023 rev:30 rq:1089899 version:5.16.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/pluto/pluto.changes 2023-05-16 14:27:21.603719207 +0200
+++ /work/SRC/openSUSE:Factory/.pluto.new.1533/pluto.changes 2023-05-31 21:54:31.877017397 +0200
@@ -1,0 +2,6 @@
+Wed May 31 04:46:07 UTC 2023 - kastl(a)b1-systems.de
+
+- Update to version 5.16.4:
+ * udpate deps (#490)
+
+-------------------------------------------------------------------
Old:
----
pluto-5.16.3.obscpio
New:
----
pluto-5.16.4.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pluto.spec ++++++
--- /var/tmp/diff_new_pack.ZRVs5Y/_old 2023-05-31 21:54:32.621021794 +0200
+++ /var/tmp/diff_new_pack.ZRVs5Y/_new 2023-05-31 21:54:32.629021841 +0200
@@ -19,7 +19,7 @@
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
Name: pluto
-Version: 5.16.3
+Version: 5.16.4
Release: 0
Summary: A cli tool to help discover deprecated apiVersions in Kubernetes
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.ZRVs5Y/_old 2023-05-31 21:54:32.661022031 +0200
+++ /var/tmp/diff_new_pack.ZRVs5Y/_new 2023-05-31 21:54:32.665022054 +0200
@@ -3,7 +3,7 @@
<param name="url">https://github.com/FairwindsOps/pluto</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">v5.16.3</param>
+ <param name="revision">v5.16.4</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
<param name="versionrewrite-pattern">v(.*)</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.ZRVs5Y/_old 2023-05-31 21:54:32.685022172 +0200
+++ /var/tmp/diff_new_pack.ZRVs5Y/_new 2023-05-31 21:54:32.689022196 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/FairwindsOps/pluto</param>
- <param name="changesrevision">02eccc41292c2b4380fa05f6406628fd1afe6cb9</param></service></servicedata>
+ <param name="changesrevision">1ff8c7cdb5bfaafaefe83e8429f6cbe0fffd7fcf</param></service></servicedata>
(No newline at EOF)
++++++ pluto-5.16.3.obscpio -> pluto-5.16.4.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluto-5.16.3/go.mod new/pluto-5.16.4/go.mod
--- old/pluto-5.16.3/go.mod 2023-05-15 22:23:16.000000000 +0200
+++ new/pluto-5.16.4/go.mod 2023-05-26 18:27:10.000000000 +0200
@@ -10,17 +10,17 @@
github.com/spf13/cobra v1.7.0
github.com/spf13/pflag v1.0.5
github.com/spf13/viper v1.15.0
- github.com/stretchr/testify v1.8.2
+ github.com/stretchr/testify v1.8.3
golang.org/x/mod v0.10.0
golang.org/x/sys v0.8.0 // indirect
golang.org/x/text v0.9.0 // indirect
gopkg.in/yaml.v3 v3.0.1
helm.sh/helm/v3 v3.12.0
- k8s.io/api v0.27.1
- k8s.io/apimachinery v0.27.1
- k8s.io/client-go v0.27.1
+ k8s.io/api v0.27.2
+ k8s.io/apimachinery v0.27.2
+ k8s.io/client-go v0.27.2
k8s.io/klog/v2 v2.100.1
- sigs.k8s.io/controller-runtime v0.14.6
+ sigs.k8s.io/controller-runtime v0.15.0
)
require github.com/thoas/go-funk v0.9.3
@@ -61,7 +61,7 @@
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
- github.com/pelletier/go-toml/v2 v2.0.7 // indirect
+ github.com/pelletier/go-toml/v2 v2.0.8 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/rubenv/sql-migrate v1.4.0 // indirect
@@ -81,8 +81,8 @@
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
- k8s.io/apiextensions-apiserver v0.27.1 // indirect
- k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f // indirect
+ k8s.io/apiextensions-apiserver v0.27.2 // indirect
+ k8s.io/kube-openapi v0.0.0-20230525220651-2546d827e515 // indirect
k8s.io/utils v0.0.0-20230505201702-9f6742963106 // indirect
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluto-5.16.3/go.sum new/pluto-5.16.4/go.sum
--- old/pluto-5.16.3/go.sum 2023-05-15 22:23:16.000000000 +0200
+++ new/pluto-5.16.4/go.sum 2023-05-26 18:27:10.000000000 +0200
@@ -112,7 +112,6 @@
github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
github.com/flowstack/go-jsonschema v0.1.1/go.mod h1:yL7fNggx1o8rm9RlgXv7hTBWxdBM0rVwpMwimd3F3N0=
-github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE=
github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps=
github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
@@ -132,7 +131,7 @@
github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ=
github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
-github.com/go-logr/zapr v1.2.3 h1:a9vnzlIBPQBBkeaR9IuMUfmVOrQlkoC4YfPoFkX3T7A=
+github.com/go-logr/zapr v1.2.4 h1:QHVo+6stLbfJmYGkQ7uGHUCu5hnAFAj6mDe6Ea0SeOo=
github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE=
github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs=
github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE=
@@ -142,7 +141,7 @@
github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE=
github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
-github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 h1:p104kn46Q8WdvHunIJ9dAyjPVtrBPhSr3KT2yUst43I=
+github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI=
github.com/gobuffalo/logger v1.0.6 h1:nnZNpxYo0zx+Aj9RfMPBm+x9zAU2OayFh/xrAWi34HU=
github.com/gobuffalo/logger v1.0.6/go.mod h1:J31TBEHR1QLV2683OXTAItYIg8pv2JMHnF/quuAbMjs=
github.com/gobuffalo/packd v1.0.1 h1:U2wXfRr4E9DH8IdsDLlRFwTZTK7hLfq9qT/QHXGVe/0=
@@ -311,7 +310,6 @@
github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0 h1:P6pPBnrTSX3DEVR4fDembhRWSsG5rVo6hYhAB/ADZrk=
github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0/go.mod h1:vmVJ0l/dxyfGW6FmdpVm2joNMFikkuWg0EoCKLGUMNw=
github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
-github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw=
github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
@@ -380,13 +378,13 @@
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=
github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY=
-github.com/onsi/ginkgo/v2 v2.9.1 h1:zie5Ly042PD3bsCvsSOPvRnFwyo3rKe64TJlD6nu0mk=
-github.com/onsi/gomega v1.27.4 h1:Z2AnStgsdSayCMDiCU42qIz+HLqEPcgiOCXjAU/w+8E=
+github.com/onsi/ginkgo/v2 v2.9.5 h1:+6Hr4uxzP4XIUyAkg61dWBw8lb/gc4/X5luuxN/EC+Q=
+github.com/onsi/gomega v1.27.7 h1:fVih9JD6ogIiHUN6ePK7HJidyEDpWGVB5mzM7cWNXoU=
github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
-github.com/pelletier/go-toml/v2 v2.0.7 h1:muncTPStnKRos5dpVKULv2FVd4bMOhNePj9CjgDb8Us=
-github.com/pelletier/go-toml/v2 v2.0.7/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek=
+github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ=
+github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@@ -444,7 +442,6 @@
github.com/spf13/afero v1.9.5/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ=
github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
-github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU=
github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA=
github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48=
@@ -476,8 +473,8 @@
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
-github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8=
-github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
+github.com/stretchr/testify v1.8.3 h1:RP3t2pwF7cMEbC1dqtB6poj3niw/9gnV4Cjg5oW5gtY=
+github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8=
github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0=
@@ -621,8 +618,6 @@
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws=
-golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM=
-golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M=
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -637,8 +632,6 @@
golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
-golang.org/x/oauth2 v0.7.0 h1:qe6s0zUXlPX80/dITx3440hWZ7GwMwgDDyrSGTPJG/g=
-golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4=
golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8=
golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -713,16 +706,12 @@
golang.org/x/sys v0.0.0-20221013171732-95e765b1cc43/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU=
-golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ=
-golang.org/x/term v0.7.0 h1:BEvjmm5fURWqcfbSKTdpkDXYBrUS1c0m8agp14W48vQ=
-golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY=
golang.org/x/term v0.8.0 h1:n5xxQn2i3PC0yLAbjTpNT85q/Kgzcr2gIoX9OrJUols=
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -799,7 +788,7 @@
golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
-golang.org/x/tools v0.7.0 h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4=
+golang.org/x/tools v0.9.1 h1:8WMNJAz3zrtPmnYC7ISf5dEn3MT0gY7jBJfw27yrrLo=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -942,8 +931,6 @@
gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-helm.sh/helm/v3 v3.11.3 h1:n1X5yaQTP5DYywlBOZMl2gX398Gp6YwFp/IAVj6+5D4=
-helm.sh/helm/v3 v3.11.3/go.mod h1:S+sOdQc3BLvt09a9rSlKKVs9x0N/yx+No0y3qFw+FQ8=
helm.sh/helm/v3 v3.12.0 h1:rOq2TPVzg5jt4q5ermAZGZFxNW2uQhKjRhBneAutMEM=
helm.sh/helm/v3 v3.12.0/go.mod h1:8K/469yxjUMu6BaD2EagCitkPjELUL/l2AgCO142G94=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
@@ -953,39 +940,25 @@
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
-k8s.io/api v0.27.0 h1:2owttiA8Oa+J3idFeq8TSnNpm4y6AOGPI3PDbIpp2cE=
-k8s.io/api v0.27.0/go.mod h1:Wl+QRvQlh+T8SK5f4F6YBhhyH6hrFO08nl74xZb1MUE=
-k8s.io/api v0.27.1 h1:Z6zUGQ1Vd10tJ+gHcNNNgkV5emCyW+v2XTmn+CLjSd0=
-k8s.io/api v0.27.1/go.mod h1:z5g/BpAiD+f6AArpqNjkY+cji8ueZDU/WV1jcj5Jk4E=
-k8s.io/apiextensions-apiserver v0.27.0 h1:3ABZ6JFa5WIcjxUfSCTHsiYKFh2I9JJK2FI/CpGkZx4=
-k8s.io/apiextensions-apiserver v0.27.0/go.mod h1:4FCgGCfQ7JGoDo7fQVwtAGER4rlm9ZD0XUoYZhNJ0BE=
-k8s.io/apiextensions-apiserver v0.27.1 h1:Hp7B3KxKHBZ/FxmVFVpaDiXI6CCSr49P1OJjxKO6o4g=
-k8s.io/apiextensions-apiserver v0.27.1/go.mod h1:8jEvRDtKjVtWmdkhOqE84EcNWJt/uwF8PC4627UZghY=
-k8s.io/apimachinery v0.27.0 h1:vEyy/PVMbPMCPutrssCVHCf0JNZ0Px+YqPi82K2ALlk=
-k8s.io/apimachinery v0.27.0/go.mod h1:5ikh59fK3AJ287GUvpUsryoMFtH9zj/ARfWCo3AyXTM=
-k8s.io/apimachinery v0.27.1 h1:EGuZiLI95UQQcClhanryclaQE6xjg1Bts6/L3cD7zyc=
-k8s.io/apimachinery v0.27.1/go.mod h1:5ikh59fK3AJ287GUvpUsryoMFtH9zj/ARfWCo3AyXTM=
-k8s.io/client-go v0.27.0 h1:DyZS1fJkv73tEy7rWv4VF6NwGeJ7SKvNaLRXZBYLA+4=
-k8s.io/client-go v0.27.0/go.mod h1:XVEmpNnM+4JYO3EENoFV/ZDv3KxKVJUnzGo70avk+C4=
-k8s.io/client-go v0.27.1 h1:oXsfhW/qncM1wDmWBIuDzRHNS2tLhK3BZv512Nc59W8=
-k8s.io/client-go v0.27.1/go.mod h1:f8LHMUkVb3b9N8bWturc+EDtVVVwZ7ueTVquFAJb2vA=
-k8s.io/klog/v2 v2.90.1 h1:m4bYOKall2MmOiRaR1J+We67Do7vm9KiQVlT96lnHUw=
-k8s.io/klog/v2 v2.90.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
+k8s.io/api v0.27.2 h1:+H17AJpUMvl+clT+BPnKf0E3ksMAzoBBg7CntpSuADo=
+k8s.io/api v0.27.2/go.mod h1:ENmbocXfBT2ADujUXcBhHV55RIT31IIEvkntP6vZKS4=
+k8s.io/apiextensions-apiserver v0.27.2 h1:iwhyoeS4xj9Y7v8YExhUwbVuBhMr3Q4bd/laClBV6Bo=
+k8s.io/apiextensions-apiserver v0.27.2/go.mod h1:Oz9UdvGguL3ULgRdY9QMUzL2RZImotgxvGjdWRq6ZXQ=
+k8s.io/apimachinery v0.27.2 h1:vBjGaKKieaIreI+oQwELalVG4d8f3YAMNpWLzDXkxeg=
+k8s.io/apimachinery v0.27.2/go.mod h1:XNfZ6xklnMCOGGFNqXG7bUrQCoR04dh/E7FprV6pb+E=
+k8s.io/client-go v0.27.2 h1:vDLSeuYvCHKeoQRhCXjxXO45nHVv2Ip4Fe0MfioMrhE=
+k8s.io/client-go v0.27.2/go.mod h1:tY0gVmUsHrAmjzHX9zs7eCjxcBsf8IiNe7KQ52biTcQ=
k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg=
k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
-k8s.io/kube-openapi v0.0.0-20230327201221-f5883ff37f0c h1:EFfsozyzZ/pggw5qNx7ftTVZdp7WZl+3ih89GEjYEK8=
-k8s.io/kube-openapi v0.0.0-20230327201221-f5883ff37f0c/go.mod h1:byini6yhqGC14c3ebc/QwanvYwhuMWF6yz2F8uwW8eg=
-k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f h1:2kWPakN3i/k81b0gvD5C5FJ2kxm1WrQFanWchyKuqGg=
-k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f/go.mod h1:byini6yhqGC14c3ebc/QwanvYwhuMWF6yz2F8uwW8eg=
-k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk=
-k8s.io/utils v0.0.0-20230406110748-d93618cff8a2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
+k8s.io/kube-openapi v0.0.0-20230525220651-2546d827e515 h1:OmK1d0WrkD3IPfkskvroRykOulHVHf0s0ZIFRjyt+UI=
+k8s.io/kube-openapi v0.0.0-20230525220651-2546d827e515/go.mod h1:kzo02I3kQ4BTtEfVLaPbjvCkX97YqGve33wzlb3fofQ=
k8s.io/utils v0.0.0-20230505201702-9f6742963106 h1:EObNQ3TW2D+WptiYXlApGNLVy0zm/JIBVY9i+M4wpAU=
k8s.io/utils v0.0.0-20230505201702-9f6742963106/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
-sigs.k8s.io/controller-runtime v0.14.6 h1:oxstGVvXGNnMvY7TAESYk+lzr6S3V5VFxQ6d92KcwQA=
-sigs.k8s.io/controller-runtime v0.14.6/go.mod h1:WqIdsAY6JBsjfc/CqO0CORmNtoCtE4S6qbPc9s68h+0=
+sigs.k8s.io/controller-runtime v0.15.0 h1:ML+5Adt3qZnMSYxZ7gAverBLNPSMQEibtzAgp0UPojU=
+sigs.k8s.io/controller-runtime v0.15.0/go.mod h1:7ngYvp1MLT+9GeZ+6lH3LOlcHkp/+tzA/fmHa4iq9kk=
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE=
++++++ pluto.obsinfo ++++++
--- /var/tmp/diff_new_pack.ZRVs5Y/_old 2023-05-31 21:54:32.877023307 +0200
+++ /var/tmp/diff_new_pack.ZRVs5Y/_new 2023-05-31 21:54:32.881023331 +0200
@@ -1,5 +1,5 @@
name: pluto
-version: 5.16.3
-mtime: 1684182196
-commit: 02eccc41292c2b4380fa05f6406628fd1afe6cb9
+version: 5.16.4
+mtime: 1685118430
+commit: 1ff8c7cdb5bfaafaefe83e8429f6cbe0fffd7fcf
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/pluto/vendor.tar.gz /work/SRC/openSUSE:Factory/.pluto.new.1533/vendor.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package hugo for openSUSE:Factory checked in at 2023-05-31 21:54:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hugo (Old)
and /work/SRC/openSUSE:Factory/.hugo.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hugo"
Wed May 31 21:54:26 2023 rev:35 rq:1089894 version:0.112.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/hugo/hugo.changes 2023-05-24 20:22:56.604387388 +0200
+++ /work/SRC/openSUSE:Factory/.hugo.new.1533/hugo.changes 2023-05-31 21:54:28.092995031 +0200
@@ -1,0 +2,24 @@
+Wed May 31 00:47:18 UTC 2023 - jkowalczyk(a)suse.com
+
+- Update to version 0.112.5:
+ * releaser: Add a way to bust the CircleCI Git cache
+ * Fix it so languageCode on top level config still works
+
+-------------------------------------------------------------------
+Wed May 31 00:46:44 UTC 2023 - jkowalczyk(a)suse.com
+
+- Update to version 0.112.4:
+ * docs: Regenerate CLI docs
+ * commands: Add the common build flags to the config commands
+ * Fix Processed images count regression for multiple languages
+ * commands: Reinstate some of the removed build flags (e.g. --theme) to new and mod
+ * Don't create the public folder unless needed
+ * docs: Regen CLI docs
+ * commands: Fail the build when no config file or config dir
+ * langs: Remove the Language.Params deprecation message for now
+ * Add language.LanguageCode
+ * Fix --renderStaticToDisk regression
+ * commands: Re-introduce the -f shorthand for hugo new site
+ * commands: Move the --format flag to only the commands that support it
+
+-------------------------------------------------------------------
Old:
----
hugo-0.112.3.tar.gz
New:
----
hugo-0.112.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ hugo.spec ++++++
--- /var/tmp/diff_new_pack.8ZHT1q/_old 2023-05-31 21:54:28.816999310 +0200
+++ /var/tmp/diff_new_pack.8ZHT1q/_new 2023-05-31 21:54:28.820999334 +0200
@@ -17,7 +17,7 @@
Name: hugo
-Version: 0.112.3
+Version: 0.112.5
Release: 0
Summary: Static website generator written in Go
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.8ZHT1q/_old 2023-05-31 21:54:28.856999547 +0200
+++ /var/tmp/diff_new_pack.8ZHT1q/_new 2023-05-31 21:54:28.860999571 +0200
@@ -3,7 +3,7 @@
<param name="url">https://github.com/gohugoio/hugo.git</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">v0.112.3</param>
+ <param name="revision">v0.112.5</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
<param name="versionrewrite-pattern">v(.*)</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.8ZHT1q/_old 2023-05-31 21:54:28.876999665 +0200
+++ /var/tmp/diff_new_pack.8ZHT1q/_new 2023-05-31 21:54:28.880999689 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/gohugoio/hugo.git</param>
- <param name="changesrevision">ba6f74e40420d76f15fc8c2358be90f7aca98e0e</param></service></servicedata>
+ <param name="changesrevision">48e33e10af2feb2a0e1c32d04880ed016619f2d8</param></service></servicedata>
(No newline at EOF)
++++++ hugo-0.112.3.tar.gz -> hugo-0.112.5.tar.gz ++++++
/work/SRC/openSUSE:Factory/hugo/hugo-0.112.3.tar.gz /work/SRC/openSUSE:Factory/.hugo.new.1533/hugo-0.112.5.tar.gz differ: char 12, line 1
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/hugo/vendor.tar.gz /work/SRC/openSUSE:Factory/.hugo.new.1533/vendor.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package xdg-desktop-portal-hyprland for openSUSE:Factory checked in at 2023-05-31 21:54:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xdg-desktop-portal-hyprland (Old)
and /work/SRC/openSUSE:Factory/.xdg-desktop-portal-hyprland.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xdg-desktop-portal-hyprland"
Wed May 31 21:54:24 2023 rev:2 rq:1089888 version:unknown
Changes:
--------
--- /work/SRC/openSUSE:Factory/xdg-desktop-portal-hyprland/xdg-desktop-portal-hyprland.changes 2023-05-23 14:55:08.418695031 +0200
+++ /work/SRC/openSUSE:Factory/.xdg-desktop-portal-hyprland.new.1533/xdg-desktop-portal-hyprland.changes 2023-05-31 21:54:26.312984511 +0200
@@ -1,0 +2,7 @@
+Tue May 30 11:15:39 UTC 2023 - Soc Virnyl Estela <socvirnyl.estela(a)gmail.com>
+
+- Update to version 0.4.0:
+ * screencast: restore window by class
+ * some nix stuff
+
+-------------------------------------------------------------------
Old:
----
xdg-desktop-portal-hyprland-0.3.1.tar.gz
New:
----
xdg-desktop-portal-hyprland-0.4.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xdg-desktop-portal-hyprland.spec ++++++
--- /var/tmp/diff_new_pack.iTWvQA/_old 2023-05-31 21:54:26.780987277 +0200
+++ /var/tmp/diff_new_pack.iTWvQA/_new 2023-05-31 21:54:26.784987300 +0200
@@ -18,7 +18,7 @@
%define _protocol_version 0.2
Name: xdg-desktop-portal-hyprland
-Version: 0.3.1
+Version: 0.4.0
Release: 0
Summary: Extended xdg-desktop-portal backend for Hyprland
License: MIT
++++++ xdg-desktop-portal-hyprland-0.3.1.tar.gz -> xdg-desktop-portal-hyprland-0.4.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-hyprland-0.3.1/flake.lock new/xdg-desktop-portal-hyprland-0.4.0/flake.lock
--- old/xdg-desktop-portal-hyprland-0.3.1/flake.lock 2023-04-25 18:16:24.000000000 +0200
+++ new/xdg-desktop-portal-hyprland-0.4.0/flake.lock 2023-05-29 20:42:44.000000000 +0200
@@ -22,11 +22,11 @@
},
"nixpkgs": {
"locked": {
- "lastModified": 1680945546,
- "narHash": "sha256-8FuaH5t/aVi/pR1XxnF0qi4WwMYC+YxlfdsA0V+TEuQ=",
+ "lastModified": 1683014792,
+ "narHash": "sha256-6Va9iVtmmsw4raBc3QKvQT2KT/NGRWlvUlJj46zN8B8=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "d9f759f2ea8d265d974a6e1259bd510ac5844c5d",
+ "rev": "1a411f23ba299db155a5b45d5e145b85a7aafc42",
"type": "github"
},
"original": {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-hyprland-0.3.1/flake.nix new/xdg-desktop-portal-hyprland-0.4.0/flake.nix
--- old/xdg-desktop-portal-hyprland-0.3.1/flake.nix 2023-04-25 18:16:24.000000000 +0200
+++ new/xdg-desktop-portal-hyprland-0.4.0/flake.nix 2023-05-29 20:42:44.000000000 +0200
@@ -20,7 +20,14 @@
"aarch64-linux"
"x86_64-linux"
];
- pkgsFor = nixpkgs.legacyPackages;
+ pkgsFor = genSystems (system:
+ import nixpkgs {
+ inherit system;
+ overlays = [
+ self.overlays.default
+ inputs.hyprland-protocols.overlays.default
+ ];
+ });
mkDate = longDate: (lib.concatStringsSep "-" [
(builtins.substring 0 4 longDate)
(builtins.substring 4 2 longDate)
@@ -28,18 +35,17 @@
]);
version = "0.pre" + "+date=" + (mkDate (self.lastModifiedDate or "19700101")) + "_" + (self.shortRev or "dirty");
in {
- overlays.default = _: prev: rec {
- xdg-desktop-portal-hyprland = prev.callPackage ./nix/default.nix {
- stdenv = prev.gcc12Stdenv;
- inherit (inputs.hyprland-protocols.packages.${prev.hostPlatform.system}) hyprland-protocols;
- inherit hyprland-share-picker version;
+ overlays.default = final: prev: {
+ xdg-desktop-portal-hyprland = final.callPackage ./nix/default.nix {
+ inherit (final) hyprland-protocols hyprland-share-picker;
+ inherit version;
};
- hyprland-share-picker = prev.libsForQt5.callPackage ./nix/hyprland-share-picker.nix {inherit version;};
+ hyprland-share-picker = final.libsForQt5.callPackage ./nix/hyprland-share-picker.nix {inherit version;};
};
packages = genSystems (system:
- (self.overlays.default null pkgsFor.${system})
+ (self.overlays.default pkgsFor.${system} pkgsFor.${system})
// {default = self.packages.${system}.xdg-desktop-portal-hyprland;});
formatter = genSystems (system: pkgsFor.${system}.alejandra);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-hyprland-0.3.1/include/screencast_common.h new/xdg-desktop-portal-hyprland-0.4.0/include/screencast_common.h
--- old/xdg-desktop-portal-hyprland-0.3.1/include/screencast_common.h 2023-04-25 18:16:24.000000000 +0200
+++ new/xdg-desktop-portal-hyprland-0.4.0/include/screencast_common.h 2023-05-29 20:42:44.000000000 +0200
@@ -64,7 +64,7 @@
uint64_t tv_sec;
uint32_t tv_nsec;
struct xdpw_frame_damage damage[4];
- uint32_t damage_count;
+ uint32_t damage_count;
struct xdpw_buffer *xdpw_buffer;
struct pw_buffer *pw_buffer;
};
@@ -164,6 +164,7 @@
struct xdph_restore_token {
char *token;
char *outputPort; // NULL if not set
+ char *windowClass; // NULL if not set
uint64_t windowHandle; // 0 if not set
struct wl_list link;
bool withCursor;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-hyprland-0.3.1/meson.build new/xdg-desktop-portal-hyprland-0.4.0/meson.build
--- old/xdg-desktop-portal-hyprland-0.3.1/meson.build 2023-04-25 18:16:24.000000000 +0200
+++ new/xdg-desktop-portal-hyprland-0.4.0/meson.build 2023-05-29 20:42:44.000000000 +0200
@@ -1,7 +1,7 @@
project(
'xdg-desktop-portal-hyprland',
'c',
- version: '0.2.1',
+ version: '0.4.0',
license: 'MIT',
meson_version: '>=0.58.0',
default_options: ['c_std=c11', 'warning_level=2', 'werror=false'],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-hyprland-0.3.1/src/screencast/screencast.c new/xdg-desktop-portal-hyprland-0.4.0/src/screencast/screencast.c
--- old/xdg-desktop-portal-hyprland-0.3.1/src/screencast/screencast.c 2023-04-25 18:16:24.000000000 +0200
+++ new/xdg-desktop-portal-hyprland-0.4.0/src/screencast/screencast.c 2023-05-29 20:42:44.000000000 +0200
@@ -132,14 +132,26 @@
if (token) {
// attempt to restore
if (token->outputPort) {
- struct xdpw_wlr_output *output;
- wl_list_for_each(output, &ctx->output_list, link) {
- if (strcmp(output->name, token->outputPort) == 0) {
- out.output = output;
- tokenSuccess = true;
- break;
+ if (strncmp(token->outputPort, "class:", 6) == 0) {
+ struct SToplevelEntry *current;
+ wl_list_for_each(current, &ctx->toplevel_resource_list, link) {
+ if (strcmp(token->outputPort + 6, current->clazz) == 0) {
+ out.window_handle = token->windowHandle;
+ tokenSuccess = true;
+ break;
+ }
+ }
+ } else {
+ struct xdpw_wlr_output *output;
+ wl_list_for_each(output, &ctx->output_list, link) {
+ if (strcmp(output->name, token->outputPort) == 0) {
+ out.output = output;
+ tokenSuccess = true;
+ break;
+ }
}
}
+
} else if (token->windowHandle > 0) {
struct SToplevelEntry *current;
wl_list_for_each(current, &ctx->toplevel_resource_list, link) {
@@ -249,6 +261,16 @@
restoreToken->token = uuid_str;
restoreToken->withCursor = withCursor;
+ if (windowSelected) {
+ struct SToplevelEntry *current;
+ wl_list_for_each(current, &state->screencast.toplevel_resource_list, link) {
+ if (current->handle == restoreToken->windowHandle) {
+ restoreToken->windowClass = getFormat("class:%x", current->clazz);
+ break;
+ }
+ }
+ }
+
return restoreToken;
}
@@ -644,12 +666,13 @@
logprint(DEBUG, "dbus: start: returning node %d", (int)cast->node_id);
if (restoreToken)
- ret = sd_bus_message_append(reply, "ua{sv}", PORTAL_RESPONSE_SUCCESS, 3, "streams", "a(ua{sv})", 1, cast->node_id, 3, "position", "(ii)", 0,
- 0, "size", "(ii)", cast->screencopy_frame_info[WL_SHM].width, cast->screencopy_frame_info[WL_SHM].height,
- "source_type", "u", (cast->target.output ? (1 << MONITOR) : (1 << WINDOW)), "persist_mode", "u", sess->persist,
- "restore_data", "(suv)", "hyprland", 2, "(susbt)" /* amogus */, restoreToken->token, restoreToken->windowHandle,
- (restoreToken->outputPort == NULL ? "" : restoreToken->outputPort), restoreToken->withCursor,
- (unsigned long)time(NULL));
+ ret = sd_bus_message_append(
+ reply, "ua{sv}", PORTAL_RESPONSE_SUCCESS, 3, "streams", "a(ua{sv})", 1, cast->node_id, 3, "position", "(ii)", 0, 0, "size", "(ii)",
+ cast->screencopy_frame_info[WL_SHM].width, cast->screencopy_frame_info[WL_SHM].height, "source_type", "u",
+ (cast->target.output ? (1 << MONITOR) : (1 << WINDOW)), "persist_mode", "u", sess->persist, "restore_data", "(suv)", "hyprland", 2,
+ "(susbt)" /* amogus */, restoreToken->token, restoreToken->windowHandle,
+ (restoreToken->outputPort == NULL ? (restoreToken->windowHandle ? restoreToken->windowClass : "") : restoreToken->outputPort),
+ restoreToken->withCursor, (unsigned long)time(NULL));
else
ret = sd_bus_message_append(reply, "ua{sv}", PORTAL_RESPONSE_SUCCESS, 1, "streams", "a(ua{sv})", 1, cast->node_id, 3, "position", "(ii)", 0,
0, "size", "(ii)", cast->screencopy_frame_info[WL_SHM].width, cast->screencopy_frame_info[WL_SHM].height,
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package haxe for openSUSE:Factory checked in at 2023-05-31 21:54:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/haxe (Old)
and /work/SRC/openSUSE:Factory/.haxe.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "haxe"
Wed May 31 21:54:21 2023 rev:25 rq:1089877 version:4.3.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/haxe/haxe.changes 2023-05-23 14:53:53.354250907 +0200
+++ /work/SRC/openSUSE:Factory/.haxe.new.1533/haxe.changes 2023-05-31 21:54:24.780975456 +0200
@@ -1,0 +2,5 @@
+Sun May 21 21:21:21 UTC 2023 - ohering(a)suse.de
+
+- JaneStreet libraries are 64bit, this pkg depends on them
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ haxe.spec ++++++
--- /var/tmp/diff_new_pack.41j852/_old 2023-05-31 21:54:25.676980751 +0200
+++ /var/tmp/diff_new_pack.41j852/_new 2023-05-31 21:54:25.684980799 +0200
@@ -23,6 +23,7 @@
Release: 0
Summary: Multiplatform programming language
License: GPL-2.0+ and MIT
+ExclusiveArch: aarch64 ppc64 ppc64le riscv64 s390x x86_64
Group: Development/Languages/Other
# As described in http://haxe.org/foundation/open-source.html:
# * The Haxe Compiler - GPLv2+
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package vorbisgain for openSUSE:Factory checked in at 2023-05-31 21:54:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vorbisgain (Old)
and /work/SRC/openSUSE:Factory/.vorbisgain.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vorbisgain"
Wed May 31 21:54:16 2023 rev:15 rq:1089977 version:0.37
Changes:
--------
--- /work/SRC/openSUSE:Factory/vorbisgain/vorbisgain.changes 2019-09-16 10:52:17.723157521 +0200
+++ /work/SRC/openSUSE:Factory/.vorbisgain.new.1533/vorbisgain.changes 2023-05-31 21:54:18.632939119 +0200
@@ -1,0 +2,15 @@
+Tue May 30 21:26:50 UTC 2023 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Use noun phrasing in description.
+
+-------------------------------------------------------------------
+Sun May 28 19:58:38 UTC 2023 - Fabian Niepelt <fniepelt(a)faeyben.de>
+
+- Add --enable-recursive to the configure options
+
+-------------------------------------------------------------------
+Thu Dec 24 18:34:12 UTC 2020 - Matthias Bach <marix(a)marix.org> - 0.37
+
+- Modernise spec file
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ vorbisgain.spec ++++++
--- /var/tmp/diff_new_pack.MMqx16/_old 2023-05-31 21:54:19.204942499 +0200
+++ /var/tmp/diff_new_pack.MMqx16/_new 2023-05-31 21:54:19.208942523 +0200
@@ -1,7 +1,7 @@
#
# spec file for package vorbisgain
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2012 B1 Systems GmbH, Vohburg, Germany.
#
# All modifications and additions to the file contributed by third parties
@@ -20,10 +20,10 @@
Name: vorbisgain
Version: 0.37
Release: 0
-Summary: Calculate the Replay Gain for Ogg Vorbis files
+Summary: Replay Gain calculator for Ogg Vorbis files
License: LGPL-2.1-only
Group: Productivity/Multimedia/Sound/Utilities
-Url: https://sjeng.org/vorbisgain.html
+URL: https://sjeng.org/vorbisgain.html
Source0: https://www.sjeng.org/ftp/vorbis/%{name}-%{version}.tar.gz
Patch0: vorbisgain-c99.patch
BuildRequires: dos2unix
@@ -31,8 +31,6 @@
BuildRequires: libvorbis-devel
%description
-Calculate the Replay Gain for Ogg Vorbis files
-
VorbisGain is a utility that uses a psychoacoustic method to correct
the volume of an Ogg Vorbis file to a predefined standardized
loudness.
@@ -52,21 +50,21 @@
quality compared to a non-VorbisGain'ed file.
%prep
-%setup -q
-%patch -P0 -p1
+%autosetup -p1
# workaround wrong end-of-line encoding
dos2unix -f COPYING NEWS
%build
-%configure
-make %{?_smp_mflags}
+%configure --enable-recursive
+%make_build
%install
%make_install
%files
-%doc README COPYING NEWS
+%license COPYING
+%doc README NEWS
%{_bindir}/%{name}
-%{_mandir}/man1/%{name}.1%{ext_man}
+%{_mandir}/man1/%{name}.1%{?ext_man}
%changelog
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package deno for openSUSE:Factory checked in at 2023-05-31 21:54:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/deno (Old)
and /work/SRC/openSUSE:Factory/.deno.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "deno"
Wed May 31 21:54:12 2023 rev:21 rq:1089864 version:1.34.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/deno/deno.changes 2023-05-25 23:53:02.731790208 +0200
+++ /work/SRC/openSUSE:Factory/.deno.new.1533/deno.changes 2023-05-31 21:54:14.160912686 +0200
@@ -1,0 +2,17 @@
+Tue May 30 18:13:09 UTC 2023 - Avindra Goolcharan <avindra(a)opensuse.org>
+
+- update to 1.34.1:
+ * fix(compile): handle when DENO_DIR is readonly (#19257)
+ * fix(compile): implicit read permission to npm vfs (#19281)
+ * fix(compile): improve panic message when stripping root path fails (#19258)
+ * fix(compile): inline symlinks as files outside node_modules
+ dir and warn for directories (#19285)
+ * fix(ext/http): fix a possible memleak in Brotli (#19250)
+ * fix(napi): clear currently registering module slot (#19249)
+ * fix(napi): properly handle arguments in napi_get_cb_info (#19269)
+ * fix(node): http.IncomingMessageForClient.complete (#19302)
+ * fix(node): make 'v8.setFlagsFromString' a noop (#19271)
+ * fix: don't print release notes on version check prompt (#19252)
+ * fix: use proper ALPN protocols if HTTP client is HTTP/1.1 only (#19303)
+
+-------------------------------------------------------------------
Old:
----
deno-1.34.0.tar.xz
New:
----
deno-1.34.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ deno.spec ++++++
--- /var/tmp/diff_new_pack.qxw6ZW/_old 2023-05-31 21:54:16.032923751 +0200
+++ /var/tmp/diff_new_pack.qxw6ZW/_new 2023-05-31 21:54:16.036923775 +0200
@@ -19,7 +19,7 @@
Name: deno
-Version: 1.34.0
+Version: 1.34.1
Release: 0
Summary: A secure JavaScript and TypeScript runtime
License: MIT
++++++ _service ++++++
--- /var/tmp/diff_new_pack.qxw6ZW/_old 2023-05-31 21:54:16.080924035 +0200
+++ /var/tmp/diff_new_pack.qxw6ZW/_new 2023-05-31 21:54:16.084924059 +0200
@@ -13,8 +13,8 @@
<service name="tar_scm" mode="manual">
<param name="scm">git</param>
<param name="url">https://github.com/denoland/deno</param>
- <param name="revision">v1.34.0</param>
- <param name="version">1.34.0</param>
+ <param name="revision">v1.34.1</param>
+ <param name="version">1.34.1</param>
<!-- remove large docs -->
<param name="exclude">docs</param>
@@ -37,8 +37,8 @@
<service name="tar_scm" mode="manual">
<param name="scm">git</param>
<param name="url">https://github.com/denoland/rusty_v8</param>
- <param name="revision">v0.72.0</param>
- <param name="version">0.72.0</param>
+ <param name="revision">v0.73.0</param>
+ <param name="version">0.73.0</param>
<param name="exclude">.github</param>
<!--
++++++ deno-1.34.0.tar.xz -> deno-1.34.1.tar.xz ++++++
/work/SRC/openSUSE:Factory/deno/deno-1.34.0.tar.xz /work/SRC/openSUSE:Factory/.deno.new.1533/deno-1.34.1.tar.xz differ: char 15, line 1
++++++ vendor.tar.xz ++++++
/work/SRC/openSUSE:Factory/deno/vendor.tar.xz /work/SRC/openSUSE:Factory/.deno.new.1533/vendor.tar.xz differ: char 15, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-poetry for openSUSE:Factory checked in at 2023-05-31 21:54:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-poetry (Old)
and /work/SRC/openSUSE:Factory/.python-poetry.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-poetry"
Wed May 31 21:54:10 2023 rev:26 rq:1089626 version:1.5.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-poetry/python-poetry.changes 2023-05-23 14:54:48.182575302 +0200
+++ /work/SRC/openSUSE:Factory/.python-poetry.new.1533/python-poetry.changes 2023-05-31 21:54:11.916899423 +0200
@@ -1,0 +2,25 @@
+Mon May 29 17:02:57 UTC 2023 - Ben Greiner <code(a)bnavigator.de>
+
+- Update to 1.5.1
+ ## Added
+ * Improve dependency resolution performance in cases with a lot
+ of backtracking (#7950).
+ ## Changed
+ * Disable wheel content validation during installation (#7987).
+ ## Fixed
+ * Fix an issue where partially downloaded wheels were cached
+ (#7968).
+ * Fix an issue where poetry run did no longer execute
+ relative-path scripts (#7963).
+ * Fix an issue where dependencies were not installed in
+ in-project environments (#7977).
+ * Fix an issue where no solution was found for a transitive
+ dependency on a pre-release of a package (#7978).
+ * Fix an issue where cached repository packages were incorrectly
+ parsed, leading to its dependencies being ignored (#7995).
+ * Fix an issue where an explicit source was ignored so that a
+ direct origin dependency was used instead (#7973).
+ * Fix an issue where the installation of big wheels consumed a
+ lot of memory (#7987).
+
+-------------------------------------------------------------------
Old:
----
poetry-1.5.0.tar.gz
New:
----
poetry-1.5.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-poetry.spec ++++++
--- /var/tmp/diff_new_pack.HTePBn/_old 2023-05-31 21:54:12.800904648 +0200
+++ /var/tmp/diff_new_pack.HTePBn/_new 2023-05-31 21:54:12.808904696 +0200
@@ -27,7 +27,7 @@
%{?sle15_python_module_pythons}
Name: python-poetry%{psuffix}
-Version: 1.5.0
+Version: 1.5.1
Release: 0
Summary: Python dependency management and packaging
License: MIT
@@ -37,7 +37,7 @@
Source: https://github.com/python-poetry/poetry/archive/%{version}.tar.gz#/poetry-%…
BuildRequires: %{python_module base >= 3.7}
BuildRequires: %{python_module pip}
-BuildRequires: %{python_module poetry-core = 1.6.0}
+BuildRequires: %{python_module poetry-core = 1.6.1}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-CacheControl >= 0.12.9
@@ -47,8 +47,8 @@
Requires: python-dulwich >= 0.21.2
Requires: python-filelock >= 3.8.0
Requires: python-html5lib >= 1.0
-Requires: python-poetry-core = 1.6.0
-Requires: python-poetry-plugin-export >= 1.3.1
+Requires: python-poetry-core = 1.6.1
+Requires: python-poetry-plugin-export >= 1.4.0
%if 0%{?python_version_nodots} < 310
Requires: python-importlib-metadata >= 4.4
%endif
++++++ poetry-1.5.0.tar.gz -> poetry-1.5.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poetry-1.5.0/CHANGELOG.md new/poetry-1.5.1/CHANGELOG.md
--- old/poetry-1.5.0/CHANGELOG.md 2023-05-19 14:17:06.000000000 +0200
+++ new/poetry-1.5.1/CHANGELOG.md 2023-05-29 17:59:47.000000000 +0200
@@ -1,6 +1,40 @@
# Change Log
+## [1.5.1] - 2023-05-29
+
+### Added
+
+- Improve dependency resolution performance in cases with a lot of backtracking ([#7950](https://github.com/python-poetry/poetry/pull/7950)).
+
+### Changed
+
+- Disable wheel content validation during installation ([#7987](https://github.com/python-poetry/poetry/pull/7987)).
+
+### Fixed
+
+- Fix an issue where partially downloaded wheels were cached ([#7968](https://github.com/python-poetry/poetry/pull/7968)).
+- Fix an issue where `poetry run` did no longer execute relative-path scripts ([#7963](https://github.com/python-poetry/poetry/pull/7963)).
+- Fix an issue where dependencies were not installed in `in-project` environments ([#7977](https://github.com/python-poetry/poetry/pull/7977)).
+- Fix an issue where no solution was found for a transitive dependency on a pre-release of a package ([#7978](https://github.com/python-poetry/poetry/pull/7978)).
+- Fix an issue where cached repository packages were incorrectly parsed, leading to its dependencies being ignored ([#7995](https://github.com/python-poetry/poetry/pull/7995)).
+- Fix an issue where an explicit source was ignored so that a direct origin dependency was used instead ([#7973](https://github.com/python-poetry/poetry/pull/7973)).
+- Fix an issue where the installation of big wheels consumed a lot of memory ([#7987](https://github.com/python-poetry/poetry/pull/7987)).
+
+### Docs
+
+- Add information about multiple constraints dependencies with direct origin and version dependencies ([#7973](https://github.com/python-poetry/poetry/pull/7973)).
+
+### poetry-core ([`1.6.1`](https://github.com/python-poetry/poetry-core/releases/tag/1.6.1))
+
+- Fix an endless recursion in marker handling ([#593](https://github.com/python-poetry/poetry-core/pull/593)).
+- Fix an issue where the wheel tag was not built correctly under certain circumstances ([#591](https://github.com/python-poetry/poetry-core/pull/591)).
+
+### poetry-plugin-export ([`^1.4.0`](https://github.com/python-poetry/poetry-plugin-export/releases/tag/1.4.0))
+
+- Fix an issue where `--extra-index-url` and `--trusted-host` was not generated for sources with priority `explicit` ([#205](https://github.com/python-poetry/poetry-plugin-export/pull/205)).
+
+
## [1.5.0] - 2023-05-19
### Added
@@ -23,7 +57,7 @@
- **Remove the old deprecated installer and the corresponding setting `experimental.new-installer`** ([#7356](https://github.com/python-poetry/poetry/pull/7356)).
- **Introduce `priority` key for sources and deprecate flags `default` and `secondary`** ([#7658](https://github.com/python-poetry/poetry/pull/7658)).
-- Deprecate `poetry run <script>` if the script was not previously installed via `poetry install` ([#7606](https://github.com/python-poetry/poetry/pull/7606)).
+- Deprecate `poetry run <entry point>` if the entry point was not previously installed via `poetry install` ([#7606](https://github.com/python-poetry/poetry/pull/7606)).
- Only write the lock file if the installation succeeds ([#7498](https://github.com/python-poetry/poetry/pull/7498)).
- Do not write the unused package category into the lock file ([#7637](https://github.com/python-poetry/poetry/pull/7637)).
@@ -1870,7 +1904,8 @@
-[Unreleased]: https://github.com/python-poetry/poetry/compare/1.5.0...master
+[Unreleased]: https://github.com/python-poetry/poetry/compare/1.5.1...master
+[1.5.1]: https://github.com/python-poetry/poetry/releases/tag/1.5.1
[1.5.0]: https://github.com/python-poetry/poetry/releases/tag/1.5.0
[1.4.2]: https://github.com/python-poetry/poetry/releases/tag/1.4.2
[1.4.1]: https://github.com/python-poetry/poetry/releases/tag/1.4.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poetry-1.5.0/docs/configuration.md new/poetry-1.5.1/docs/configuration.md
--- old/poetry-1.5.0/docs/configuration.md 2023-05-19 14:17:06.000000000 +0200
+++ new/poetry-1.5.1/docs/configuration.md 2023-05-29 17:59:47.000000000 +0200
@@ -202,6 +202,8 @@
**Default**: `true`
+**Environment Variable**: `POETRY_INSTALLER_MODERN_INSTALLATION`
+
*Introduced in 1.4.0*
Use a more modern and faster method for package installation.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poetry-1.5.0/docs/dependency-specification.md new/poetry-1.5.1/docs/dependency-specification.md
--- old/poetry-1.5.0/docs/dependency-specification.md 2023-05-19 14:17:06.000000000 +0200
+++ new/poetry-1.5.1/docs/dependency-specification.md 2023-05-29 17:59:47.000000000 +0200
@@ -322,6 +322,29 @@
otherwise it will cause an error when resolving dependencies.
{{% /note %}}
+### Combining git / url / path dependencies with source repositories
+
+Direct origin (`git`/ `url`/ `path`) dependencies can satisfy the requirement of a dependency that
+doesn't explicitly specify a source, even when mutually exclusive markers are used. For instance
+in the following example the url package will also be a valid solution for the second requirement:
+```toml
+foo = [
+ { platform = "darwin", url = "https://example.com/example-1.0-py3-none-any.whl" },
+ { platform = "linux", version = "^1.0" },
+]
+```
+
+Sometimes you may instead want to use a direct origin dependency for specific conditions
+(i.e. a compiled package that is not available on PyPI for a certain platform/architecture) while
+falling back on source repositories in other cases. In this case you should explicitly ask for your
+dependency to be satisfied by another `source`. For example:
+```toml
+foo = [
+ { platform = "darwin", url = "https://example.com/foo-1.0.0-py3-none-macosx_11_0_arm64.whl" },
+ { platform = "linux", version = "^1.0", source = "pypi" },
+]
+```
+
## Expanded dependency specification syntax
In the case of more complex dependency specifications, you may find that you
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poetry-1.5.0/docs/repositories.md new/poetry-1.5.1/docs/repositories.md
--- old/poetry-1.5.0/docs/repositories.md 2023-05-19 14:17:06.000000000 +0200
+++ new/poetry-1.5.1/docs/repositories.md 2023-05-29 17:59:47.000000000 +0200
@@ -29,7 +29,7 @@
install a dependency to your project for a [simple API repository](#simple-api-repository)? Let's
do it.
-First, [configure](#project-configuration) the [package source](#package-source) as a [supplemental](#supplemental-package-sources) (or [explicit](#explicit-package-sources)) package source to your
+First, [configure](#project-configuration) the [package source](#package-sources) as a [supplemental](#supplemental-package-sources) (or [explicit](#explicit-package-sources)) package source to your
project.
```bash
@@ -227,7 +227,7 @@
If package sources are configured as explicit, these sources are only searched when a package configuration [explicitly indicates](#package-source-constraint) that it should be found on this package source.
-You can configure a package source as an explicit source with `priority = "explicit` in your package source configuration.
+You can configure a package source as an explicit source with `priority = "explicit"` in your package source configuration.
```bash
poetry source add --priority=explicit foo https://foo.bar/simple/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poetry-1.5.0/poetry.lock new/poetry-1.5.1/poetry.lock
--- old/poetry-1.5.0/poetry.lock 2023-05-19 14:17:06.000000000 +0200
+++ new/poetry-1.5.1/poetry.lock 2023-05-29 17:59:47.000000000 +0200
@@ -1074,14 +1074,14 @@
[[package]]
name = "poetry-core"
-version = "1.6.0"
+version = "1.6.1"
description = "Poetry PEP 517 Build Backend"
category = "main"
optional = false
python-versions = ">=3.7,<4.0"
files = [
- {file = "poetry_core-1.6.0-py3-none-any.whl", hash = "sha256:ff96620579f02ec30ee9f789fa5dfdcddd9ab4ac848394f6f8f2f4e88306b534"},
- {file = "poetry_core-1.6.0.tar.gz", hash = "sha256:a9c7296a12d6c8e4f8aa50a66ef3c967b2b50fba634da144d358e676fad9989f"},
+ {file = "poetry_core-1.6.1-py3-none-any.whl", hash = "sha256:70707340447dee0e7f334f9495ae652481c67b32d8d218f296a376ac2ed73573"},
+ {file = "poetry_core-1.6.1.tar.gz", hash = "sha256:0f9b0de39665f36d6594657e7d57b6f463cc10f30c28e6d1c3b9ff54c26c9ac3"},
]
[package.dependencies]
@@ -1089,19 +1089,19 @@
[[package]]
name = "poetry-plugin-export"
-version = "1.3.1"
+version = "1.4.0"
description = "Poetry plugin to export the dependencies to various formats"
category = "main"
optional = false
python-versions = ">=3.7,<4.0"
files = [
- {file = "poetry_plugin_export-1.3.1-py3-none-any.whl", hash = "sha256:941d7ba02a59671d6327b16dc6deecc9262477abbc120d728a500cf125bc1e06"},
- {file = "poetry_plugin_export-1.3.1.tar.gz", hash = "sha256:d949742757a8a5f0b5810495bffaf4ed8a767f2e2ffda9887cf72f896deabf84"},
+ {file = "poetry_plugin_export-1.4.0-py3-none-any.whl", hash = "sha256:5d9186d6f77cf2bf35fc96bd11fe650cc7656e515b17d99cb65018d50ba22589"},
+ {file = "poetry_plugin_export-1.4.0.tar.gz", hash = "sha256:f16974cd9f222d4ef640fa97a8d661b04d4fb339e51da93973f1bc9d578e183f"},
]
[package.dependencies]
-poetry = ">=1.3.0,<2.0.0"
-poetry-core = ">=1.3.0,<2.0.0"
+poetry = ">=1.5.0,<2.0.0"
+poetry-core = ">=1.6.0,<2.0.0"
[[package]]
name = "pre-commit"
@@ -1889,4 +1889,4 @@
[metadata]
lock-version = "2.0"
python-versions = "^3.7"
-content-hash = "88510d026496be61125bc3157ece9584978ce58bf42fb551ca6d03066b8d8c61"
+content-hash = "e82b06ae38c4bf4fb0366fe8ffa915bd71f04a6710e90750810b388435ac98b3"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poetry-1.5.0/pyproject.toml new/poetry-1.5.1/pyproject.toml
--- old/poetry-1.5.0/pyproject.toml 2023-05-19 14:17:06.000000000 +0200
+++ new/poetry-1.5.1/pyproject.toml 2023-05-29 17:59:47.000000000 +0200
@@ -1,6 +1,6 @@
[tool.poetry]
name = "poetry"
-version = "1.5.0"
+version = "1.5.1"
description = "Python dependency management and packaging made easy."
authors = ["S��bastien Eustace <sebastien(a)eustace.io>"]
maintainers = [
@@ -32,8 +32,8 @@
[tool.poetry.dependencies]
python = "^3.7"
-poetry-core = "1.6.0"
-poetry-plugin-export = "^1.3.1"
+poetry-core = "1.6.1"
+poetry-plugin-export = "^1.4.0"
"backports.cached-property" = { version = "^1.0.2", python = "<3.8" }
build = "^0.10.0"
cachecontrol = { version = "^0.12.9", extras = ["filecache"] }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poetry-1.5.0/src/poetry/installation/wheel_installer.py new/poetry-1.5.1/src/poetry/installation/wheel_installer.py
--- old/poetry-1.5.0/src/poetry/installation/wheel_installer.py 2023-05-19 14:17:06.000000000 +0200
+++ new/poetry-1.5.1/src/poetry/installation/wheel_installer.py 2023-05-29 17:59:47.000000000 +0200
@@ -101,7 +101,10 @@
def install(self, wheel: Path) -> None:
with WheelFile.open(wheel) as source:
try:
- source.validate_record()
+ # Content validation is temporarily disabled because of
+ # pypa/installer's out of memory issues with big wheels. See
+ # https://github.com/python-poetry/poetry/issues/7983
+ source.validate_record(validate_contents=False)
except _WheelFileValidationError as e:
self.invalid_wheels[wheel] = e.issues
install(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poetry-1.5.0/src/poetry/mixology/version_solver.py new/poetry-1.5.1/src/poetry/mixology/version_solver.py
--- old/poetry-1.5.0/src/poetry/mixology/version_solver.py 2023-05-19 14:17:06.000000000 +0200
+++ new/poetry-1.5.1/src/poetry/mixology/version_solver.py 2023-05-29 17:59:47.000000000 +0200
@@ -1,9 +1,12 @@
from __future__ import annotations
+import collections
import functools
import time
from typing import TYPE_CHECKING
+from typing import Optional
+from typing import Tuple
from poetry.core.packages.dependency import Dependency
@@ -28,6 +31,11 @@
_conflict = object()
+DependencyCacheKey = Tuple[
+ str, Optional[str], Optional[str], Optional[str], Optional[str]
+]
+
+
class DependencyCache:
"""
A cache of the valid dependencies.
@@ -38,15 +46,58 @@
"""
def __init__(self, provider: Provider) -> None:
- self.provider = provider
- self.cache: dict[
- tuple[str, str | None, str | None, str | None, str | None],
- list[DependencyPackage],
- ] = {}
+ self._provider = provider
+
+ # self._cache maps a package name to a stack of cached package lists,
+ # ordered by the decision level which added them to the cache. This is
+ # done so that when backtracking we can maintain cache entries from
+ # previous decision levels, while clearing cache entries from only the
+ # rolled back levels.
+ #
+ # In order to maintain the integrity of the cache, `clear_level()`
+ # needs to be called in descending order as decision levels are
+ # backtracked so that the correct items can be popped from the stack.
+ self._cache: dict[DependencyCacheKey, list[list[DependencyPackage]]] = (
+ collections.defaultdict(list)
+ )
+ self._cached_dependencies_by_level: dict[int, list[DependencyCacheKey]] = (
+ collections.defaultdict(list)
+ )
+
+ self._search_for_cached = functools.lru_cache(maxsize=128)(self._search_for)
+
+ def _search_for(
+ self,
+ dependency: Dependency,
+ key: DependencyCacheKey,
+ ) -> list[DependencyPackage]:
+ cache_entries = self._cache[key]
+ if cache_entries:
+ packages = [
+ p
+ for p in cache_entries[-1]
+ if dependency.constraint.allows(p.package.version)
+ ]
+ else:
+ packages = None
- self.search_for = functools.lru_cache(maxsize=128)(self._search_for)
+ # provider.search_for() normally does not include pre-release packages
+ # (unless requested), but will include them if there are no other
+ # eligible package versions for a version constraint.
+ #
+ # Therefore, if the eligible versions have been filtered down to
+ # nothing, we need to call provider.search_for() again as it may return
+ # additional results this time.
+ if not packages:
+ packages = self._provider.search_for(dependency)
- def _search_for(self, dependency: Dependency) -> list[DependencyPackage]:
+ return packages
+
+ def search_for(
+ self,
+ dependency: Dependency,
+ decision_level: int,
+ ) -> list[DependencyPackage]:
key = (
dependency.complete_name,
dependency.source_type,
@@ -55,20 +106,18 @@
dependency.source_subdirectory,
)
- packages = self.cache.get(key)
- if packages is None:
- packages = self.provider.search_for(dependency)
- else:
- packages = [
- p for p in packages if dependency.constraint.allows(p.package.version)
- ]
-
- self.cache[key] = packages
+ packages = self._search_for_cached(dependency, key)
+ if not self._cache[key] or self._cache[key][-1] is not packages:
+ self._cache[key].append(packages)
+ self._cached_dependencies_by_level[decision_level].append(key)
return packages
- def clear(self) -> None:
- self.cache.clear()
+ def clear_level(self, level: int) -> None:
+ if level in self._cached_dependencies_by_level:
+ self._search_for_cached.cache_clear()
+ for key in self._cached_dependencies_by_level.pop(level):
+ self._cache[key].pop()
class VersionSolver:
@@ -86,6 +135,9 @@
self._dependency_cache = DependencyCache(provider)
self._incompatibilities: dict[str, list[Incompatibility]] = {}
self._contradicted_incompatibilities: set[Incompatibility] = set()
+ self._contradicted_incompatibilities_by_level: dict[
+ int, set[Incompatibility]
+ ] = collections.defaultdict(set)
self._solution = PartialSolution()
@property
@@ -184,6 +236,9 @@
# incompatibility is contradicted as well and there's nothing new we
# can deduce from it.
self._contradicted_incompatibilities.add(incompatibility)
+ self._contradicted_incompatibilities_by_level[
+ self._solution.decision_level
+ ].add(incompatibility)
return None
elif relation == SetRelation.OVERLAPPING:
# If more than one term is inconclusive, we can't deduce anything about
@@ -202,6 +257,9 @@
return _conflict
self._contradicted_incompatibilities.add(incompatibility)
+ self._contradicted_incompatibilities_by_level[
+ self._solution.decision_level
+ ].add(incompatibility)
adverb = "not " if unsatisfied.is_positive() else ""
self._log(f"derived: {adverb}{unsatisfied.dependency}")
@@ -295,9 +353,16 @@
previous_satisfier_level < most_recent_satisfier.decision_level
or most_recent_satisfier.cause is None
):
+ for level in range(
+ self._solution.decision_level, previous_satisfier_level, -1
+ ):
+ if level in self._contradicted_incompatibilities_by_level:
+ self._contradicted_incompatibilities.difference_update(
+ self._contradicted_incompatibilities_by_level.pop(level),
+ )
+ self._dependency_cache.clear_level(level)
+
self._solution.backtrack(previous_satisfier_level)
- self._contradicted_incompatibilities.clear()
- self._dependency_cache.clear()
if new_incompatibility:
self._add_incompatibility(incompatibility)
@@ -395,7 +460,11 @@
if locked:
return is_specific_marker, Preference.LOCKED, 1
- num_packages = len(self._dependency_cache.search_for(dependency))
+ num_packages = len(
+ self._dependency_cache.search_for(
+ dependency, self._solution.decision_level
+ )
+ )
if num_packages < 2:
preference = Preference.NO_CHOICE
@@ -412,7 +481,9 @@
locked = self._provider.get_locked(dependency)
if locked is None:
- packages = self._dependency_cache.search_for(dependency)
+ packages = self._dependency_cache.search_for(
+ dependency, self._solution.decision_level
+ )
package = next(iter(packages), None)
if package is None:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poetry-1.5.0/src/poetry/puzzle/provider.py new/poetry-1.5.1/src/poetry/puzzle/provider.py
--- old/poetry-1.5.0/src/poetry/puzzle/provider.py 2023-05-19 14:17:06.000000000 +0200
+++ new/poetry-1.5.1/src/poetry/puzzle/provider.py 2023-05-29 17:59:47.000000000 +0200
@@ -280,12 +280,8 @@
#
# We rely on the VersionSolver resolving direct-origin dependencies first.
direct_origin_package = self._direct_origin_packages.get(dependency.name)
- if direct_origin_package is not None:
- packages = (
- [direct_origin_package]
- if dependency.constraint.allows(direct_origin_package.version)
- else []
- )
+ if direct_origin_package and direct_origin_package.satisfies(dependency):
+ packages = [direct_origin_package]
return PackageCollection(dependency, packages)
packages = self._pool.find_packages(dependency)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poetry-1.5.0/src/poetry/repositories/http_repository.py new/poetry-1.5.1/src/poetry/repositories/http_repository.py
--- old/poetry-1.5.0/src/poetry/repositories/http_repository.py 2023-05-19 14:17:06.000000000 +0200
+++ new/poetry-1.5.1/src/poetry/repositories/http_repository.py 2023-05-29 17:59:47.000000000 +0200
@@ -76,15 +76,11 @@
@contextmanager
def _cached_or_downloaded_file(self, link: Link) -> Iterator[Path]:
- filepath = self._authenticator.get_cached_file_for_url(link.url)
- if filepath:
+ self._log(f"Downloading: {link.url}", level="debug")
+ with temporary_directory() as temp_dir:
+ filepath = Path(temp_dir) / link.filename
+ self._download(link.url, filepath)
yield filepath
- else:
- self._log(f"Downloading: {link.url}", level="debug")
- with temporary_directory() as temp_dir:
- filepath = Path(temp_dir) / link.filename
- self._download(link.url, filepath)
- yield filepath
def _get_info_from_wheel(self, url: str) -> PackageInfo:
from poetry.inspection.info import PackageInfo
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poetry-1.5.0/src/poetry/utils/authenticator.py new/poetry-1.5.1/src/poetry/utils/authenticator.py
--- old/poetry-1.5.0/src/poetry/utils/authenticator.py 2023-05-19 14:17:06.000000000 +0200
+++ new/poetry-1.5.1/src/poetry/utils/authenticator.py 2023-05-29 17:59:47.000000000 +0200
@@ -19,7 +19,6 @@
from cachecontrol import CacheControlAdapter
from cachecontrol.caches import FileCache
-from cachecontrol.caches.file_cache import url_to_file_path
from filelock import FileLock
from poetry.config.config import Config
@@ -464,13 +463,6 @@
return selected.certs(config=self._config)
return RepositoryCertificateConfig()
- def get_cached_file_for_url(self, url: str) -> Path | None:
- if self._cache_control is None:
- return None
-
- path = Path(url_to_file_path(url, self._cache_control))
- return path if path.exists() else None
-
_authenticator: Authenticator | None = None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poetry-1.5.0/src/poetry/utils/env.py new/poetry-1.5.1/src/poetry/utils/env.py
--- old/poetry-1.5.0/src/poetry/utils/env.py 2023-05-19 14:17:06.000000000 +0200
+++ new/poetry-1.5.1/src/poetry/utils/env.py 2023-05-29 17:59:47.000000000 +0200
@@ -698,7 +698,7 @@
if not in_venv or env is not None:
# Checking if a local virtualenv exists
- if self.use_in_project_venv():
+ if self.in_project_venv_exists():
venv = self.in_project_venv
return VirtualEnv(venv)
@@ -736,7 +736,7 @@
venv_path = self._poetry.config.virtualenvs_path
env_list = [VirtualEnv(p) for p in sorted(venv_path.glob(f"{venv_name}-py*"))]
- if self.use_in_project_venv():
+ if self.in_project_venv_exists():
venv = self.in_project_venv
env_list.insert(0, VirtualEnv(venv))
return env_list
@@ -855,6 +855,14 @@
in_project: bool | None = self._poetry.config.get("virtualenvs.in-project")
if in_project is not None:
return in_project
+
+ return self.in_project_venv.is_dir()
+
+ def in_project_venv_exists(self) -> bool:
+ in_project: bool | None = self._poetry.config.get("virtualenvs.in-project")
+ if in_project is False:
+ return False
+
return self.in_project_venv.is_dir()
def create_venv(
@@ -1246,7 +1254,7 @@
"""
Path to current python executable
"""
- return self._bin(self._executable)
+ return Path(self._bin(self._executable))
@property
def marker_env(self) -> dict[str, Any]:
@@ -1314,7 +1322,7 @@
"""
# we do not use as_posix() here due to issues with windows pathlib2
# implementation
- path = self._bin(self._pip_executable)
+ path = Path(self._bin(self._pip_executable))
if not path.exists():
return self.pip_embedded
return path
@@ -1434,7 +1442,7 @@
raise NotImplementedError()
def get_pip_command(self, embedded: bool = False) -> list[str]:
- if embedded or not self._bin(self._pip_executable).exists():
+ if embedded or not Path(self._bin(self._pip_executable)).exists():
return [str(self.python), str(self.pip_embedded)]
# run as module so that pip can update itself on Windows
return [str(self.python), "-m", "pip"]
@@ -1464,7 +1472,7 @@
# embedded pip when pip is not available in the environment
return self.get_pip_command()
- return [str(self._bin(bin))]
+ return [self._bin(bin)]
def run(self, bin: str, *args: str, **kwargs: Any) -> str:
cmd = self.get_command_from_bin(bin) + list(args)
@@ -1544,7 +1552,7 @@
self._script_dirs.append(self.userbase / self._script_dirs[0].name)
return self._script_dirs
- def _bin(self, bin: str) -> Path:
+ def _bin(self, bin: str) -> str:
"""
Return path to the given executable.
"""
@@ -1565,11 +1573,11 @@
bin_path = self._path / bin
if bin_path.exists():
- return bin_path
+ return str(bin_path)
- return Path(bin)
+ return bin
- return bin_path
+ return str(bin_path)
def __eq__(self, other: object) -> bool:
if not isinstance(other, Env):
@@ -1883,8 +1891,8 @@
return super().execute(bin, *args, **kwargs)
return 0
- def _bin(self, bin: str) -> Path:
- return Path(bin)
+ def _bin(self, bin: str) -> str:
+ return bin
@contextmanager
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poetry-1.5.0/src/poetry/utils/helpers.py new/poetry-1.5.1/src/poetry/utils/helpers.py
--- old/poetry-1.5.0/src/poetry/utils/helpers.py 2023-05-19 14:17:06.000000000 +0200
+++ new/poetry-1.5.1/src/poetry/utils/helpers.py 2023-05-29 17:59:47.000000000 +0200
@@ -121,7 +121,7 @@
# but skip the updating
set_indicator = total_size > 1024 * 1024
- with dest.open("wb") as f:
+ with atomic_open(dest) as f:
for chunk in response.iter_content(chunk_size=chunk_size):
if chunk:
f.write(chunk)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poetry-1.5.0/tests/installation/test_executor.py new/poetry-1.5.1/tests/installation/test_executor.py
--- old/poetry-1.5.0/tests/installation/test_executor.py 2023-05-19 14:17:06.000000000 +0200
+++ new/poetry-1.5.1/tests/installation/test_executor.py 2023-05-29 17:59:47.000000000 +0200
@@ -335,6 +335,7 @@
assert error.count("yanked") == 0
+(a)pytest.mark.skip(reason="https://github.com/python-poetry/poetry/issues/7983")
def test_execute_prints_warning_for_invalid_wheels(
config: Config,
pool: RepositoryPool,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poetry-1.5.0/tests/installation/test_installer.py new/poetry-1.5.1/tests/installation/test_installer.py
--- old/poetry-1.5.0/tests/installation/test_installer.py 2023-05-19 14:17:06.000000000 +0200
+++ new/poetry-1.5.1/tests/installation/test_installer.py 2023-05-29 17:59:47.000000000 +0200
@@ -2659,3 +2659,74 @@
source_url=source_url,
source_reference=source_reference,
)
+
+
+(a)pytest.mark.parametrize("env_platform", ["darwin", "linux"])
+def test_explicit_source_dependency_with_direct_origin_dependency(
+ pool: RepositoryPool,
+ locker: Locker,
+ installed: CustomInstalledRepository,
+ config: Config,
+ repo: Repository,
+ package: ProjectPackage,
+ env_platform: str,
+) -> None:
+ """
+ A dependency with explicit source should not be satisfied by
+ a direct origin dependency even if there is a version match.
+ """
+ package.add_dependency(
+ Factory.create_dependency(
+ "demo",
+ {
+ "markers": "sys_platform != 'darwin'",
+ "url": "https://python-poetry.org/distributions/demo-0.1.0-py2.py3-none-any.whl",
+ },
+ )
+ )
+ package.add_dependency(
+ Factory.create_dependency(
+ "demo",
+ {
+ "version": "0.1.0",
+ "markers": "sys_platform == 'darwin'",
+ "source": "repo",
+ },
+ )
+ )
+ # The url demo dependency depends on pendulum.
+ repo.add_package(get_package("pendulum", "1.4.4"))
+ repo.add_package(get_package("demo", "0.1.0"))
+
+ installer = Installer(
+ NullIO(),
+ MockEnv(platform=env_platform),
+ package,
+ locker,
+ pool,
+ config,
+ installed=installed,
+ executor=Executor(
+ MockEnv(platform=env_platform),
+ pool,
+ config,
+ NullIO(),
+ ),
+ )
+
+ result = installer.run()
+
+ assert result == 0
+ assert isinstance(installer.executor, Executor)
+ if env_platform == "linux":
+ assert installer.executor.installations == [
+ Package("pendulum", "1.4.4"),
+ Package(
+ "demo",
+ "0.1.0",
+ source_type="url",
+ source_url="https://python-poetry.org/distributions/demo-0.1.0-py2.py3-none-any.whl",
+ ),
+ ]
+ else:
+ assert installer.executor.installations == [Package("demo", "0.1.0")]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poetry-1.5.0/tests/mixology/version_solver/test_dependency_cache.py new/poetry-1.5.1/tests/mixology/version_solver/test_dependency_cache.py
--- old/poetry-1.5.0/tests/mixology/version_solver/test_dependency_cache.py 2023-05-19 14:17:06.000000000 +0200
+++ new/poetry-1.5.1/tests/mixology/version_solver/test_dependency_cache.py 2023-05-29 17:59:47.000000000 +0200
@@ -2,6 +2,7 @@
from copy import deepcopy
from typing import TYPE_CHECKING
+from unittest import mock
from poetry.factory import Factory
from poetry.mixology.version_solver import DependencyCache
@@ -29,20 +30,20 @@
add_to_repo(repo, "demo", "1.0.0")
cache = DependencyCache(provider)
- cache.search_for.cache_clear()
+ cache._search_for_cached.cache_clear()
# ensure cache was never hit for both calls
- cache.search_for(dependency_pypi)
- cache.search_for(dependency_git)
- assert not cache.search_for.cache_info().hits
+ cache.search_for(dependency_pypi, 0)
+ cache.search_for(dependency_git, 0)
+ assert not cache._search_for_cached.cache_info().hits
# increase test coverage by searching for copies
# (when searching for the exact same object, __eq__ is never called)
- packages_pypi = cache.search_for(deepcopy(dependency_pypi))
- packages_git = cache.search_for(deepcopy(dependency_git))
+ packages_pypi = cache.search_for(deepcopy(dependency_pypi), 0)
+ packages_git = cache.search_for(deepcopy(dependency_git), 0)
- assert cache.search_for.cache_info().hits == 2
- assert cache.search_for.cache_info().currsize == 2
+ assert cache._search_for_cached.cache_info().hits == 2
+ assert cache._search_for_cached.cache_info().currsize == 2
assert len(packages_pypi) == len(packages_git) == 1
assert packages_pypi != packages_git
@@ -60,6 +61,65 @@
assert package_git.package.source_resolved_reference == MOCK_DEFAULT_GIT_REVISION
+def test_solver_dependency_cache_pulls_from_prior_level_cache(
+ root: ProjectPackage, provider: Provider, repo: Repository
+) -> None:
+ dependency_pypi = Factory.create_dependency("demo", ">=0.1.0")
+ dependency_pypi_constrained = Factory.create_dependency("demo", ">=0.1.0,<2.0.0")
+ root.add_dependency(dependency_pypi)
+ root.add_dependency(dependency_pypi_constrained)
+ add_to_repo(repo, "demo", "1.0.0")
+
+ wrapped_provider = mock.Mock(wraps=provider)
+ cache = DependencyCache(wrapped_provider)
+ cache._search_for_cached.cache_clear()
+
+ # On first call, provider.search_for() should be called and the cache
+ # populated.
+ cache.search_for(dependency_pypi, 0)
+ assert len(wrapped_provider.search_for.mock_calls) == 1
+ assert ("demo", None, None, None, None) in cache._cache
+ assert ("demo", None, None, None, None) in cache._cached_dependencies_by_level[0]
+ assert cache._search_for_cached.cache_info().hits == 0
+ assert cache._search_for_cached.cache_info().misses == 1
+
+ # On second call at level 1, neither provider.search_for() nor
+ # cache._search_for_cached() should have been called again, and the cache
+ # should remain the same.
+ cache.search_for(dependency_pypi, 1)
+ assert len(wrapped_provider.search_for.mock_calls) == 1
+ assert ("demo", None, None, None, None) in cache._cache
+ assert ("demo", None, None, None, None) in cache._cached_dependencies_by_level[0]
+ assert set(cache._cached_dependencies_by_level.keys()) == {0}
+ assert cache._search_for_cached.cache_info().hits == 1
+ assert cache._search_for_cached.cache_info().misses == 1
+
+ # On third call at level 2 with an updated constraint for the `demo`
+ # package should not call provider.search_for(), but should call
+ # cache._search_for_cached() and update the cache.
+ cache.search_for(dependency_pypi_constrained, 2)
+ assert len(wrapped_provider.search_for.mock_calls) == 1
+ assert ("demo", None, None, None, None) in cache._cache
+ assert ("demo", None, None, None, None) in cache._cached_dependencies_by_level[0]
+ assert ("demo", None, None, None, None) in cache._cached_dependencies_by_level[2]
+ assert set(cache._cached_dependencies_by_level.keys()) == {0, 2}
+ assert cache._search_for_cached.cache_info().hits == 1
+ assert cache._search_for_cached.cache_info().misses == 2
+
+ # Clearing the level 2 and level 1 caches should invalidate the lru_cache
+ # on cache.search_for and wipe out the level 2 cache while preserving the
+ # level 0 cache.
+ cache.clear_level(2)
+ cache.clear_level(1)
+ cache.search_for(dependency_pypi, 0)
+ assert len(wrapped_provider.search_for.mock_calls) == 1
+ assert ("demo", None, None, None, None) in cache._cache
+ assert ("demo", None, None, None, None) in cache._cached_dependencies_by_level[0]
+ assert set(cache._cached_dependencies_by_level.keys()) == {0}
+ assert cache._search_for_cached.cache_info().hits == 0
+ assert cache._search_for_cached.cache_info().misses == 1
+
+
def test_solver_dependency_cache_respects_subdirectories(
root: ProjectPackage, provider: Provider, repo: Repository
) -> None:
@@ -84,20 +144,20 @@
root.add_dependency(dependency_one_copy)
cache = DependencyCache(provider)
- cache.search_for.cache_clear()
+ cache._search_for_cached.cache_clear()
# ensure cache was never hit for both calls
- cache.search_for(dependency_one)
- cache.search_for(dependency_one_copy)
- assert not cache.search_for.cache_info().hits
+ cache.search_for(dependency_one, 0)
+ cache.search_for(dependency_one_copy, 0)
+ assert not cache._search_for_cached.cache_info().hits
# increase test coverage by searching for copies
# (when searching for the exact same object, __eq__ is never called)
- packages_one = cache.search_for(deepcopy(dependency_one))
- packages_one_copy = cache.search_for(deepcopy(dependency_one_copy))
+ packages_one = cache.search_for(deepcopy(dependency_one), 0)
+ packages_one_copy = cache.search_for(deepcopy(dependency_one_copy), 0)
- assert cache.search_for.cache_info().hits == 2
- assert cache.search_for.cache_info().currsize == 2
+ assert cache._search_for_cached.cache_info().hits == 2
+ assert cache._search_for_cached.cache_info().currsize == 2
assert len(packages_one) == len(packages_one_copy) == 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poetry-1.5.0/tests/puzzle/test_provider.py new/poetry-1.5.1/tests/puzzle/test_provider.py
--- old/poetry-1.5.0/tests/puzzle/test_provider.py 2023-05-19 14:17:06.000000000 +0200
+++ new/poetry-1.5.1/tests/puzzle/test_provider.py 2023-05-29 17:59:47.000000000 +0200
@@ -113,7 +113,7 @@
Dependency("foo", ">=2"),
URLDependency("foo", SOME_URL),
[Package("foo", "3")],
- [],
+ [Package("foo", "3")],
),
(
Dependency("foo", ">=1", extras=["bar"]),
@@ -722,3 +722,38 @@
spy.assert_called()
else:
spy.assert_not_called()
+
+
+def test_source_dependency_is_satisfied_by_direct_origin(
+ provider: Provider, repository: Repository
+) -> None:
+ direct_origin_package = Package("foo", "1.1", source_type="url")
+ repository.add_package(Package("foo", "1.0"))
+ provider._direct_origin_packages = {"foo": direct_origin_package}
+ dep = Dependency("foo", ">=1")
+
+ assert provider.search_for(dep) == [direct_origin_package]
+
+
+def test_explicit_source_dependency_is_not_satisfied_by_direct_origin(
+ provider: Provider, repository: Repository
+) -> None:
+ repo_package = Package("foo", "1.0")
+ repository.add_package(repo_package)
+ provider._direct_origin_packages = {"foo": Package("foo", "1.1", source_type="url")}
+ dep = Dependency("foo", ">=1")
+ dep.source_name = repository.name
+
+ assert provider.search_for(dep) == [repo_package]
+
+
+def test_source_dependency_is_not_satisfied_by_incompatible_direct_origin(
+ provider: Provider, repository: Repository
+) -> None:
+ repo_package = Package("foo", "2.0")
+ repository.add_package(repo_package)
+ provider._direct_origin_packages = {"foo": Package("foo", "1.0", source_type="url")}
+ dep = Dependency("foo", ">=2")
+ dep.source_name = repository.name
+
+ assert provider.search_for(dep) == [repo_package]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poetry-1.5.0/tests/puzzle/test_solver.py new/poetry-1.5.1/tests/puzzle/test_solver.py
--- old/poetry-1.5.0/tests/puzzle/test_solver.py 2023-05-19 14:17:06.000000000 +0200
+++ new/poetry-1.5.1/tests/puzzle/test_solver.py 2023-05-29 17:59:47.000000000 +0200
@@ -1183,6 +1183,64 @@
)
+def test_solver_with_dependency_and_prerelease_sub_dependencies_increasing_constraints(
+ solver: Solver,
+ repo: Repository,
+ package: ProjectPackage,
+ mocker: MockerFixture,
+) -> None:
+ """Regression test to ensure the solver eventually uses pre-release
+ dependencies if the package is progressively constrained enough.
+
+ This is different from test_solver_with_dependency_and_prerelease_sub_dependencies
+ above because it also has a wildcard dependency on B at the root level.
+ This causes the solver to first narrow B's candidate versions down to
+ {0.9.0} at an early level, then eventually down to the empty set once A's
+ dependencies are processed at a later level.
+
+ Once the candidate version set is narrowed down to the empty set, the
+ solver should re-evaluate available candidate versions from the source, but
+ include pre-release versions this time as there are no other options.
+ """
+ # Note: The order matters here; B must be added before A or the solver
+ # evaluates A first and we don't encounter the issue. This is a bit
+ # fragile, but the mock call assertions ensure this ordering is maintained.
+ package.add_dependency(Factory.create_dependency("B", "*"))
+ package.add_dependency(Factory.create_dependency("A", "*"))
+
+ package_a = get_package("A", "1.0")
+ package_a.add_dependency(Factory.create_dependency("B", ">0.9.0"))
+
+ repo.add_package(package_a)
+ repo.add_package(get_package("B", "0.9.0"))
+ package_b = get_package("B", "1.0.0.dev4")
+ repo.add_package(package_b)
+
+ search_for_spy = mocker.spy(solver._provider, "search_for")
+ transaction = solver.solve()
+
+ check_solver_result(
+ transaction,
+ [
+ {"job": "install", "package": package_b},
+ {"job": "install", "package": package_a},
+ ],
+ )
+
+ # The assertions below aren't really the point of this test, but are just
+ # being used to ensure the dependency resolution ordering remains the same.
+ search_calls = [
+ call[1][0]
+ for call in search_for_spy.mock_calls
+ if call[1][0].name in ("a", "b")
+ ]
+ assert search_calls == [
+ Dependency("a", "*"),
+ Dependency("b", "*"),
+ Dependency("b", ">0.9.0"),
+ ]
+
+
def test_solver_circular_dependency(
solver: Solver, repo: Repository, package: ProjectPackage
) -> None:
@@ -3379,6 +3437,69 @@
solver.solve()
+(a)pytest.mark.parametrize("explicit_source", [True, False])
+def test_solver_cannot_choose_url_dependency_for_explicit_source(
+ solver: Solver,
+ repo: Repository,
+ package: ProjectPackage,
+ explicit_source: bool,
+) -> None:
+ """A direct origin dependency cannot satisfy a version dependency with an explicit
+ source. (It can satisfy a version dependency without an explicit source.)
+ """
+ package.add_dependency(
+ Factory.create_dependency(
+ "demo",
+ {
+ "markers": "sys_platform != 'darwin'",
+ "url": "https://foo.bar/distributions/demo-0.1.0-py2.py3-none-any.whl",
+ },
+ )
+ )
+ package.add_dependency(
+ Factory.create_dependency(
+ "demo",
+ {
+ "version": "0.1.0",
+ "markers": "sys_platform == 'darwin'",
+ "source": "repo" if explicit_source else None,
+ },
+ )
+ )
+
+ package_pendulum = get_package("pendulum", "1.4.4")
+ package_demo = get_package("demo", "0.1.0")
+ package_demo_url = Package(
+ "demo",
+ "0.1.0",
+ source_type="url",
+ source_url="https://foo.bar/distributions/demo-0.1.0-py2.py3-none-any.whl",
+ )
+ # The url demo dependency depends on pendulum.
+ repo.add_package(package_pendulum)
+ repo.add_package(package_demo)
+
+ transaction = solver.solve()
+
+ if explicit_source:
+ # direct origin cannot satisfy explicit source
+ # -> package_demo MUST be included
+ expected = [
+ {"job": "install", "package": package_pendulum},
+ {"job": "install", "package": package_demo_url},
+ {"job": "install", "package": package_demo},
+ ]
+ else:
+ # direct origin can satisfy dependency without source
+ # -> package_demo NEED NOT (but could) be included
+ expected = [
+ {"job": "install", "package": package_pendulum},
+ {"job": "install", "package": package_demo_url},
+ ]
+
+ check_solver_result(transaction, expected)
+
+
def test_solver_should_not_update_same_version_packages_if_installed_has_no_source_type(
package: ProjectPackage, repo: Repository, pool: RepositoryPool, io: NullIO
) -> None:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poetry-1.5.0/tests/utils/test_authenticator.py new/poetry-1.5.1/tests/utils/test_authenticator.py
--- old/poetry-1.5.0/tests/utils/test_authenticator.py 2023-05-19 14:17:06.000000000 +0200
+++ new/poetry-1.5.1/tests/utils/test_authenticator.py 2023-05-29 17:59:47.000000000 +0200
@@ -627,22 +627,6 @@
assert not three.password
-def test_authenticator_get_cached_file_for_url__cache_miss(config: Config) -> None:
- authenticator = Authenticator(config, NullIO())
- assert (
- authenticator.get_cached_file_for_url("https://foo.bar/cache/miss.whl") is None
- )
-
-
-def test_authenticator_get_cached_file_for_url__cache_hit(config: Config) -> None:
- authenticator = Authenticator(config, NullIO())
- url = "https://foo.bar/files/foo-0.1.0.tar.gz"
-
- authenticator._cache_control.set(url, b"hello")
-
- assert authenticator.get_cached_file_for_url(url)
-
-
@pytest.mark.parametrize(
("ca_cert", "client_cert", "result"),
[
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poetry-1.5.0/tests/utils/test_env.py new/poetry-1.5.1/tests/utils/test_env.py
--- old/poetry-1.5.0/tests/utils/test_env.py 2023-05-19 14:17:06.000000000 +0200
+++ new/poetry-1.5.1/tests/utils/test_env.py 2023-05-29 17:59:47.000000000 +0200
@@ -1828,3 +1828,10 @@
active_python = EnvManager(poetry)._detect_active_python()
assert active_python == wrapped_python
+
+
+def test_command_from_bin_preserves_relative_path(manager: EnvManager) -> None:
+ # https://github.com/python-poetry/poetry/issues/7959
+ env = manager.get()
+ command = env.get_command_from_bin("./foo.py")
+ assert command == ["./foo.py"]
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-poetry-plugin-export for openSUSE:Factory checked in at 2023-05-31 21:54:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-poetry-plugin-export (Old)
and /work/SRC/openSUSE:Factory/.python-poetry-plugin-export.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-poetry-plugin-export"
Wed May 31 21:54:08 2023 rev:5 rq:1089622 version:1.4.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-poetry-plugin-export/python-poetry-plugin-export.changes 2023-05-08 17:25:02.864966157 +0200
+++ /work/SRC/openSUSE:Factory/.python-poetry-plugin-export.new.1533/python-poetry-plugin-export.changes 2023-05-31 21:54:10.548891338 +0200
@@ -1,0 +2,7 @@
+Mon May 29 17:05:59 UTC 2023 - Ben Greiner <code(a)bnavigator.de>
+
+- Update to 1.4.0
+ * Fix an issue where --extra-index-url and --trusted-host was not
+ generated for sources with priority explicit (#205).
+
+-------------------------------------------------------------------
Old:
----
poetry_plugin_export-1.3.1.tar.gz
New:
----
poetry_plugin_export-1.4.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-poetry-plugin-export.spec ++++++
--- /var/tmp/diff_new_pack.Lh0402/_old 2023-05-31 21:54:11.128894766 +0200
+++ /var/tmp/diff_new_pack.Lh0402/_new 2023-05-31 21:54:11.136894813 +0200
@@ -27,11 +27,12 @@
%{?sle15_python_module_pythons}
Name: python-poetry-plugin-export%{psuffix}
-Version: 1.3.1
+Version: 1.4.0
Release: 0
Summary: Poetry plugin to export the dependencies to various formats
License: MIT
URL: https://python-poetry.org/
+# RepositorySource: https://github.com/python-poetry/poetry-plugin-export
Source: https://files.pythonhosted.org/packages/source/p/poetry-plugin-export/poetr…
BuildRequires: %{python_module pip}
BuildRequires: %{python_module poetry-core >= 1.3.0}
++++++ poetry_plugin_export-1.3.1.tar.gz -> poetry_plugin_export-1.4.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poetry_plugin_export-1.3.1/PKG-INFO new/poetry_plugin_export-1.4.0/PKG-INFO
--- old/poetry_plugin_export-1.3.1/PKG-INFO 1970-01-01 01:00:00.000000000 +0100
+++ new/poetry_plugin_export-1.4.0/PKG-INFO 1970-01-01 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: poetry-plugin-export
-Version: 1.3.1
+Version: 1.4.0
Summary: Poetry plugin to export the dependencies to various formats
Home-page: https://python-poetry.org/
License: MIT
@@ -14,8 +14,8 @@
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
-Requires-Dist: poetry (>=1.3.0,<2.0.0)
-Requires-Dist: poetry-core (>=1.3.0,<2.0.0)
+Requires-Dist: poetry (>=1.5.0,<2.0.0)
+Requires-Dist: poetry-core (>=1.6.0,<2.0.0)
Project-URL: Repository, https://github.com/python-poetry/poetry-plugin-export
Description-Content-Type: text/markdown
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poetry_plugin_export-1.3.1/pyproject.toml new/poetry_plugin_export-1.4.0/pyproject.toml
--- old/poetry_plugin_export-1.3.1/pyproject.toml 2023-04-17 16:40:05.811764200 +0200
+++ new/poetry_plugin_export-1.4.0/pyproject.toml 2023-05-29 10:49:08.978796500 +0200
@@ -1,6 +1,6 @@
[tool.poetry]
name = "poetry-plugin-export"
-version = "1.3.1"
+version = "1.4.0"
description = "Poetry plugin to export the dependencies to various formats"
authors = ["S��bastien Eustace <sebastien(a)eustace.io>"]
license = "MIT"
@@ -18,8 +18,8 @@
[tool.poetry.dependencies]
python = "^3.7"
-poetry = "^1.3.0"
-poetry-core = "^1.3.0"
+poetry = "^1.5.0"
+poetry-core = "^1.6.0"
[tool.poetry.group.dev.dependencies]
pre-commit = "^2.18"
@@ -39,19 +39,49 @@
[tool.poetry.plugins."poetry.application.plugin"]
export = "poetry_plugin_export.plugins:ExportApplicationPlugin"
+
+[tool.ruff]
+fix = true
+unfixable = [
+ "ERA", # do not autoremove commented out code
+]
+target-version = "py37"
+line-length = 88
+extend-select = [
+ "B", # flake8-bugbear
+ "C4", # flake8-comprehensions
+ "ERA", # flake8-eradicate/eradicate
+ "I", # isort
+ "N", # pep8-naming
+ "PIE", # flake8-pie
+ "PGH", # pygrep
+ "RUF", # ruff checks
+ "SIM", # flake8-simplify
+ "TCH", # flake8-type-checking
+ "TID", # flake8-tidy-imports
+ "UP", # pyupgrade
+]
+extend-exclude = [
+ "docs/*",
+ # External to the project's coding standards
+ "tests/**/fixtures/*",
+]
+
+[tool.ruff.flake8-tidy-imports]
+ban-relative-imports = "all"
+
+[tool.ruff.isort]
+force-single-line = true
+lines-between-types = 1
+lines-after-imports = 2
+known-first-party = ["poetry_plugin_export"]
+required-imports = ["from __future__ import annotations"]
+
+
[tool.black]
target-version = ['py37']
preview = true
-[tool.isort]
-profile = "black"
-force_single_line = true
-atomic = true
-include_trailing_comma = true
-lines_after_imports = 2
-lines_between_types = 1
-use_parentheses = true
-
[tool.mypy]
namespace_packages = true
show_error_codes = true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poetry_plugin_export-1.3.1/src/poetry_plugin_export/exporter.py new/poetry_plugin_export-1.4.0/src/poetry_plugin_export/exporter.py
--- old/poetry_plugin_export-1.3.1/src/poetry_plugin_export/exporter.py 2023-04-17 16:40:05.811764200 +0200
+++ new/poetry_plugin_export-1.4.0/src/poetry_plugin_export/exporter.py 2023-05-29 10:49:08.978796500 +0200
@@ -173,7 +173,7 @@
for index in sorted(indexes):
repositories = [
r
- for r in self._poetry.pool.repositories
+ for r in self._poetry.pool.all_repositories
if isinstance(r, HTTPRepository) and r.url == index.rstrip("/")
]
if not repositories:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poetry_plugin_export-1.3.1/tests/test_exporter.py new/poetry_plugin_export-1.4.0/tests/test_exporter.py
--- old/poetry_plugin_export-1.3.1/tests/test_exporter.py 2023-04-17 16:40:05.815764700 +0200
+++ new/poetry_plugin_export-1.4.0/tests/test_exporter.py 2023-05-29 10:49:08.982796400 +0200
@@ -13,6 +13,7 @@
from poetry.factory import Factory
from poetry.packages import Locker as BaseLocker
from poetry.repositories.legacy_repository import LegacyRepository
+from poetry.repositories.repository_pool import Priority
from poetry_plugin_export.exporter import Exporter
from tests.markers import MARKER_CPYTHON
@@ -1807,7 +1808,7 @@
"https://b.example.com/simple",
config=poetry.config,
),
- default=True,
+ priority=Priority.DEFAULT,
)
poetry.pool.add_repository(
LegacyRepository(
@@ -1815,7 +1816,7 @@
"https://a.example.com/simple",
config=poetry.config,
),
- secondary=True,
+ priority=Priority.SECONDARY,
)
poetry.locker.mock_lock_data( # type: ignore[attr-defined]
{
@@ -2099,16 +2100,6 @@
io = BufferedIO()
exporter.export("requirements.txt", tmp_path, io)
- expected_legacy = f"""\
-celery==5.1.2 ; {MARKER_PY36_ONLY}
-celery==5.2.3 ; {MARKER_PY37}
-click-didyoumean==0.0.3 ; {MARKER_PY36_PY362}
-click-didyoumean==0.3.0 ; {MARKER_PY362_PY40}
-click-plugins==1.1.1 ; {MARKER_PY36}
-click==7.1.2 ; python_version < "3.7" and python_version >= "3.6"
-click==8.0.3 ; {MARKER_PY37}
-"""
-
expected = f"""\
celery==5.1.2 ; {MARKER_PY36_ONLY}
celery==5.2.3 ; {MARKER_PY37}
@@ -2119,7 +2110,7 @@
click==8.0.3 ; {MARKER_PY37}
"""
- assert io.fetch_output() in {expected, expected_legacy}
+ assert io.fetch_output() == expected
def test_exporter_handles_extras_next_to_non_extras(
@@ -2672,3 +2663,60 @@
foo[baz]==1.2.3 ; {MARKER_PY27} or {MARKER_PY36}
"""
assert content == expected
+
+
+def test_exporter_exports_extra_index_url_and_trusted_host(
+ tmp_path: Path, poetry: Poetry
+) -> None:
+ poetry.pool.add_repository(
+ LegacyRepository(
+ "custom",
+ "http://example.com/simple",
+ ),
+ priority=Priority.EXPLICIT,
+ )
+ poetry.locker.mock_lock_data( # type: ignore[attr-defined]
+ {
+ "package": [
+ {
+ "name": "foo",
+ "version": "1.2.3",
+ "optional": False,
+ "python-versions": "*",
+ "dependencies": {"bar": "*"},
+ },
+ {
+ "name": "bar",
+ "version": "4.5.6",
+ "optional": False,
+ "python-versions": "*",
+ "source": {
+ "type": "legacy",
+ "url": "http://example.com/simple",
+ "reference": "",
+ },
+ },
+ ],
+ "metadata": {
+ "python-versions": "*",
+ "content-hash": "123456789",
+ "files": {"foo": [], "bar": []},
+ },
+ }
+ )
+ set_package_requires(poetry)
+
+ exporter = Exporter(poetry, NullIO())
+ exporter.export("requirements.txt", tmp_path, "requirements.txt")
+
+ with (tmp_path / "requirements.txt").open(encoding="utf-8") as f:
+ content = f.read()
+
+ expected = f"""\
+--trusted-host example.com
+--extra-index-url http://example.com/simple
+
+bar==4.5.6 ; {MARKER_PY}
+foo==1.2.3 ; {MARKER_PY}
+"""
+ assert content == expected
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/poetry_plugin_export-1.3.1/tests/types.py new/poetry_plugin_export-1.4.0/tests/types.py
--- old/poetry_plugin_export-1.3.1/tests/types.py 2023-04-17 16:40:05.815764700 +0200
+++ new/poetry_plugin_export-1.4.0/tests/types.py 2023-05-29 10:49:08.982796400 +0200
@@ -1,7 +1,7 @@
from __future__ import annotations
from typing import TYPE_CHECKING
-from typing import Protocol # noqa: TYP001
+from typing import Protocol
if TYPE_CHECKING:
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-environ-config for openSUSE:Factory checked in at 2023-05-31 21:54:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-environ-config (Old)
and /work/SRC/openSUSE:Factory/.python-environ-config.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-environ-config"
Wed May 31 21:54:07 2023 rev:3 rq:1089586 version:23.2.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-environ-config/python-environ-config.changes 2022-12-11 17:17:09.686056679 +0100
+++ /work/SRC/openSUSE:Factory/.python-environ-config.new.1533/python-environ-config.changes 2023-05-31 21:54:08.052876585 +0200
@@ -1,0 +2,16 @@
+Mon May 29 14:06:27 UTC 2023 - Dirk M��ller <dmueller(a)suse.com>
+
+- update to 23.2.0:
+ * Type hints for `environ.config()` now allow for arguments
+ (e.g. `(a)environ.config(prefix="")`).
+ * `environ.secrets.DirectorySecrets.from_path()` now works when
+ loading from `os.environ`.
+ * Public APIs now carry type hints (except in-class methods
+ like ``AppConfig.from_environ()``).
+
+-------------------------------------------------------------------
+Tue May 23 12:34:02 UTC 2023 - Steve Kowalik <steven.kowalik(a)suse.com>
+
+- Stick with urllib3 < 2 due to boto.
+
+-------------------------------------------------------------------
Old:
----
environ-config-22.1.0.tar.gz
New:
----
environ_config-23.2.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-environ-config.spec ++++++
--- /var/tmp/diff_new_pack.r9GBfv/_old 2023-05-31 21:54:08.576879683 +0200
+++ /var/tmp/diff_new_pack.r9GBfv/_new 2023-05-31 21:54:08.580879706 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-environ-config
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,16 +16,18 @@
#
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-environ-config
-Version: 22.1.0
+Version: 23.2.0
Release: 0
Summary: Boilerplate-free configuration with env variables
License: MIT
-Group: Development/Languages/Python
URL: https://github.com/hynek/environ_config
-Source: https://files.pythonhosted.org/packages/source/e/environ-config/environ-con…
-BuildRequires: %{python_module setuptools}
+Source: https://files.pythonhosted.org/packages/source/e/environ-config/environ_con…
+BuildRequires: %{python_module hatch-fancy-pypi-readme}
+BuildRequires: %{python_module hatch_vcs}
+BuildRequires: %{python_module hatchling}
+BuildRequires: %{python_module pip}
+BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-attrs >= 17.4.0
@@ -36,6 +38,7 @@
BuildRequires: %{python_module boto3}
BuildRequires: %{python_module moto}
BuildRequires: %{python_module pytest}
+BuildRequires: %{python_module urllib3 < 2}
# /SECTION
%python_subpackages
@@ -43,13 +46,13 @@
Boilerplate-free configuration with env variables.
%prep
-%setup -q -n environ-config-%{version}
+%setup -q -n environ_config-%{version}
%build
-%python_build
+%pyproject_wheel
%install
-%python_install
+%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
@@ -57,7 +60,8 @@
%files %{python_files}
%license LICENSE
-%doc README.rst CHANGELOG.rst
-%{python_sitelib}/*
+%doc README.md CHANGELOG.md
+%{python_sitelib}/environ
+%{python_sitelib}/environ_config-%{version}.dist-info
%changelog
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package glibc for openSUSE:Factory checked in at 2023-05-31 21:54:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/glibc (Old)
and /work/SRC/openSUSE:Factory/.glibc.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "glibc"
Wed May 31 21:54:04 2023 rev:275 rq:1089001 version:2.37
Changes:
--------
--- /work/SRC/openSUSE:Factory/glibc/glibc.changes 2023-04-06 15:55:19.284085595 +0200
+++ /work/SRC/openSUSE:Factory/.glibc.new.1533/glibc.changes 2023-05-31 21:54:05.796863251 +0200
@@ -1,0 +2,6 @@
+Fri Apr 28 23:42:47 UTC 2023 - Giuliano Belinassi <giuliano.belinassi(a)suse.com>
+
+- ulp-prologue-into-asm-functions.patch: Add support for livepatches in
+ ASM written functions (bsc#1210777)
+
+-------------------------------------------------------------------
New:
----
ulp-prologue-into-asm-functions.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ glibc.spec ++++++
--- /var/tmp/diff_new_pack.rWcqyA/_old 2023-05-31 21:54:07.268871952 +0200
+++ /var/tmp/diff_new_pack.rWcqyA/_new 2023-05-31 21:54:07.272871975 +0200
@@ -260,6 +260,8 @@
Patch19: nscd-server-user.patch
# PATCH-FEATURE-SLE read nsswich.conf from /usr
Patch20: glibc-nsswitch-usr.diff
+# PATCH-FEATURE-SLE Add ULP prologue into ASM functions
+Patch21: ulp-prologue-into-asm-functions.patch
### Locale related patches
# PATCH-FIX-OPENSUSE Add additional locales
@@ -500,6 +502,7 @@
%patch15 -p1
%patch19 -p1
%patch20 -p1
+%patch21 -p1
%patch100 -p1
%patch102 -p1
@@ -676,6 +679,9 @@
--with-bugurl=http://bugs.opensuse.org \
--enable-bind-now \
--disable-timezone-tools \
+%if %{with livepatching}
+ --enable-userspace-livepatch \
+%endif
--disable-crypt || \
{
rc=$?;
@@ -688,7 +694,7 @@
%if %{build_main} && %{with livepatching}
# Append necessary flags for livepatch support, if enabled. Only objects
# included in shared libraries should be prepared for live patching.
-echo 'CFLAGS-.os += -fpatchable-function-entry=16,14 -fdump-ipa-clones' \
+echo 'CFLAGS-.os += -fdump-ipa-clones' \
>> Makeconfig
%endif
++++++ ulp-prologue-into-asm-functions.patch ++++++
From 17a5177cbb228f22ef3e00d4bb66af71724a6d07 Mon Sep 17 00:00:00 2001
From: Giuliano Belinassi <gbelinassi(a)suse.de>
Date: Wed, 24 May 2023 18:03:15 -0300
Subject: [PATCH] Add Userspace Livepatch prologue into ASM functions
Userspace Live Patching (ULP) refers to the process of applying
patches to the libraries used by a running process, without
interrupting it. In order to archive this, functions must have
the NOP prologue. This prologue is included automatically when
compiled with -fpatchable-function-entry, but for ASM functions
this have to be included manually. This patch does this.
Signed-off-by: Giuliano Belinassi <gbelinassi(a)suse.de>
---
Makeconfig | 5 +++++
config.h.in | 3 +++
config.make.in | 1 +
configure | 20 ++++++++++++++++++++
configure.ac | 13 +++++++++++++
sysdeps/x86/sysdep.h | 22 ++++++++++++++++++----
sysdeps/x86_64/multiarch/strcmp-avx2.S | 5 +----
sysdeps/x86_64/multiarch/strcmp-evex.S | 5 +----
sysdeps/x86_64/multiarch/strcmp-sse4_2.S | 5 +----
sysdeps/x86_64/sysdep.h | 13 +++++++++++++
10 files changed, 76 insertions(+), 16 deletions(-)
diff --git a/Makeconfig b/Makeconfig
index 2fda4af5f7..52a79bc0c0 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -961,6 +961,11 @@ endif # $(+cflags) == ""
$(+stack-protector) -fno-common
+gcc-nowarn := -w
+# Add flags for Userspace Livepatching support.
+ifeq (yes,$(enable-userspace-livepatch))
++cflags += -fpatchable-function-entry=16,14
+endif
+
# Each sysdeps directory can contain header files that both will be
# used to compile and will be installed. Each can also contain an
# include/ subdirectory, whose header files will be used to compile
diff --git a/config.h.in b/config.h.in
index 43d32518ab..32fc79a357 100644
--- a/config.h.in
+++ b/config.h.in
@@ -199,6 +199,9 @@
/* Define to 1 if libpthread actually resides in libc. */
#define PTHREAD_IN_LIBC 0
+/* Define to 1 if support for userspace livepatching is enabled. */
+#define ENABLE_USERSPACE_LIVEPATCH 0
+
/* An integer used to scale the timeout of test programs. */
#define TIMEOUTFACTOR 1
diff --git a/config.make.in b/config.make.in
index d7c416cbea..c6f6909d68 100644
--- a/config.make.in
+++ b/config.make.in
@@ -86,6 +86,7 @@ nss-crypt = @libc_cv_nss_crypt@
static-nss-crypt = @libc_cv_static_nss_crypt@
# Configuration options.
+enable-userspace-livepatch = @enable_userspace_livepatch@
build-shared = @shared@
build-profile = @profile@
build-static-nss = @static_nss@
diff --git a/configure b/configure
index efb891456a..4030ccf701 100755
--- a/configure
+++ b/configure
@@ -591,6 +591,7 @@ LIBOBJS
pthread_in_libc
RELEASE
VERSION
+enable_userspace_livepatch
mach_interface_list
DEFINES
static_nss
@@ -789,6 +790,7 @@ enable_mathvec
enable_cet
enable_scv
with_cpu
+enable_userspace_livepatch
'
ac_precious_vars='build_alias
host_alias
@@ -1462,6 +1464,8 @@ Optional Features:
(CET), x86 only
--disable-scv syscalls will not use scv instruction, even if the
kernel supports it, powerpc only
+ --enable-userspace-livepatch
+ build with userspace livepatch support [default=no]
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@@ -6751,6 +6755,22 @@ libc_cv_multidir=`${CC-cc} $CFLAGS $CPPFLAGS -print-multi-directory`
+# Check whether --enable-userspace-livepatch was given.
+if test "${enable_userspace_livepatch+set}" = set; then :
+ enableval=$enable_userspace_livepatch; enable_userspace_livepatch=$enableval
+else
+ enable_userspace_livepatch=no
+fi
+
+
+# Libpulp uses -fpatchable-function-entry to add padding NOPS to the
+# prologue of all functions.
+if test "x$enable_userspace_livepatch" = xyes; then
+ $as_echo "#define ENABLE_USERSPACE_LIVEPATCH 1" >>confdefs.h
+
+fi
+
+
VERSION=`sed -n -e 's/^#define VERSION "\([^"]*\)"/\1/p' < $srcdir/version.h`
RELEASE=`sed -n -e 's/^#define RELEASE "\([^"]*\)"/\1/p' < $srcdir/version.h`
diff --git a/configure.ac b/configure.ac
index 011844a3d4..26c1a78009 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1827,6 +1827,19 @@ AC_SUBST(DEFINES)
dnl See sysdeps/mach/configure.ac for this variable.
AC_SUBST(mach_interface_list)
+AC_ARG_ENABLE([userspace-livepatch],
+ AS_HELP_STRING([--enable-userspace-livepatch],
+ [build with userspace livepatch support @<:@default=no@:>@]),
+ [enable_userspace_livepatch=$enableval],
+ [enable_userspace_livepatch=no])
+
+# Libpulp uses -fpatchable-function-entry to add padding NOPS to the
+# prologue of all functions.
+if test "x$enable_userspace_livepatch" = xyes; then
+ AC_DEFINE(ENABLE_USERSPACE_LIVEPATCH)
+fi
+AC_SUBST(enable_userspace_livepatch)
+
VERSION=`sed -n -e 's/^#define VERSION "\([^"]*\)"/\1/p' < $srcdir/version.h`
RELEASE=`sed -n -e 's/^#define RELEASE "\([^"]*\)"/\1/p' < $srcdir/version.h`
AC_SUBST(VERSION)
diff --git a/sysdeps/x86/sysdep.h b/sysdeps/x86/sysdep.h
index 0b3483a77a..329c16306e 100644
--- a/sysdeps/x86/sysdep.h
+++ b/sysdeps/x86/sysdep.h
@@ -77,15 +77,29 @@ enum cf_protection_level
#define ALIGNARG(log2) 1<<log2
#define ASM_SIZE_DIRECTIVE(name) .size name,.-name;
+/* For 32-bit glibc then define those macros as empty. */
+#ifndef ULP_PRE_PROLOGUE
+# define ULP_PRE_PROLOGUE
+#endif
+#ifndef ULP_POST_PROLOGUE
+# define ULP_POST_PROLOGUE
+#endif
+
+/* Define the first instructions of a function. */
+#define FUNCTION_START(name) \
+ ULP_PRE_PROLOGUE; \
+ C_LABEL(name); \
+ cfi_startproc; \
+ _CET_ENDBR; \
+ ULP_POST_PROLOGUE; \
+ CALL_MCOUNT;
+
/* Define an entry point visible from C. */
#define ENTRY_P2ALIGN(name, alignment) \
.globl C_SYMBOL_NAME(name); \
.type C_SYMBOL_NAME(name),@function; \
.align ALIGNARG(alignment); \
- C_LABEL(name) \
- cfi_startproc; \
- _CET_ENDBR; \
- CALL_MCOUNT
+ FUNCTION_START(name)
/* Common entry 16 byte aligns. */
#define ENTRY(name) ENTRY_P2ALIGN (name, 4)
diff --git a/sysdeps/x86_64/multiarch/strcmp-avx2.S b/sysdeps/x86_64/multiarch/strcmp-avx2.S
index 07f8ec54c6..b22d59b5cf 100644
--- a/sysdeps/x86_64/multiarch/strcmp-avx2.S
+++ b/sysdeps/x86_64/multiarch/strcmp-avx2.S
@@ -201,10 +201,7 @@ END (STRCASECMP)
# endif
.p2align 4
-STRCMP:
- cfi_startproc
- _CET_ENDBR
- CALL_MCOUNT
+FUNCTION_START(STRCMP)
# if defined USE_AS_STRCASECMP_L
/* We have to fall back on the C implementation for locales with
diff --git a/sysdeps/x86_64/multiarch/strcmp-evex.S b/sysdeps/x86_64/multiarch/strcmp-evex.S
index a8bd5cd786..809ba10447 100644
--- a/sysdeps/x86_64/multiarch/strcmp-evex.S
+++ b/sysdeps/x86_64/multiarch/strcmp-evex.S
@@ -224,10 +224,7 @@ END (STRCASECMP)
# endif
.p2align 4
-STRCMP:
- cfi_startproc
- _CET_ENDBR
- CALL_MCOUNT
+FUNCTION_START(STRCMP)
# if defined USE_AS_STRCASECMP_L
/* We have to fall back on the C implementation for locales with
diff --git a/sysdeps/x86_64/multiarch/strcmp-sse4_2.S b/sysdeps/x86_64/multiarch/strcmp-sse4_2.S
index f93c34465e..f96f66d54c 100644
--- a/sysdeps/x86_64/multiarch/strcmp-sse4_2.S
+++ b/sysdeps/x86_64/multiarch/strcmp-sse4_2.S
@@ -103,10 +103,7 @@ END (STRCASECMP)
# define arg arg
-STRCMP:
- cfi_startproc
- _CET_ENDBR
- CALL_MCOUNT
+FUNCTION_START(STRCMP)
/*
* This implementation uses SSE to compare up to 16 bytes at a time.
diff --git a/sysdeps/x86_64/sysdep.h b/sysdeps/x86_64/sysdep.h
index 6ca169573d..c18f0ef914 100644
--- a/sysdeps/x86_64/sysdep.h
+++ b/sysdeps/x86_64/sysdep.h
@@ -24,6 +24,19 @@
#ifdef __ASSEMBLER__
+/* Libpulp uses -fpatchable-function-entry to add padding NOPS to the
+ prologue of all functions. This works for C functions. For functions
+ written in ASM, the way we do this is by adding this prologue manually. */
+
+#if ENABLE_USERSPACE_LIVEPATCH
+# undef ULP_PRE_PROLOGUE
+# undef ULP_POST_PROLOGUE
+# define ULP_PRE_PROLOGUE \
+ .rept 14; nop; .endr
+# define ULP_POST_PROLOGUE \
+ xchg %ax, %ax
+#endif
+
/* Syntactic details of assembler. */
/* This macro is for setting proper CFI with DW_CFA_expression describing
--
2.40.1
1
0