From 04f8cc80c798fe3f3eb9690721da7cd476d4890f Mon Sep 17 00:00:00 2001 From: Christian Kolset Date: Tue, 11 Aug 2026 11:34:26 -0600 Subject: Restructure release infra for multiple platforms; migrate real win keys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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// 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-/ 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- release — only the TUF metadata + signed target archive do. Co-Authored-By: Claude Sonnet 5 --- scripts/release/.tufup-repo-config | 34 ---------------------------------- 1 file changed, 34 deletions(-) delete mode 100644 scripts/release/.tufup-repo-config (limited to 'scripts/release/.tufup-repo-config') diff --git a/scripts/release/.tufup-repo-config b/scripts/release/.tufup-repo-config deleted file mode 100644 index e072c2a..0000000 --- a/scripts/release/.tufup-repo-config +++ /dev/null @@ -1,34 +0,0 @@ -{ - "app_name": "labui", - "app_version_attr": null, - "binary_diff": null, - "encrypted_keys": [], - "expiration_days": { - "root": 365, - "snapshot": 90, - "targets": 90, - "timestamp": 90 - }, - "key_map": { - "root": [ - "root" - ], - "snapshot": [ - "snapshot" - ], - "targets": [ - "targets" - ], - "timestamp": [ - "timestamp" - ] - }, - "keys_dir": "keystore", - "repo_dir": "repository", - "thresholds": { - "root": 1, - "snapshot": 1, - "targets": 1, - "timestamp": 1 - } -} \ No newline at end of file -- cgit v1.2.3