|
|
3fda1db9c0
|
fix(packaging): package-windows.sh 支持 NSI 覆盖 + payload 预检
上一步失败:`File "..\..\build\linux-payload\*.*" -> no files found`。
原因:NSIS 的 `File` 路径**相对 .nsi 所在目录**解析,而我用了主仓的 installer.nsi
(它去找主仓的 build/linux-payload),payload 却 stage 在 tag 的 worktree 里。
改法:`NSI` 可覆盖 —— 在 tag 的 worktree 里构建时用**该 tag 里的** installer.nsi
(与产物同源,也正是可复现发布该有的样子);另加 payload 空载荷预检(空载荷=装不上,
必须直接失败而不是打出一个没内容的安装器)。
|
2026-09-13 18:29:13 +08:00 |
|
|
|
c83eca5e88
|
fix(packaging): package-windows.sh 支持 DIST_LINUX/BUILD_DIR/DIST_RELEASE 覆盖
我在 v1.3.10 的 tag worktree 里调这个脚本,而它提交在 main(tag 里当然没有)⇒
`No such file or directory`;又因为脚本没加 `set -e`,它继续往下跑,把只含 4 项
(linux amd64)的校验和传上去,覆盖掉了原本覆盖 10 项的那份。
目录可覆盖后就能「用主仓脚本、产物目录指向 worktree」,两个坑一起消掉。
|
2026-09-13 18:22:33 +08:00 |
|
|
|
594496a225
|
feat(packaging): 补 Windows(WSL) 安装器的驱动脚本,并按变体定向 payload
用户要求:**Windows 的 homed 安装包应当是往 WSL 里安装**。口径本身早已落地
(installer.nsi 注释 + install-via-wsl.ps1 + build.sh 的 WSL 分支),但缺两样东西:
1. **没有驱动脚本**:`build.sh` 里没有 `makensis`,仓库里也没有任何脚本调用它 ——
build/ 下那几个历史 .exe 是手工打的。新增 `deploy/packaging/package-windows.sh
<server|client|full> [arch]`:按变体准备 payload、必要时编 waiter.exe、调 makensis、
把产物落到 dist/release。
2. **payload 不分变体**:`build.sh` 的 `stage_linux_payload` 把 dist/linux 下所有 deb+tar
全塞进 payload ⇒ 现在 server/full 的 deb 各带 ~719MB 模型,任何变体的安装器都会
膨胀到 ~2.4GB。而 WSL 侧脚本只取 payload 里的**第一个** `.deb`
(install-via-wsl.ps1:141)⇒ 按变体只放对应的那一个包。
同时:client/full 需要 Windows GUI payload(HAS_GUI=1),本机无 electron-builder 时
**明确失败并给出命令**,不产出"装完没有界面"的半残包。
docs/git-branching.md §七.5 补上这条口径与三条命令。
|
2026-09-13 18:13:04 +08:00 |
|