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

43 lines
1.1 KiB
Markdown

# Building authforge from source
## System dependencies
```bash
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](https://rustup.rs).
## Build steps
```bash
# 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
```bash
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](plans/2026-04-26-authforge-design.md#testing-strategy).
## Phase 0 status
Repository scaffolding is complete (tag `v0.1.0-scaffolding`, then renamed `ubuntu-fido``authforge`). Subsequent phases per [docs/plans/2026-04-26-authforge-implementation.md](plans/2026-04-26-authforge-implementation.md).