Add BUILDING.md documenting deferred build steps
This commit is contained in:
50
docs/BUILDING.md
Normal file
50
docs/BUILDING.md
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
# Building ubuntu-fido 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 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
|
||||||
|
|
||||||
|
```bash
|
||||||
|
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](plans/2026-04-26-ubuntu-fido-design.md#testing-strategy).
|
||||||
|
|
||||||
|
## Phase 0 status
|
||||||
|
|
||||||
|
Repository scaffolding is complete (tag `v0.1.0-scaffolding`). Subsequent phases per [docs/plans/2026-04-26-ubuntu-fido-implementation.md](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.
|
||||||
Reference in New Issue
Block a user