[From nobody Sun Sep 13 06:35:05 2026
Received: (at submit) by bugs.debian.org; 12 Sep 2026 11:29:31 +0000
X-Spam-Checker-Version: SpamAssassin 4.0.1-bugs.debian.org_2005_01_02
 (2024-03-25) on buxtehude.debian.org
X-Spam-Level: 
X-Spam-Status: No, score=-118.2 required=4.0 tests=ALL_TRUSTED,BAYES_00,
 BODY_INCLUDES_PACKAGE,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,
 DKIM_VALID_AU,DKIM_VALID_EF,FROMDEVELOPER,HAS_PACKAGE,SPF_HELO_NONE,
 SPF_PASS,USER_IN_DKIM_WELCOMELIST autolearn=ham autolearn_force=no
 version=4.0.1-bugs.debian.org_2005_01_02
X-Spam-Bayes: score:0.0000 Tokens: new, 21; hammy, 150; neutral, 87; spammy,
 0. spammytokens:
 hammytokens:0.000-+--Hx-spam-relays-external:sk:stravin,
 0.000-+--H*RT:sk:stravin, 0.000-+--Hx-spam-relays-external:311,
 0.000-+--H*RT:311, 0.000-+--H*RT:108
Return-path: &lt;maxy@debian.org&gt;
Received: from stravinsky.debian.org ([2001:41b8:202:deb::311:108]:36620)
 by buxtehude.debian.org with esmtps
 (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)
 (Exim 4.96) (envelope-from &lt;maxy@debian.org&gt;) id 1x5LvH-00AKEZ-1G
 for submit@bugs.debian.org; Sat, 12 Sep 2026 11:29:31 +0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debian.org; 
 s=smtpauto.stravinsky;
 h=X-Debian-User:Content-Type:MIME-Version:Message-ID:
 Subject:To:From:Date:Reply-To:Cc:Content-Transfer-Encoding:Content-ID:
 Content-Description:In-Reply-To:References;
 bh=kpnZuti5pQa9PKUlklgt2rHFO4jnM1/DBqRGspql29k=; b=CfYHrPL/e4sxzzmtrMa/VNWJYZ
 Q0ZZdZ95PbUhwwRUTh3Hx9u59bWNiu4ZnvD/IxFR9IxG6B+XAR0JnnEBpaJeAc8Eh7PkPMlOquHTI
 Rfw2gJoQ1858xHz8at0VTjV1HsTubuUEFk74t8GS+24edLFd+26nMt0C92pI2JhiUxmn1KhiqMIMS
 6ANCCOBowKzhhKcOyPSHeuIzElhUEWRrQXDVXae8K5WCvjiFFi53m/8QXb/amlWeqiVQ+G7jy7H7w
 FmzKYsl4VwQ34U4+yqgjeNgXX3mYjYClj7TYXhjtRW7G88orIxZNEO4qghtuyM72Z00AWggp8q9tP
 uaRmpYgw==;
Received: from authenticated-user by stravinsky.debian.org with esmtpsa
 (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)
 (Exim 4.96) (envelope-from &lt;maxy@debian.org&gt;) id 1x5LvE-0022QM-2p
 for submit@bugs.debian.org; Sat, 12 Sep 2026 11:29:30 +0000
Date: Sat, 12 Sep 2026 13:29:21 +0200
From: Maximiliano Curia &lt;maxy@debian.org&gt;
To: submit@bugs.debian.org
Subject: sfepy: FTBFS against python 3.15rc2
Message-ID: &lt;aqU3ka6gnbiisYIm@hecuba.gnuservers.com.ar&gt;
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=&quot;T1JxPiCIuGlHGpSW&quot;
Content-Disposition: inline
X-Debian-User: maxy
Delivered-To: submit@bugs.debian.org

--T1JxPiCIuGlHGpSW
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Disposition: inline

Package: src:sfepy
Version: 2026.2-1
User: debian-python@lists.debian.org
Usertags: python3.15
Tags: patch, ftbfs, forky, sid
Severity: important

Hi!

While rebuilding the python related packages against the Python 3.15rc2
version we found that sfepy fails to build from source [1]. 

The error is: AttributeError: 'SourceFileLoader' object has no attribute
'load_module'. Did you mean '.exec_module' instead of '.load_module'?

This is caused by load_module being deprecated, I've added a patch to
migrate away from it.

I've applied the fix in the sandbox [2] to verify that it builds
successfully, please consider applying the patch to support the upcoming
3.15 version.

Setting the severity to important for now. Once Python 3.15 is released,
it will be added to python3-defaults and this bug will become release
critical.

Happy hacking,

[1]: https://debusine.debian.net/debian/r-python-python3.15/artifact/4645423/
[2]: https://debusine.debian.net/debian/r-python-python3.15/

-- 
&quot;Can you imagine what I would do if I could do all I can?&quot; -- Sun Tzu
Saludos /\/\ /\ &gt;&lt; `/

--T1JxPiCIuGlHGpSW
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename=py315.patch

Description: SourceFileLoader.load_module() was removed in Python 3.15, use exec_module() instead
Author: Maximiliano Curia &lt;maxy@debian.org&gt;

--- a/sfepy/config.py
+++ b/sfepy/config.py
@@ -78,8 +78,11 @@ class Config:
                 pass

         try:
-            self.site_cfg = (SourceFileLoader('site_cfg', config_filename)
-                             .load_module())
+            import importlib.util
+            loader = SourceFileLoader('site_cfg', config_filename)
+            spec = importlib.util.spec_from_loader('site_cfg', loader)
+            self.site_cfg = importlib.util.module_from_spec(spec)
+            loader.exec_module(self.site_cfg)

         except FileNotFoundError:
             print(f'Warning: SfePy site configuration file ({config_filename})'

--T1JxPiCIuGlHGpSW--
]