feat(install): make Flatpak the default one-liner pathway - #56
Merged
Conversation
The one-liner installed the native couchplay binary by default on every non-SteamOS distro - the opposite of the agreed 'Flatpak is the default GUI' decision (the native binary fails on Arch/SteamOS via copy-relocation). Add install_flatpak() as the default pathway: download + checksum-verify the flatpak bundle, ensure the Flathub remote + org.kde.Platform 6.10 runtime, install the bundle as the invoking user, export the privileged helper from the flatpak, then install it system-wide. SteamOS still auto-selects the sysext; --tarball opts into the legacy native build. flatpak.yml now generates + publishes couchplay.flatpak.sha256 (both beta and stable releases) so the one-liner can verify the bundle - previously only the tarball/sysext had checksums. README surfaces the one-liner as 'Quick install' (flatpak GUI + helper).
…teamOS README wording - install_flatpak: when couchplay.flatpak.sha256 exists in the release but its download fails, exit 1 (mirror install_tarball's 'Refusing to install without checksum verification'). The graceful skip now applies only to genuinely absent assets (old releases), closing a silent integrity-bypass gap. - README: 'On SteamOS the installer deploys a system extension instead of the Flatpak' was wrong - install_sysext installs the Flatpak GUI bundle too. Reworded to 'also deploys a system extension for the privileged helper'.
…own section The --tarball native-binary install was only a passing clause after moving the one-liner to Quick install. Add a dedicated subsection with the full command + the Fedora-family caveat, and drop the now-redundant clause from the blockquote.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
We agreed Flatpak is the default GUI (it runs on every distro; the native binary fails on Arch/SteamOS via copy-relocation). But the one-liner (
install.sh) contradicted this: on every non-SteamOS distro it raninstall_tarball(), installing the nativecouchplaybinary + helper. Only the SteamOS (install_sysext) path actually installed the Flatpak.So a user running the documented one-liner on Arch/Fedora/Bazzite got the native binary — the exact thing that breaks on Arch/SteamOS.
Change
install_flatpak()pathway is the default for all non-SteamOS distros:couchplay.flatpak.org.kde.Platform 6.10runtime.flatpak install --userthe bundle as the invoking user (Flatpak never runs as root; everything user-scoped goes throughsudo -u "$REAL_USER").flatpak run … install-helper.sh export) and install it system-wide — the same path documented in the README, whichinstall-helper.shalready detects (flatpak-export layout, line 89-92).main()pathway selection: SteamOS → sysext;--tarball→ native (Fedora-family opt-in); default → flatpak. New--flatpakflag to force it.flatpak.yml: generate + publishcouchplay.flatpak.sha256(beta and stable releases) so the one-liner can verify the bundle — previously only the tarball/sysext had checksums. Old releases without the sha are handled gracefully (verification skipped).Verification
bash -n scripts/install.shclean;shellcheckreports zero new findings (only the pre-existingbinary_nameSC2034).flatpak.ymlparses as valid YAML.install-helper.shdetects the flatpak-export layout ($SCRIPT_DIR/couchplay-helper+$data/), so the export→install step resolves correctly.couchplay.flatpak(viaflatpak.yml'sv*tag trigger); this PR only adds the checksum.Notes
mainone-liner stays on the old installer until the next release cut; this lands ondevelop(beta) first, as expected.