feat(packaging): Linux install route Phase 1 — AppImage / .deb / .rpm / AUR (#1227) #1275
No reviewers
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck!1275
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/1227-linux-packaging"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Implements Phase 1 of the Linux install route (#1227, design in
docs/design/LINUX_PACKAGING.md): alongside the tarball, every release now shipsan AppImage, a
.deband an.rpm, plus an AURocideck-binPKGBUILD. Each wraps the same
flutter build linuxbundle — no store, no sandbox;the direct forge download stays canonical (
assurance/app-store-distributie-positie.md).What lands
scripts/package_linux.shstages the bundle into an FHS tree and builds:appimagetool, run without FUSE.deb—dpkg-deb,libgtk-3-0t64 | libgtk-3-0alternatives for Ubuntu's t64 renames.rpm—rpmbuildderiving sonameRequires, so it resolves on Fedora and openSUSE alikemake package-linux VERSION=x.ocideck-bin(packaging/aur/PKGBUILD+scripts/update_aur_pkgbuild.sh),pointing at our own release tarball, verified against
SHA256SUMS. Publishing isa maintainer step (like the Homebrew tap), so it is not wired into the chain.
.forgejo/workflows/release.yml): thelinuxjob installsrpm, runs the packager with a sha256-pinned appimagetool, and uploads all fourLinux assets in one artifact → folded into
SHA256SUMS. Release notes gain thedownloads and per-format install steps.
test/linux_packaging_test.dart(offline wiring),docs/BUILD.md,the design doc (Phase 1 marked built),
packaging/README.md,README.md,CHANGELOG.md.Deliberate calls
fastforge— standard tools match the repo's pin/provenanceline and add no Dart toolchain.
appimagetoolpinned by sha256, not*_VERSION— it ships only a rollingcontinuoustag, so the content hash is the pin; a drift fails the build loudly(that is why it is not in
.github/pinned-ci-versions.json).Deferred (design doc)
accounts (Flathub review, Canonical) and the doc's open decisions.
Validation
make checkgreen locally. The packages only build on a Linux tag, soflutter testcannot exercise them —
test/linux_packaging_test.dartpins the wiring offline, andthe real packages should be validated with a
-rc1prerelease tag before the nextreal release (as #1170 was).
🤖 Generated with Claude Code
2e5cbf9b638230a5e4e5