Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-aiosmtpd for openSUSE:Factory
checked in at 2026-09-02 17:02:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-aiosmtpd (Old)
and /work/SRC/openSUSE:Factory/.python-aiosmtpd.new.1265 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-aiosmtpd"
Wed Sep 2 17:02:47 2026 rev:20 rq:1375262 version:1.4.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-aiosmtpd/python-aiosmtpd.changes
2026-01-03 17:28:24.654176084 +0100
+++
/work/SRC/openSUSE:Factory/.python-aiosmtpd.new.1265/python-aiosmtpd.changes
2026-09-02 17:02:51.621562062 +0200
@@ -1,0 +2,6 @@
+Wed Sep 2 02:56:55 UTC 2026 - Steve Kowalik <[email protected]>
+
+- Add patch do-not-use-typing-bytestring.patch:
+ * Do not use typing.ByteString.
+
+-------------------------------------------------------------------
New:
----
do-not-use-typing-bytestring.patch
----------(New B)----------
New:
- Add patch do-not-use-typing-bytestring.patch:
* Do not use typing.ByteString.
----------(New E)----------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-aiosmtpd.spec ++++++
--- /var/tmp/diff_new_pack.9LncmJ/_old 2026-09-02 17:02:52.179581429 +0200
+++ /var/tmp/diff_new_pack.9LncmJ/_new 2026-09-02 17:02:52.181581498 +0200
@@ -31,6 +31,8 @@
Patch1: support-python-314.patch
# PATCH-FIX-UPSTREAM aiosmtpd-pr557-pkg_resources.patch
gh#aio-libs/aiosmtpd#557
Patch2: aiosmtpd-pr557-pkg_resources.patch
+# PATCH-FIX-UPSTREAM gh#aio-libs/aiosmtpd#575
+Patch3: do-not-use-typing-bytestring.patch
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
++++++ do-not-use-typing-bytestring.patch ++++++
>From ee784d143b3adfa2e638ec38fe913e86ac2df2b0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=A2=86=E7=A7=8058?=
<[email protected]>
Date: Wed, 6 May 2026 18:33:24 +0800
Subject: [PATCH] fix: replace deprecated typing.ByteString with Union[bytes,
bytearray, memoryview]
typing.ByteString is deprecated since Python 3.9 and will be removed in
Python 3.14. Replace all usages in proxy_protocol.py with the explicit
Union[bytes, bytearray, memoryview] type annotation, which is compatible
with Python 3.9+ and correctly represents the same set of buffer-protocol
types.
Closes #549
Signed-off-by: Cocoon-Break <[email protected]>
---
aiosmtpd/proxy_protocol.py | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/aiosmtpd/proxy_protocol.py b/aiosmtpd/proxy_protocol.py
index b5be17cb..22d6040c 100644
--- a/aiosmtpd/proxy_protocol.py
+++ b/aiosmtpd/proxy_protocol.py
@@ -9,7 +9,7 @@
from enum import IntEnum
from functools import partial
from ipaddress import IPv4Address, IPv6Address, ip_address
-from typing import Any, ByteString, Dict, Optional, Protocol, Tuple, Union
+from typing import Any, Dict, Optional, Protocol, Tuple, Union
import attr
from public import public
@@ -165,7 +165,7 @@ def same_attribs(self, _raises: bool = False, **kwargs) ->
bool:
@classmethod
def parse(
cls,
- data: ByteString,
+ data: Union[bytes, bytearray, memoryview],
partial_ok: bool = True,
strict: bool = False,
) -> Tuple[Dict[str, Any], Dict[str, int]]:
@@ -179,7 +179,7 @@ def parse(
rslt: Dict[str, Any] = {}
tlv_loc: Dict[str, int] = {}
- def _pars(chunk: ByteString, *, offset: int) -> None:
+ def _pars(chunk: Union[bytes, bytearray, memoryview], *, offset: int)
-> None:
i = 0
while i < len(chunk):
typ = chunk[i]
@@ -218,7 +218,7 @@ def _pars(chunk: ByteString, *, offset: int) -> None:
@classmethod
def from_raw(
- cls, raw: ByteString, strict: bool = False
+ cls, raw: Union[bytes, bytearray, memoryview], strict: bool = False
) -> Optional["ProxyTLV"]:
"""
Parses raw bytes for TLV Vectors, decode them and giving them
human-readable
@@ -265,7 +265,7 @@ class ProxyData:
dst_addr: Optional[EndpointAddress] = _anoinit(default=None)
src_port: Optional[int] = _anoinit(default=None)
dst_port: Optional[int] = _anoinit(default=None)
- rest: ByteString = _anoinit(default=b"")
+ rest: Union[bytes, bytearray, memoryview] = _anoinit(default=b"")
"""
Rest of PROXY Protocol data following UNKNOWN (v1) or UNSPEC (v2), or
containing
undecoded TLV (v2). If the latter, you can use the ProxyTLV class to parse
the
@@ -340,7 +340,7 @@ def __bool__(self) -> bool:
# Reference:
https://github.com/haproxy/haproxy/blob/v2.3.0/doc/proxy-protocol.txt
-async def _get_v1(reader: AsyncReader, initial: ByteString = b"") -> ProxyData:
+async def _get_v1(reader: AsyncReader, initial: Union[bytes, bytearray,
memoryview] = b"") -> ProxyData:
proxy_data = ProxyData(version=1)
proxy_data.whole_raw = bytearray(initial)
@@ -424,7 +424,7 @@ async def get_ap(matcher: "re.Pattern[str]") -> str:
return proxy_data
-async def _get_v2(reader: AsyncReader, initial: ByteString = b"") -> ProxyData:
+async def _get_v2(reader: AsyncReader, initial: Union[bytes, bytearray,
memoryview] = b"") -> ProxyData:
proxy_data = ProxyData(version=2)
whole_raw = bytearray()