Files
authforge/docs/BUILDING.md
michael f50c7b2e82 Rename project: ubuntu-fido -> authforge
Renames the package and all artifacts to authforge to drop the
distro-specific prefix, since the roadmap targets Ubuntu + Debian +
KDE + eventually Fedora (option C in the design).

- deb packages: authforge, authforge-{daemon,pam,cli,gui,gnome-integration}
- binaries: authforged, authforgectl, authforge (GUI)
- D-Bus name: io.dangerousthings.AuthForge
- PAM module: pam_authforge_pending.so
- Paths: /etc/authforge/, /var/lib/authforge/, /usr/share/pam-configs/authforge
- PPA: ppa:dangerousthings/authforge

Filesystem path /home/work/VSCodeProjects/ubuntu_fido/ left as-is for
historical reference; can rename later via git mv at the dir level.

Verified: cargo build/test/clippy/fmt clean, pam builds, gui builds,
all 5 debs produced.
2026-04-26 16:53:11 -07:00

1.1 KiB

Building authforge 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 authforge-gui --release

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

# Full deb build (requires all of the above + debhelper)
dpkg-buildpackage -us -uc -b
# Output: ../authforge*.deb

Tests

cargo test --workspace --exclude authforge-gui

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

Phase 0 status

Repository scaffolding is complete (tag v0.1.0-scaffolding, then renamed ubuntu-fidoauthforge). Subsequent phases per docs/plans/2026-04-26-authforge-implementation.md.