This is an automated email from the ASF dual-hosted git repository. leginee pushed a commit to branch win10-msvc-trunk in repository https://gitbox.apache.org/repos/asf/openoffice.git
commit ef8ddd6c4485217131eb1989656116d1c10fe332 Author: Peter Kovacs <[email protected]> AuthorDate: Wed Aug 26 23:19:43 2026 +0200 python: Python 3 turned stdlib modules into packages, so d.lst must list them d.lst copies the standard library with one wildcard per directory, and deliver.pl does not recurse: `Lib\*` takes only the files at the top of Lib. Every package therefore needs its own mkdir and its own copy line, and the list was inherited from the Python 2.7 tree. Python 3 turned a number of former single-file modules into packages -- collections, re, urllib, http, xmlrpc -- and added new ones (asyncio, concurrent, dbm, html, tomllib, zoneinfo, importlib.metadata, importlib.resources). None of them were listed, so all of them were dropped from the delivered stdlib without any error. Dropping collections alone is enough to kill Python scripting outright: import uno -> import socket -> selectors -> from collections import namedtuple ModuleNotFoundError: No module named 'collections' uno.py imports socket at module scope, so `import uno` raises, and with it pythonscript.py; the Python script provider cannot be instantiated and the Scripting Framework answers every request with ScriptFrameworkErrorType::NOTSUPPORTED, surfacing as "The scripting language Python is not supported." pydoc_data is added for the same reason: pydoc.py is delivered by the top-level wildcard and imports it. Not architecture specific -- these lines carry no arch conditional, so the 32-bit build shipped the same incomplete stdlib. Co-Authored-By: Claude Opus 5 <[email protected]> Claude-Session: https://claude.ai/code/session_012NFKmwTogkytKnrTBX5Lax --- main/python/prj/d.lst | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/main/python/prj/d.lst b/main/python/prj/d.lst index ab7f362e46..615f800cdc 100644 --- a/main/python/prj/d.lst +++ b/main/python/prj/d.lst @@ -27,9 +27,31 @@ mkdir: %_DEST%\lib%_EXT%\python\importlib mkdir: %_DEST%\lib%_EXT%\python\multiprocessing mkdir: %_DEST%\lib%_EXT%\python\multiprocessing\dummy mkdir: %_DEST%\lib%_EXT%\python\unittest +mkdir: %_DEST%\lib%_EXT%\python\asyncio +mkdir: %_DEST%\lib%_EXT%\python\collections +mkdir: %_DEST%\lib%_EXT%\python\concurrent +mkdir: %_DEST%\lib%_EXT%\python\concurrent\futures +mkdir: %_DEST%\lib%_EXT%\python\dbm +mkdir: %_DEST%\lib%_EXT%\python\html +mkdir: %_DEST%\lib%_EXT%\python\http +mkdir: %_DEST%\lib%_EXT%\python\importlib\metadata +mkdir: %_DEST%\lib%_EXT%\python\importlib\resources +mkdir: %_DEST%\lib%_EXT%\python\pydoc_data +mkdir: %_DEST%\lib%_EXT%\python\re +mkdir: %_DEST%\lib%_EXT%\python\tomllib +mkdir: %_DEST%\lib%_EXT%\python\urllib +mkdir: %_DEST%\lib%_EXT%\python\xmlrpc +mkdir: %_DEST%\lib%_EXT%\python\zoneinfo mkdir: %_DEST%\lib%_EXT%\python\python3.11\config mkdir: %_DEST%\inc%_EXT%\python\cpython +# The first line copies only the FILES at the top of Lib; deliver.pl does not +# recurse. Every stdlib PACKAGE therefore needs its own mkdir above and its own +# line below, and the two lists must stay in sync. Python 3 turned a number of +# former single-file modules (collections, re, urllib, ...) into packages, so a +# list inherited from a Python 2 tree silently drops them -- and dropping +# collections alone is enough to break "import uno", which imports socket. +# When bumping Python, diff Lib/*/ against this list. ..\%__SRC%\misc\build\Python-3.11.15\Lib\* %_DEST%\lib%_EXT%\python\* ..\%__SRC%\misc\build\Python-3.11.15\Lib\site-packages\* %_DEST%\lib%_EXT%\python\site-packages\* ..\%__SRC%\misc\build\Python-3.11.15\Lib\encodings\* %_DEST%\lib%_EXT%\python\encodings\* @@ -58,6 +80,21 @@ mkdir: %_DEST%\inc%_EXT%\python\cpython ..\%__SRC%\misc\build\Python-3.11.15\Lib\multiprocessing\* %_DEST%\lib%_EXT%\python\multiprocessing\* ..\%__SRC%\misc\build\Python-3.11.15\Lib\multiprocessing\dummy\* %_DEST%\lib%_EXT%\python\multiprocessing\dummy\* ..\%__SRC%\misc\build\Python-3.11.15\Lib\unittest\* %_DEST%\lib%_EXT%\python\unittest\* +..\%__SRC%\misc\build\Python-3.11.15\Lib\asyncio\* %_DEST%\lib%_EXT%\python\asyncio\* +..\%__SRC%\misc\build\Python-3.11.15\Lib\collections\* %_DEST%\lib%_EXT%\python\collections\* +..\%__SRC%\misc\build\Python-3.11.15\Lib\concurrent\* %_DEST%\lib%_EXT%\python\concurrent\* +..\%__SRC%\misc\build\Python-3.11.15\Lib\concurrent\futures\* %_DEST%\lib%_EXT%\python\concurrent\futures\* +..\%__SRC%\misc\build\Python-3.11.15\Lib\dbm\* %_DEST%\lib%_EXT%\python\dbm\* +..\%__SRC%\misc\build\Python-3.11.15\Lib\html\* %_DEST%\lib%_EXT%\python\html\* +..\%__SRC%\misc\build\Python-3.11.15\Lib\http\* %_DEST%\lib%_EXT%\python\http\* +..\%__SRC%\misc\build\Python-3.11.15\Lib\importlib\metadata\* %_DEST%\lib%_EXT%\python\importlib\metadata\* +..\%__SRC%\misc\build\Python-3.11.15\Lib\importlib\resources\* %_DEST%\lib%_EXT%\python\importlib\resources\* +..\%__SRC%\misc\build\Python-3.11.15\Lib\pydoc_data\* %_DEST%\lib%_EXT%\python\pydoc_data\* +..\%__SRC%\misc\build\Python-3.11.15\Lib\re\* %_DEST%\lib%_EXT%\python\re\* +..\%__SRC%\misc\build\Python-3.11.15\Lib\tomllib\* %_DEST%\lib%_EXT%\python\tomllib\* +..\%__SRC%\misc\build\Python-3.11.15\Lib\urllib\* %_DEST%\lib%_EXT%\python\urllib\* +..\%__SRC%\misc\build\Python-3.11.15\Lib\xmlrpc\* %_DEST%\lib%_EXT%\python\xmlrpc\* +..\%__SRC%\misc\build\Python-3.11.15\Lib\zoneinfo\* %_DEST%\lib%_EXT%\python\zoneinfo\* ..\%__SRC%\misc\build\Python-3.11.15\Makefile %_DEST%\lib%_EXT%\python\python3.11\config\Makefile # _sysconfigdata filename is platform-mangled (e.g. _sysconfigdata__darwin_darwin.py on macOS, # _sysconfigdata__linux_x86_64-linux-gnu.py on Linux). On Linux, makefile.mk's BUILD_ACTION
