Skip to content

packaging(linux): distro packages (deb, rpm, Flatpak, optional AUR) #386

Description

@ZhuchkaTriplesix

Parent

Part of #379

Problem

Besides portable zip and AppImage, users on major Linux distros expect native/near-native installers. One AppImage helps, but Debian/Ubuntu, Fedora/RHEL, and Flathub-style Flatpak cover most desktops; Arch users often want AUR.

Scope (phased)

P0 — pick and ship at least two of

  1. .deb (Debian / Ubuntu / derivatives) — CI build from linux release bundle + desktop file + dependencies (libgtk-3, libsecret-1, …)
  2. .rpm (Fedora / RHEL / openSUSE-friendly) — same payload, rpm metadata
  3. Flatpak (distro-agnostic; sandbox notes for DB drivers / localhost access)

P1 — optional

  1. AUR / PKGBUILD (community-maintained or official) documenting source of zip/AppImage
  2. Snap only if product explicitly wants it (updater already treats SNAP as managed)

CI / Release UX

  • Publish artifacts with clear names, e.g.:
    • Querya-Desktop-{ver}-linux.deb
    • Querya-Desktop-{ver}-linux.rpm
    • Flatpak via Flathub or attach .flatpak / manifest + build in CI (decide in implementation)
  • List under Installable (Linux) next to AppImage; keep zip as Portable
  • Document install commands per distro family in README / docs/tags-and-releases.md
  • Coordinate bundle id with the com.example replacement issue before Flathub/desktop files freeze the id

Acceptance

  • At least deb + one of (rpm | Flatpak) published or linked from Releases for a tagged build
  • Desktop entry + icon install correctly; app launches on a smoke distro per format
  • Dependencies documented (GTK, libsecret, etc.)
  • Updater behavior: for deb/rpm/Flatpak prefer package-manager update messaging when detected (FLATPAK_ID already exists); deb/rpm may stay on zip/AppImage channel until native update story exists — document the chosen policy
  • SHA256SUMS.txt includes attached packages

Notes

  • Prefer not blocking 0.4.11 on full distro matrix; land after dual-channel skeleton (AppImage + portable zip).
  • Reuse the same Flutter linux bundle payload across deb/rpm/AppImage to avoid N divergent builds.

References

  • #379 epic
  • AppImage sibling issue
  • update_install_context.dart (Flatpak/Snap detection)
  • docs/getting-started.md (libsecret build deps)

Metadata

Metadata

Labels

coreCore library logic and servicesdocumentationImprovements or additions to documentationenhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions