Linux distribution: build script, .deb fix, Flatpak, AUR, apt sample #9

Closed
claude wants to merge 0 commits from feat/linux-dist into main
Contributor

Finishes Linux distribution. Not merged to main on purpose - see the Windows item.

What's in it

  • scripts/build-linux.sh: preflight + web build + AppImage/.deb + SHA256SUMS; the quick-sharun anylinux.c 404 override is pinned and explained inline. Reproduced from the script on 2026-09-20 (~9.5 min warm).
  • .deb: stock bundler Depends was only libgtk-3-0; the app needs ~30 more libs (some dlopen-ed, e.g. libxkbcommon-x11, which panicked on ubuntu:24.04) and a font. Declared in tauri.conf.json; apt install + run verified on debian:trixie and ubuntu:24.04.
  • Flatpak dev.jorkonvo.desktop (GNOME 48 runtime): built with flatpak-builder, installed and run in the real sandbox. Chromium's own sandbox cannot start in bwrap (No usable sandbox!), so the wrapper passes --no-sandbox.
  • AUR jorkonvo-bin: makepkg + pacman -U + run in archlinux.
  • apt repo: unsigned reprepro sample, apt install jorkonvo over HTTP (plan only, no live repo).
  • docs/LINUX_PACKAGING.md rewritten (build, failure+fix, sandbox matrix, per-format evidence).

Gate: npm run build, npm test (506 passed, 1 skipped), npm run lint (0 errors).

Decision needed before merge: Windows

main builds Windows with CEF (verified working). This branch makes CEF Linux-only, so Windows would switch to WebView2. cargo tree confirms the graph (wry + webview2-com, no CEF), but no Windows machine was available, so calls on WebView2 are unproven. Options: run one real call on Windows, or keep CEF on Windows (cfg(windows) tauri entry with the cef feature). Details in the doc.

Not tested

Real GPU/audio/camera, a physical Wayland session, the setuid-sandbox path of the .deb, AUR/Flatpak on their real distros' desktops. The Codemagic desktop workflows are removed (per the branch's intent).

Draft release linux-v0.0.1 holds the artifacts.

🤖 Generated with Claude Code

