Linux build needs libdbus for the keyring Secret Service backend

The sync Secret Service backend links system libdbus via libdbus-sys, so
the Linux CI job installs libdbus-1-dev + pkg-config and the PKGBUILD
declares dbus (build + runtime). Caught by the linux-cli CI job.
This commit is contained in:
Anthony
2026-05-29 15:50:58 +02:00
parent 3a2119bcb9
commit 11ffea626e
3 changed files with 10 additions and 6 deletions
+4 -3
View File
@@ -91,10 +91,11 @@ jobs:
- name: Cache cargo build - name: Cache cargo build
uses: Swatinem/rust-cache@v2 uses: Swatinem/rust-cache@v2
# aws-lc-sys (pulled transitively by the rustls stack) needs cmake + # aws-lc-sys (rustls stack) needs cmake + nasm; libdbus-1-dev +
# nasm to build its assembly on Linux x86_64. # pkg-config are needed by libdbus-sys, pulled in by the keyring
# Secret Service backend on Linux.
- name: Install build tools - name: Install build tools
run: sudo apt-get update && sudo apt-get install -y cmake nasm run: sudo apt-get update && sudo apt-get install -y cmake nasm libdbus-1-dev pkg-config
- name: Build CLI (lean, no GUI) - name: Build CLI (lean, no GUI)
run: cargo build --release -p tutabridge run: cargo build --release -p tutabridge
+2 -2
View File
@@ -11,8 +11,8 @@ pkgdesc="Local IMAP/SMTP bridge for Tuta encrypted email (headless CLI/daemon)"
arch=('x86_64' 'aarch64') arch=('x86_64' 'aarch64')
url="https://github.com/spartanz51/tutabridge" url="https://github.com/spartanz51/tutabridge"
license=('GPL-3.0-or-later') license=('GPL-3.0-or-later')
depends=('gcc-libs') depends=('gcc-libs' 'dbus')
makedepends=('rust' 'cargo' 'git' 'cmake' 'nasm') makedepends=('rust' 'cargo' 'git' 'cmake' 'nasm' 'dbus' 'pkgconf')
optdepends=('gnome-keyring: persist the Tuta session across reboots (Secret Service)' optdepends=('gnome-keyring: persist the Tuta session across reboots (Secret Service)'
'kwallet: alternative Secret Service provider') 'kwallet: alternative Secret Service provider')
provides=('tutabridge') provides=('tutabridge')
+4 -1
View File
@@ -45,7 +45,10 @@ git commit -m "Initial import" && git push
- `pkgver()` derives `0.r<commits>.<short-sha>` from git; `makepkg` rewrites the - `pkgver()` derives `0.r<commits>.<short-sha>` from git; `makepkg` rewrites the
`pkgver=` line on each build. `pkgver=` line on each build.
- Linux secret-service (keyring persistence) needs a running provider - The keyring Secret Service backend links system `libdbus` (via
`libdbus-sys`), so `dbus` is a build + runtime dependency. It's present on
essentially every Linux desktop already.
- Keyring *persistence* additionally needs a running Secret Service provider
(gnome-keyring / kwallet) — listed as optdepends. Without one the daemon (gnome-keyring / kwallet) — listed as optdepends. Without one the daemon
still works but will ask for the Tuta password on every start. still works but will ask for the Tuta password on every start.
- A future tagged release can add a non-`-git` `tutabridge` package built from - A future tagged release can add a non-`-git` `tutabridge` package built from