Files
sovereign_ai/SovereignAI-Starter/flutter_app/linux/packaging/README.md
T

1.6 KiB

Linux desktop build and runtime

The Linux desktop entry, installed icon, and GTK application must all use the same application ID: com.mithqal.ai.

Ubuntu and Debian build dependencies

Install Flutter's Linux desktop toolchain and the native secret-storage development library:

sudo apt-get update
sudo apt-get install -y \
  clang cmake ninja-build pkg-config libgtk-3-dev libstdc++-12-dev \
  libsecret-1-dev libsecret-1-0

Then check the host and build the release bundle:

flutter doctor -v
flutter devices
flutter pub get
flutter build linux --release

The executable bundle is produced at build/linux/x64/release/bundle/. Distribute the complete bundle and verify its native runtime dependencies on the target distribution, for example with ldd build/linux/x64/release/bundle/flutter_app.

Secure session storage

flutter_secure_storage uses Libsecret on Linux. Build machines need libsecret-1-dev; packaged applications need the runtime library libsecret-1-0. The desktop session must also provide D-Bus and an unlocked Secret Service keyring, commonly GNOME Keyring or KDE Wallet. Run the application in an interactive desktop session to verify login, token persistence after restart, and logout deletion. Do not treat a successful Linux build as proof that secure storage works: headless sessions and CI may have no unlocked keyring.

Upstream setup references: