QQ频道运营台 v7.8.5 修正版2 回归报告
=======================================

现场错误
- 客户端入口 app.desktop 缺少依赖 select
- ModuleNotFoundError: No module named 'select'

根因
Windows 冻结包中的 select/_socket/_ssl/_sqlite3 等属于 CPython 原生标准库依赖，
部分为 .pyd 二进制扩展。自定义 PyInstaller 包装器动态加载 app.desktop 时，
间接依赖可能未被收集进冻结运行目录。

本次修复
1. 新增 app/_frozen_runtime_deps.py。
2. app.desktop 在 requests / BeautifulSoup 之前显式锚定冻结原生依赖。
3. app._secure_entry 同样提前锚定原生依赖。
4. 强制验证 select/selectors/socket/_socket/ssl/_ssl/sqlite3/_sqlite3/
   hashlib/_hashlib/ctypes/_ctypes/zlib/bz2/_bz2/lzma/_lzma。
5. PyInstaller 构建增加以上模块 hidden-import。
6. collect requests/urllib3/bs4/soupsieve 完整子模块。
7. packaged_entry --package-smoke-test 会直接验证原生模块。
8. verify_packaging_entry.py 会打印每一个冻结原生依赖是否存在。

验证
- 48 个 Python 文件 AST：通过。
- app.desktop + app._secure_entry + 原生依赖联合导入：通过。
- packaged_entry --package-smoke-test：通过。
- verify_packaging_entry.py：通过。
- select/_socket/_ssl/_sqlite3 验证：通过。
- ZIP CRC：通过。

热更新核心未修改
以下文件与上一份 v7.8.5 字节级完全一致：
- app/updater.py
  SHA256 ab3ef451133bd84c7ea5294b4bd366b242c172939b6a81dc193bcfd8606c252b
- make_update_package.py
  SHA256 14e8479e0456adfb3525d39bceaaf94cf2be5fe848cfb3c5fab8453b106c2356
- 07_PACKAGE_UPDATE.bat
  SHA256 5ea6ccb40ad300e79cf41fb9f44cdff5a6d7877e07835f5b255bf0d85549e095

说明
当前验证环境不是 Windows，因此这里不能真实生成 Windows select.pyd。
修复方式是让 Windows 本机 PyInstaller 从它自己的 CPython 安装中强制收集这些
原生标准库扩展，并由真实冻结 EXE 的 --package-smoke-test 做最终拦截。
