Control: found -1 python-blockbuster/1.5.27-1

Hi again!

The new upstream version of python-blockbuster still fails to build from
source when compiled against python 3.15 [1].

I had sent a PR last week [2] with one possible solution (also attached
to this bug). Upstream didn't like my proposal and instead sent a PR to
python-forbiddenfruit, as they claim that the problem is in that package
[3].

However, after applying the proposed patch to python-forbiddenfruit in
the sandbox, I found that python-blockbuster *still* failed to build and
my patch was still necessary. Thus, I am not convinced that
python-forbiddenfruit needs to be patched.

On top of this, the latest upstream version required adding a new item
to can_block_functions for `<frozen linecache>`. This likely needs to be
sent upstream as well.

I have applied the proposed fixes in the sandbox to be able to build the
packages that depend on python-blockbuster, please consider applying the
patches to support the upcoming 3.15 version.

Happy hacking,

[1]: https://debusine.debian.net/debian/r-python-python3.15/artifact/4526937/
[2]: https://github.com/cbornet/blockbuster/pull/71
[3]: https://github.com/clarete/forbiddenfruit/pull/86/changes

--
"Can you imagine what I would do if I could do all I can?" -- Sun Tzu
Saludos /\/\ /\ >< `/
Description: Allow os.stat in <frozen linecache> on Python 3.15+
 In Python 3.15, linecache is a frozen module. Add <frozen linecache> to the
 list of allowed call sites for os.stat to prevent false-positive BlockingError
 during traceback inspection and logging formatting.
Author: Maximiliano Curia <[email protected]>
Forwarded: https://github.com/cbornet/blockbuster
--- a/blockbuster/blockbuster.py
+++ b/blockbuster/blockbuster.py
@@ -316,6 +316,7 @@
         can_block_functions=[
             ("<frozen importlib._bootstrap>", {"_find_and_load"}),
             ("linecache.py", {"checkcache", "updatecache"}),
+            ("<frozen linecache>", {"checkcache", "updatecache"}),
             ("coverage/control.py", {"_should_trace"}),
             ("coverage/python.py", {"get_python_source"}),
             ("asyncio/unix_events.py", {"create_unix_server", "_stop_serving"}),

Reply via email to