diff mbox series

python3: Fix manifest

Message ID 20260327080343.422566-1-zboszor@gmail.com
State Under Review
Headers show
Series python3: Fix manifest | expand

Commit Message

Böszörményi Zoltán March 27, 2026, 8:03 a.m. UTC
bitbake -c create_manifest failed with this error:

| ERROR:
| The following files were found in more than one package),
| this is likely to happen when new files are introduced after an upgrade,
| please check which package should get it,
|  modify the manifest accordingly and re-run the create_manifest task:
| ${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_interpreters.*.so
| ${libdir}/python${PYTHON_MAJMIN}/string
| ${libdir}/python${PYTHON_MAJMIN}/string/__pycache__
| ${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_hmac.*.so

It needed a minimal hand-editing to make it work.

The first run of bitbake -c create_manifest then moved some things
around. The second run created an identical manifest.

Noticed while working on the free-threading enablement.

Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
---
 .../python/python3/python3-manifest.json      | 90 +++++++++++++------
 1 file changed, 64 insertions(+), 26 deletions(-)

Comments

Böszörményi Zoltán March 27, 2026, 9:32 a.m. UTC | #1
Please apply this before the v3 series of "Use PYTHON_DIR consistently".

2026. 03. 27. 9:03 keltezéssel, Zoltán Böszörményi írta:
> bitbake -c create_manifest failed with this error:
>
> | ERROR:
> | The following files were found in more than one package),
> | this is likely to happen when new files are introduced after an upgrade,
> | please check which package should get it,
> |  modify the manifest accordingly and re-run the create_manifest task:
> | ${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_interpreters.*.so
> | ${libdir}/python${PYTHON_MAJMIN}/string
> | ${libdir}/python${PYTHON_MAJMIN}/string/__pycache__
> | ${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_hmac.*.so
>
> It needed a minimal hand-editing to make it work.
>
> The first run of bitbake -c create_manifest then moved some things
> around. The second run created an identical manifest.
>
> Noticed while working on the free-threading enablement.
>
> Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
> ---
>   .../python/python3/python3-manifest.json      | 90 +++++++++++++------
>   1 file changed, 64 insertions(+), 26 deletions(-)
>
> diff --git a/meta/recipes-devtools/python/python3/python3-manifest.json b/meta/recipes-devtools/python/python3/python3-manifest.json
> index 11ce2c97d2..23289ab8c5 100644
> --- a/meta/recipes-devtools/python/python3/python3-manifest.json
> +++ b/meta/recipes-devtools/python/python3/python3-manifest.json
> @@ -98,7 +98,7 @@
>           "files": [
>               "${libdir}/python${PYTHON_MAJMIN}/*/test",
>               "${libdir}/python${PYTHON_MAJMIN}/*/tests",
> -            "${libdir}/python${PYTHON_MAJMIN}/idlelib/idle_test/",
> +            "${libdir}/python${PYTHON_MAJMIN}/idlelib/idle_test",
>               "${libdir}/python${PYTHON_MAJMIN}/test"
>           ],
>           "cached": []
> @@ -117,7 +117,8 @@
>               "${libdir}/python${PYTHON_MAJMIN}/asyncio",
>               "${libdir}/python${PYTHON_MAJMIN}/concurrent",
>               "${libdir}/python${PYTHON_MAJMIN}/concurrent/futures",
> -            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_asyncio.*.so"
> +            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_asyncio.*.so",
> +            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_remote_debugging.*.so"
>           ],
>           "cached": []
>       },
> @@ -165,11 +166,12 @@
>               "core"
>           ],
>           "files": [
> +            "${libdir}/python${PYTHON_MAJMIN}/compression",
> +            "${libdir}/python${PYTHON_MAJMIN}/compression/_common",
> +            "${libdir}/python${PYTHON_MAJMIN}/compression/zstd",
>               "${libdir}/python${PYTHON_MAJMIN}/gzip.py",
>               "${libdir}/python${PYTHON_MAJMIN}/tarfile.py",
> -            "${libdir}/python${PYTHON_MAJMIN}/zipfile/",
> -            "${libdir}/python${PYTHON_MAJMIN}/compression/",
> -            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_zstd.*.so"
> +            "${libdir}/python${PYTHON_MAJMIN}/zipfile"
>           ],
>           "cached": [
>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/gzip.*.pyc",
> @@ -178,7 +180,7 @@
>       },
>       "core": {
>           "summary": "Python interpreter and core modules",
> -        "rdepends": ["compression"],
> +        "rdepends": [],
>           "files": [
>               "${bindir}/python${PYTHON_MAJMIN}",
>               "${bindir}/python${PYTHON_MAJMIN}.real",
> @@ -213,6 +215,11 @@
>               "${libdir}/python${PYTHON_MAJMIN}/codeop.py",
>               "${libdir}/python${PYTHON_MAJMIN}/collections",
>               "${libdir}/python${PYTHON_MAJMIN}/collections/abc.py",
> +            "${libdir}/python${PYTHON_MAJMIN}/compression",
> +            "${libdir}/python${PYTHON_MAJMIN}/compression/_common",
> +            "${libdir}/python${PYTHON_MAJMIN}/compression/_common/_streams.py",
> +            "${libdir}/python${PYTHON_MAJMIN}/compression/zstd",
> +            "${libdir}/python${PYTHON_MAJMIN}/compression/zstd/_zstdfile.py",
>               "${libdir}/python${PYTHON_MAJMIN}/configparser.py",
>               "${libdir}/python${PYTHON_MAJMIN}/contextlib.py",
>               "${libdir}/python${PYTHON_MAJMIN}/copy.py",
> @@ -252,11 +259,13 @@
>               "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_bz2.*.so",
>               "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_csv.*.so",
>               "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_heapq.*.so",
> +            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_interpreters.*.so",
>               "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_lzma.*.so",
>               "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_opcode.*.so",
>               "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_posixsubprocess.*.so",
>               "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_struct.*.so",
>               "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_typing.*.so",
> +            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_zstd.*.so",
>               "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/array.*.so",
>               "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/binascii.*.so",
>               "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/fcntl.*.so",
> @@ -282,6 +291,8 @@
>               "${libdir}/python${PYTHON_MAJMIN}/pathlib.py",
>               "${libdir}/python${PYTHON_MAJMIN}/pathlib/_abc.py",
>               "${libdir}/python${PYTHON_MAJMIN}/pathlib/_local.py",
> +            "${libdir}/python${PYTHON_MAJMIN}/pathlib/_os.py",
> +            "${libdir}/python${PYTHON_MAJMIN}/pathlib/types.py",
>               "${libdir}/python${PYTHON_MAJMIN}/pkgutil.py",
>               "${libdir}/python${PYTHON_MAJMIN}/platform.py",
>               "${libdir}/python${PYTHON_MAJMIN}/posixpath.py",
> @@ -324,16 +335,19 @@
>           ],
>           "cached": [
>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/__future__.*.pyc",
> +            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_ast_unparse.*.pyc",
>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_bootlocale.*.pyc",
>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_collections_abc.*.pyc",
>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_colorize.*.pyc",
>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_compression.*.pyc",
>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_markupbase.*.pyc",
>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_opcode_metadata.*.pyc",
> +            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_py_warnings.*.pyc",
>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_sitebuiltins.*.pyc",
>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_sysconfigdata*.*.pyc",
>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_weakrefset.*.pyc",
>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/abc.*.pyc",
> +            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/annotationlib.*.pyc",
>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/argparse.*.pyc",
>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ast.*.pyc",
>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/bisect.*.pyc",
> @@ -403,6 +417,11 @@
>               "${libdir}/python${PYTHON_MAJMIN}/_pyrepl/__pycache__/pager.*.pyc",
>               "${libdir}/python${PYTHON_MAJMIN}/collections/__pycache__",
>               "${libdir}/python${PYTHON_MAJMIN}/collections/__pycache__/abc.*.pyc",
> +            "${libdir}/python${PYTHON_MAJMIN}/compression/__pycache__",
> +            "${libdir}/python${PYTHON_MAJMIN}/compression/_common/__pycache__",
> +            "${libdir}/python${PYTHON_MAJMIN}/compression/_common/__pycache__/_streams.*.pyc",
> +            "${libdir}/python${PYTHON_MAJMIN}/compression/zstd/__pycache__",
> +            "${libdir}/python${PYTHON_MAJMIN}/compression/zstd/__pycache__/_zstdfile.*.pyc",
>               "${libdir}/python${PYTHON_MAJMIN}/encodings/__pycache__",
>               "${libdir}/python${PYTHON_MAJMIN}/encodings/__pycache__/aliases.*.pyc",
>               "${libdir}/python${PYTHON_MAJMIN}/encodings/__pycache__/latin_1.*.pyc",
> @@ -415,6 +434,8 @@
>               "${libdir}/python${PYTHON_MAJMIN}/pathlib/__pycache__",
>               "${libdir}/python${PYTHON_MAJMIN}/pathlib/__pycache__/_abc.*.pyc",
>               "${libdir}/python${PYTHON_MAJMIN}/pathlib/__pycache__/_local.*.pyc",
> +            "${libdir}/python${PYTHON_MAJMIN}/pathlib/__pycache__/_os.*.pyc",
> +            "${libdir}/python${PYTHON_MAJMIN}/pathlib/__pycache__/types.*.pyc",
>               "${libdir}/python${PYTHON_MAJMIN}/re/__pycache__",
>               "${libdir}/python${PYTHON_MAJMIN}/re/__pycache__/_casefix.*.pyc",
>               "${libdir}/python${PYTHON_MAJMIN}/re/__pycache__/_compiler.*.pyc",
> @@ -446,6 +467,7 @@
>       "ctypes": {
>           "summary": "Python C types support",
>           "rdepends": [
> +            "compression",
>               "core",
>               "io",
>               "math"
> @@ -477,8 +499,7 @@
>           "files": [
>               "${libdir}/python${PYTHON_MAJMIN}/_strptime.py",
>               "${libdir}/python${PYTHON_MAJMIN}/calendar.py",
> -            "${libdir}/python${PYTHON_MAJMIN}/datetime.py",
> -            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_datetime.*.so"
> +            "${libdir}/python${PYTHON_MAJMIN}/datetime.py"
>           ],
>           "cached": [
>               "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_strptime.*.pyc",
> @@ -500,7 +521,15 @@
>       "debugger": {
>           "summary": "Python debugger",
>           "rdepends": [
> +            "asyncio",
> +            "compression",
>               "core",
> +            "io",
> +            "json",
> +            "logging",
> +            "math",
> +            "netclient",
> +            "numbers",
>               "pprint",
>               "shell",
>               "stringold"
> @@ -549,9 +578,17 @@
>       "doctest": {
>           "summary": "Python framework for running examples in docstrings",
>           "rdepends": [
> +            "asyncio",
> +            "compression",
>               "core",
>               "debugger",
>               "difflib",
> +            "io",
> +            "json",
> +            "logging",
> +            "math",
> +            "netclient",
> +            "numbers",
>               "pprint",
>               "shell",
>               "stringold",
> @@ -586,10 +623,13 @@
>       "ensurepip": {
>           "summary": "Support for bootstrapping the pip installer",
>           "rdepends": [
> -            "core"
> +            "compression",
> +            "core",
> +            "io",
> +            "math"
>           ],
>           "files": [
> -            "${libdir}/python${PYTHON_MAJMIN}/ensurepip/"
> +            "${libdir}/python${PYTHON_MAJMIN}/ensurepip"
>           ],
>           "cached": []
>       },
> @@ -598,9 +638,7 @@
>           "rdepends": [
>               "core"
>           ],
> -        "files": [
> -            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/fcntl.*.so"
> -        ],
> +        "files": [],
>           "cached": []
>       },
>       "gdbm": {
> @@ -649,6 +687,7 @@
>       "io": {
>           "summary": "Python low-level I/O",
>           "rdepends": [
> +            "compression",
>               "core",
>               "math",
>               "netclient"
> @@ -813,10 +852,12 @@
>       "multiprocessing": {
>           "summary": "Python multiprocessing support",
>           "rdepends": [
> +            "compression",
>               "core",
>               "crypt",
>               "ctypes",
>               "io",
> +            "json",
>               "math",
>               "mmap",
>               "netclient",
> @@ -848,6 +889,7 @@
>               "${libdir}/python${PYTHON_MAJMIN}/hmac.py",
>               "${libdir}/python${PYTHON_MAJMIN}/http",
>               "${libdir}/python${PYTHON_MAJMIN}/http/__pycache__",
> +            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_hmac.*.so",
>               "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_uuid.*.so",
>               "${libdir}/python${PYTHON_MAJMIN}/mimetypes.py",
>               "${libdir}/python${PYTHON_MAJMIN}/poplib.py",
> @@ -890,7 +932,6 @@
>               "${libdir}/python${PYTHON_MAJMIN}/contextvars.py",
>               "${libdir}/python${PYTHON_MAJMIN}/decimal.py",
>               "${libdir}/python${PYTHON_MAJMIN}/fractions.py",
> -            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_contextvars.*.so",
>               "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_decimal.*.so",
>               "${libdir}/python${PYTHON_MAJMIN}/numbers.py"
>           ],
> @@ -999,8 +1040,7 @@
>       "shell": {
>           "summary": "Python shell-like functionality",
>           "rdepends": [
> -            "core",
> -            "stringold"
> +            "core"
>           ],
>           "files": [
>               "${libdir}/python${PYTHON_MAJMIN}/cmd.py",
> @@ -1044,12 +1084,9 @@
>               "core"
>           ],
>           "files": [
> -            "${libdir}/python${PYTHON_MAJMIN}/string/__init__.py",
> -            "${libdir}/python${PYTHON_MAJMIN}/string/templatelib.py"
> +            "${libdir}/python${PYTHON_MAJMIN}/string"
>           ],
> -        "cached": [
> -            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/string.*.pyc"
> -        ]
> +        "cached": []
>       },
>       "syslog": {
>           "summary": "Python syslog interface",
> @@ -1104,10 +1141,11 @@
>       "tomllib": {
>           "summary": "Provides an interface for parsing TOML",
>           "rdepends": [
> -            "core"
> +            "core",
> +            "datetime"
>           ],
>           "files": [
> -            "${libdir}/python${PYTHON_MAJMIN}/tomllib/"
> +            "${libdir}/python${PYTHON_MAJMIN}/tomllib"
>           ],
>           "cached": []
>       },
> @@ -1125,9 +1163,7 @@
>               "stringold"
>           ],
>           "files": [
> -            "${libdir}/python${PYTHON_MAJMIN}/unittest",
> -            "${libdir}/python${PYTHON_MAJMIN}/unittest/",
> -            "${libdir}/python${PYTHON_MAJMIN}/unittest/__pycache__"
> +            "${libdir}/python${PYTHON_MAJMIN}/unittest"
>           ],
>           "cached": []
>       },
> @@ -1147,8 +1183,10 @@
>       "venv": {
>           "summary": "Provides support for creating lightweight virtual environments with their own site directories, optionally isolated from system site directories.",
>           "rdepends": [
> +            "compression",
>               "core",
>               "logging",
> +            "shell",
>               "stringold"
>           ],
>           "files": [
diff mbox series

Patch

diff --git a/meta/recipes-devtools/python/python3/python3-manifest.json b/meta/recipes-devtools/python/python3/python3-manifest.json
index 11ce2c97d2..23289ab8c5 100644
--- a/meta/recipes-devtools/python/python3/python3-manifest.json
+++ b/meta/recipes-devtools/python/python3/python3-manifest.json
@@ -98,7 +98,7 @@ 
         "files": [
             "${libdir}/python${PYTHON_MAJMIN}/*/test",
             "${libdir}/python${PYTHON_MAJMIN}/*/tests",
-            "${libdir}/python${PYTHON_MAJMIN}/idlelib/idle_test/",
+            "${libdir}/python${PYTHON_MAJMIN}/idlelib/idle_test",
             "${libdir}/python${PYTHON_MAJMIN}/test"
         ],
         "cached": []
@@ -117,7 +117,8 @@ 
             "${libdir}/python${PYTHON_MAJMIN}/asyncio",
             "${libdir}/python${PYTHON_MAJMIN}/concurrent",
             "${libdir}/python${PYTHON_MAJMIN}/concurrent/futures",
-            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_asyncio.*.so"
+            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_asyncio.*.so",
+            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_remote_debugging.*.so"
         ],
         "cached": []
     },
@@ -165,11 +166,12 @@ 
             "core"
         ],
         "files": [
+            "${libdir}/python${PYTHON_MAJMIN}/compression",
+            "${libdir}/python${PYTHON_MAJMIN}/compression/_common",
+            "${libdir}/python${PYTHON_MAJMIN}/compression/zstd",
             "${libdir}/python${PYTHON_MAJMIN}/gzip.py",
             "${libdir}/python${PYTHON_MAJMIN}/tarfile.py",
-            "${libdir}/python${PYTHON_MAJMIN}/zipfile/",
-            "${libdir}/python${PYTHON_MAJMIN}/compression/",
-            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_zstd.*.so"
+            "${libdir}/python${PYTHON_MAJMIN}/zipfile"
         ],
         "cached": [
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/gzip.*.pyc",
@@ -178,7 +180,7 @@ 
     },
     "core": {
         "summary": "Python interpreter and core modules",
-        "rdepends": ["compression"],
+        "rdepends": [],
         "files": [
             "${bindir}/python${PYTHON_MAJMIN}",
             "${bindir}/python${PYTHON_MAJMIN}.real",
@@ -213,6 +215,11 @@ 
             "${libdir}/python${PYTHON_MAJMIN}/codeop.py",
             "${libdir}/python${PYTHON_MAJMIN}/collections",
             "${libdir}/python${PYTHON_MAJMIN}/collections/abc.py",
+            "${libdir}/python${PYTHON_MAJMIN}/compression",
+            "${libdir}/python${PYTHON_MAJMIN}/compression/_common",
+            "${libdir}/python${PYTHON_MAJMIN}/compression/_common/_streams.py",
+            "${libdir}/python${PYTHON_MAJMIN}/compression/zstd",
+            "${libdir}/python${PYTHON_MAJMIN}/compression/zstd/_zstdfile.py",
             "${libdir}/python${PYTHON_MAJMIN}/configparser.py",
             "${libdir}/python${PYTHON_MAJMIN}/contextlib.py",
             "${libdir}/python${PYTHON_MAJMIN}/copy.py",
@@ -252,11 +259,13 @@ 
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_bz2.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_csv.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_heapq.*.so",
+            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_interpreters.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_lzma.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_opcode.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_posixsubprocess.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_struct.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_typing.*.so",
+            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_zstd.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/array.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/binascii.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/fcntl.*.so",
@@ -282,6 +291,8 @@ 
             "${libdir}/python${PYTHON_MAJMIN}/pathlib.py",
             "${libdir}/python${PYTHON_MAJMIN}/pathlib/_abc.py",
             "${libdir}/python${PYTHON_MAJMIN}/pathlib/_local.py",
+            "${libdir}/python${PYTHON_MAJMIN}/pathlib/_os.py",
+            "${libdir}/python${PYTHON_MAJMIN}/pathlib/types.py",
             "${libdir}/python${PYTHON_MAJMIN}/pkgutil.py",
             "${libdir}/python${PYTHON_MAJMIN}/platform.py",
             "${libdir}/python${PYTHON_MAJMIN}/posixpath.py",
@@ -324,16 +335,19 @@ 
         ],
         "cached": [
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/__future__.*.pyc",
+            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_ast_unparse.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_bootlocale.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_collections_abc.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_colorize.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_compression.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_markupbase.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_opcode_metadata.*.pyc",
+            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_py_warnings.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_sitebuiltins.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_sysconfigdata*.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_weakrefset.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/abc.*.pyc",
+            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/annotationlib.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/argparse.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ast.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/bisect.*.pyc",
@@ -403,6 +417,11 @@ 
             "${libdir}/python${PYTHON_MAJMIN}/_pyrepl/__pycache__/pager.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/collections/__pycache__",
             "${libdir}/python${PYTHON_MAJMIN}/collections/__pycache__/abc.*.pyc",
+            "${libdir}/python${PYTHON_MAJMIN}/compression/__pycache__",
+            "${libdir}/python${PYTHON_MAJMIN}/compression/_common/__pycache__",
+            "${libdir}/python${PYTHON_MAJMIN}/compression/_common/__pycache__/_streams.*.pyc",
+            "${libdir}/python${PYTHON_MAJMIN}/compression/zstd/__pycache__",
+            "${libdir}/python${PYTHON_MAJMIN}/compression/zstd/__pycache__/_zstdfile.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/encodings/__pycache__",
             "${libdir}/python${PYTHON_MAJMIN}/encodings/__pycache__/aliases.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/encodings/__pycache__/latin_1.*.pyc",
@@ -415,6 +434,8 @@ 
             "${libdir}/python${PYTHON_MAJMIN}/pathlib/__pycache__",
             "${libdir}/python${PYTHON_MAJMIN}/pathlib/__pycache__/_abc.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/pathlib/__pycache__/_local.*.pyc",
+            "${libdir}/python${PYTHON_MAJMIN}/pathlib/__pycache__/_os.*.pyc",
+            "${libdir}/python${PYTHON_MAJMIN}/pathlib/__pycache__/types.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/re/__pycache__",
             "${libdir}/python${PYTHON_MAJMIN}/re/__pycache__/_casefix.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/re/__pycache__/_compiler.*.pyc",
@@ -446,6 +467,7 @@ 
     "ctypes": {
         "summary": "Python C types support",
         "rdepends": [
+            "compression",
             "core",
             "io",
             "math"
@@ -477,8 +499,7 @@ 
         "files": [
             "${libdir}/python${PYTHON_MAJMIN}/_strptime.py",
             "${libdir}/python${PYTHON_MAJMIN}/calendar.py",
-            "${libdir}/python${PYTHON_MAJMIN}/datetime.py",
-            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_datetime.*.so"
+            "${libdir}/python${PYTHON_MAJMIN}/datetime.py"
         ],
         "cached": [
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_strptime.*.pyc",
@@ -500,7 +521,15 @@ 
     "debugger": {
         "summary": "Python debugger",
         "rdepends": [
+            "asyncio",
+            "compression",
             "core",
+            "io",
+            "json",
+            "logging",
+            "math",
+            "netclient",
+            "numbers",
             "pprint",
             "shell",
             "stringold"
@@ -549,9 +578,17 @@ 
     "doctest": {
         "summary": "Python framework for running examples in docstrings",
         "rdepends": [
+            "asyncio",
+            "compression",
             "core",
             "debugger",
             "difflib",
+            "io",
+            "json",
+            "logging",
+            "math",
+            "netclient",
+            "numbers",
             "pprint",
             "shell",
             "stringold",
@@ -586,10 +623,13 @@ 
     "ensurepip": {
         "summary": "Support for bootstrapping the pip installer",
         "rdepends": [
-            "core"
+            "compression",
+            "core",
+            "io",
+            "math"
         ],
         "files": [
-            "${libdir}/python${PYTHON_MAJMIN}/ensurepip/"
+            "${libdir}/python${PYTHON_MAJMIN}/ensurepip"
         ],
         "cached": []
     },
@@ -598,9 +638,7 @@ 
         "rdepends": [
             "core"
         ],
-        "files": [
-            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/fcntl.*.so"
-        ],
+        "files": [],
         "cached": []
     },
     "gdbm": {
@@ -649,6 +687,7 @@ 
     "io": {
         "summary": "Python low-level I/O",
         "rdepends": [
+            "compression",
             "core",
             "math",
             "netclient"
@@ -813,10 +852,12 @@ 
     "multiprocessing": {
         "summary": "Python multiprocessing support",
         "rdepends": [
+            "compression",
             "core",
             "crypt",
             "ctypes",
             "io",
+            "json",
             "math",
             "mmap",
             "netclient",
@@ -848,6 +889,7 @@ 
             "${libdir}/python${PYTHON_MAJMIN}/hmac.py",
             "${libdir}/python${PYTHON_MAJMIN}/http",
             "${libdir}/python${PYTHON_MAJMIN}/http/__pycache__",
+            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_hmac.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_uuid.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/mimetypes.py",
             "${libdir}/python${PYTHON_MAJMIN}/poplib.py",
@@ -890,7 +932,6 @@ 
             "${libdir}/python${PYTHON_MAJMIN}/contextvars.py",
             "${libdir}/python${PYTHON_MAJMIN}/decimal.py",
             "${libdir}/python${PYTHON_MAJMIN}/fractions.py",
-            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_contextvars.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_decimal.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/numbers.py"
         ],
@@ -999,8 +1040,7 @@ 
     "shell": {
         "summary": "Python shell-like functionality",
         "rdepends": [
-            "core",
-            "stringold"
+            "core"
         ],
         "files": [
             "${libdir}/python${PYTHON_MAJMIN}/cmd.py",
@@ -1044,12 +1084,9 @@ 
             "core"
         ],
         "files": [
-            "${libdir}/python${PYTHON_MAJMIN}/string/__init__.py",
-            "${libdir}/python${PYTHON_MAJMIN}/string/templatelib.py"
+            "${libdir}/python${PYTHON_MAJMIN}/string"
         ],
-        "cached": [
-            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/string.*.pyc"
-        ]
+        "cached": []
     },
     "syslog": {
         "summary": "Python syslog interface",
@@ -1104,10 +1141,11 @@ 
     "tomllib": {
         "summary": "Provides an interface for parsing TOML",
         "rdepends": [
-            "core"
+            "core",
+            "datetime"
         ],
         "files": [
-            "${libdir}/python${PYTHON_MAJMIN}/tomllib/"
+            "${libdir}/python${PYTHON_MAJMIN}/tomllib"
         ],
         "cached": []
     },
@@ -1125,9 +1163,7 @@ 
             "stringold"
         ],
         "files": [
-            "${libdir}/python${PYTHON_MAJMIN}/unittest",
-            "${libdir}/python${PYTHON_MAJMIN}/unittest/",
-            "${libdir}/python${PYTHON_MAJMIN}/unittest/__pycache__"
+            "${libdir}/python${PYTHON_MAJMIN}/unittest"
         ],
         "cached": []
     },
@@ -1147,8 +1183,10 @@ 
     "venv": {
         "summary": "Provides support for creating lightweight virtual environments with their own site directories, optionally isolated from system site directories.",
         "rdepends": [
+            "compression",
             "core",
             "logging",
+            "shell",
             "stringold"
         ],
         "files": [