On 2025/01/06 16:17, Mikolaj Kucharski wrote:
> Hi,
> 
> Not sure is this actually related to python3.12, but I've notived it
> today on few machines after upgrading -current.
> 
> I didn't troubleshoot this yet.

>   File "/usr/local/lib/python3.12/site-packages/salt/ext/tornado/netutil.py", 
> line 57, in <module>
>     import backports.ssl_match_hostname
> ModuleNotFoundError: No module named 'backports'

I don't use salt, but please try this. (Alternatively it looks like
updating to 3007.1 should also fix).

Index: Makefile
===================================================================
RCS file: /cvs/ports/sysutils/salt/Makefile,v
diff -u -p -r1.188 Makefile
--- Makefile    21 Dec 2024 11:38:54 -0000      1.188
+++ Makefile    6 Jan 2025 17:40:39 -0000
@@ -15,9 +15,9 @@

 COMMENT =              remote execution and configuration management system

-MODPY_DISTV =  3006.9
+MODPY_DISTV =          3006.9
 DISTNAME =             salt-${MODPY_DISTV}
-REVISION =             1
+REVISION =             2

 CATEGORIES =           sysutils net devel

Index: patches/patch-salt_ext_tornado_netutil_py
===================================================================
RCS file: patches/patch-salt_ext_tornado_netutil_py
diff -N patches/patch-salt_ext_tornado_netutil_py
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-salt_ext_tornado_netutil_py   6 Jan 2025 17:40:39 -0000
@@ -0,0 +1,16 @@
+Index: salt/ext/tornado/netutil.py
+--- salt/ext/tornado/netutil.py.orig
++++ salt/ext/tornado/netutil.py
+@@ -54,9 +54,9 @@ if hasattr(ssl, 'match_hostname') and hasattr(ssl, 'Ce
+ elif ssl is None:
+     ssl_match_hostname = SSLCertificateError = None  # type: ignore
+ else:
+-    import backports.ssl_match_hostname
+-    ssl_match_hostname = backports.ssl_match_hostname.match_hostname
+-    SSLCertificateError = backports.ssl_match_hostname.CertificateError  # 
type: ignore
++    import urllib3.util.ssl_match_hostname
++    ssl_match_hostname = urllib3.util.ssl_match_hostname
++    SSLCertificateError = urllib3.util.ssl_match_hostname.CertificateError  # 
type: ignore
+
+ if hasattr(ssl, 'SSLContext'):
+     if hasattr(ssl, 'create_default_context'):

Reply via email to