python3: drop deterministic_imports.patch

https://github.com/python/importlib_metadata/issues/489

Upstream discussion revealed that:

- the issue was happening due to a bug in setuptools

- the bug was fixed in setuptools 63 (I confirmed this: empty dist-info
directories no longer seem to trigger any issues if the patch is dropped)

- the patch would obscure any further issues of this kind instead of exposing them
for easy fixing, so they suggest we drop it and report if anything else pops up

(From OE-Core rev: 1a4f25abf29b47949782641c68cc7d3e4136988a)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexander Kanavin
2024-06-28 17:01:16 +02:00
committed by Richard Purdie
parent 0703fd6c6c
commit 058c3a6e2b
2 changed files with 0 additions and 41 deletions

View File

@@ -1,40 +0,0 @@
From 039d5e652796b55f1132afa568c7432b6ed89afd Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Fri, 27 May 2022 17:05:44 +0100
Subject: [PATCH] python3: Ensure stale empty python module directories don't
There are two issues here. Firstly, the modules are accessed in on disk order. This
means behaviour seen on one system might not reproduce on another and is a real headache.
Secondly, empty directories left behind by previous modules might be looked at. This
has caused a long string of different issues for us.
As a result, patch this to a behaviour which works for us.
Upstream-Status: Submitted [https://github.com/python/cpython/issues/120492; need to first talk to upstream to see if they'll take one or both fixes]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
Lib/importlib/metadata/__init__.py | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/Lib/importlib/metadata/__init__.py b/Lib/importlib/metadata/__init__.py
index 82e0ce1..969cac4 100644
--- a/Lib/importlib/metadata/__init__.py
+++ b/Lib/importlib/metadata/__init__.py
@@ -710,7 +710,14 @@ class Lookup:
self.infos = FreezableDefaultDict(list)
self.eggs = FreezableDefaultDict(list)
- for child in path.children():
+ for child in sorted(path.children()):
+ childpath = pathlib.Path(path.root, child)
+ try:
+ if childpath.is_dir() and not any(childpath.iterdir()):
+ # Empty directories aren't interesting
+ continue
+ except PermissionError:
+ continue
low = child.lower()
if low.endswith((".dist-info", ".egg-info")):
# rpartition is faster than splitext and suitable for this purpose.