Files
authforge/docs/BUILDING.md

1.5 KiB

Building ubuntu-fido from source

System dependencies

sudo apt-get update
sudo apt-get install -y \
    build-essential pkg-config \
    libpam0g-dev libgtk-4-dev libadwaita-1-dev libfido2-dev \
    debhelper devscripts lintian

Rust toolchain: stable (1.78 minimum). Install via rustup.

Build steps

# Pure-Rust crates (daemon, CLI, common)
cargo build --release

# GUI (requires libgtk-4-dev + libadwaita-1-dev)
cargo build -p ubuntu-fido-gui --release

# PAM module (requires libpam0g-dev)
make -C pam

# Full deb build (requires all of the above)
debuild -us -uc -b
# Output: ../ubuntu-fido*.deb

Tests

cargo test --workspace --exclude ubuntu-fido-gui

The GUI crate has no automated tests in v1; manual smoke tests are documented in docs/plans/2026-04-26-ubuntu-fido-design.md.

Phase 0 status

Repository scaffolding is complete (tag v0.1.0-scaffolding). Subsequent phases per docs/plans/2026-04-26-ubuntu-fido-implementation.md.

Build verifications NOT yet run on this machine (require sudo apt install libpam0g-dev libgtk-4-dev libadwaita-1-dev libfido2-dev):

  • make -C pam — PAM module compile
  • cargo build -p ubuntu-fido-gui --release — GUI link
  • debuild -us -uc -b — full deb build

Once those packages are installed, run the three commands above to complete the Phase 0 acceptance gate.