|
PyInstaller doesn't cross-compile and TUF metadata filenames aren't
platform-prefixed, so a shared updates/ release and repo tree can't
safely hold more than one OS's build — a second platform's publish
would silently overwrite the first's trust root and metadata.
- scripts/release/repo_init.py, repo_release.py: auto-detect platform
(win/mac/linux) and operate inside scripts/release/<platform>/ instead
of a flat scripts/release/ tree.
- labui.spec: bundles root.json from this platform's own tree.
- core/updater.py: points at releases/download/updates-<platform>/
instead of a single shared updates/ tag.
- Moved the existing real keystore/repository/config (already used for
a live Windows release) from the old flat path into
scripts/release/win/ — same keys, same signed metadata, just
relocated. No new keys generated, existing installs still trust it.
- .gitignore updated for the per-platform paths, plus temporary rules
covering the old flat path during migration.
- docs/building.md, scripts/release/README.md: rewritten for the
per-platform flow, including a note that Linux builds should happen
on Linux/WSL2 (no cross-compiling) and that a bare .exe doesn't
belong on the updates-<platform> release — only the TUF metadata +
signed target archive do.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|