<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/meta/recipes-devtools/python/python3/deterministic_imports.patch, branch 5.3_M1</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=5.3_M1</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=5.3_M1'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2025-05-01T13:22:53+00:00</updated>
<entry>
<title>python3: backport the full fix for importlib scanning invalid distributions</title>
<updated>2025-05-01T13:22:53+00:00</updated>
<author>
<name>Ross Burton</name>
<email>ross.burton@arm.com</email>
</author>
<published>2025-04-29T15:29:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=83d0d473d6d5a8d59875b0af581d27267e804ba9'/>
<id>urn:sha1:83d0d473d6d5a8d59875b0af581d27267e804ba9</id>
<content type='text'>
Even with our fixes in deterministic_imports.patch the
importlib.metadata package scan was still returning Distribution objects
for empty directories.  This interacts badly with rebuilds when recipes
are changing as when a recipe is removed from the sysroot directories
are not removed[1].

In particular this breaks python3-meson-python-native rebuilds when
Meson upgrades from 1.7 to 1.8: the site-packages directory has an empty
meson-1.7.dist-info/ and populated meson-1.8.dist-info/. Whilst it's
deterministic to return the empty 1.7 first, this breaks pypa/build as
it looks through the distributions in order.

We had discussed this with upstream previously and there's a more
comprehensive fix upstream (actually in importlib_metadata, not cpython)
which ensures that valid distribution objects are listed first.  So we
can drop our patch and replace it with a backport to fix these rebuilds.

[1] oe-core 4f94d929639 ("sstate/staging: Handle directory creation race issue")

(From OE-Core rev: 73de8daa6293403f5b92d313af32882c47bce396)

Signed-off-by: Ross Burton &lt;ross.burton@arm.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>python3: update 3.12.6 -&gt; 3.13.0</title>
<updated>2024-10-25T14:04:30+00:00</updated>
<author>
<name>Alexander Kanavin</name>
<email>alex@linutronix.de</email>
</author>
<published>2024-10-23T14:24:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=085afc322b15bf0bdc1818d80227dc802e3f6bff'/>
<id>urn:sha1:085afc322b15bf0bdc1818d80227dc802e3f6bff</id>
<content type='text'>
License-update: copyright years

Update 0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch
to only include tests that do not fail under qemu (following upstream
change that also no longer obscures failures).

Drop
0001-gh-107811-tarfile-treat-overflow-in-UID-GID-as-failu.patch
(backport)
0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch
(fixed upstream)
0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch
(code completely rewritten upstream)
cgi_py.patch
(cgi and cgitb modules removed upstream)

Add fix-armv5.patch
(address armv5 crashes)

Modules removed in 3.13 (look for 'important removals'):
https://docs.python.org/3/whatsnew/3.13.html
Manifest updated accordingly.

Add an explicit dependency on libatomic (needed on mips
and ppc), as upstream has explicitly switched it off
in cross builds. It's a no-op on other targets.

Fcntl relocated to python3-core by the manifest script.

(From OE-Core rev: 0b49c9aa31279ecda565cc66b63d1d61723b37b8)

Signed-off-by: Alexander Kanavin &lt;alex@linutronix.de&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Revert "python3: drop deterministic_imports.patch"</title>
<updated>2024-07-23T11:45:22+00:00</updated>
<author>
<name>Ross Burton</name>
<email>ross.burton@arm.com</email>
</author>
<published>2024-07-23T08:28:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=09efffa6a967b9b99203afc8b6a43a95068d0c7d'/>
<id>urn:sha1:09efffa6a967b9b99203afc8b6a43a95068d0c7d</id>
<content type='text'>
There are still issues with importlib.metadata and empty directories,
which surface when doing builds with existing build trees.

I've raised this on the upstream ticket that Alex Kanavin has already
filed[1] so hopefully we can have a resolution soon.

This reverts commit 058c3a6e2b30103202f3995930825fc2f366274f.

[1] https://github.com/python/importlib_metadata/issues/489

(From OE-Core rev: 020c9438fa4d90824dcf7068ccf3722b3b7b8ccf)

Signed-off-by: Ross Burton &lt;ross.burton@arm.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>python3: drop deterministic_imports.patch</title>
<updated>2024-07-01T12:56:03+00:00</updated>
<author>
<name>Alexander Kanavin</name>
<email>alex@linutronix.de</email>
</author>
<published>2024-06-28T15:01:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=058c3a6e2b30103202f3995930825fc2f366274f'/>
<id>urn:sha1:058c3a6e2b30103202f3995930825fc2f366274f</id>
<content type='text'>
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 &lt;alex@linutronix.de&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>python3: submit deterministic_imports.patch upstream as a ticket</title>
<updated>2024-06-24T11:43:40+00:00</updated>
<author>
<name>Alexander Kanavin</name>
<email>alex@linutronix.de</email>
</author>
<published>2024-06-19T08:59:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=68c15a58ce120ab92d44aabe7a0f9ca96223f1f3'/>
<id>urn:sha1:68c15a58ce120ab92d44aabe7a0f9ca96223f1f3</id>
<content type='text'>
(From OE-Core rev: d77511cc9add70857e4a9d7237b23d7d6ae14e98)

Signed-off-by: Alexander Kanavin &lt;alex@linutronix.de&gt;
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>python: update 3.11.5 -&gt; 3.12.1</title>
<updated>2024-01-19T12:21:22+00:00</updated>
<author>
<name>Alexander Kanavin</name>
<email>alex.kanavin@gmail.com</email>
</author>
<published>2024-01-16T11:08:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=78e30d940d1a931c65a14d864494d92f0889035e'/>
<id>urn:sha1:78e30d940d1a931c65a14d864494d92f0889035e</id>
<content type='text'>
Drop distutils and smtpd modules from packaging, as both are gone in 3.12.

Rebase:
0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch
(drop setup.py chunk as the file is gone)

Drop patches:
0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch
(setup.py gone, lib/termcap not mentioned anywhere else)

0001-Don-t-search-system-for-headers-libraries.patch
(setup.py gone, usr/lib64 not mentioned anywhere else)

0001-Makefile-do-not-compile-.pyc-in-parallel.patch
(replaced with COMPILEALL_OPTS= in EXTRA_OEMAKE)

0001-setup.py-Do-not-detect-multiarch-paths-when-cross-co.patch
(setup.py gone, add_multiarch_paths not mentioned anywhere else)

0017-setup.py-do-not-report-missing-dependencies-for-disa.patch
(has been superseded by Setup.local tweak in do_configure:prepend)

12-distutils-prefix-is-inside-staging-area.patch
(distutils has been removed upstream, so this old, unplesant hack can be finally dropped)

avoid_warning_about_tkinter.patch
(setup.py gone, tkinter detection logic performed in configure.ac)

(From OE-Core rev: 716d82352545d3667a658b69d65d6127678dd150)

Signed-off-by: Alexander Kanavin &lt;alex@linutronix.de&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>python3: Ensure stale empty python module directories don't break the build</title>
<updated>2022-05-28T17:38:02+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-05-27T16:05:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=012f2db86b96b35eaaefe7f9d33dd820e3a520ec'/>
<id>urn:sha1:012f2db86b96b35eaaefe7f9d33dd820e3a520ec</id>
<content type='text'>
There are two issues inside importlib. 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 discussion
can follow later, this is breaking builds for too many people to leave unpatched.

[YOCTO #14816]

(From OE-Core rev: e5944a38db513e033c3a3e9313267055f7254be7)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