Finishes Linux distribution. **Not merged to main on purpose - see the Windows item.** ## What's in it - `scripts/build-linux.sh`: preflight + web build + AppImage/.deb + `SHA256SUMS`; the quick-sharun `anylinux.c` 404 override is pinned and explained inline. Reproduced from the script on 2026-09-20 (~9.5 min warm). - **.deb**: stock bundler `Depends` was only `libgtk-3-0`; the app needs ~30 more libs (some `dlopen`-ed, e.g. `libxkbcommon-x11`, which panicked on ubuntu:24.04) and a font. Declared in `tauri.conf.json`; `apt install` + run verified on debian:trixie and ubuntu:24.04. - **Flatpak** `dev.jorkonvo.desktop` (GNOME 48 runtime): built with flatpak-builder, installed and run in the real sandbox. Chromium's own sandbox cannot start in bwrap (`No usable sandbox!`), so the wrapper passes `--no-sandbox`. - **AUR** `jorkonvo-bin`: `makepkg` + `pacman -U` + run in archlinux. - **apt repo**: unsigned reprepro sample, `apt install jorkonvo` over HTTP (plan only, no live repo). - `docs/LINUX_PACKAGING.md` rewritten (build, failure+fix, sandbox matrix, per-format evidence). Gate: `npm run build`, `npm test` (506 passed, 1 skipped), `npm run lint` (0 errors). ## Decision needed before merge: Windows `main` builds Windows with CEF (verified working). This branch makes CEF Linux-only, so Windows would switch to WebView2. `cargo tree` confirms the graph (wry + webview2-com, no CEF), but **no Windows machine was available**, so calls on WebView2 are unproven. Options: run one real call on Windows, or keep CEF on Windows (`cfg(windows)` tauri entry with the `cef` feature). Details in the doc. ## Not tested Real GPU/audio/camera, a physical Wayland session, the setuid-sandbox path of the .deb, AUR/Flatpak on their real distros' desktops. The Codemagic desktop workflows are removed (per the branch's intent). Draft release `linux-v0.0.1` holds the artifacts. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
CEF becomes an opt-in cargo feature (Linux); Windows/macOS use wry.
Alloy style fixes empty media device lists. Desktop builds are local now.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- explicit cleartext ban; camera/microphone uses-feature required=false
- store/: listing HU+EN, data safety (E2EE stated precisely), content rating, graphics, screenshots
- docs/PLAY_STORE.md

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Renames build-linux-appimage.sh; adds tool/Node preflight, builds the web
bundle, collects artifacts into dist/linux. quick-sharun 404 override kept
and explained inline.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
deb: the bundler emitted Depends: libgtk-3-0 only; CEF needs ~30 more libs
(some dlopen'd, invisible to ldd, e.g. libxkbcommon-x11) and at least one
font (Skia aborts without). Declared in tauri.conf.json bundle.linux.deb;
verified with apt install + xvfb smoke run on debian:trixie and ubuntu:24.04.

aur: jorkonvo-bin PKGBUILD extracting the release AppImage to /opt;
makepkg + pacman -U + smoke run in archlinux (test-in-container.sh).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Repackages the .deb on the GNOME 48 runtime (GTK3/NSS/CUPS come from it; no
missing libs). Chromium's own sandbox cannot start inside bwrap (measured:
'No usable sandbox!'), so the wrapper passes --no-sandbox; Flatpak is the
isolation. Permissions: network, x11, pulseaudio, dri, all devices (camera).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
packaging(linux): apt repo sample, .SRCINFO, docs/LINUX_PACKAGING.md rewrite, hub status
Some checks failed
CI / build-and-test (pull_request) Has been cancelled
CI / e2e (pull_request) Has been cancelled
a778f32034
apt: unsigned reprepro repo + HTTP install test (trixie, ubuntu 24.04).
docs: build, quick-sharun fix, sandbox matrix, per-format verification, and
the Windows CEF->WebView2 regression risk flagged as an owner decision.
Release tag convention linux-v<ver> (ios-v* already exists).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
docs(windows): wry/WebView2 verify run — cross-compile + Wine runtime findings
Some checks failed
CI / build-and-test (pull_request) Has been cancelled
CI / e2e (pull_request) Has been cancelled
a7cb6fccd6
Verified from Linux that the feat/linux-dist Windows path (wry + WebView2,
no CEF) cross-compiles and runs:
- cargo tree on x86_64-pc-windows-msvc: no tauri-runtime-cef, wry +
  webview2-com present; [patch.crates-io] analysis for stable Tauri 2
- cargo xwin build gotcha: --features tauri/custom-protocol is required,
  otherwise the exe loads the devUrl
- WebView2 under Wine: X86 standalone installer (fwlink 2099617) leaves a
  64-bit app with a silent blank window; X64 (fwlink 2124701) works and the
  app renders + syncs a real Matrix session
- second instance: no single-instance enforcement on Windows (no panic)
- manual test checklist for real Windows + what was NOT verified
  (WebRTC/mic/camera/screen share)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
claude closed this pull request 2026-10-11 18:14:42 +00:00
Author
Contributor

Closing: this branch's diff against its own merge-base with main is empty - its content is already in main. No merge needed. (Closed ahead of a git-history cleanup before making the repo public.)

Closing: this branch's diff against its own merge-base with main is empty - its content is already in main. No merge needed. (Closed ahead of a git-history cleanup before making the repo public.)
Some checks failed
CI / build-and-test (pull_request) Has been cancelled
CI / e2e (pull_request) Has been cancelled

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
thatumi/JorKonvo!9
No description provided.