Files
mtgodot-poc/audit/port-map/UserInterface/PythonPackModule.cpp.json
T
shenleiandClaude Opus 5 2b873f190f port(2P step 3a/3b): stdlib on sys.path + the pack module
step 3a — 标准库:
  tools/py_embed/make_stdlib_zip.py packs the vendored Lib/ into
  <build>/python27.zip (397 modules, 6876547 bytes, ZIP_STORED — the zlib
  module is trimmed out of our CPython, so zipimport cannot inflate).
  The mtpython_stdlib target builds it; py_embed_test and the launcher test
  both run against it.
  platform/ScriptLib/PythonHost sets the embedding flags before
  Py_Initialize and, after it, puts the zip on sys.path and re-registers
  encodings.search_function with codecs — 2.7 builds the codec registry
  once, at startup, so replacing sys.path afterwards needs it back.

step 3b — pack 模块:
  UserInterface/PythonPackModule.cpp copied verbatim; packExist/packGet/
  initpack read root/ and uiscript/ through CEterPackManager, i.e. through
  asset_io. The CHINA_CRYPT_KEY block in that unit is CAccountConnector's
  and is kept #if 0 until the login slice (2V1). UserInterface/StdAfx.h is
  a documented partial mirror — the original is the whole client's PCH.

The launcher test now runs initpack() as RunMainScript does (its first
line), reads system.py / uiscript / locale text back out of the packs, and
confirms cp1252 decoding works off the zip. system.py still stops at
"No module named app" — the C++ modules are the 2V0 slice.

gates: port_map.py check 0 errors · key leak check 8/8 none · macOS ctest
27/27 · android + ios port_platform compile clean.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-23 09:16:37 +09:00

36 lines
1.0 KiB
JSON

{
"reference": "UserInterface/PythonPackModule.cpp",
"reference_sha256": "2c1492f167bae752c61c63a3a8eabd0bb7e8b08a3de94f138ce1e23bfc006c9f",
"priority": "P4",
"contracts": [],
"functions": {
"GetKey_20050304Myevan": {
"status": "TODO"
},
"CAccountConnector::__BuildClientKey_20050304Myevan": {
"status": "TODO"
},
"packExist": {
"impl": [
"extension/src/port/UserInterface/PythonPackModule.cpp:packExist"
],
"status": "PORTED",
"test": "extension/tests/port_python_launcher_test.cpp (port.python_launcher)"
},
"packGet": {
"impl": [
"extension/src/port/UserInterface/PythonPackModule.cpp:packGet"
],
"status": "PORTED",
"test": "extension/tests/port_python_launcher_test.cpp (port.python_launcher)"
},
"initpack": {
"impl": [
"extension/src/port/UserInterface/PythonPackModule.cpp:initpack"
],
"status": "PORTED",
"test": "extension/tests/port_python_launcher_test.cpp (port.python_launcher)"
}
}
}