Skip to content

build(linux): a PPA and COPR as the release channels, Flathub later - #3437

Merged
datlechin merged 18 commits into
linuxfrom
refactor/linux-distribution-docs
Oct 16, 2026
Merged

datlechin merged 18 commits into
linuxfrom
refactor/linux-distribution-docs

Conversation

@datlechin

@datlechin datlechin commented Oct 16, 2026 •

Copy link
Copy Markdown
Member

Why

A .deb on GitHub Releases never updates, a COPR token expires every 180 days, and Flathub's AI policy rules out a manifest written here. The docs had drifted from the code.

Change

  • Releases go to a Launchpad PPA (Ubuntu 26.04 and 26.10, built offline with rustc-1.97) and COPR (Fedora 44+). Flathub comes later, by hand. ADR 0018 supersedes 0017; MSRV 1.97, checked in CI.
  • The release job uploads to the PPA and posts the tag to COPR's custom webhook: no token, only Linux releases build.
  • Add Index and Add Foreign Key now open with the cursor in Name. On GNOME 51, Enter cancelled them. Closed grids, SQL editors and row JSON dialogs are now freed. Flatpak and CI move to GNOME 51, and each profile gets its own settings schema.
  • Tests end the apps they register and destroy the windows they present, so the gtk suite fits a 1024 open-file limit. Guides, ROADMAP and ADRs are corrected against the code.

Verified

The focus tests fail on GTK 4.22 without the fix and pass on 4.22 and 4.24. All suites pass under ulimit -Sn 1024; both .debs and the .rpm build offline, lint clean and start.

Not in this PR

Without GNOME Shell nothing installs libGLESv2 on Fedora 44, not even as
a weak dependency of gtk4 or libepoxy, so tablepro aborted at startup in
libepoxy, as the CI smoke test of the rpm found.
The .deb is a 3.0 (quilt) source package with the vendored crates as an orig component, built offline per Ubuntu series the way Launchpad builds it. The workspace MSRV drops to 1.97, which a CI job checks with the PPA's compiler. The Flatpak jobs move to GNOME 51 and the release-shape job goes with the Flathub manifest.
release-linux.yml posts the tag to the COPR project's custom webhook and uploads the signed source packages to the PPA. copr-sources.sh fetches the spec and tarballs for that tag, so no API token expires and only a Linux release starts a build. The spec and debian/copyright name each crate's whole license expression.
ADR 0018 supersedes 0017 and restates what still holds. README, ROADMAP, testing.md and CONTRIBUTING follow the new channels, the MSRV and the CI jobs.
On GTK 4.24 an AdwDialog focuses Cancel first, so Enter in Add Index or Add Foreign Key cancelled the form. A closed grid, SQL editor or row JSON dialog stayed alive through GTK 4.22 and GtkSourceView bugs, with the session and runtime it held. Tests now end the applications they register and destroy the windows they present, so the gtk suite fits a 1024 open-file limit.
…ibution-docs

# Conflicts:
#	.github/workflows/release-linux.yml
#	linux/AGENTS.md
#	linux/ROADMAP.md
#	linux/build-aux/rpm/tablepro.spec
#	linux/crates/app/meson.build
#	linux/docs/storage.md
GTK 4.24 sets a text view as its input method's client at construction
and clears it only in the view's dispose (GTK 3df992599b). IBus refs its
client, so the view and its IBus context kept each other alive. The GNOME
51 runtime ships the IBus GTK 4 module; the Ubuntu images do not.
The run that ends a registered app activated it, which restored a session or opened a window once the app had left the bus. The geometry tests take a window with no application.
@datlechin
datlechin merged commit 0dc3914 into linux Oct 16, 2026
28 of 31 checks passed
@datlechin
datlechin deleted the refactor/linux-distribution-docs branch October 16, 2026 04:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant