2.3 KiB
FAIL
Checks run: cargo check --workspace, cargo clippy --workspace --all-targets, cargo fmt --check (all clean); cargo test --workspace (5 passed); tests/scripts/bundle-macos.sh, desktop-files.sh, installer-windows.sh, apps-start.sh (all pass, none skipped). Release bundle packaging/macos/bundle.sh ely-pdf built, verified with codesign --verify --deep --strict, and printed ready ElyPDF under ELY_SMOKE=1. otool -L shows only system libraries, and the binary's minos is 11.0, below the plist's 14.0. Both appimagetool 1.9.1 SHA-256 values in appimage.sh match the downloaded release assets. Every file is under 500 lines, and every comment fits on one line in ten words or fewer.
-
packaging/windows/installer.nsi:41 — The installer ships only
${APP_SLUG}.exe. The repo has no.cargo/config.tomlsetting+crt-static, so ax86_64-pc-windows-msvcbuild linksVCRUNTIME140.dlldynamically. That DLL is not part of Windows 11. This breaks PRD §4.2: "独立安装包自带所需运行库". Failing scenario: install on a clean Windows 11 machine (for example Windows Sandbox) and start the app. Windows reports "VCRUNTIME140.dll was not found" and the app never opens. Fix: link the CRT statically for the windows-msvc target (-C target-feature=+crt-staticin.cargo/config.toml), or have the installer carry the VC runtime DLLs next to the exe. Add a check that the shipped exe imports noVCRUNTIME*.dll. -
packaging/linux/appimage.sh:59-65 — The AppDir holds only the binary, the desktop file and the icon. No shared library is bundled. gpui_linux links
xkbcommonwith thex11andwaylandfeatures, so the binary needslibxkbcommon.so.0andlibxkbcommon-x11.so.0at load time. Neither is on the AppImage excludelist of libraries the host is expected to provide. This breaks PRD §4.2: "每个应用也有独立发行包,并附带其所需运行库". Failing scenario: on the Arch/Omarchy test snapshot (§4.1), wherelibxkbcommon-x11is a separate package that is not installed,ElyDoc-x86_64.AppImageexits with "error while loading shared libraries: libxkbcommon-x11.so.0". Fix: deploy the binary's non-excluded dependencies intousr/libof the AppDir (linuxdeploy, or ldd filtered by the excludelist) with an$ORIGINrpath. Fail the build if a needed library cannot be resolved.