Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 807fb465d753ffd473a6ada02a563f9daf20e43d
https://github.com/WebKit/WebKit/commit/807fb465d753ffd473a6ada02a563f9daf20e43d
Author: Razvan Caliman <[email protected]>
Date: 2026-07-21 (Tue, 21 Jul 2026)
Changed paths:
M Tools/Scripts/libraries/webkitcorepy/setup.py
M Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py
M Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py
M
Tools/Scripts/libraries/webkitcorepy/webkitcorepy/tests/autoinstall_unittest.py
M Tools/Scripts/webkitpy/__init__.py
Log Message:
-----------
[Tools] Add backports-asyncio-runner dependency for pytest-asyncio for python
versions < 3.11
https://bugs.webkit.org/show_bug.cgi?id=319498
rdar://182302139
Reviewed by BJ Burg and Sam Sneddon.
https://commits.webkit.org/315890@main bumped `pytest-asyncio` to version 1.1.1
for python 3.14 compatibility. But under python 3.8, 3.9 and 3.10 interpreters,
that version requires `backports-asyncio-runner` as a dependency.
Drive-by fix in webkitcorepy:
The wheel-install path in AutoInstall moved each top-level directory from an
unpacked wheel into the autoinstall cache, deleting any existing directory of
the same name first. This broke PEP 420 namespace packages that are shared
across distributions: installing `backports-asyncio-runner` (which ships
`backports/asyncio/`) wiped the `backports/` directory previously populated by
`configparser` (which ships `backports/configparser/`).
Replace the destructive move with a recursive `_merge_move` helper that merges
into existing directories instead of replacing them, so co-located namespace
sub-packages survive. Bump webkitcorepy to 1.0.3.
This is the destructive-unpack problem previously described in
https://bugs.webkit.org/show_bug.cgi?id=263392 and
https://bugs.webkit.org/show_bug.cgi?id=263589
The wheel path clobbers shared directories while the legacy
dist/setuptools path merges into them. As suggested there, make the wheel path
behave like the legacy path by merging into existing directories instead of
replacing them, so co-located namespace sub-packages survive regardless of
install order.
* Tools/Scripts/webkitpy/__init__.py:
* Tools/Scripts/libraries/webkitcorepy/setup.py:
* Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py:
* Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package):
(Package._merge_move):
(Package.install):
*
Tools/Scripts/libraries/webkitcorepy/webkitcorepy/tests/autoinstall_unittest.py:
(MergeMoveTest):
(MergeMoveTest.setUp):
(MergeMoveTest.tearDown):
(MergeMoveTest._unpack):
(MergeMoveTest._contents):
(MergeMoveTest.test_install_order_does_not_matter):
(MergeMoveTest.test_file_is_replaced_by_directory):
Canonical link: https://commits.webkit.org/317620@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications