openSUSE Commits
Threads by month
- ----- 2024 -----
- July
- June
- 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
November 2023
- 1 participants
- 1690 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package raspberrypi-firmware-dt for openSUSE:Factory checked in at 2023-11-23 21:38:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/raspberrypi-firmware-dt (Old)
and /work/SRC/openSUSE:Factory/.raspberrypi-firmware-dt.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "raspberrypi-firmware-dt"
Thu Nov 23 21:38:40 2023 rev:52 rq:1128368 version:2023.11.21
Changes:
--------
--- /work/SRC/openSUSE:Factory/raspberrypi-firmware-dt/raspberrypi-firmware-dt.changes 2023-07-24 18:12:22.193353840 +0200
+++ /work/SRC/openSUSE:Factory/.raspberrypi-firmware-dt.new.25432/raspberrypi-firmware-dt.changes 2023-11-23 21:38:46.919367030 +0100
@@ -1,0 +2,9 @@
+Thu Nov 23 11:23:22 UTC 2023 - Guillaume GARDET <guillaume.gardet(a)opensuse.org>
+
+- Update to 77f41f30fe (2023-11-21):
+ * switch to 6.6 branch
+- Rebase patches:
+ * 0001-ARM-dts-bcm2711-rpi-Reuse-bcm2836-vchiq-driver.patch
+ * 0001-ARM-dts-bcm27xx-Use-better-name-for-spidev.patch
+
+-------------------------------------------------------------------
Old:
----
raspberrypi-firmware-dt-2023.05.02.tar.xz
New:
----
raspberrypi-firmware-dt-2023.11.21.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ raspberrypi-firmware-dt.spec ++++++
--- /var/tmp/diff_new_pack.R3OSa6/_old 2023-11-23 21:38:47.723396650 +0100
+++ /var/tmp/diff_new_pack.R3OSa6/_new 2023-11-23 21:38:47.723396650 +0100
@@ -17,7 +17,7 @@
Name: raspberrypi-firmware-dt
-Version: 2023.05.02
+Version: 2023.11.21
Release: 0
Summary: Device trees for the Raspberry Pi firmware loader
License: GPL-2.0-only
@@ -53,7 +53,7 @@
PPDIR=`pwd`/pp
export DTC_FLAGS="-R 4 -p 0x1000 -@ -H epapr"
-for dts in arch/arm/boot/dts/bcm27*dts arch/arm64/boot/dts/broadcom/bcm27*dts; do
+for dts in arch/arm/boot/dts/broadcom/bcm27*dts arch/arm64/boot/dts/broadcom/bcm27*dts; do
target=$(basename ${dts%*.dts})
cpp -x assembler-with-cpp -undef -D__DTS__ -nostdinc -I. -I$SRCDIR/include/ -I$SRCDIR/scripts/dtc/include-prefixes/ -P $dts -o $PPDIR/$target.dts
dtc $DTC_FLAGS -I dts -O dtb -i ./$(dirname $dts) -o $PPDIR/$target.dtb $PPDIR/$target.dts
++++++ 0001-ARM-dts-bcm2711-rpi-Reuse-bcm2836-vchiq-driver.patch ++++++
--- /var/tmp/diff_new_pack.R3OSa6/_old 2023-11-23 21:38:47.739397239 +0100
+++ /var/tmp/diff_new_pack.R3OSa6/_new 2023-11-23 21:38:47.743397386 +0100
@@ -11,13 +11,13 @@
Signed-off-by: Ivan T. Ivanov <iivanov(a)suse.de>
---
- arch/arm/boot/dts/bcm2711-rpi-ds.dtsi | 2 +-
+ arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/arch/arm/boot/dts/bcm2711-rpi-ds.dtsi b/arch/arm/boot/dts/bcm2711-rpi-ds.dtsi
+diff --git a/arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi b/arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi
index bd5c297..9956368 100644
---- a/arch/arm/boot/dts/bcm2711-rpi-ds.dtsi
-+++ b/arch/arm/boot/dts/bcm2711-rpi-ds.dtsi
+--- a/arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi
++++ b/arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi
@@ -126,7 +126,7 @@
};
++++++ 0001-ARM-dts-bcm27xx-Use-better-name-for-spidev.patch ++++++
--- /var/tmp/diff_new_pack.R3OSa6/_old 2023-11-23 21:38:47.751397681 +0100
+++ /var/tmp/diff_new_pack.R3OSa6/_new 2023-11-23 21:38:47.755397828 +0100
@@ -19,28 +19,28 @@
Signed-off-by: Ivan T. Ivanov <iivanov(a)suse.de>
---
- arch/arm/boot/dts/bcm2708-rpi-b-plus.dts | 4 ++--
- arch/arm/boot/dts/bcm2708-rpi-b-rev1.dts | 4 ++--
- arch/arm/boot/dts/bcm2708-rpi-b.dts | 4 ++--
- arch/arm/boot/dts/bcm2708-rpi-cm.dts | 4 ++--
- arch/arm/boot/dts/bcm2708-rpi-zero-w.dts | 4 ++--
- arch/arm/boot/dts/bcm2708-rpi-zero.dts | 4 ++--
- arch/arm/boot/dts/bcm2709-rpi-2-b.dts | 4 ++--
- arch/arm/boot/dts/bcm2709-rpi-cm2.dts | 4 ++--
- arch/arm/boot/dts/bcm2710-rpi-2-b.dts | 4 ++--
- arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts | 4 ++--
- arch/arm/boot/dts/bcm2710-rpi-3-b.dts | 4 ++--
- arch/arm/boot/dts/bcm2710-rpi-cm3.dts | 4 ++--
- arch/arm/boot/dts/bcm2710-rpi-zero-2-w.dts | 4 ++--
- arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 4 ++--
- arch/arm/boot/dts/bcm2711-rpi-cm4.dts | 4 ++--
- arch/arm/boot/dts/bcm2711-rpi-cm4s.dts | 4 ++--
+ arch/arm/boot/dts/broadcom/bcm2708-rpi-b-plus.dts | 4 ++--
+ arch/arm/boot/dts/broadcom/bcm2708-rpi-b-rev1.dts | 4 ++--
+ arch/arm/boot/dts/broadcom/bcm2708-rpi-b.dts | 4 ++--
+ arch/arm/boot/dts/broadcom/bcm2708-rpi-cm.dts | 4 ++--
+ arch/arm/boot/dts/broadcom/bcm2708-rpi-zero-w.dts | 4 ++--
+ arch/arm/boot/dts/broadcom/bcm2708-rpi-zero.dts | 4 ++--
+ arch/arm/boot/dts/broadcom/bcm2709-rpi-2-b.dts | 4 ++--
+ arch/arm/boot/dts/broadcom/bcm2709-rpi-cm2.dts | 4 ++--
+ arch/arm/boot/dts/broadcom/bcm2710-rpi-2-b.dts | 4 ++--
+ arch/arm/boot/dts/broadcom/bcm2710-rpi-3-b-plus.dts | 4 ++--
+ arch/arm/boot/dts/broadcom/bcm2710-rpi-3-b.dts | 4 ++--
+ arch/arm/boot/dts/broadcom/bcm2710-rpi-cm3.dts | 4 ++--
+ arch/arm/boot/dts/broadcom/bcm2710-rpi-zero-2-w.dts | 4 ++--
+ arch/arm/boot/dts/broadcom/bcm2711-rpi-4-b.dts | 4 ++--
+ arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4.dts | 4 ++--
+ arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4s.dts | 4 ++--
16 files changed, 32 insertions(+), 32 deletions(-)
-diff --git a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
+diff --git a/arch/arm/boot/dts/broadcom/bcm2708-rpi-b-plus.dts b/arch/arm/boot/dts/broadcom/bcm2708-rpi-b-plus.dts
index b317e83..c94e102 100644
---- a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
-+++ b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
+--- a/arch/arm/boot/dts/broadcom/bcm2708-rpi-b-plus.dts
++++ b/arch/arm/boot/dts/broadcom/bcm2708-rpi-b-plus.dts
@@ -121,7 +121,7 @@
cs-gpios = <&gpio 8 1>, <&gpio 7 1>;
@@ -59,10 +59,10 @@
reg = <1>; /* CE1 */
#address-cells = <1>;
#size-cells = <0>;
-diff --git a/arch/arm/boot/dts/bcm2708-rpi-b-rev1.dts b/arch/arm/boot/dts/bcm2708-rpi-b-rev1.dts
+diff --git a/arch/arm/boot/dts/broadcom/bcm2708-rpi-b-rev1.dts b/arch/arm/boot/dts/broadcom/bcm2708-rpi-b-rev1.dts
index 228fd47..f3055af 100644
---- a/arch/arm/boot/dts/bcm2708-rpi-b-rev1.dts
-+++ b/arch/arm/boot/dts/bcm2708-rpi-b-rev1.dts
+--- a/arch/arm/boot/dts/broadcom/bcm2708-rpi-b-rev1.dts
++++ b/arch/arm/boot/dts/broadcom/bcm2708-rpi-b-rev1.dts
@@ -121,7 +121,7 @@
cs-gpios = <&gpio 8 1>, <&gpio 7 1>;
@@ -81,10 +81,10 @@
reg = <1>; /* CE1 */
#address-cells = <1>;
#size-cells = <0>;
-diff --git a/arch/arm/boot/dts/bcm2708-rpi-b.dts b/arch/arm/boot/dts/bcm2708-rpi-b.dts
+diff --git a/arch/arm/boot/dts/broadcom/bcm2708-rpi-b.dts b/arch/arm/boot/dts/broadcom/bcm2708-rpi-b.dts
index 1df74d5..ef6dbf9 100644
---- a/arch/arm/boot/dts/bcm2708-rpi-b.dts
-+++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts
+--- a/arch/arm/boot/dts/broadcom/bcm2708-rpi-b.dts
++++ b/arch/arm/boot/dts/broadcom/bcm2708-rpi-b.dts
@@ -121,7 +121,7 @@
cs-gpios = <&gpio 8 1>, <&gpio 7 1>;
@@ -103,10 +103,10 @@
reg = <1>; /* CE1 */
#address-cells = <1>;
#size-cells = <0>;
-diff --git a/arch/arm/boot/dts/bcm2708-rpi-cm.dts b/arch/arm/boot/dts/bcm2708-rpi-cm.dts
+diff --git a/arch/arm/boot/dts/broadcom/bcm2708-rpi-cm.dts b/arch/arm/boot/dts/broadcom/bcm2708-rpi-cm.dts
index 6f7fea0..a4aaadf 100644
---- a/arch/arm/boot/dts/bcm2708-rpi-cm.dts
-+++ b/arch/arm/boot/dts/bcm2708-rpi-cm.dts
+--- a/arch/arm/boot/dts/broadcom/bcm2708-rpi-cm.dts
++++ b/arch/arm/boot/dts/broadcom/bcm2708-rpi-cm.dts
@@ -126,7 +126,7 @@ cam0_reg: &cam0_regulator {
cs-gpios = <&gpio 8 1>, <&gpio 7 1>;
@@ -125,10 +125,10 @@
reg = <1>; /* CE1 */
#address-cells = <1>;
#size-cells = <0>;
-diff --git a/arch/arm/boot/dts/bcm2708-rpi-zero-w.dts b/arch/arm/boot/dts/bcm2708-rpi-zero-w.dts
+diff --git a/arch/arm/boot/dts/broadcom/bcm2708-rpi-zero-w.dts b/arch/arm/boot/dts/broadcom/bcm2708-rpi-zero-w.dts
index 4266caf..8a2225e 100644
---- a/arch/arm/boot/dts/bcm2708-rpi-zero-w.dts
-+++ b/arch/arm/boot/dts/bcm2708-rpi-zero-w.dts
+--- a/arch/arm/boot/dts/broadcom/bcm2708-rpi-zero-w.dts
++++ b/arch/arm/boot/dts/broadcom/bcm2708-rpi-zero-w.dts
@@ -183,7 +183,7 @@
cs-gpios = <&gpio 8 1>, <&gpio 7 1>;
@@ -147,10 +147,10 @@
reg = <1>; /* CE1 */
#address-cells = <1>;
#size-cells = <0>;
-diff --git a/arch/arm/boot/dts/bcm2708-rpi-zero.dts b/arch/arm/boot/dts/bcm2708-rpi-zero.dts
+diff --git a/arch/arm/boot/dts/broadcom/bcm2708-rpi-zero.dts b/arch/arm/boot/dts/broadcom/bcm2708-rpi-zero.dts
index 3069f58..14c44c7 100644
---- a/arch/arm/boot/dts/bcm2708-rpi-zero.dts
-+++ b/arch/arm/boot/dts/bcm2708-rpi-zero.dts
+--- a/arch/arm/boot/dts/broadcom/bcm2708-rpi-zero.dts
++++ b/arch/arm/boot/dts/broadcom/bcm2708-rpi-zero.dts
@@ -118,7 +118,7 @@
cs-gpios = <&gpio 8 1>, <&gpio 7 1>;
@@ -169,10 +169,10 @@
reg = <1>; /* CE1 */
#address-cells = <1>;
#size-cells = <0>;
-diff --git a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
+diff --git a/arch/arm/boot/dts/broadcom/bcm2709-rpi-2-b.dts b/arch/arm/boot/dts/broadcom/bcm2709-rpi-2-b.dts
index c3e1b1b..c2f6a2b 100644
---- a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
-+++ b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
+--- a/arch/arm/boot/dts/broadcom/bcm2709-rpi-2-b.dts
++++ b/arch/arm/boot/dts/broadcom/bcm2709-rpi-2-b.dts
@@ -121,7 +121,7 @@
cs-gpios = <&gpio 8 1>, <&gpio 7 1>;
@@ -191,10 +191,10 @@
reg = <1>; /* CE1 */
#address-cells = <1>;
#size-cells = <0>;
-diff --git a/arch/arm/boot/dts/bcm2709-rpi-cm2.dts b/arch/arm/boot/dts/bcm2709-rpi-cm2.dts
+diff --git a/arch/arm/boot/dts/broadcom/bcm2709-rpi-cm2.dts b/arch/arm/boot/dts/broadcom/bcm2709-rpi-cm2.dts
index 78881c5..c22e94b 100644
---- a/arch/arm/boot/dts/bcm2709-rpi-cm2.dts
-+++ b/arch/arm/boot/dts/bcm2709-rpi-cm2.dts
+--- a/arch/arm/boot/dts/broadcom/bcm2709-rpi-cm2.dts
++++ b/arch/arm/boot/dts/broadcom/bcm2709-rpi-cm2.dts
@@ -155,7 +155,7 @@ cam0_reg: &cam0_regulator {
cs-gpios = <&gpio 8 1>, <&gpio 7 1>;
@@ -213,10 +213,10 @@
reg = <1>; /* CE1 */
#address-cells = <1>;
#size-cells = <0>;
-diff --git a/arch/arm/boot/dts/bcm2710-rpi-2-b.dts b/arch/arm/boot/dts/bcm2710-rpi-2-b.dts
+diff --git a/arch/arm/boot/dts/broadcom/bcm2710-rpi-2-b.dts b/arch/arm/boot/dts/broadcom/bcm2710-rpi-2-b.dts
index 3c89b44..5e365c9 100644
---- a/arch/arm/boot/dts/bcm2710-rpi-2-b.dts
-+++ b/arch/arm/boot/dts/bcm2710-rpi-2-b.dts
+--- a/arch/arm/boot/dts/broadcom/bcm2710-rpi-2-b.dts
++++ b/arch/arm/boot/dts/broadcom/bcm2710-rpi-2-b.dts
@@ -121,7 +121,7 @@
cs-gpios = <&gpio 8 1>, <&gpio 7 1>;
@@ -235,10 +235,10 @@
reg = <1>; /* CE1 */
#address-cells = <1>;
#size-cells = <0>;
-diff --git a/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts b/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts
+diff --git a/arch/arm/boot/dts/broadcom/bcm2710-rpi-3-b-plus.dts b/arch/arm/boot/dts/broadcom/bcm2710-rpi-3-b-plus.dts
index 818804d..a636fc5 100644
---- a/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts
-+++ b/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts
+--- a/arch/arm/boot/dts/broadcom/bcm2710-rpi-3-b-plus.dts
++++ b/arch/arm/boot/dts/broadcom/bcm2710-rpi-3-b-plus.dts
@@ -203,7 +203,7 @@
cs-gpios = <&gpio 8 1>, <&gpio 7 1>;
@@ -257,10 +257,10 @@
reg = <1>; /* CE1 */
#address-cells = <1>;
#size-cells = <0>;
-diff --git a/arch/arm/boot/dts/bcm2710-rpi-3-b.dts b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts
+diff --git a/arch/arm/boot/dts/broadcom/bcm2710-rpi-3-b.dts b/arch/arm/boot/dts/broadcom/bcm2710-rpi-3-b.dts
index 14bb3be..9070cc7 100644
---- a/arch/arm/boot/dts/bcm2710-rpi-3-b.dts
-+++ b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts
+--- a/arch/arm/boot/dts/broadcom/bcm2710-rpi-3-b.dts
++++ b/arch/arm/boot/dts/broadcom/bcm2710-rpi-3-b.dts
@@ -218,7 +218,7 @@
cs-gpios = <&gpio 8 1>, <&gpio 7 1>;
@@ -279,10 +279,10 @@
reg = <1>; /* CE1 */
#address-cells = <1>;
#size-cells = <0>;
-diff --git a/arch/arm/boot/dts/bcm2710-rpi-cm3.dts b/arch/arm/boot/dts/bcm2710-rpi-cm3.dts
+diff --git a/arch/arm/boot/dts/broadcom/bcm2710-rpi-cm3.dts b/arch/arm/boot/dts/broadcom/bcm2710-rpi-cm3.dts
index 5cb7342..6fa4d8a 100644
---- a/arch/arm/boot/dts/bcm2710-rpi-cm3.dts
-+++ b/arch/arm/boot/dts/bcm2710-rpi-cm3.dts
+--- a/arch/arm/boot/dts/broadcom/bcm2710-rpi-cm3.dts
++++ b/arch/arm/boot/dts/broadcom/bcm2710-rpi-cm3.dts
@@ -155,7 +155,7 @@ cam0_reg: &cam0_regulator {
cs-gpios = <&gpio 8 1>, <&gpio 7 1>;
@@ -301,10 +301,10 @@
reg = <1>; /* CE1 */
#address-cells = <1>;
#size-cells = <0>;
-diff --git a/arch/arm/boot/dts/bcm2710-rpi-zero-2-w.dts b/arch/arm/boot/dts/bcm2710-rpi-zero-2-w.dts
+diff --git a/arch/arm/boot/dts/broadcom/bcm2710-rpi-zero-2-w.dts b/arch/arm/boot/dts/broadcom/bcm2710-rpi-zero-2-w.dts
index 8cf0f45..ebdf5e7 100644
---- a/arch/arm/boot/dts/bcm2710-rpi-zero-2-w.dts
-+++ b/arch/arm/boot/dts/bcm2710-rpi-zero-2-w.dts
+--- a/arch/arm/boot/dts/broadcom/bcm2710-rpi-zero-2-w.dts
++++ b/arch/arm/boot/dts/broadcom/bcm2710-rpi-zero-2-w.dts
@@ -196,7 +196,7 @@
cs-gpios = <&gpio 8 1>, <&gpio 7 1>;
@@ -323,10 +323,10 @@
reg = <1>; /* CE1 */
#address-cells = <1>;
#size-cells = <0>;
-diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
+diff --git a/arch/arm/boot/dts/broadcom/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/broadcom/bcm2711-rpi-4-b.dts
index 15f46d5..cfe3228 100644
---- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
-+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
+--- a/arch/arm/boot/dts/broadcom/bcm2711-rpi-4-b.dts
++++ b/arch/arm/boot/dts/broadcom/bcm2711-rpi-4-b.dts
@@ -294,7 +294,7 @@
cs-gpios = <&gpio 8 1>, <&gpio 7 1>;
@@ -345,10 +345,10 @@
reg = <1>; /* CE1 */
#address-cells = <1>;
#size-cells = <0>;
-diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4.dts
+diff --git a/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4.dts b/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4.dts
index 8718e13..e4618d5 100644
---- a/arch/arm/boot/dts/bcm2711-rpi-cm4.dts
-+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4.dts
+--- a/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4.dts
++++ b/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4.dts
@@ -303,7 +303,7 @@
cs-gpios = <&gpio 8 1>, <&gpio 7 1>;
@@ -367,10 +367,10 @@
reg = <1>; /* CE1 */
#address-cells = <1>;
#size-cells = <0>;
-diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4s.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4s.dts
+diff --git a/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4s.dts b/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4s.dts
index 1069184..69cbca6 100644
---- a/arch/arm/boot/dts/bcm2711-rpi-cm4s.dts
-+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4s.dts
+--- a/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4s.dts
++++ b/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4s.dts
@@ -182,7 +182,7 @@
cs-gpios = <&gpio 8 1>, <&gpio 7 1>;
@@ -392,4 +392,3 @@
--
2.35.3
-
++++++ get-from-git.sh ++++++
--- /var/tmp/diff_new_pack.R3OSa6/_old 2023-11-23 21:38:47.795399302 +0100
+++ /var/tmp/diff_new_pack.R3OSa6/_new 2023-11-23 21:38:47.799399449 +0100
@@ -1,6 +1,6 @@
#!/bin/bash
-LINUX_BRANCH=rpi-6.3.y
+LINUX_BRANCH=rpi-6.6.y
# this is a huge hunk of stuff, so reuse the local repo if possible
if [ -d linux/.git ]; then
++++++ pre_checkin.sh ++++++
--- /var/tmp/diff_new_pack.R3OSa6/_old 2023-11-23 21:38:47.811399891 +0100
+++ /var/tmp/diff_new_pack.R3OSa6/_new 2023-11-23 21:38:47.815400039 +0100
@@ -1,4 +1,4 @@
#!/bin/bash
-osc service localrun format_spec_file
+osc service run format_spec_file
++++++ raspberrypi-firmware-dt-2023.05.02.tar.xz -> raspberrypi-firmware-dt-2023.11.21.tar.xz ++++++
/work/SRC/openSUSE:Factory/raspberrypi-firmware-dt/raspberrypi-firmware-dt-2023.05.02.tar.xz /work/SRC/openSUSE:Factory/.raspberrypi-firmware-dt.new.25432/raspberrypi-firmware-dt-2023.11.21.tar.xz differ: char 25, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package 000product for openSUSE:Factory checked in at 2023-11-24 02:08:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Fri Nov 24 02:08:04 2023 rev:3815 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ MicroOS-dvd5-dvd-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.EH7NtD/_old 2023-11-24 02:08:07.814457308 +0100
+++ /var/tmp/diff_new_pack.EH7NtD/_new 2023-11-24 02:08:07.818457455 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__MicroOS___20231122" schemaversion="4.1">
+<image name="OBS__MicroOS___20231123" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -35,11 +35,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20231122</productvar>
+ <productvar name="VERSION">20231123</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:microos:20231122,openSUSE MicroOS</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:microos:20231123,openSUSE MicroOS</productinfo>
<productinfo name="LINGUAS">en_US </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/MicroOS/20231122/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/MicroOS/20231123/x86_64</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
@@ -186,6 +186,9 @@
<repopackage name="cloud-init"/>
<repopackage name="cloud-init-config-MicroOS"/>
<repopackage name="cm-unicode-fonts"/>
+ <repopackage name="cnf"/>
+ <repopackage name="cnf-bash"/>
+ <repopackage name="cnf-locale"/>
<repopackage name="cnf-rs"/>
<repopackage name="cnf-rs-bash"/>
<repopackage name="cnf-rs-locale"/>
@@ -1018,6 +1021,7 @@
<repopackage name="libdrm_nouveau2"/>
<repopackage name="libdrm_radeon1"/>
<repopackage name="libduktape207"/>
+ <repopackage name="libdvdnav4"/>
<repopackage name="libdvdread8"/>
<repopackage name="libdw1"/>
<repopackage name="libe-book-0_1-1"/>
@@ -2429,12 +2433,15 @@
<repopackage name="python311-alembic"/>
<repopackage name="python311-anyio"/>
<repopackage name="python311-apipkg"/>
+ <repopackage name="python311-argon2-cffi"/>
+ <repopackage name="python311-argon2-cffi-bindings"/>
<repopackage name="python311-async_timeout"/>
<repopackage name="python311-atspi"/>
<repopackage name="python311-attrs"/>
<repopackage name="python311-Automat"/>
<repopackage name="python311-Babel"/>
<repopackage name="python311-base"/>
+ <repopackage name="python311-bcrypt"/>
<repopackage name="python311-Beaker"/>
<repopackage name="python311-blinker"/>
<repopackage name="python311-Brotli"/>
@@ -2488,6 +2495,7 @@
<repopackage name="python311-numpy"/>
<repopackage name="python311-oauthlib"/>
<repopackage name="python311-packaging"/>
+ <repopackage name="python311-passlib"/>
<repopackage name="python311-pexpect"/>
<repopackage name="python311-pip"/>
<repopackage name="python311-protobuf"/>
@@ -2521,6 +2529,7 @@
<repopackage name="python311-requests"/>
<repopackage name="python311-rich"/>
<repopackage name="python311-rpds-py"/>
+ <repopackage name="python311-scrypt"/>
<repopackage name="python311-selinux"/>
<repopackage name="python311-semanage"/>
<repopackage name="python311-service_identity"/>
++++++ openSUSE-Addon-NonOss-ftp-ftp-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.EH7NtD/_old 2023-11-24 02:08:07.846458485 +0100
+++ /var/tmp/diff_new_pack.EH7NtD/_new 2023-11-24 02:08:07.846458485 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE-Addon-NonOss___20231122" schemaversion="4.1">
+<image name="OBS__openSUSE-Addon-NonOss___20231123" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -35,11 +35,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20231122</productvar>
+ <productvar name="VERSION">20231123</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20231122,openSUSE NonOSS Addon</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20231123,openSUSE NonOSS Addon</productinfo>
<productinfo name="LINGUAS">af ar be_BY bg br ca cy el et ga gl gu_IN he hi_IN hr ka km ko lt mk nn pa_IN rw sk sl sr_CS ss st tg th tr uk ve vi xh zu </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-Addon-NonOss/2023…</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-Addon-NonOss/2023…</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
++++++ openSUSE-cd-mini-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.EH7NtD/_old 2023-11-24 02:08:07.870459366 +0100
+++ /var/tmp/diff_new_pack.EH7NtD/_new 2023-11-24 02:08:07.870459366 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20231122" schemaversion="4.1">
+<image name="OBS__openSUSE___20231123" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -35,11 +35,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20231122</productvar>
+ <productvar name="VERSION">20231123</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231122,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231123,openSUSE Tumbleweed</productinfo>
<productinfo name="LINGUAS">cs da de el en en_GB en_US es fr hu it ja pl pt pt_BR ru zh zh_CN zh_TW </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20231122/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20231123/x86_64</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
++++++ openSUSE-dvd5-dvd-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.EH7NtD/_old 2023-11-24 02:08:07.890460102 +0100
+++ /var/tmp/diff_new_pack.EH7NtD/_new 2023-11-24 02:08:07.894460249 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20231122" schemaversion="4.1">
+<image name="OBS__openSUSE___20231123" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -35,11 +35,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20231122</productvar>
+ <productvar name="VERSION">20231123</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231122,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231123,openSUSE Tumbleweed</productinfo>
<productinfo name="LINGUAS">cs da de el en en_GB en_US es fr hu it ja pl pt pt_BR ru zh zh_CN zh_TW </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20231122/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20231123/x86_64</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
@@ -267,6 +267,9 @@
<repopackage name="clutter-gtk-lang"/>
<repopackage name="clutter-lang"/>
<repopackage name="cm-unicode-fonts"/>
+ <repopackage name="cnf"/>
+ <repopackage name="cnf-bash"/>
+ <repopackage name="cnf-locale"/>
<repopackage name="cnf-rs"/>
<repopackage name="cnf-rs-bash"/>
<repopackage name="cnf-rs-locale"/>
++++++ openSUSE-ftp-ftp-i586.kiwi ++++++
--- /var/tmp/diff_new_pack.EH7NtD/_old 2023-11-24 02:08:07.914460985 +0100
+++ /var/tmp/diff_new_pack.EH7NtD/_new 2023-11-24 02:08:07.918461131 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20231122" schemaversion="4.1">
+<image name="OBS__openSUSE___20231123" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -20,7 +20,7 @@
<productvar name="DISTNAME">openSUSE</productvar>
<productvar name="FLAVOR">ftp</productvar>
<productvar name="MAKE_LISTINGS">true</productvar>
- <productvar name="MEDIUM_NAME">openSUSE-20231122-i586</productvar>
+ <productvar name="MEDIUM_NAME">openSUSE-20231123-i586</productvar>
<productvar name="MULTIPLE_MEDIA">true</productvar>
<productvar name="PRODUCT_DIR">/</productvar>
<productvar name="PRODUCT_NAME">$DISTNAME-$FLAVOR</productvar>
@@ -32,11 +32,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20231122</productvar>
+ <productvar name="VERSION">20231123</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231122,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231123,openSUSE Tumbleweed</productinfo>
<productinfo name="LINGUAS">cs da de el en en_GB en_US es fr hu it ja pl pt pt_BR ru zh zh_CN zh_TW </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20231122/i586</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20231123/i586</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="DEBUGMEDIUM">2</productoption>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
++++++ openSUSE-ftp-ftp-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.EH7NtD/_old 2023-11-24 02:08:07.938461866 +0100
+++ /var/tmp/diff_new_pack.EH7NtD/_new 2023-11-24 02:08:07.938461866 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20231122" schemaversion="4.1">
+<image name="OBS__openSUSE___20231123" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -23,7 +23,7 @@
<productvar name="DISTNAME">openSUSE</productvar>
<productvar name="FLAVOR">ftp</productvar>
<productvar name="MAKE_LISTINGS">true</productvar>
- <productvar name="MEDIUM_NAME">openSUSE-20231122-x86_64</productvar>
+ <productvar name="MEDIUM_NAME">openSUSE-20231123-x86_64</productvar>
<productvar name="MULTIPLE_MEDIA">true</productvar>
<productvar name="PRODUCT_DIR">/</productvar>
<productvar name="PRODUCT_NAME">$DISTNAME-$FLAVOR</productvar>
@@ -35,11 +35,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20231122</productvar>
+ <productvar name="VERSION">20231123</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231122,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20231123,openSUSE Tumbleweed</productinfo>
<productinfo name="LINGUAS">cs da de el en en_GB en_US es fr hu it ja pl pt pt_BR ru zh zh_CN zh_TW </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20231122/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20231123/x86_64</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="DEBUGMEDIUM">2</productoption>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
++++++ Aeon.product ++++++
--- /var/tmp/diff_new_pack.EH7NtD/_old 2023-11-24 02:08:07.978463338 +0100
+++ /var/tmp/diff_new_pack.EH7NtD/_new 2023-11-24 02:08:07.982463485 +0100
@@ -6,7 +6,7 @@
<name>Aeon</name>
<releasepkgname>Aeon-release</releasepkgname>
<endoflife/>
- <version>20231122</version>
+ <version>20231123</version>
<!-- release is no longer optional -->
<release>0</release>
<productline>Aeon</productline>
++++++ MicroOS.product ++++++
--- /var/tmp/diff_new_pack.EH7NtD/_old 2023-11-24 02:08:07.998464073 +0100
+++ /var/tmp/diff_new_pack.EH7NtD/_new 2023-11-24 02:08:08.002464220 +0100
@@ -6,7 +6,7 @@
<name>MicroOS</name>
<releasepkgname>MicroOS-release</releasepkgname>
<endoflife/>
- <version>20231122</version>
+ <version>20231123</version>
<!-- release is no longer optional -->
<release>0</release>
<productline>MicroOS</productline>
++++++ dvd.group ++++++
--- /var/tmp/diff_new_pack.EH7NtD/_old 2023-11-24 02:08:08.082467161 +0100
+++ /var/tmp/diff_new_pack.EH7NtD/_new 2023-11-24 02:08:08.086467308 +0100
@@ -270,9 +270,12 @@
<package name="clutter-gtk-lang" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="clutter-lang" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="cm-unicode-fonts" supportstatus="unsupported"/> <!-- reason: dvd:openSUSE-release -->
- <package name="cnf-rs" supportstatus="unsupported"/> <!-- reason: dvd:patterns-base-console -->
- <package name="cnf-rs-bash" supportstatus="unsupported"/> <!-- reason: dvd:patterns-base-console -->
- <package name="cnf-rs-locale" supportstatus="unsupported"/> <!-- reason: dvd:patterns-base-console -->
+ <package name="cnf" supportstatus="unsupported"/> <!-- reason: dvd:patterns-base-console -->
+ <package name="cnf-bash" supportstatus="unsupported"/> <!-- reason: dvd:patterns-base-console -->
+ <package name="cnf-locale" supportstatus="unsupported"/> <!-- reason: dvd:patterns-base-console -->
+ <package name="cnf-rs" supportstatus="unsupported"/> <!-- reason: common_locks:expansion -->
+ <package name="cnf-rs-bash" supportstatus="unsupported"/> <!-- reason: common_locks:expansion -->
+ <package name="cnf-rs-locale" supportstatus="unsupported"/> <!-- reason: common_locks:expansion -->
<package name="cogl-lang" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="colord" supportstatus="unsupported"/> <!-- reason: dvd:patterns-media-rest_dvd -->
<package name="colord-color-profiles" supportstatus="unsupported"/> <!-- reason: dvd:patterns-media-rest_dvd -->
@@ -1763,7 +1766,7 @@
<package name="libduktape207" supportstatus="unsupported"/> <!-- reason: dvd:openSUSE-release -->
<package name="libdv4" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="libdvbpsi10" supportstatus="unsupported"/> <!-- reason: dvd:patterns-kde-kde_multimedia -->
- <package name="libdvdnav4" supportstatus="unsupported"/> <!-- reason: dvd:patterns-kde-kde_multimedia -->
+ <package name="libdvdnav4" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="libdvdread8" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="libdw1" supportstatus="unsupported"/> <!-- reason: dvd:openSUSE-release -->
<package name="libe-book-0_1-1" supportstatus="unsupported"/> <!-- reason: dvd:openSUSE-release -->
++++++ openSUSE-Addon-NonOss.product ++++++
--- /var/tmp/diff_new_pack.EH7NtD/_old 2023-11-24 02:08:08.106468044 +0100
+++ /var/tmp/diff_new_pack.EH7NtD/_new 2023-11-24 02:08:08.106468044 +0100
@@ -4,7 +4,7 @@
<product>
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20231122</version>
+ <version>20231123</version>
<release>0</release>
<summary>openSUSE NonOSS Addon</summary>
<shortsummary>non oss addon</shortsummary>
++++++ openSUSE.product ++++++
--- /var/tmp/diff_new_pack.EH7NtD/_old 2023-11-24 02:08:08.126468779 +0100
+++ /var/tmp/diff_new_pack.EH7NtD/_new 2023-11-24 02:08:08.130468926 +0100
@@ -4,7 +4,7 @@
<product>
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20231122</version>
+ <version>20231123</version>
<release>0</release>
<productline>openSUSE</productline>
++++++ opensuse_aeon.group ++++++
--- /var/tmp/diff_new_pack.EH7NtD/_old 2023-11-24 02:08:08.158469955 +0100
+++ /var/tmp/diff_new_pack.EH7NtD/_new 2023-11-24 02:08:08.162470103 +0100
@@ -780,6 +780,7 @@
<package name="libdrm_nouveau2" supportstatus="unsupported"/> <!-- reason: opensuse_aeon:Aeon-release -->
<package name="libdrm_radeon1" supportstatus="unsupported"/> <!-- reason: opensuse_aeon:Aeon-release -->
<package name="libduktape207" supportstatus="unsupported"/> <!-- reason: opensuse_aeon:Aeon-release -->
+ <package name="libdvdnav4" supportstatus="unsupported"/> <!-- reason: opensuse_aeon:patterns-aeon-base -->
<package name="libdvdread8" supportstatus="unsupported"/> <!-- reason: opensuse_aeon:patterns-aeon-base -->
<package name="libdw1" supportstatus="unsupported"/> <!-- reason: opensuse_aeon:Aeon-release -->
<package name="libe-book-0_1-1" supportstatus="unsupported"/> <!-- reason: opensuse_aeon:Aeon-release -->
++++++ opensuse_microos.group ++++++
--- /var/tmp/diff_new_pack.EH7NtD/_old 2023-11-24 02:08:08.190471131 +0100
+++ /var/tmp/diff_new_pack.EH7NtD/_new 2023-11-24 02:08:08.194471279 +0100
@@ -178,9 +178,12 @@
<package name="cloud-init" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
<package name="cloud-init-config-MicroOS" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
<package name="cm-unicode-fonts" supportstatus="unsupported"/> <!-- reason: opensuse_microos:MicroOS-release -->
- <package name="cnf-rs" supportstatus="unsupported"/> <!-- reason: opensuse_microos_desktop:patterns-microos-desktop-kde -->
- <package name="cnf-rs-bash" supportstatus="unsupported"/> <!-- reason: opensuse_microos_desktop:patterns-microos-desktop-kde -->
- <package name="cnf-rs-locale" supportstatus="unsupported"/> <!-- reason: opensuse_microos_desktop:patterns-microos-desktop-kde -->
+ <package name="cnf" supportstatus="unsupported"/> <!-- reason: opensuse_microos_desktop:patterns-microos-desktop-kde -->
+ <package name="cnf-bash" supportstatus="unsupported"/> <!-- reason: opensuse_microos_desktop:patterns-microos-desktop-kde -->
+ <package name="cnf-locale" supportstatus="unsupported"/> <!-- reason: opensuse_microos_desktop:patterns-microos-desktop-kde -->
+ <package name="cnf-rs" supportstatus="unsupported"/> <!-- reason: opensuse_microos_desktop:expansion -->
+ <package name="cnf-rs-bash" supportstatus="unsupported"/> <!-- reason: opensuse_microos_desktop:expansion -->
+ <package name="cnf-rs-locale" supportstatus="unsupported"/> <!-- reason: opensuse_microos_desktop:expansion -->
<package name="cni" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-alt_onlyDVD -->
<package name="cni-plugins" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-alt_onlyDVD -->
<package name="cockpit-bridge" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-alt_onlyDVD -->
@@ -1240,6 +1243,7 @@
<package name="libdrm_nouveau2" supportstatus="unsupported"/> <!-- reason: opensuse_microos:MicroOS-release -->
<package name="libdrm_radeon1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:MicroOS-release -->
<package name="libduktape207" supportstatus="unsupported"/> <!-- reason: opensuse_microos:MicroOS-release -->
+ <package name="libdvdnav4" supportstatus="unsupported"/> <!-- reason: opensuse_microos_desktop:patterns-microos-desktop-gnome -->
<package name="libdvdread8" supportstatus="unsupported"/> <!-- reason: opensuse_microos_desktop:patterns-microos-desktop-gnome -->
<package name="libdw1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:MicroOS-release -->
<package name="libe-book-0_1-1" supportstatus="unsupported"/> <!-- reason: opensuse_microos:MicroOS-release -->
@@ -2392,10 +2396,13 @@
<package name="python311-alembic" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-alt_onlyDVD -->
<package name="python311-anyio" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-alt_onlyDVD -->
<package name="python311-apipkg" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="python311-argon2-cffi" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="python311-argon2-cffi-bindings" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
<package name="python311-async_timeout" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-alt_onlyDVD -->
<package name="python311-atspi" supportstatus="unsupported"/> <!-- reason: opensuse_microos_desktop:patterns-microos-desktop-gnome -->
<package name="python311-attrs" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
<package name="python311-base" supportstatus="unsupported"/> <!-- reason: opensuse_microos:MicroOS-release -->
+ <package name="python311-bcrypt" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
<package name="python311-blinker" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
<package name="python311-certifi" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
<package name="python311-cffi" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
@@ -2444,6 +2451,7 @@
<package name="python311-numpy" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-alt_onlyDVD -->
<package name="python311-oauthlib" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
<package name="python311-packaging" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-alt_onlyDVD -->
+ <package name="python311-passlib" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
<package name="python311-pexpect" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-alt_onlyDVD -->
<package name="python311-pip" supportstatus="unsupported"/> <!-- reason: opensuse_microos:MicroOS-release -->
<package name="python311-protobuf" supportstatus="unsupported"/> <!-- reason: opensuse_microos:docker -->
@@ -2473,6 +2481,7 @@
<package name="python311-requests" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
<package name="python311-rich" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-alt_onlyDVD -->
<package name="python311-rpds-py" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
+ <package name="python311-scrypt" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-cloud -->
<package name="python311-selinux" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
<package name="python311-semanage" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-selinux -->
<package name="python311-service_identity" supportstatus="unsupported"/> <!-- reason: opensuse_microos:patterns-microos-alt_onlyDVD -->
++++++ unsorted.yml ++++++
--- /var/tmp/diff_new_pack.EH7NtD/_old 2023-11-24 02:08:08.246473190 +0100
+++ /var/tmp/diff_new_pack.EH7NtD/_new 2023-11-24 02:08:08.250473338 +0100
@@ -1866,6 +1866,7 @@
- cargo1.71
- cargo1.72
- cargo1.73
+ - cargo1.74
- caribou
- caribou-common
- caribou-devel
@@ -2207,6 +2208,7 @@
- cmus-plugin-wavpack
- cmus-plugins-all
- cnf-rs-zsh
+ - cnf-zsh
- cni-plugin-dnsname
- cni-plugin-flannel
- cntlm
@@ -4927,10 +4929,6 @@
- ghc-config-ini-devel
- ghc-config-ini-doc
- ghc-config-ini-prof
- - ghc-connection
- - ghc-connection-devel
- - ghc-connection-doc
- - ghc-connection-prof
- ghc-constraints
- ghc-constraints-devel
- ghc-constraints-doc
@@ -4971,10 +4969,6 @@
- ghc-crypto-cipher-types-devel
- ghc-crypto-cipher-types-doc
- ghc-crypto-cipher-types-prof
- - ghc-crypto-random
- - ghc-crypto-random-devel
- - ghc-crypto-random-doc
- - ghc-crypto-random-prof
- ghc-cryptohash-md5
- ghc-cryptohash-md5-devel
- ghc-cryptohash-md5-doc
@@ -4987,6 +4981,30 @@
- ghc-cryptohash-sha256-devel
- ghc-cryptohash-sha256-doc
- ghc-cryptohash-sha256-prof
+ - ghc-crypton
+ - ghc-crypton-connection
+ - ghc-crypton-connection-devel
+ - ghc-crypton-connection-doc
+ - ghc-crypton-connection-prof
+ - ghc-crypton-devel
+ - ghc-crypton-doc
+ - ghc-crypton-prof
+ - ghc-crypton-x509
+ - ghc-crypton-x509-devel
+ - ghc-crypton-x509-doc
+ - ghc-crypton-x509-prof
+ - ghc-crypton-x509-store
+ - ghc-crypton-x509-store-devel
+ - ghc-crypton-x509-store-doc
+ - ghc-crypton-x509-store-prof
+ - ghc-crypton-x509-system
+ - ghc-crypton-x509-system-devel
+ - ghc-crypton-x509-system-doc
+ - ghc-crypton-x509-system-prof
+ - ghc-crypton-x509-validation
+ - ghc-crypton-x509-validation-devel
+ - ghc-crypton-x509-validation-doc
+ - ghc-crypton-x509-validation-prof
- ghc-cryptonite
- ghc-cryptonite-conduit
- ghc-cryptonite-conduit-devel
@@ -5060,6 +5078,10 @@
- ghc-digest-devel
- ghc-digest-doc
- ghc-digest-prof
+ - ghc-digits
+ - ghc-digits-devel
+ - ghc-digits-doc
+ - ghc-digits-prof
- ghc-directory
- ghc-directory-devel
- ghc-directory-doc
@@ -5159,10 +5181,6 @@
- ghc-filepattern-doc
- ghc-filepattern-prof
- ghc-filesystem
- - ghc-foldable1-classes-compat
- - ghc-foldable1-classes-compat-devel
- - ghc-foldable1-classes-compat-doc
- - ghc-foldable1-classes-compat-prof
- ghc-foldl
- ghc-foldl-devel
- ghc-foldl-doc
@@ -5419,6 +5437,10 @@
- ghc-indexed-traversable-instances-doc
- ghc-indexed-traversable-instances-prof
- ghc-indexed-traversable-prof
+ - ghc-integer-conversion
+ - ghc-integer-conversion-devel
+ - ghc-integer-conversion-doc
+ - ghc-integer-conversion-prof
- ghc-integer-logarithms
- ghc-integer-logarithms-devel
- ghc-integer-logarithms-doc
@@ -6103,6 +6125,10 @@
- ghc-tls-session-manager-devel
- ghc-tls-session-manager-doc
- ghc-tls-session-manager-prof
+ - ghc-toml-parser
+ - ghc-toml-parser-devel
+ - ghc-toml-parser-doc
+ - ghc-toml-parser-prof
- ghc-topograph
- ghc-topograph-devel
- ghc-topograph-doc
@@ -34050,6 +34076,7 @@
- rust1.71
- rust1.72
- rust1.73
+ - rust1.74
- rustscan
- rustup
- rxp
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-email-validator for openSUSE:Factory checked in at 2023-11-23 21:38:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-email-validator (Old)
and /work/SRC/openSUSE:Factory/.python-email-validator.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-email-validator"
Thu Nov 23 21:38:34 2023 rev:6 rq:1128295 version:2.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-email-validator/python-email-validator.changes 2023-05-26 20:15:09.320148885 +0200
+++ /work/SRC/openSUSE:Factory/.python-email-validator.new.25432/python-email-validator.changes 2023-11-23 21:38:38.155044165 +0100
@@ -1,0 +2,16 @@
+Thu Nov 16 10:02:55 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 2.1.0:
+ * Python 3.8+ is now required (support for Python 3.7 was
+ dropped).
+ * The old `email` field on the returned `ValidatedEmail`
+ object, which in the previous version was superseded by
+ `normalized`, will now raise a deprecation warning if used.
+ See https://stackoverflow.com/q/879173 for strategies to
+ suppress the DeprecationWarning.
+ * A `__version__` module attribute is added.
+ * The email address argument to validate_email is now marked as
+ positional-only to better reflect the documented usage using
+ the new Python 3.8 feature.
+
+-------------------------------------------------------------------
Old:
----
email_validator-2.0.0.tar.gz
New:
----
email_validator-2.1.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-email-validator.spec ++++++
--- /var/tmp/diff_new_pack.huSog3/_old 2023-11-23 21:38:38.991074963 +0100
+++ /var/tmp/diff_new_pack.huSog3/_new 2023-11-23 21:38:38.995075110 +0100
@@ -17,9 +17,8 @@
%{?sle15_python_module_pythons}
-%define skip_python2 1
Name: python-email-validator
-Version: 2.0.0
+Version: 2.1.0
Release: 0
Summary: A robust email syntax and deliverability validation library for Python
License: CC0-1.0
@@ -30,6 +29,7 @@
Patch0: ignore-urllib3-pyopenssl-warning.patch
# PATCH-FIX-OPENSUSE do not require /etc/resolv.conf for testing
Patch1: dont-require-resolv-tests.patch
+BuildRequires: %{python_module base >= 3.8}
BuildRequires: %{python_module dnspython >= 1.15.0}
BuildRequires: %{python_module idna >= 2.0.0}
BuildRequires: %{python_module pytest >= 5.0}
++++++ email_validator-2.0.0.tar.gz -> email_validator-2.1.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-email-validator-2.0.0/.github/workflows/test_and_build.yaml new/python-email-validator-2.1.0/.github/workflows/test_and_build.yaml
--- old/python-email-validator-2.0.0/.github/workflows/test_and_build.yaml 2023-04-19 23:04:26.000000000 +0200
+++ new/python-email-validator-2.1.0/.github/workflows/test_and_build.yaml 2023-10-22 13:30:59.000000000 +0200
@@ -8,7 +8,7 @@
runs-on: ubuntu-latest
strategy:
matrix:
- python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12.0-alpha.5"]
+ python-version: ["3.8", "3.9", "3.10", "3.11", "3.12.0"]
steps:
- uses: actions/checkout@v3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-email-validator-2.0.0/.travis.yml new/python-email-validator-2.1.0/.travis.yml
--- old/python-email-validator-2.0.0/.travis.yml 2023-04-19 23:04:26.000000000 +0200
+++ new/python-email-validator-2.1.0/.travis.yml 1970-01-01 01:00:00.000000000 +0100
@@ -1,23 +0,0 @@
-os: linux
-dist: bionic
-language: python
-cache: pip
-
-python:
-- '3.7'
-- '3.8'
-- '3.9'
-- '3.10'
-- '3.11'
-- '3.12-dev'
-
-install:
-- make install
-
-script:
-- make typing
-- make lint
-- make test
-
-after_success:
-- bash <(curl -s https://codecov.io/bash)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-email-validator-2.0.0/CHANGELOG.md new/python-email-validator-2.1.0/CHANGELOG.md
--- old/python-email-validator-2.0.0/CHANGELOG.md 2023-04-19 23:04:26.000000000 +0200
+++ new/python-email-validator-2.1.0/CHANGELOG.md 2023-10-22 13:30:59.000000000 +0200
@@ -1,3 +1,11 @@
+2.1.0 (October 22, 2023)
+------------------------
+
+* Python 3.8+ is now required (support for Python 3.7 was dropped).
+* The old `email` field on the returned `ValidatedEmail` object, which in the previous version was superseded by `normalized`, will now raise a deprecation warning if used. See https://stackoverflow.com/q/879173 for strategies to suppress the DeprecationWarning.
+* A `__version__` module attribute is added.
+* The email address argument to validate_email is now marked as positional-only to better reflect the documented usage using the new Python 3.8 feature.
+
2.0.0 (April 15, 2023)
----------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-email-validator-2.0.0/README.md new/python-email-validator-2.1.0/README.md
--- old/python-email-validator-2.0.0/README.md 2023-04-19 23:04:26.000000000 +0200
+++ new/python-email-validator-2.1.0/README.md 2023-10-22 13:30:59.000000000 +0200
@@ -2,7 +2,7 @@
=========================================
A robust email address syntax and deliverability validation library for
-Python 3.7+ by [Joshua Tauberer](https://joshdata.me).
+Python 3.8+ by [Joshua Tauberer](https://joshdata.me).
This library validates that a string is of the form `name(a)example.com`
and optionally checks that the domain name is set up to receive email.
@@ -163,7 +163,7 @@
### Test addresses
-This library rejects email addresess that use the [Special Use Domain Names](https://www.iana.org/assignments/special-use-domain-names/special-us… `invalid`, `localhost`, `test`, and some others by raising `EmailSyntaxError`. This is to protect your system from abuse: You probably don't want a user to be able to cause an email to be sent to `localhost` (although they might be able to still do so via a malicious MX record). However, in your non-production test environments you may want to use `@test` or `(a)myname.test` email addresses. There are three ways you can allow this:
+This library rejects email addresses that use the [Special Use Domain Names](https://www.iana.org/assignments/special-use-domain-names/special-us… `invalid`, `localhost`, `test`, and some others by raising `EmailSyntaxError`. This is to protect your system from abuse: You probably don't want a user to be able to cause an email to be sent to `localhost` (although they might be able to still do so via a malicious MX record). However, in your non-production test environments you may want to use `@test` or `(a)myname.test` email addresses. There are three ways you can allow this:
1. Add `test_environment=True` to the call to `validate_email` (see above).
2. Set `email_validator.TEST_ENVIRONMENT` to `True` globally.
@@ -315,6 +315,14 @@
normalized to condensed form. [RFC 2142](https://datatracker.ietf.org/doc/html/rfc2142)
also requires lowercase normalization for some specific mailbox names like `postmaster@`.
+### Length checks
+
+This library checks that the length of the email address is not longer than
+the maximum length. The check is performed on the normalized form of the
+address, which might be different from a string provided by a user. If you
+send email to the original string and not the normalized address, the email
+might be rejected because the original address could be too long.
+
Examples
--------
@@ -436,14 +444,14 @@
To release:
* Update CHANGELOG.md.
-* Update the version number in setup.cfg.
+* Update the version number in `email_validator/version.py`.
* Make & push a commit with the new version number and make sure tests pass.
* Make & push a tag (see command below).
* Make a release at https://github.com/JoshData/python-email-validator/releases/new.
* Publish a source and wheel distribution to pypi (see command below).
```sh
-git tag v$(grep version setup.cfg | sed "s/.*= //")
+git tag v$(cat email_validator/version.py | sed "s/.* = //" | sed 's/"//g')
git push --tags
./release_to_pypi.sh
```
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-email-validator-2.0.0/email_validator/__init__.py new/python-email-validator-2.1.0/email_validator/__init__.py
--- old/python-email-validator-2.0.0/email_validator/__init__.py 2023-04-19 23:04:26.000000000 +0200
+++ new/python-email-validator-2.1.0/email_validator/__init__.py 2023-10-22 13:30:59.000000000 +0200
@@ -4,12 +4,12 @@
from .exceptions_types import ValidatedEmail, EmailNotValidError, \
EmailSyntaxError, EmailUndeliverableError
from .validate_email import validate_email
-
+from .version import __version__
__all__ = ["validate_email",
"ValidatedEmail", "EmailNotValidError",
"EmailSyntaxError", "EmailUndeliverableError",
- "caching_resolver"]
+ "caching_resolver", "__version__"]
def caching_resolver(*args, **kwargs):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-email-validator-2.0.0/email_validator/exceptions_types.py new/python-email-validator-2.1.0/email_validator/exceptions_types.py
--- old/python-email-validator-2.0.0/email_validator/exceptions_types.py 2023-04-19 23:04:26.000000000 +0200
+++ new/python-email-validator-2.1.0/email_validator/exceptions_types.py 2023-10-22 13:30:59.000000000 +0200
@@ -76,7 +76,13 @@
return self.original
if key == "email":
return self.normalized
- raise AttributeError()
+ raise AttributeError(key)
+
+ @property
+ def email(self):
+ import warnings
+ warnings.warn("ValidatedEmail.email is deprecated and will be removed, use ValidatedEmail.normalized instead", DeprecationWarning)
+ return self.normalized
"""For backwards compatibility, some fields are also exposed through a dict-like interface. Note
that some of the names changed when they became attributes."""
@@ -123,9 +129,10 @@
+ ",".join("\n {}={}".format(
key,
repr(getattr(self, key)))
- for key in ('email', 'local_part', 'domain',
+ for key in ('normalized', 'local_part', 'domain',
'ascii_email', 'ascii_local_part', 'ascii_domain',
'smtputf8', 'mx', 'mx_fallback_type')
+ if hasattr(self, key)
) \
+ ")"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-email-validator-2.0.0/email_validator/syntax.py new/python-email-validator-2.1.0/email_validator/syntax.py
--- old/python-email-validator-2.0.0/email_validator/syntax.py 2023-04-19 23:04:26.000000000 +0200
+++ new/python-email-validator-2.1.0/email_validator/syntax.py 2023-10-22 13:30:59.000000000 +0200
@@ -1,7 +1,8 @@
from .exceptions_types import EmailSyntaxError
from .rfc_constants import EMAIL_MAX_LENGTH, LOCAL_PART_MAX_LENGTH, DOMAIN_MAX_LENGTH, \
DOT_ATOM_TEXT, DOT_ATOM_TEXT_INTL, ATEXT_RE, ATEXT_INTL_RE, ATEXT_HOSTNAME_INTL, QTEXT_INTL, \
- DNS_LABEL_LENGTH_LIMIT, DOT_ATOM_TEXT_HOSTNAME, DOMAIN_NAME_REGEX, DOMAIN_LITERAL_CHARS
+ DNS_LABEL_LENGTH_LIMIT, DOT_ATOM_TEXT_HOSTNAME, DOMAIN_NAME_REGEX, DOMAIN_LITERAL_CHARS, \
+ QUOTED_LOCAL_PART_ADDR
import re
import unicodedata
@@ -10,6 +11,35 @@
from typing import Optional
+def split_email(email):
+ # Return the local part and domain part of the address and
+ # whether the local part was quoted as a three-tuple.
+
+ # Typical email addresses have a single @-sign, but the
+ # awkward "quoted string" local part form (RFC 5321 4.1.2)
+ # allows @-signs (and escaped quotes) to appear in the local
+ # part if the local part is quoted. If the address is quoted,
+ # split it at a non-escaped @-sign and unescape the escaping.
+ if m := QUOTED_LOCAL_PART_ADDR.match(email):
+ local_part, domain_part = m.groups()
+
+ # Since backslash-escaping is no longer needed because
+ # the quotes are removed, remove backslash-escaping
+ # to return in the normalized form.
+ import re
+ local_part = re.sub(r"\\(.)", "\\1", local_part)
+
+ return local_part, domain_part, True
+
+ else:
+ # Split at the one and only at-sign.
+ parts = email.split('@')
+ if len(parts) != 2:
+ raise EmailSyntaxError("The email address is not valid. It must have exactly one @-sign.")
+ local_part, domain_part = parts
+ return local_part, domain_part, False
+
+
def get_length_reason(addr, utf8=False, limit=EMAIL_MAX_LENGTH):
"""Helper function to return an error message related to invalid length."""
diff = len(addr) - limit
@@ -69,8 +99,7 @@
# so if it was originally quoted (quoted_local_part is True) and this regex matches,
# it's ok.
# (RFC 5321 4.1.2 / RFC 5322 3.2.4).
- m = DOT_ATOM_TEXT.match(local)
- if m:
+ if DOT_ATOM_TEXT.match(local):
# It's valid. And since it's just the permitted ASCII characters,
# it's normalized and safe. If the local part was originally quoted,
# the quoting was unnecessary and it'll be returned as normalized to
@@ -89,8 +118,7 @@
# RFC 6531 section 3.3.
valid: Optional[str] = None
requires_smtputf8 = False
- m = DOT_ATOM_TEXT_INTL.match(local)
- if m:
+ if DOT_ATOM_TEXT_INTL.match(local):
# But international characters in the local part may not be permitted.
if not allow_smtputf8:
# Check for invalid characters against the non-internationalized
@@ -347,8 +375,7 @@
# Check the syntax of the string returned by idna.encode.
# It should never fail.
- m = DOT_ATOM_TEXT_HOSTNAME.match(ascii_domain)
- if not m:
+ if not DOT_ATOM_TEXT_HOSTNAME.match(ascii_domain):
raise EmailSyntaxError("The email address contains invalid characters after the @-sign after IDNA encoding.")
# Check the length of the domain name in bytes.
@@ -370,7 +397,7 @@
raise EmailSyntaxError(f"After the @-sign, periods cannot be separated by so many characters {reason}.")
if globally_deliverable:
- # All publicly deliverable addresses have domain named with at least
+ # All publicly deliverable addresses have domain names with at least
# one period, at least for gTLDs created since 2013 (per the ICANN Board
# New gTLD Program Committee, https://www.icann.org/en/announcements/details/new-gtld-dotless-domain-name…).
# We'll consider the lack of a period a syntax error
@@ -431,7 +458,48 @@
}
-def validate_email_domain_literal(domain_literal, allow_domain_literal=False):
+def validate_email_length(addrinfo):
+ # If the email address has an ASCII representation, then we assume it may be
+ # transmitted in ASCII (we can't assume SMTPUTF8 will be used on all hops to
+ # the destination) and the length limit applies to ASCII characters (which is
+ # the same as octets). The number of characters in the internationalized form
+ # may be many fewer (because IDNA ASCII is verbose) and could be less than 254
+ # Unicode characters, and of course the number of octets over the limit may
+ # not be the number of characters over the limit, so if the email address is
+ # internationalized, we can't give any simple information about why the address
+ # is too long.
+ if addrinfo.ascii_email and len(addrinfo.ascii_email) > EMAIL_MAX_LENGTH:
+ if addrinfo.ascii_email == addrinfo.normalized:
+ reason = get_length_reason(addrinfo.ascii_email)
+ elif len(addrinfo.normalized) > EMAIL_MAX_LENGTH:
+ # If there are more than 254 characters, then the ASCII
+ # form is definitely going to be too long.
+ reason = get_length_reason(addrinfo.normalized, utf8=True)
+ else:
+ reason = "(when converted to IDNA ASCII)"
+ raise EmailSyntaxError(f"The email address is too long {reason}.")
+
+ # In addition, check that the UTF-8 encoding (i.e. not IDNA ASCII and not
+ # Unicode characters) is at most 254 octets. If the addres is transmitted using
+ # SMTPUTF8, then the length limit probably applies to the UTF-8 encoded octets.
+ # If the email address has an ASCII form that differs from its internationalized
+ # form, I don't think the internationalized form can be longer, and so the ASCII
+ # form length check would be sufficient. If there is no ASCII form, then we have
+ # to check the UTF-8 encoding. The UTF-8 encoding could be up to about four times
+ # longer than the number of characters.
+ #
+ # See the length checks on the local part and the domain.
+ if len(addrinfo.normalized.encode("utf8")) > EMAIL_MAX_LENGTH:
+ if len(addrinfo.normalized) > EMAIL_MAX_LENGTH:
+ # If there are more than 254 characters, then the UTF-8
+ # encoding is definitely going to be too long.
+ reason = get_length_reason(addrinfo.normalized, utf8=True)
+ else:
+ reason = "(when encoded in bytes)"
+ raise EmailSyntaxError(f"The email address is too long {reason}.")
+
+
+def validate_email_domain_literal(domain_literal):
# This is obscure domain-literal syntax. Parse it and return
# a compressed/normalized address.
# RFC 5321 4.1.3 and RFC 5322 3.4.1.
@@ -444,8 +512,6 @@
addr = ipaddress.IPv4Address(domain_literal)
except ValueError as e:
raise EmailSyntaxError(f"The address in brackets after the @-sign is not valid: It is not an IPv4 address ({e}) or is missing an address literal tag.")
- if not allow_domain_literal:
- raise EmailSyntaxError("A bracketed IPv4 address after the @-sign is not allowed here.")
# Return the IPv4Address object and the domain back unchanged.
return {
@@ -459,8 +525,6 @@
addr = ipaddress.IPv6Address(domain_literal[5:])
except ValueError as e:
raise EmailSyntaxError(f"The IPv6 address in brackets after the @-sign is not valid ({e}).")
- if not allow_domain_literal:
- raise EmailSyntaxError("A bracketed IPv6 address after the @-sign is not allowed here.")
# Return the IPv6Address object and construct a normalized
# domain literal.
@@ -469,6 +533,8 @@
"domain": f"[IPv6:{addr.compressed}]",
}
+ # Nothing else is valid.
+
if ":" not in domain_literal:
raise EmailSyntaxError("The part after the @-sign in brackets is not an IPv4 address and has no address literal tag.")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-email-validator-2.0.0/email_validator/validate_email.py new/python-email-validator-2.1.0/email_validator/validate_email.py
--- old/python-email-validator-2.0.0/email_validator/validate_email.py 2023-04-19 23:04:26.000000000 +0200
+++ new/python-email-validator-2.1.0/email_validator/validate_email.py 2023-10-22 13:30:59.000000000 +0200
@@ -1,14 +1,14 @@
from typing import Optional, Union
from .exceptions_types import EmailSyntaxError, ValidatedEmail
-from .syntax import validate_email_local_part, validate_email_domain_name, validate_email_domain_literal, get_length_reason
-from .rfc_constants import EMAIL_MAX_LENGTH, QUOTED_LOCAL_PART_ADDR, CASE_INSENSITIVE_MAILBOX_NAMES
+from .syntax import split_email, validate_email_local_part, validate_email_domain_name, validate_email_domain_literal, validate_email_length
+from .rfc_constants import CASE_INSENSITIVE_MAILBOX_NAMES
def validate_email(
email: Union[str, bytes],
- # /, # not supported in Python 3.6, 3.7
- *,
+ /, # prior arguments are positional-only
+ *, # subsequent arguments are keyword-only
allow_smtputf8: Optional[bool] = None,
allow_empty_local: bool = False,
allow_quoted_local: Optional[bool] = None,
@@ -20,9 +20,9 @@
dns_resolver: Optional[object] = None
) -> ValidatedEmail:
"""
- Validates an email address, raising an EmailNotValidError if the address is not valid or returning a dict of
- information when the address is valid. The email argument can be a str or a bytes instance,
- but if bytes it must be ASCII-only. This is the main method of this library.
+ Given an email address, and some options, returns a ValidatedEmail instance
+ with information about the address if it is valid or, if the address is not
+ valid, raises an EmailNotValidError. This is the main function of the module.
"""
# Fill in default values of arguments.
@@ -52,27 +52,13 @@
except ValueError:
raise EmailSyntaxError("The email address is not valid ASCII.")
- # Typical email addresses have a single @-sign, but the
- # awkward "quoted string" local part form (RFC 5321 4.1.2)
- # allows @-signs (and escaped quotes) to appear in the local
- # part if the local part is quoted. If the address is quoted,
- # split it at a non-escaped @-sign and unescape the escaping.
- quoted_local_part = False
- m = QUOTED_LOCAL_PART_ADDR.match(email)
- if m:
- quoted_local_part = True
- local_part, domain_part = m.groups()
-
- # Remove backslashes.
- import re
- local_part = re.sub(r"\\(.)", "\\1", local_part)
-
- else:
- # Split at the one and only at-sign.
- parts = email.split('@')
- if len(parts) != 2:
- raise EmailSyntaxError("The email address is not valid. It must have exactly one @-sign.")
- local_part, domain_part = parts
+ # Split the address into the local part (before the @-sign)
+ # and the domain part (after the @-sign). Normally, there
+ # is only one @-sign. But the awkward "quoted string" local
+ # part form (RFC 5321 4.1.2) allows @-signs in the local
+ # part if the local part is quoted.
+ local_part, domain_part, is_quoted_local_part \
+ = split_email(email)
# Collect return values in this instance.
ret = ValidatedEmail()
@@ -85,13 +71,17 @@
local_part_info = validate_email_local_part(local_part,
allow_smtputf8=allow_smtputf8,
allow_empty_local=allow_empty_local,
- quoted_local_part=quoted_local_part)
- if quoted_local_part and not allow_quoted_local:
- raise EmailSyntaxError("Quoting the part before the @-sign is not allowed here.")
+ quoted_local_part=is_quoted_local_part)
ret.local_part = local_part_info["local_part"]
ret.ascii_local_part = local_part_info["ascii_local_part"]
ret.smtputf8 = local_part_info["smtputf8"]
+ # If a quoted local part isn't allowed but is present, now raise an exception.
+ # This is done after any exceptions raised by validate_email_local_part so
+ # that mandatory checks have highest precedence.
+ if is_quoted_local_part and not allow_quoted_local:
+ raise EmailSyntaxError("Quoting the part before the @-sign is not allowed here.")
+
# Some local parts are required to be case-insensitive, so we should normalize
# to lowercase.
# RFC 2142
@@ -108,7 +98,9 @@
elif domain_part.startswith("[") and domain_part.endswith("]"):
# Parse the address in the domain literal and get back a normalized domain.
- domain_part_info = validate_email_domain_literal(domain_part[1:-1], allow_domain_literal=allow_domain_literal)
+ domain_part_info = validate_email_domain_literal(domain_part[1:-1])
+ if not allow_domain_literal:
+ raise EmailSyntaxError("A bracketed IP address after the @-sign is not allowed here.")
ret.domain = domain_part_info["domain"]
ret.ascii_domain = domain_part_info["domain"] # Domain literals are always ASCII.
ret.domain_address = domain_part_info["domain_address"]
@@ -132,48 +124,12 @@
else:
ret.ascii_email = None
- # If the email address has an ASCII representation, then we assume it may be
- # transmitted in ASCII (we can't assume SMTPUTF8 will be used on all hops to
- # the destination) and the length limit applies to ASCII characters (which is
- # the same as octets). The number of characters in the internationalized form
- # may be many fewer (because IDNA ASCII is verbose) and could be less than 254
- # Unicode characters, and of course the number of octets over the limit may
- # not be the number of characters over the limit, so if the email address is
- # internationalized, we can't give any simple information about why the address
- # is too long.
- #
- # In addition, check that the UTF-8 encoding (i.e. not IDNA ASCII and not
- # Unicode characters) is at most 254 octets. If the addres is transmitted using
- # SMTPUTF8, then the length limit probably applies to the UTF-8 encoded octets.
- # If the email address has an ASCII form that differs from its internationalized
- # form, I don't think the internationalized form can be longer, and so the ASCII
- # form length check would be sufficient. If there is no ASCII form, then we have
- # to check the UTF-8 encoding. The UTF-8 encoding could be up to about four times
- # longer than the number of characters.
- #
- # See the length checks on the local part and the domain.
- if ret.ascii_email and len(ret.ascii_email) > EMAIL_MAX_LENGTH:
- if ret.ascii_email == ret.normalized:
- reason = get_length_reason(ret.ascii_email)
- elif len(ret.normalized) > EMAIL_MAX_LENGTH:
- # If there are more than 254 characters, then the ASCII
- # form is definitely going to be too long.
- reason = get_length_reason(ret.normalized, utf8=True)
- else:
- reason = "(when converted to IDNA ASCII)"
- raise EmailSyntaxError(f"The email address is too long {reason}.")
- if len(ret.normalized.encode("utf8")) > EMAIL_MAX_LENGTH:
- if len(ret.normalized) > EMAIL_MAX_LENGTH:
- # If there are more than 254 characters, then the UTF-8
- # encoding is definitely going to be too long.
- reason = get_length_reason(ret.normalized, utf8=True)
- else:
- reason = "(when encoded in bytes)"
- raise EmailSyntaxError(f"The email address is too long {reason}.")
+ # Check the length of the address.
+ validate_email_length(ret)
if check_deliverability and not test_environment:
# Validate the email address's deliverability using DNS
- # and update the return dict with metadata.
+ # and update the returned ValidatedEmail object with metadata.
if is_domain_literal:
# There is nothing to check --- skip deliverability checks.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-email-validator-2.0.0/email_validator/version.py new/python-email-validator-2.1.0/email_validator/version.py
--- old/python-email-validator-2.0.0/email_validator/version.py 1970-01-01 01:00:00.000000000 +0100
+++ new/python-email-validator-2.1.0/email_validator/version.py 2023-10-22 13:30:59.000000000 +0200
@@ -0,0 +1 @@
+__version__ = "2.1.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-email-validator-2.0.0/setup.cfg new/python-email-validator-2.1.0/setup.cfg
--- old/python-email-validator-2.0.0/setup.cfg 2023-04-19 23:04:26.000000000 +0200
+++ new/python-email-validator-2.1.0/setup.cfg 2023-10-22 13:30:59.000000000 +0200
@@ -1,6 +1,6 @@
[metadata]
name = email_validator
-version = 2.0.0.post2
+version = attr: email_validator.version.__version__
description = A robust email address syntax and deliverability validation library.
long_description = file: README.md
long_description_content_type = text/markdown
@@ -14,11 +14,11 @@
Intended Audience :: Developers
License :: CC0 1.0 Universal (CC0 1.0) Public Domain Dedication
Programming Language :: Python :: 3
- Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11
+ Programming Language :: Python :: 3.12
Topic :: Software Development :: Libraries :: Python Modules
keywords = email address validator
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-email-validator-2.0.0/test_requirements.txt new/python-email-validator-2.1.0/test_requirements.txt
--- old/python-email-validator-2.0.0/test_requirements.txt 2023-04-19 23:04:26.000000000 +0200
+++ new/python-email-validator-2.1.0/test_requirements.txt 2023-10-22 13:30:59.000000000 +0200
@@ -1,5 +1,5 @@
# This file was generated by running:
-# sudo docker run --rm -it --network=host python:3.7-slim /bin/bash
+# sudo docker run --rm -it --network=host python:3.8-slim /bin/bash
# pip install dnspython idna # from setup.cfg
# pip install pytest pytest-cov coverage flake8 mypy
# pip freeze
@@ -7,24 +7,20 @@
# the earliest Python version we support, and some exception
# messages may depend on package versions, so we pin versions
# for reproducible testing.)
-attrs==22.2.0
-coverage==7.2.1
-dnspython==2.3.0
-exceptiongroup==1.1.0
-flake8==5.0.4
+coverage==7.3.2
+dnspython==2.4.2
+exceptiongroup==1.1.3
+flake8==6.1.0
idna==3.4
-importlib-metadata==4.2.0
iniconfig==2.0.0
mccabe==0.7.0
-mypy==1.0.1
+mypy==1.6.1
mypy-extensions==1.0.0
-packaging==23.0
-pluggy==1.0.0
-pycodestyle==2.9.1
-pyflakes==2.5.0
-pytest==7.2.1
-pytest-cov==4.0.0
+packaging==23.2
+pluggy==1.3.0
+pycodestyle==2.11.1
+pyflakes==3.1.0
+pytest==7.4.2
+pytest-cov==4.1.0
tomli==2.0.1
-typed-ast==1.5.4
-typing_extensions==4.5.0
-zipp==3.15.0
+typing_extensions==4.8.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-email-validator-2.0.0/tests/test_main.py new/python-email-validator-2.1.0/tests/test_main.py
--- old/python-email-validator-2.0.0/tests/test_main.py 2023-04-19 23:04:26.000000000 +0200
+++ new/python-email-validator-2.1.0/tests/test_main.py 2023-10-22 13:30:59.000000000 +0200
@@ -58,3 +58,10 @@
input_email = "testaddr中example.tld".encode("utf32")
with pytest.raises(EmailSyntaxError):
validate_email(input_email, check_deliverability=False)
+
+
+def test_deprecation():
+ input_email = b"testaddr(a)example.tld"
+ valid_email = validate_email(input_email, check_deliverability=False)
+ with pytest.deprecated_call():
+ assert valid_email.email is not None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-email-validator-2.0.0/tests/test_syntax.py new/python-email-validator-2.1.0/tests/test_syntax.py
--- old/python-email-validator-2.0.0/tests/test_syntax.py 2023-04-19 23:04:26.000000000 +0200
+++ new/python-email-validator-2.1.0/tests/test_syntax.py 2023-10-22 13:30:59.000000000 +0200
@@ -78,8 +78,12 @@
assert emailinfo == output
assert validate_email(email_input, check_deliverability=False, allow_smtputf8=True) == output
- # Check that the old way to access the normalized form still works.
- assert emailinfo.email == emailinfo.normalized
+ # Check that the old `email` attribute to access the normalized form still works
+ # if the DeprecationWarning is suppressed.
+ import warnings
+ with warnings.catch_warnings():
+ warnings.filterwarnings("ignore", category=DeprecationWarning)
+ assert emailinfo.email == emailinfo.normalized
@pytest.mark.parametrize(
@@ -326,9 +330,9 @@
('me(a)xn--0.tld', 'The part after the @-sign is not valid IDNA (Invalid A-label).'),
('me(a)yy--0.tld', 'An email address cannot have two letters followed by two dashes immediately after the @-sign or after a period, except Punycode.'),
('me(a)yy--0.tld', 'An email address cannot have two letters followed by two dashes immediately after the @-sign or after a period, except Punycode.'),
- ('me(a)[127.0.0.1]', 'A bracketed IPv4 address after the @-sign is not allowed here.'),
+ ('me(a)[127.0.0.1]', 'A bracketed IP address after the @-sign is not allowed here.'),
('me(a)[127.0.0.999]', 'The address in brackets after the @-sign is not valid: It is not an IPv4 address (Octet 999 (> 255) not permitted in \'127.0.0.999\') or is missing an address literal tag.'),
- ('me@[IPv6:::1]', 'A bracketed IPv6 address after the @-sign is not allowed here.'),
+ ('me@[IPv6:::1]', 'A bracketed IP address after the @-sign is not allowed here.'),
('me@[IPv6:::G]', 'The IPv6 address in brackets after the @-sign is not valid (Only hex digits permitted in \'G\' in \'::G\').'),
('me@[tag:text]', 'The part after the @-sign contains an invalid address literal tag in brackets.'),
('me@[untaggedtext]', 'The part after the @-sign in brackets is not an IPv4 address and has no address literal tag.'),
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ghc-text-builder-dev for openSUSE:Factory checked in at 2023-11-23 21:40:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-text-builder-dev (Old)
and /work/SRC/openSUSE:Factory/.ghc-text-builder-dev.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-text-builder-dev"
Thu Nov 23 21:40:12 2023 rev:3 rq:1127113 version:0.3.4.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-text-builder-dev/ghc-text-builder-dev.changes 2023-10-18 21:26:25.706262577 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-text-builder-dev.new.25432/ghc-text-builder-dev.changes 2023-11-23 21:41:31.409425786 +0100
@@ -1,0 +2,6 @@
+Sat Nov 4 14:53:13 UTC 2023 - Peter Simons <psimons(a)suse.com>
+
+- Update text-builder-dev to version 0.3.4.2.
+ Upstream does not provide a change log file.
+
+-------------------------------------------------------------------
Old:
----
text-builder-dev-0.3.4.1.tar.gz
New:
----
text-builder-dev-0.3.4.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-text-builder-dev.spec ++++++
--- /var/tmp/diff_new_pack.CWXV4q/_old 2023-11-23 21:41:31.845441846 +0100
+++ /var/tmp/diff_new_pack.CWXV4q/_new 2023-11-23 21:41:31.849441993 +0100
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.3.4.1
+Version: 0.3.4.2
Release: 0
Summary: Edge of developments for "text-builder"
License: MIT
++++++ text-builder-dev-0.3.4.1.tar.gz -> text-builder-dev-0.3.4.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/text-builder-dev-0.3.4.1/text-builder-dev.cabal new/text-builder-dev-0.3.4.2/text-builder-dev.cabal
--- old/text-builder-dev-0.3.4.1/text-builder-dev.cabal 2001-09-09 03:46:40.000000000 +0200
+++ new/text-builder-dev-0.3.4.2/text-builder-dev.cabal 2001-09-09 03:46:40.000000000 +0200
@@ -1,6 +1,6 @@
cabal-version: 3.0
name: text-builder-dev
-version: 0.3.4.1
+version: 0.3.4.2
category: Text, Builders
synopsis: Edge of developments for "text-builder"
description:
@@ -77,7 +77,7 @@
build-depends:
, base >=4.11 && <5
- , bytestring >=0.10 && <0.12
+ , bytestring >=0.10 && <0.13
, deferred-folds >=0.9.10.1 && <0.10
, isomorphism-class >=0.1.0.1 && <0.2
, QuickCheck >=2.14 && <3
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-azure-mgmt-rdbms for openSUSE:Factory checked in at 2023-11-23 21:41:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-azure-mgmt-rdbms (Old)
and /work/SRC/openSUSE:Factory/.python-azure-mgmt-rdbms.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-azure-mgmt-rdbms"
Thu Nov 23 21:41:13 2023 rev:30 rq:1128205 version:10.2.0b12
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-azure-mgmt-rdbms/python-azure-mgmt-rdbms.changes 2023-11-16 20:28:19.739854785 +0100
+++ /work/SRC/openSUSE:Factory/.python-azure-mgmt-rdbms.new.25432/python-azure-mgmt-rdbms.changes 2023-11-23 21:42:40.775980713 +0100
@@ -1,0 +2,8 @@
+Wed Nov 22 16:18:56 UTC 2023 - John Paul Adrian Glaubitz <adrian.glaubitz(a)suse.com>
+
+- New upstream release
+ + Version 10.2.0b12
+ + For detailed information about changes see the
+ CHANGELOG.md file provided with this package
+
+-------------------------------------------------------------------
Old:
----
azure-mgmt-rdbms-10.2.0b11.tar.gz
New:
----
azure-mgmt-rdbms-10.2.0b12.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-azure-mgmt-rdbms.spec ++++++
--- /var/tmp/diff_new_pack.4q9hxL/_old 2023-11-23 21:42:41.279999278 +0100
+++ /var/tmp/diff_new_pack.4q9hxL/_new 2023-11-23 21:42:41.283999425 +0100
@@ -21,7 +21,7 @@
%define skip_python2 1
%endif
Name: python-azure-mgmt-rdbms
-Version: 10.2.0b11
+Version: 10.2.0b12
Release: 0
Summary: Microsoft Azure RDBMS Management Client Library
License: MIT
++++++ azure-mgmt-rdbms-10.2.0b11.tar.gz -> azure-mgmt-rdbms-10.2.0b12.tar.gz ++++++
++++ 8893 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ghc-base-compat-batteries for openSUSE:Factory checked in at 2023-11-23 21:39:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-base-compat-batteries (Old)
and /work/SRC/openSUSE:Factory/.ghc-base-compat-batteries.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-base-compat-batteries"
Thu Nov 23 21:39:51 2023 rev:13 rq:1127029 version:0.13.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-base-compat-batteries/ghc-base-compat-batteries.changes 2023-10-18 21:26:02.313415185 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-base-compat-batteries.new.25432/ghc-base-compat-batteries.changes 2023-11-23 21:41:12.484728747 +0100
@@ -1,0 +2,5 @@
+Thu Nov 16 13:15:36 UTC 2023 - Peter Simons <psimons(a)suse.com>
+
+- Drop obsolete dependency on ghc-foldable1-classes-compat.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-base-compat-batteries.spec ++++++
--- /var/tmp/diff_new_pack.CgQFVt/_old 2023-11-23 21:41:12.944745690 +0100
+++ /var/tmp/diff_new_pack.CgQFVt/_new 2023-11-23 21:41:12.948745838 +0100
@@ -27,14 +27,10 @@
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{ve…
BuildRequires: ghc-Cabal-devel
-BuildRequires: ghc-OneTuple-devel
-BuildRequires: ghc-OneTuple-prof
BuildRequires: ghc-base-compat-devel
BuildRequires: ghc-base-compat-prof
BuildRequires: ghc-base-devel
BuildRequires: ghc-base-prof
-BuildRequires: ghc-foldable1-classes-compat-devel
-BuildRequires: ghc-foldable1-classes-compat-prof
BuildRequires: ghc-rpm-macros
ExcludeArch: %{ix86}
%if %{with tests}
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package 000release-packages for openSUSE:Factory checked in at 2023-11-23 22:41:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000release-packages (Old)
and /work/SRC/openSUSE:Factory/.000release-packages.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000release-packages"
Thu Nov 23 22:41:30 2023 rev:2605 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ Aeon-release.spec ++++++
--- /var/tmp/diff_new_pack.zFWCWj/_old 2023-11-23 22:41:33.274048717 +0100
+++ /var/tmp/diff_new_pack.zFWCWj/_new 2023-11-23 22:41:33.274048717 +0100
@@ -17,7 +17,7 @@
Name: Aeon-release
-Version: 20231122
+Version: 20231123
Release: 0
Summary: openSUSE Aeon
License: GPL-2.0-or-later
@@ -172,9 +172,9 @@
%include %{SOURCE100}
Provides: %name-%version
Provides: product() = Aeon
-Provides: product(Aeon) = 20231122-0
+Provides: product(Aeon) = 20231123-0
Provides: product-label() = openSUSE%20Aeon
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aaeon%3A20231122
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aaeon%3A20231123
Provides: product-url(releasenotes) = http%3A%2F%2Fdoc.opensuse.org%2Frelease%2Dnotes%2Fx86_64%2FopenSUSE%2FTumbleweed%2Frelease%2Dnotes%2DopenSUSE.rpm
Provides: product-endoflife()
Requires: product_flavor(Aeon)
@@ -190,7 +190,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(Aeon) = 20231122-0
+Provides: product_flavor(Aeon) = 20231123-0
Summary: openSUSE Aeon%{?betaversion: %{betaversion}}
%description appliance
@@ -255,11 +255,11 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>Aeon</name>
- <version>20231122</version>
+ <version>20231123</version>
<release>0</release>
<endoflife></endoflife>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:aeon:20231122</cpeid>
+ <cpeid>cpe:/o:opensuse:aeon:20231123</cpeid>
<productline>Aeon</productline>
<register>
<pool>
++++++ MicroOS-release.spec ++++++
--- /var/tmp/diff_new_pack.zFWCWj/_old 2023-11-23 22:41:33.302049747 +0100
+++ /var/tmp/diff_new_pack.zFWCWj/_new 2023-11-23 22:41:33.302049747 +0100
@@ -17,7 +17,7 @@
Name: MicroOS-release
-Version: 20231122
+Version: 20231123
Release: 0
Summary: openSUSE MicroOS
License: GPL-2.0-or-later
@@ -177,9 +177,9 @@
%include %{SOURCE100}
Provides: %name-%version
Provides: product() = MicroOS
-Provides: product(MicroOS) = 20231122-0
+Provides: product(MicroOS) = 20231123-0
Provides: product-label() = openSUSE%20MicroOS
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Amicroos%3A20231122
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Amicroos%3A20231123
Provides: product-url(releasenotes) = http%3A%2F%2Fdoc.opensuse.org%2Frelease%2Dnotes%2Fx86_64%2FopenSUSE%2FTumbleweed%2Frelease%2Dnotes%2DopenSUSE.rpm
Provides: product-endoflife()
Requires: product_flavor(MicroOS)
@@ -195,7 +195,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(dvd)
-Provides: product_flavor(MicroOS) = 20231122-0
+Provides: product_flavor(MicroOS) = 20231123-0
Summary: openSUSE MicroOS%{?betaversion: %{betaversion}}
%description dvd
@@ -211,7 +211,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(MicroOS) = 20231122-0
+Provides: product_flavor(MicroOS) = 20231123-0
Summary: openSUSE MicroOS%{?betaversion: %{betaversion}}
%description appliance
@@ -276,11 +276,11 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>MicroOS</name>
- <version>20231122</version>
+ <version>20231123</version>
<release>0</release>
<endoflife></endoflife>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:microos:20231122</cpeid>
+ <cpeid>cpe:/o:opensuse:microos:20231123</cpeid>
<productline>MicroOS</productline>
<register>
<pool>
++++++ openSUSE-Addon-NonOss-release.spec ++++++
--- /var/tmp/diff_new_pack.zFWCWj/_old 2023-11-23 22:41:33.326050632 +0100
+++ /var/tmp/diff_new_pack.zFWCWj/_new 2023-11-23 22:41:33.330050778 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package openSUSE-Addon-NonOss-release (Version 20231122)
+# spec file for package openSUSE-Addon-NonOss-release (Version 20231123)
#
# Copyright (c) 2023 openSUSE.
#
@@ -16,7 +16,7 @@
Name: openSUSE-Addon-NonOss-release
%define product openSUSE-Addon-NonOss
Summary: openSUSE NonOSS Addon%{?betaversion: %{betaversion}}
-Version: 20231122
+Version: 20231123
#!BcntSyncTag: openSUSE-Addon-NonOss
Release: 0
License: BSD-3-Clause
@@ -25,9 +25,9 @@
Provides: %name-%version
Provides: product() = openSUSE%2DAddon%2DNonOss
-Provides: product(openSUSE-Addon-NonOss) = 20231122-0
+Provides: product(openSUSE-Addon-NonOss) = 20231123-0
Provides: product-label() = non%20oss%20addon
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20231122
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20231123
AutoReqProv: on
@@ -50,10 +50,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20231122</version>
+ <version>20231123</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20231122</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20231123</cpeid>
<register>
<pool>
</pool>
++++++ openSUSE-release.spec ++++++
--- /var/tmp/diff_new_pack.zFWCWj/_old 2023-11-23 22:41:33.354051662 +0100
+++ /var/tmp/diff_new_pack.zFWCWj/_new 2023-11-23 22:41:33.354051662 +0100
@@ -20,7 +20,7 @@
#define betaversion %{nil}
%define codename Tumbleweed
Name: openSUSE-release
-Version: 20231122
+Version: 20231123
Release: 0
# 0 is the product release, not the build release of this package
Summary: openSUSE Tumbleweed
@@ -181,7 +181,7 @@
%include %{SOURCE100}
Provides: %name-%version
Provides: product() = openSUSE
-Provides: product(openSUSE) = 20231122-0
+Provides: product(openSUSE) = 20231123-0
%ifarch x86_64
Provides: product-register-target() = openSUSE%2DTumbleweed%2Dx86_64
%endif
@@ -195,7 +195,7 @@
Provides: product-register-target() = openSUSE%2DTumbleweed%2Daarch64
%endif
Provides: product-label() = openSUSE
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%3A20231122
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%3A20231123
Provides: product-url(releasenotes) = http%3A%2F%2Fdoc.opensuse.org%2Frelease%2Dnotes%2Fx86_64%2FopenSUSE%2FTumbleweed%2Frelease%2Dnotes%2DopenSUSE.rpm
Provides: product-url(repository) = http%3A%2F%2Fdownload.opensuse.org%2Ftumbleweed%2Frepo%2Foss%2F
Requires: product_flavor(openSUSE)
@@ -209,7 +209,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(ftp)
-Provides: product_flavor(openSUSE) = 20231122-0
+Provides: product_flavor(openSUSE) = 20231123-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description ftp
@@ -224,7 +224,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(mini)
-Provides: product_flavor(openSUSE) = 20231122-0
+Provides: product_flavor(openSUSE) = 20231123-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description mini
@@ -239,7 +239,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(dvd)
-Provides: product_flavor(openSUSE) = 20231122-0
+Provides: product_flavor(openSUSE) = 20231123-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description dvd
@@ -254,7 +254,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-kde)
-Provides: product_flavor(openSUSE) = 20231122-0
+Provides: product_flavor(openSUSE) = 20231123-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-kde
@@ -269,7 +269,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-x11)
-Provides: product_flavor(openSUSE) = 20231122-0
+Provides: product_flavor(openSUSE) = 20231123-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-x11
@@ -284,7 +284,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-gnome)
-Provides: product_flavor(openSUSE) = 20231122-0
+Provides: product_flavor(openSUSE) = 20231123-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-gnome
@@ -299,7 +299,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-xfce)
-Provides: product_flavor(openSUSE) = 20231122-0
+Provides: product_flavor(openSUSE) = 20231123-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-xfce
@@ -314,7 +314,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-kde)
-Provides: product_flavor(openSUSE) = 20231122-0
+Provides: product_flavor(openSUSE) = 20231123-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description usb-kde
@@ -329,7 +329,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-gnome)
-Provides: product_flavor(openSUSE) = 20231122-0
+Provides: product_flavor(openSUSE) = 20231123-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description usb-gnome
@@ -344,7 +344,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-x11)
-Provides: product_flavor(openSUSE) = 20231122-0
+Provides: product_flavor(openSUSE) = 20231123-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description usb-x11
@@ -359,7 +359,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(openSUSE) = 20231122-0
+Provides: product_flavor(openSUSE) = 20231123-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance
@@ -374,7 +374,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-docker)
-Provides: product_flavor(openSUSE) = 20231122-0
+Provides: product_flavor(openSUSE) = 20231123-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-docker
@@ -389,7 +389,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-kvm)
-Provides: product_flavor(openSUSE) = 20231122-0
+Provides: product_flavor(openSUSE) = 20231123-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-kvm
@@ -404,7 +404,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-vmware)
-Provides: product_flavor(openSUSE) = 20231122-0
+Provides: product_flavor(openSUSE) = 20231123-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-vmware
@@ -419,7 +419,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-openstack)
-Provides: product_flavor(openSUSE) = 20231122-0
+Provides: product_flavor(openSUSE) = 20231123-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-openstack
@@ -434,7 +434,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-hyperv)
-Provides: product_flavor(openSUSE) = 20231122-0
+Provides: product_flavor(openSUSE) = 20231123-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-hyperv
@@ -449,7 +449,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-vagrant)
-Provides: product_flavor(openSUSE) = 20231122-0
+Provides: product_flavor(openSUSE) = 20231123-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-vagrant
@@ -464,7 +464,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-wsl)
-Provides: product_flavor(openSUSE) = 20231122-0
+Provides: product_flavor(openSUSE) = 20231123-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-wsl
@@ -479,7 +479,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-custom)
-Provides: product_flavor(openSUSE) = 20231122-0
+Provides: product_flavor(openSUSE) = 20231123-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-custom
@@ -559,10 +559,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20231122</version>
+ <version>20231123</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse:20231122</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse:20231123</cpeid>
<productline>openSUSE</productline>
<register>
<target>openSUSE-Tumbleweed-x86_64</target>
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-email-validator for openSUSE:Factory checked in at 2023-11-23 21:38:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-email-validator (Old)
and /work/SRC/openSUSE:Factory/.python-email-validator.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-email-validator"
Thu Nov 23 21:38:34 2023 rev:6 rq:1128295 version:2.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-email-validator/python-email-validator.changes 2023-05-26 20:15:09.320148885 +0200
+++ /work/SRC/openSUSE:Factory/.python-email-validator.new.25432/python-email-validator.changes 2023-11-23 21:38:38.155044165 +0100
@@ -1,0 +2,16 @@
+Thu Nov 16 10:02:55 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 2.1.0:
+ * Python 3.8+ is now required (support for Python 3.7 was
+ dropped).
+ * The old `email` field on the returned `ValidatedEmail`
+ object, which in the previous version was superseded by
+ `normalized`, will now raise a deprecation warning if used.
+ See https://stackoverflow.com/q/879173 for strategies to
+ suppress the DeprecationWarning.
+ * A `__version__` module attribute is added.
+ * The email address argument to validate_email is now marked as
+ positional-only to better reflect the documented usage using
+ the new Python 3.8 feature.
+
+-------------------------------------------------------------------
Old:
----
email_validator-2.0.0.tar.gz
New:
----
email_validator-2.1.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-email-validator.spec ++++++
--- /var/tmp/diff_new_pack.huSog3/_old 2023-11-23 21:38:38.991074963 +0100
+++ /var/tmp/diff_new_pack.huSog3/_new 2023-11-23 21:38:38.995075110 +0100
@@ -17,9 +17,8 @@
%{?sle15_python_module_pythons}
-%define skip_python2 1
Name: python-email-validator
-Version: 2.0.0
+Version: 2.1.0
Release: 0
Summary: A robust email syntax and deliverability validation library for Python
License: CC0-1.0
@@ -30,6 +29,7 @@
Patch0: ignore-urllib3-pyopenssl-warning.patch
# PATCH-FIX-OPENSUSE do not require /etc/resolv.conf for testing
Patch1: dont-require-resolv-tests.patch
+BuildRequires: %{python_module base >= 3.8}
BuildRequires: %{python_module dnspython >= 1.15.0}
BuildRequires: %{python_module idna >= 2.0.0}
BuildRequires: %{python_module pytest >= 5.0}
++++++ email_validator-2.0.0.tar.gz -> email_validator-2.1.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-email-validator-2.0.0/.github/workflows/test_and_build.yaml new/python-email-validator-2.1.0/.github/workflows/test_and_build.yaml
--- old/python-email-validator-2.0.0/.github/workflows/test_and_build.yaml 2023-04-19 23:04:26.000000000 +0200
+++ new/python-email-validator-2.1.0/.github/workflows/test_and_build.yaml 2023-10-22 13:30:59.000000000 +0200
@@ -8,7 +8,7 @@
runs-on: ubuntu-latest
strategy:
matrix:
- python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12.0-alpha.5"]
+ python-version: ["3.8", "3.9", "3.10", "3.11", "3.12.0"]
steps:
- uses: actions/checkout@v3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-email-validator-2.0.0/.travis.yml new/python-email-validator-2.1.0/.travis.yml
--- old/python-email-validator-2.0.0/.travis.yml 2023-04-19 23:04:26.000000000 +0200
+++ new/python-email-validator-2.1.0/.travis.yml 1970-01-01 01:00:00.000000000 +0100
@@ -1,23 +0,0 @@
-os: linux
-dist: bionic
-language: python
-cache: pip
-
-python:
-- '3.7'
-- '3.8'
-- '3.9'
-- '3.10'
-- '3.11'
-- '3.12-dev'
-
-install:
-- make install
-
-script:
-- make typing
-- make lint
-- make test
-
-after_success:
-- bash <(curl -s https://codecov.io/bash)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-email-validator-2.0.0/CHANGELOG.md new/python-email-validator-2.1.0/CHANGELOG.md
--- old/python-email-validator-2.0.0/CHANGELOG.md 2023-04-19 23:04:26.000000000 +0200
+++ new/python-email-validator-2.1.0/CHANGELOG.md 2023-10-22 13:30:59.000000000 +0200
@@ -1,3 +1,11 @@
+2.1.0 (October 22, 2023)
+------------------------
+
+* Python 3.8+ is now required (support for Python 3.7 was dropped).
+* The old `email` field on the returned `ValidatedEmail` object, which in the previous version was superseded by `normalized`, will now raise a deprecation warning if used. See https://stackoverflow.com/q/879173 for strategies to suppress the DeprecationWarning.
+* A `__version__` module attribute is added.
+* The email address argument to validate_email is now marked as positional-only to better reflect the documented usage using the new Python 3.8 feature.
+
2.0.0 (April 15, 2023)
----------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-email-validator-2.0.0/README.md new/python-email-validator-2.1.0/README.md
--- old/python-email-validator-2.0.0/README.md 2023-04-19 23:04:26.000000000 +0200
+++ new/python-email-validator-2.1.0/README.md 2023-10-22 13:30:59.000000000 +0200
@@ -2,7 +2,7 @@
=========================================
A robust email address syntax and deliverability validation library for
-Python 3.7+ by [Joshua Tauberer](https://joshdata.me).
+Python 3.8+ by [Joshua Tauberer](https://joshdata.me).
This library validates that a string is of the form `name(a)example.com`
and optionally checks that the domain name is set up to receive email.
@@ -163,7 +163,7 @@
### Test addresses
-This library rejects email addresess that use the [Special Use Domain Names](https://www.iana.org/assignments/special-use-domain-names/special-us… `invalid`, `localhost`, `test`, and some others by raising `EmailSyntaxError`. This is to protect your system from abuse: You probably don't want a user to be able to cause an email to be sent to `localhost` (although they might be able to still do so via a malicious MX record). However, in your non-production test environments you may want to use `@test` or `(a)myname.test` email addresses. There are three ways you can allow this:
+This library rejects email addresses that use the [Special Use Domain Names](https://www.iana.org/assignments/special-use-domain-names/special-us… `invalid`, `localhost`, `test`, and some others by raising `EmailSyntaxError`. This is to protect your system from abuse: You probably don't want a user to be able to cause an email to be sent to `localhost` (although they might be able to still do so via a malicious MX record). However, in your non-production test environments you may want to use `@test` or `(a)myname.test` email addresses. There are three ways you can allow this:
1. Add `test_environment=True` to the call to `validate_email` (see above).
2. Set `email_validator.TEST_ENVIRONMENT` to `True` globally.
@@ -315,6 +315,14 @@
normalized to condensed form. [RFC 2142](https://datatracker.ietf.org/doc/html/rfc2142)
also requires lowercase normalization for some specific mailbox names like `postmaster@`.
+### Length checks
+
+This library checks that the length of the email address is not longer than
+the maximum length. The check is performed on the normalized form of the
+address, which might be different from a string provided by a user. If you
+send email to the original string and not the normalized address, the email
+might be rejected because the original address could be too long.
+
Examples
--------
@@ -436,14 +444,14 @@
To release:
* Update CHANGELOG.md.
-* Update the version number in setup.cfg.
+* Update the version number in `email_validator/version.py`.
* Make & push a commit with the new version number and make sure tests pass.
* Make & push a tag (see command below).
* Make a release at https://github.com/JoshData/python-email-validator/releases/new.
* Publish a source and wheel distribution to pypi (see command below).
```sh
-git tag v$(grep version setup.cfg | sed "s/.*= //")
+git tag v$(cat email_validator/version.py | sed "s/.* = //" | sed 's/"//g')
git push --tags
./release_to_pypi.sh
```
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-email-validator-2.0.0/email_validator/__init__.py new/python-email-validator-2.1.0/email_validator/__init__.py
--- old/python-email-validator-2.0.0/email_validator/__init__.py 2023-04-19 23:04:26.000000000 +0200
+++ new/python-email-validator-2.1.0/email_validator/__init__.py 2023-10-22 13:30:59.000000000 +0200
@@ -4,12 +4,12 @@
from .exceptions_types import ValidatedEmail, EmailNotValidError, \
EmailSyntaxError, EmailUndeliverableError
from .validate_email import validate_email
-
+from .version import __version__
__all__ = ["validate_email",
"ValidatedEmail", "EmailNotValidError",
"EmailSyntaxError", "EmailUndeliverableError",
- "caching_resolver"]
+ "caching_resolver", "__version__"]
def caching_resolver(*args, **kwargs):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-email-validator-2.0.0/email_validator/exceptions_types.py new/python-email-validator-2.1.0/email_validator/exceptions_types.py
--- old/python-email-validator-2.0.0/email_validator/exceptions_types.py 2023-04-19 23:04:26.000000000 +0200
+++ new/python-email-validator-2.1.0/email_validator/exceptions_types.py 2023-10-22 13:30:59.000000000 +0200
@@ -76,7 +76,13 @@
return self.original
if key == "email":
return self.normalized
- raise AttributeError()
+ raise AttributeError(key)
+
+ @property
+ def email(self):
+ import warnings
+ warnings.warn("ValidatedEmail.email is deprecated and will be removed, use ValidatedEmail.normalized instead", DeprecationWarning)
+ return self.normalized
"""For backwards compatibility, some fields are also exposed through a dict-like interface. Note
that some of the names changed when they became attributes."""
@@ -123,9 +129,10 @@
+ ",".join("\n {}={}".format(
key,
repr(getattr(self, key)))
- for key in ('email', 'local_part', 'domain',
+ for key in ('normalized', 'local_part', 'domain',
'ascii_email', 'ascii_local_part', 'ascii_domain',
'smtputf8', 'mx', 'mx_fallback_type')
+ if hasattr(self, key)
) \
+ ")"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-email-validator-2.0.0/email_validator/syntax.py new/python-email-validator-2.1.0/email_validator/syntax.py
--- old/python-email-validator-2.0.0/email_validator/syntax.py 2023-04-19 23:04:26.000000000 +0200
+++ new/python-email-validator-2.1.0/email_validator/syntax.py 2023-10-22 13:30:59.000000000 +0200
@@ -1,7 +1,8 @@
from .exceptions_types import EmailSyntaxError
from .rfc_constants import EMAIL_MAX_LENGTH, LOCAL_PART_MAX_LENGTH, DOMAIN_MAX_LENGTH, \
DOT_ATOM_TEXT, DOT_ATOM_TEXT_INTL, ATEXT_RE, ATEXT_INTL_RE, ATEXT_HOSTNAME_INTL, QTEXT_INTL, \
- DNS_LABEL_LENGTH_LIMIT, DOT_ATOM_TEXT_HOSTNAME, DOMAIN_NAME_REGEX, DOMAIN_LITERAL_CHARS
+ DNS_LABEL_LENGTH_LIMIT, DOT_ATOM_TEXT_HOSTNAME, DOMAIN_NAME_REGEX, DOMAIN_LITERAL_CHARS, \
+ QUOTED_LOCAL_PART_ADDR
import re
import unicodedata
@@ -10,6 +11,35 @@
from typing import Optional
+def split_email(email):
+ # Return the local part and domain part of the address and
+ # whether the local part was quoted as a three-tuple.
+
+ # Typical email addresses have a single @-sign, but the
+ # awkward "quoted string" local part form (RFC 5321 4.1.2)
+ # allows @-signs (and escaped quotes) to appear in the local
+ # part if the local part is quoted. If the address is quoted,
+ # split it at a non-escaped @-sign and unescape the escaping.
+ if m := QUOTED_LOCAL_PART_ADDR.match(email):
+ local_part, domain_part = m.groups()
+
+ # Since backslash-escaping is no longer needed because
+ # the quotes are removed, remove backslash-escaping
+ # to return in the normalized form.
+ import re
+ local_part = re.sub(r"\\(.)", "\\1", local_part)
+
+ return local_part, domain_part, True
+
+ else:
+ # Split at the one and only at-sign.
+ parts = email.split('@')
+ if len(parts) != 2:
+ raise EmailSyntaxError("The email address is not valid. It must have exactly one @-sign.")
+ local_part, domain_part = parts
+ return local_part, domain_part, False
+
+
def get_length_reason(addr, utf8=False, limit=EMAIL_MAX_LENGTH):
"""Helper function to return an error message related to invalid length."""
diff = len(addr) - limit
@@ -69,8 +99,7 @@
# so if it was originally quoted (quoted_local_part is True) and this regex matches,
# it's ok.
# (RFC 5321 4.1.2 / RFC 5322 3.2.4).
- m = DOT_ATOM_TEXT.match(local)
- if m:
+ if DOT_ATOM_TEXT.match(local):
# It's valid. And since it's just the permitted ASCII characters,
# it's normalized and safe. If the local part was originally quoted,
# the quoting was unnecessary and it'll be returned as normalized to
@@ -89,8 +118,7 @@
# RFC 6531 section 3.3.
valid: Optional[str] = None
requires_smtputf8 = False
- m = DOT_ATOM_TEXT_INTL.match(local)
- if m:
+ if DOT_ATOM_TEXT_INTL.match(local):
# But international characters in the local part may not be permitted.
if not allow_smtputf8:
# Check for invalid characters against the non-internationalized
@@ -347,8 +375,7 @@
# Check the syntax of the string returned by idna.encode.
# It should never fail.
- m = DOT_ATOM_TEXT_HOSTNAME.match(ascii_domain)
- if not m:
+ if not DOT_ATOM_TEXT_HOSTNAME.match(ascii_domain):
raise EmailSyntaxError("The email address contains invalid characters after the @-sign after IDNA encoding.")
# Check the length of the domain name in bytes.
@@ -370,7 +397,7 @@
raise EmailSyntaxError(f"After the @-sign, periods cannot be separated by so many characters {reason}.")
if globally_deliverable:
- # All publicly deliverable addresses have domain named with at least
+ # All publicly deliverable addresses have domain names with at least
# one period, at least for gTLDs created since 2013 (per the ICANN Board
# New gTLD Program Committee, https://www.icann.org/en/announcements/details/new-gtld-dotless-domain-name…).
# We'll consider the lack of a period a syntax error
@@ -431,7 +458,48 @@
}
-def validate_email_domain_literal(domain_literal, allow_domain_literal=False):
+def validate_email_length(addrinfo):
+ # If the email address has an ASCII representation, then we assume it may be
+ # transmitted in ASCII (we can't assume SMTPUTF8 will be used on all hops to
+ # the destination) and the length limit applies to ASCII characters (which is
+ # the same as octets). The number of characters in the internationalized form
+ # may be many fewer (because IDNA ASCII is verbose) and could be less than 254
+ # Unicode characters, and of course the number of octets over the limit may
+ # not be the number of characters over the limit, so if the email address is
+ # internationalized, we can't give any simple information about why the address
+ # is too long.
+ if addrinfo.ascii_email and len(addrinfo.ascii_email) > EMAIL_MAX_LENGTH:
+ if addrinfo.ascii_email == addrinfo.normalized:
+ reason = get_length_reason(addrinfo.ascii_email)
+ elif len(addrinfo.normalized) > EMAIL_MAX_LENGTH:
+ # If there are more than 254 characters, then the ASCII
+ # form is definitely going to be too long.
+ reason = get_length_reason(addrinfo.normalized, utf8=True)
+ else:
+ reason = "(when converted to IDNA ASCII)"
+ raise EmailSyntaxError(f"The email address is too long {reason}.")
+
+ # In addition, check that the UTF-8 encoding (i.e. not IDNA ASCII and not
+ # Unicode characters) is at most 254 octets. If the addres is transmitted using
+ # SMTPUTF8, then the length limit probably applies to the UTF-8 encoded octets.
+ # If the email address has an ASCII form that differs from its internationalized
+ # form, I don't think the internationalized form can be longer, and so the ASCII
+ # form length check would be sufficient. If there is no ASCII form, then we have
+ # to check the UTF-8 encoding. The UTF-8 encoding could be up to about four times
+ # longer than the number of characters.
+ #
+ # See the length checks on the local part and the domain.
+ if len(addrinfo.normalized.encode("utf8")) > EMAIL_MAX_LENGTH:
+ if len(addrinfo.normalized) > EMAIL_MAX_LENGTH:
+ # If there are more than 254 characters, then the UTF-8
+ # encoding is definitely going to be too long.
+ reason = get_length_reason(addrinfo.normalized, utf8=True)
+ else:
+ reason = "(when encoded in bytes)"
+ raise EmailSyntaxError(f"The email address is too long {reason}.")
+
+
+def validate_email_domain_literal(domain_literal):
# This is obscure domain-literal syntax. Parse it and return
# a compressed/normalized address.
# RFC 5321 4.1.3 and RFC 5322 3.4.1.
@@ -444,8 +512,6 @@
addr = ipaddress.IPv4Address(domain_literal)
except ValueError as e:
raise EmailSyntaxError(f"The address in brackets after the @-sign is not valid: It is not an IPv4 address ({e}) or is missing an address literal tag.")
- if not allow_domain_literal:
- raise EmailSyntaxError("A bracketed IPv4 address after the @-sign is not allowed here.")
# Return the IPv4Address object and the domain back unchanged.
return {
@@ -459,8 +525,6 @@
addr = ipaddress.IPv6Address(domain_literal[5:])
except ValueError as e:
raise EmailSyntaxError(f"The IPv6 address in brackets after the @-sign is not valid ({e}).")
- if not allow_domain_literal:
- raise EmailSyntaxError("A bracketed IPv6 address after the @-sign is not allowed here.")
# Return the IPv6Address object and construct a normalized
# domain literal.
@@ -469,6 +533,8 @@
"domain": f"[IPv6:{addr.compressed}]",
}
+ # Nothing else is valid.
+
if ":" not in domain_literal:
raise EmailSyntaxError("The part after the @-sign in brackets is not an IPv4 address and has no address literal tag.")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-email-validator-2.0.0/email_validator/validate_email.py new/python-email-validator-2.1.0/email_validator/validate_email.py
--- old/python-email-validator-2.0.0/email_validator/validate_email.py 2023-04-19 23:04:26.000000000 +0200
+++ new/python-email-validator-2.1.0/email_validator/validate_email.py 2023-10-22 13:30:59.000000000 +0200
@@ -1,14 +1,14 @@
from typing import Optional, Union
from .exceptions_types import EmailSyntaxError, ValidatedEmail
-from .syntax import validate_email_local_part, validate_email_domain_name, validate_email_domain_literal, get_length_reason
-from .rfc_constants import EMAIL_MAX_LENGTH, QUOTED_LOCAL_PART_ADDR, CASE_INSENSITIVE_MAILBOX_NAMES
+from .syntax import split_email, validate_email_local_part, validate_email_domain_name, validate_email_domain_literal, validate_email_length
+from .rfc_constants import CASE_INSENSITIVE_MAILBOX_NAMES
def validate_email(
email: Union[str, bytes],
- # /, # not supported in Python 3.6, 3.7
- *,
+ /, # prior arguments are positional-only
+ *, # subsequent arguments are keyword-only
allow_smtputf8: Optional[bool] = None,
allow_empty_local: bool = False,
allow_quoted_local: Optional[bool] = None,
@@ -20,9 +20,9 @@
dns_resolver: Optional[object] = None
) -> ValidatedEmail:
"""
- Validates an email address, raising an EmailNotValidError if the address is not valid or returning a dict of
- information when the address is valid. The email argument can be a str or a bytes instance,
- but if bytes it must be ASCII-only. This is the main method of this library.
+ Given an email address, and some options, returns a ValidatedEmail instance
+ with information about the address if it is valid or, if the address is not
+ valid, raises an EmailNotValidError. This is the main function of the module.
"""
# Fill in default values of arguments.
@@ -52,27 +52,13 @@
except ValueError:
raise EmailSyntaxError("The email address is not valid ASCII.")
- # Typical email addresses have a single @-sign, but the
- # awkward "quoted string" local part form (RFC 5321 4.1.2)
- # allows @-signs (and escaped quotes) to appear in the local
- # part if the local part is quoted. If the address is quoted,
- # split it at a non-escaped @-sign and unescape the escaping.
- quoted_local_part = False
- m = QUOTED_LOCAL_PART_ADDR.match(email)
- if m:
- quoted_local_part = True
- local_part, domain_part = m.groups()
-
- # Remove backslashes.
- import re
- local_part = re.sub(r"\\(.)", "\\1", local_part)
-
- else:
- # Split at the one and only at-sign.
- parts = email.split('@')
- if len(parts) != 2:
- raise EmailSyntaxError("The email address is not valid. It must have exactly one @-sign.")
- local_part, domain_part = parts
+ # Split the address into the local part (before the @-sign)
+ # and the domain part (after the @-sign). Normally, there
+ # is only one @-sign. But the awkward "quoted string" local
+ # part form (RFC 5321 4.1.2) allows @-signs in the local
+ # part if the local part is quoted.
+ local_part, domain_part, is_quoted_local_part \
+ = split_email(email)
# Collect return values in this instance.
ret = ValidatedEmail()
@@ -85,13 +71,17 @@
local_part_info = validate_email_local_part(local_part,
allow_smtputf8=allow_smtputf8,
allow_empty_local=allow_empty_local,
- quoted_local_part=quoted_local_part)
- if quoted_local_part and not allow_quoted_local:
- raise EmailSyntaxError("Quoting the part before the @-sign is not allowed here.")
+ quoted_local_part=is_quoted_local_part)
ret.local_part = local_part_info["local_part"]
ret.ascii_local_part = local_part_info["ascii_local_part"]
ret.smtputf8 = local_part_info["smtputf8"]
+ # If a quoted local part isn't allowed but is present, now raise an exception.
+ # This is done after any exceptions raised by validate_email_local_part so
+ # that mandatory checks have highest precedence.
+ if is_quoted_local_part and not allow_quoted_local:
+ raise EmailSyntaxError("Quoting the part before the @-sign is not allowed here.")
+
# Some local parts are required to be case-insensitive, so we should normalize
# to lowercase.
# RFC 2142
@@ -108,7 +98,9 @@
elif domain_part.startswith("[") and domain_part.endswith("]"):
# Parse the address in the domain literal and get back a normalized domain.
- domain_part_info = validate_email_domain_literal(domain_part[1:-1], allow_domain_literal=allow_domain_literal)
+ domain_part_info = validate_email_domain_literal(domain_part[1:-1])
+ if not allow_domain_literal:
+ raise EmailSyntaxError("A bracketed IP address after the @-sign is not allowed here.")
ret.domain = domain_part_info["domain"]
ret.ascii_domain = domain_part_info["domain"] # Domain literals are always ASCII.
ret.domain_address = domain_part_info["domain_address"]
@@ -132,48 +124,12 @@
else:
ret.ascii_email = None
- # If the email address has an ASCII representation, then we assume it may be
- # transmitted in ASCII (we can't assume SMTPUTF8 will be used on all hops to
- # the destination) and the length limit applies to ASCII characters (which is
- # the same as octets). The number of characters in the internationalized form
- # may be many fewer (because IDNA ASCII is verbose) and could be less than 254
- # Unicode characters, and of course the number of octets over the limit may
- # not be the number of characters over the limit, so if the email address is
- # internationalized, we can't give any simple information about why the address
- # is too long.
- #
- # In addition, check that the UTF-8 encoding (i.e. not IDNA ASCII and not
- # Unicode characters) is at most 254 octets. If the addres is transmitted using
- # SMTPUTF8, then the length limit probably applies to the UTF-8 encoded octets.
- # If the email address has an ASCII form that differs from its internationalized
- # form, I don't think the internationalized form can be longer, and so the ASCII
- # form length check would be sufficient. If there is no ASCII form, then we have
- # to check the UTF-8 encoding. The UTF-8 encoding could be up to about four times
- # longer than the number of characters.
- #
- # See the length checks on the local part and the domain.
- if ret.ascii_email and len(ret.ascii_email) > EMAIL_MAX_LENGTH:
- if ret.ascii_email == ret.normalized:
- reason = get_length_reason(ret.ascii_email)
- elif len(ret.normalized) > EMAIL_MAX_LENGTH:
- # If there are more than 254 characters, then the ASCII
- # form is definitely going to be too long.
- reason = get_length_reason(ret.normalized, utf8=True)
- else:
- reason = "(when converted to IDNA ASCII)"
- raise EmailSyntaxError(f"The email address is too long {reason}.")
- if len(ret.normalized.encode("utf8")) > EMAIL_MAX_LENGTH:
- if len(ret.normalized) > EMAIL_MAX_LENGTH:
- # If there are more than 254 characters, then the UTF-8
- # encoding is definitely going to be too long.
- reason = get_length_reason(ret.normalized, utf8=True)
- else:
- reason = "(when encoded in bytes)"
- raise EmailSyntaxError(f"The email address is too long {reason}.")
+ # Check the length of the address.
+ validate_email_length(ret)
if check_deliverability and not test_environment:
# Validate the email address's deliverability using DNS
- # and update the return dict with metadata.
+ # and update the returned ValidatedEmail object with metadata.
if is_domain_literal:
# There is nothing to check --- skip deliverability checks.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-email-validator-2.0.0/email_validator/version.py new/python-email-validator-2.1.0/email_validator/version.py
--- old/python-email-validator-2.0.0/email_validator/version.py 1970-01-01 01:00:00.000000000 +0100
+++ new/python-email-validator-2.1.0/email_validator/version.py 2023-10-22 13:30:59.000000000 +0200
@@ -0,0 +1 @@
+__version__ = "2.1.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-email-validator-2.0.0/setup.cfg new/python-email-validator-2.1.0/setup.cfg
--- old/python-email-validator-2.0.0/setup.cfg 2023-04-19 23:04:26.000000000 +0200
+++ new/python-email-validator-2.1.0/setup.cfg 2023-10-22 13:30:59.000000000 +0200
@@ -1,6 +1,6 @@
[metadata]
name = email_validator
-version = 2.0.0.post2
+version = attr: email_validator.version.__version__
description = A robust email address syntax and deliverability validation library.
long_description = file: README.md
long_description_content_type = text/markdown
@@ -14,11 +14,11 @@
Intended Audience :: Developers
License :: CC0 1.0 Universal (CC0 1.0) Public Domain Dedication
Programming Language :: Python :: 3
- Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11
+ Programming Language :: Python :: 3.12
Topic :: Software Development :: Libraries :: Python Modules
keywords = email address validator
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-email-validator-2.0.0/test_requirements.txt new/python-email-validator-2.1.0/test_requirements.txt
--- old/python-email-validator-2.0.0/test_requirements.txt 2023-04-19 23:04:26.000000000 +0200
+++ new/python-email-validator-2.1.0/test_requirements.txt 2023-10-22 13:30:59.000000000 +0200
@@ -1,5 +1,5 @@
# This file was generated by running:
-# sudo docker run --rm -it --network=host python:3.7-slim /bin/bash
+# sudo docker run --rm -it --network=host python:3.8-slim /bin/bash
# pip install dnspython idna # from setup.cfg
# pip install pytest pytest-cov coverage flake8 mypy
# pip freeze
@@ -7,24 +7,20 @@
# the earliest Python version we support, and some exception
# messages may depend on package versions, so we pin versions
# for reproducible testing.)
-attrs==22.2.0
-coverage==7.2.1
-dnspython==2.3.0
-exceptiongroup==1.1.0
-flake8==5.0.4
+coverage==7.3.2
+dnspython==2.4.2
+exceptiongroup==1.1.3
+flake8==6.1.0
idna==3.4
-importlib-metadata==4.2.0
iniconfig==2.0.0
mccabe==0.7.0
-mypy==1.0.1
+mypy==1.6.1
mypy-extensions==1.0.0
-packaging==23.0
-pluggy==1.0.0
-pycodestyle==2.9.1
-pyflakes==2.5.0
-pytest==7.2.1
-pytest-cov==4.0.0
+packaging==23.2
+pluggy==1.3.0
+pycodestyle==2.11.1
+pyflakes==3.1.0
+pytest==7.4.2
+pytest-cov==4.1.0
tomli==2.0.1
-typed-ast==1.5.4
-typing_extensions==4.5.0
-zipp==3.15.0
+typing_extensions==4.8.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-email-validator-2.0.0/tests/test_main.py new/python-email-validator-2.1.0/tests/test_main.py
--- old/python-email-validator-2.0.0/tests/test_main.py 2023-04-19 23:04:26.000000000 +0200
+++ new/python-email-validator-2.1.0/tests/test_main.py 2023-10-22 13:30:59.000000000 +0200
@@ -58,3 +58,10 @@
input_email = "testaddr中example.tld".encode("utf32")
with pytest.raises(EmailSyntaxError):
validate_email(input_email, check_deliverability=False)
+
+
+def test_deprecation():
+ input_email = b"testaddr(a)example.tld"
+ valid_email = validate_email(input_email, check_deliverability=False)
+ with pytest.deprecated_call():
+ assert valid_email.email is not None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-email-validator-2.0.0/tests/test_syntax.py new/python-email-validator-2.1.0/tests/test_syntax.py
--- old/python-email-validator-2.0.0/tests/test_syntax.py 2023-04-19 23:04:26.000000000 +0200
+++ new/python-email-validator-2.1.0/tests/test_syntax.py 2023-10-22 13:30:59.000000000 +0200
@@ -78,8 +78,12 @@
assert emailinfo == output
assert validate_email(email_input, check_deliverability=False, allow_smtputf8=True) == output
- # Check that the old way to access the normalized form still works.
- assert emailinfo.email == emailinfo.normalized
+ # Check that the old `email` attribute to access the normalized form still works
+ # if the DeprecationWarning is suppressed.
+ import warnings
+ with warnings.catch_warnings():
+ warnings.filterwarnings("ignore", category=DeprecationWarning)
+ assert emailinfo.email == emailinfo.normalized
@pytest.mark.parametrize(
@@ -326,9 +330,9 @@
('me(a)xn--0.tld', 'The part after the @-sign is not valid IDNA (Invalid A-label).'),
('me(a)yy--0.tld', 'An email address cannot have two letters followed by two dashes immediately after the @-sign or after a period, except Punycode.'),
('me(a)yy--0.tld', 'An email address cannot have two letters followed by two dashes immediately after the @-sign or after a period, except Punycode.'),
- ('me(a)[127.0.0.1]', 'A bracketed IPv4 address after the @-sign is not allowed here.'),
+ ('me(a)[127.0.0.1]', 'A bracketed IP address after the @-sign is not allowed here.'),
('me(a)[127.0.0.999]', 'The address in brackets after the @-sign is not valid: It is not an IPv4 address (Octet 999 (> 255) not permitted in \'127.0.0.999\') or is missing an address literal tag.'),
- ('me@[IPv6:::1]', 'A bracketed IPv6 address after the @-sign is not allowed here.'),
+ ('me@[IPv6:::1]', 'A bracketed IP address after the @-sign is not allowed here.'),
('me@[IPv6:::G]', 'The IPv6 address in brackets after the @-sign is not valid (Only hex digits permitted in \'G\' in \'::G\').'),
('me@[tag:text]', 'The part after the @-sign contains an invalid address literal tag in brackets.'),
('me@[untaggedtext]', 'The part after the @-sign in brackets is not an IPv4 address and has no address literal tag.'),
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gstreamer-plugins-bad for openSUSE:Factory checked in at 2023-11-23 21:38:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gstreamer-plugins-bad (Old)
and /work/SRC/openSUSE:Factory/.gstreamer-plugins-bad.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gstreamer-plugins-bad"
Thu Nov 23 21:38:49 2023 rev:154 rq:1128053 version:1.22.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/gstreamer-plugins-bad/gstreamer-plugins-bad.changes 2023-11-17 20:49:11.392372740 +0100
+++ /work/SRC/openSUSE:Factory/.gstreamer-plugins-bad.new.25432/gstreamer-plugins-bad.changes 2023-11-23 21:38:59.915845802 +0100
@@ -1,0 +2,8 @@
+Tue Nov 21 16:06:50 UTC 2023 - Bjørn Lie <bjorn.lie(a)gmail.com>
+
+- Move pkgconfig(dvdnav) and pkgconfig(dvdread) BuildRequires out
+ of BUILD_ORIG conditional, and stop passing resindvd=disabled and
+ siren=disabled to meson setup, build dvd and siren 7 support in
+ main package.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gstreamer-plugins-bad.spec ++++++
--- /var/tmp/diff_new_pack.b1M5nr/_old 2023-11-23 21:39:00.839879842 +0100
+++ /var/tmp/diff_new_pack.b1M5nr/_new 2023-11-23 21:39:00.843879989 +0100
@@ -116,6 +116,8 @@
BuildRequires: pkgconfig(bzip2)
BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(dirac) >= 0.10
+BuildRequires: pkgconfig(dvdnav) >= 4.1.2
+BuildRequires: pkgconfig(dvdread) >= 4.1.2
BuildRequires: pkgconfig(egl)
%if %{with fluidsynth}
BuildRequires: pkgconfig(fluidsynth)
@@ -228,8 +230,6 @@
%endif
%if 0%{?BUILD_ORIG}
-BuildRequires: pkgconfig(dvdnav) >= 4.1.2
-BuildRequires: pkgconfig(dvdread) >= 4.1.2
BuildRequires: pkgconfig(libde265) >= 0.9
BuildRequires: pkgconfig(libmodplug)
BuildRequires: pkgconfig(libopenaptx) == 0.2.0
@@ -750,91 +750,89 @@
export PYTHON=%{_bindir}/python3
%meson \
%if ! 0%{?BUILD_ORIG}
- -Dpackage-name='openSUSE GStreamer-plugins-bad package' \
- -Dpackage-origin='http://download.opensuse.org' \
- -Ddecklink=disabled \
- -Dlibde265=disabled \
- -Dmodplug=disabled \
- -Dopenh264=disabled \
- -Dresindvd=disabled \
- -Drtmp=disabled \
- -Dsiren=disabled \
- -Dvoaacenc=disabled \
- -Dx265=disabled \
- -Dopenaptx=disabled \
+ -D package-name='openSUSE GStreamer-plugins-bad package' \
+ -D package-origin='http://download.opensuse.org' \
+ -D decklink=disabled \
+ -D libde265=disabled \
+ -D modplug=disabled \
+ -D openh264=disabled \
+ -D rtmp=disabled \
+ -D voaacenc=disabled \
+ -D x265=disabled \
+ -D openaptx=disabled \
%endif
- -Dgpl=enabled \
+ -D gpl=enabled \
%if %{without avtp}
- -Davtp=disabled \
+ -D avtp=disabled \
%endif
%if %{without faac}
- -Dfaac=disabled \
+ -D faac=disabled \
%endif
%if %{without faad}
- -Dfaad=disabled \
+ -D faad=disabled \
%endif
%if %{without fdk_aac}
- -Dfdkaac=disabled \
+ -D fdkaac=disabled \
%endif
%if %{without openh264}
- -Dopenh264=disabled \
+ -D openh264=disabled \
%endif
- -Ddirectfb=disabled \
- -Ddoc=disabled \
- -Dexamples=disabled \
- -Dfestival=disabled \
- -Dflite=disabled \
+ -D directfb=disabled \
+ -D doc=disabled \
+ -D examples=disabled \
+ -D festival=disabled \
+ -D flite=disabled \
%if %{without fluidsynth}
- -Dfluidsynth=disabled \
+ -D fluidsynth=disabled \
%endif
%if %{without openjp2}
- -Dopenjpeg=disabled \
+ -D openjpeg=disabled \
%endif
%if %{without zxing}
- -Dzxing=disabled \
+ -D zxing=disabled \
%endif
%if %{without zbar}
- -Dzbar=disabled \
+ -D zbar=disabled \
%endif
%if %{without ldacBT}
- -Dldac=disabled \
+ -D ldac=disabled \
%endif
- -Dhls-crypto=openssl \
- -Dintrospection=enabled \
- -Diqa=disabled \
- -Dkate=disabled \
- -Dmagicleap=disabled \
+ -D hls-crypto=openssl \
+ -D introspection=enabled \
+ -D iqa=disabled \
+ -D kate=disabled \
+ -D magicleap=disabled \
%if %{without microdns}
- -Dmicrodns=disabled \
+ -D microdns=disabled \
%else
- -Dmicrodns=enabled \
+ -D microdns=enabled \
%endif
- -Dopencv=disabled \
- -Dopenni2=disabled \
- -Dopensles=disabled \
- -Dsctp=disabled \
- -Dsvthevcenc=disabled \
- -Dtinyalsa=disabled \
+ -D opencv=disabled \
+ -D openni2=disabled \
+ -D opensles=disabled \
+ -D sctp=disabled \
+ -D svthevcenc=disabled \
+ -D tinyalsa=disabled \
%if %{without voamrwbenc}
- -Dvoamrwbenc=disabled \
+ -D voamrwbenc=disabled \
%endif
- -Dwasapi=disabled \
- -Dwasapi2=disabled \
- -Dwayland=enabled \
- -Dwildmidi=disabled \
- -Dwpe=disabled \
- -Dgs=disabled \
- -Disac=disabled \
- -Donnx=disabled \
+ -D wasapi=disabled \
+ -D wasapi2=disabled \
+ -D wayland=enabled \
+ -D wildmidi=disabled \
+ -D wpe=disabled \
+ -D gs=disabled \
+ -D isac=disabled \
+ -D onnx=disabled \
%ifarch x86_64
- -Dmsdk=enabled \
- -Dqsv=enabled \
+ -D msdk=enabled \
+ -D qsv=enabled \
%else
- -Dmsdk=disabled \
- -Dqsv=disabled \
+ -D msdk=disabled \
+ -D qsv=disabled \
%endif
- -Damfcodec=disabled \
- -Ddirectshow=disabled \
+ -D amfcodec=disabled \
+ -D directshow=disabled \
%{nil}
%meson_build
@@ -1028,6 +1026,8 @@
%ifarch x86_64
%{_libdir}/gstreamer-%{gst_branch}/libgstqsv.so
%endif
+%{_libdir}/gstreamer-%{gst_branch}/libgstsiren.so
+%{_libdir}/gstreamer-%{gst_branch}/libgstresindvd.so
# Explicitly list openSUSE only plugins
%if %{with bs2b}
@@ -1206,8 +1206,6 @@
%{_libdir}/gstreamer-%{gst_branch}/libgstopenh264.so
%endif
%{_libdir}/gstreamer-%{gst_branch}/libgstrtmp.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstsiren.so
%{_libdir}/gstreamer-%{gst_branch}/libgstx265.so
-%{_libdir}/gstreamer-%{gst_branch}/libgstresindvd.so
%endif
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libcaes for openSUSE:Factory checked in at 2023-11-23 21:41:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libcaes (Old)
and /work/SRC/openSUSE:Factory/.libcaes.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libcaes"
Thu Nov 23 21:41:09 2023 rev:20 rq:1128196 version:20231120
Changes:
--------
--- /work/SRC/openSUSE:Factory/libcaes/libcaes.changes 2023-08-09 17:25:11.793359085 +0200
+++ /work/SRC/openSUSE:Factory/.libcaes.new.25432/libcaes.changes 2023-11-23 21:42:35.555788442 +0100
@@ -1,0 +2,6 @@
+Wed Nov 22 18:58:35 UTC 2023 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release 20231120
+ * Build system updates only
+
+-------------------------------------------------------------------
Old:
----
libcaes-alpha-20230406.tar.gz
libcaes-alpha-20230406.tar.gz.asc
New:
----
libcaes-alpha-20231120.tar.gz
libcaes-alpha-20231120.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libcaes.spec ++++++
--- /var/tmp/diff_new_pack.2dUrZ5/_old 2023-11-23 21:42:36.663829254 +0100
+++ /var/tmp/diff_new_pack.2dUrZ5/_new 2023-11-23 21:42:36.663829254 +0100
@@ -20,7 +20,7 @@
%define lname libcaes1
Name: libcaes
-Version: 20230406
+Version: 20231120
Release: 0
Summary: Library for AES encryption
License: LGPL-3.0-or-later
++++++ libcaes-alpha-20230406.tar.gz -> libcaes-alpha-20231120.tar.gz ++++++
++++ 5573 lines of diff (skipped)
1
0