[低] assemble_windows_local.py 生成的 managed-files 清单可能漏掉清单自身
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 72/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- python
- Domain
- build-system, release
Research direction
Start at scripts/assemble_windows_local.py lines 218-220 where managed is built, then read windows/build_windows.py:118 to see how the catalog path is appended there. Also check prepare_windows_update.py:57, whose set comparison is what rejects the signature when the manifest is missing. Done means the catalog path is always added to managed and the set comparison in the prepare step passes on a base package without updates/managed-files.json.
Written by the indexing model from the issue text.
Description
位置:scripts/assemble_windows_local.py:218-220
现象:managed = sorted(p.relative_to(app) ...) 只在 base 包已存在 updates/managed-files.json 时才把它算进去,脚本没有显式加入自身。对比 windows/build_windows.py:118 明确执行了 managed + [catalog.relative_to(dist).as_posix()]。若 base 缺该文件,prepare_windows_update.py:57 的集合比较会拒绝签名;即使不签名,更新器也会把新清单当成用户文件。
建议:像 build_windows.py 一样显式把 catalog 路径加入列表。
来源:2026-11-15 全仓只读审计,PR #7 未包含此项。
- Dominant language
- Swift
- Stars
- 2
- Forks
- 2
- Avg merge
- 1h 11m
- Merged PRs (30d)
- 2
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from cyandee/BirdLock
-
Difficulty 2/5 Under an hour Newbie friendliness 62/100
-
Difficulty 1/5 Under an hour Newbie friendliness 80/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 1/5 Under an hour Newbie friendliness 86/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100