Skip to content

feat(packaging): build without the in-app updater and license every file as MIT - #1934

Merged
l0gicgate merged 2 commits into
mainfrom
feat/1933-build-without-updater
Oct 29, 2026
Merged

l0gicgate merged 2 commits into
mainfrom
feat/1933-build-without-updater

Conversation

@l0gicgate

Copy link
Copy Markdown
Contributor

Description

Distributions that deliver Strata updates through their own packages had no way to turn the in-app updater off. Only pacman-owned installs and the AUR marker suppress it, and the marker's update check queries the AUR. This adds a build-time switch, STRATA_UPDATER=disabled. A build made with it:

  • never checks for, downloads, or installs a release
  • has no Updates page in Settings and no update results in Settings search
  • reports "In-app updates are disabled in this build." as its installation in Diagnostics, which tells a downstream build apart in bug reports

The switch accepts only enabled (the default) and disabled, so a typo fails the build rather than shipping an updater. It is documented in docs/packaging.md and the README.

Separately, the updater modules, entry_animation, dissolve_delete, fly_to_trash, location/completion, their tests, and scripts/sign_update_manifest.py carried GPL-3.0-or-later SPDX headers by mistake. They are now MIT like the rest of the project. The third-party GTK/GStreamer patches keep their LGPL notices.

Visual evidence

N/A. The change removes the Updates page in a build option and edits license headers.

How to test

  1. Build with STRATA_UPDATER=disabled cargo build --locked --release and launch Strata.
  2. Open Settings: there is no Updates entry, and searching "release channel" or "check for updates" finds nothing.
  3. Open Settings → Diagnostics: Installation reads "In-app updates are disabled in this build."
  4. Build with STRATA_UPDATER=disable: the build fails, naming the accepted values.
  5. Build without the variable: the Updates page and update checks behave as before.
  6. grep -rn "GPL-3.0" src scripts prints nothing.

Expected result: Disabled builds contain no reachable updater, default builds are unchanged, and every first-party source file is MIT.

Related issue

Closes #1933

The project is MIT, but the updater modules, the trash and entry
animations, path completion, and the manifest signing script carried
GPL-3.0-or-later SPDX headers by mistake.

Refs #1933
STRATA_UPDATER=disabled compiles the updater out for distributions
whose own packages deliver Strata updates. Such a build never checks
for or installs a release, has no Updates page in Settings or search,
and reports the disabled updater in Diagnostics. Any other value fails
the build so a typo cannot ship an updater.

Refs #1933
@l0gicgate
l0gicgate merged commit d27e49b into main Oct 29, 2026
4 of 5 checks passed
wmfeht pushed a commit to wmfeht/strata-feature-map that referenced this pull request Oct 29, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RQ23ABVQmsKTvBAiWPnosE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Let distribution packages build without the in-app updater, and license every source file as MIT

1 participant