[低] assemble_windows_local.py 生成的 managed-files 清单可能漏掉清单自身

Open Beginner friendly
#46 0 comments 0 reactions 0 assignees View on GitHub

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

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from cyandee/BirdLock

All issues in cyandee/BirdLock

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.