Commit Graph
7 Commits
Author SHA1 Message Date
Asger Geel WeirsøeandClaude Sonnet 4.6 a76e0cc9eb fix: pass absolute path to pam_smoke_test via meson.current_build_dir()
dlopen with a bare filename searches LD_LIBRARY_PATH/ld.so cache, not the
build dir. Using the explicit absolute path avoids the lookup failure.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 19:45:23 +02:00
Asger Geel WeirsøeandClaude Sonnet 4.6 ad7d55f804 fix: PID-based volume lock with state persistence and multiarch default path
Volume lock file now stores {pid}:{volume}:{muted} instead of "1":
- Allows recovery of saved volume state if the holder is SIGKILLed
- On stale lock detection (holder PID not alive), inherit saved volume state
  and take ownership — prevents permanent volume loss and infinite lockout

PAM module DEFAULT_PATH now baked in at build time via AHFAIL_LIBDIR env var
passed by Meson, fixing the wrong path on multiarch Debian/Ubuntu where libdir
is /usr/lib/x86_64-linux-gnu rather than /usr/lib.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 19:38:33 +02:00
Asger Geel Weirsøe 8fc16befe1 fix: separate cargo target-dirs to avoid parallel lock contention, add pam smoke test 2026-05-06 19:32:05 +02:00
Asger Geel Weirsøe f455ed4c89 build: update meson.build for workspace — add PAM module and display binary targets 2026-05-06 19:31:25 +02:00
Asger Geel WeirsøeandClaude Sonnet 4.6 9e74bb5144 refactor: remove dead utils/bench.rs
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 18:57:50 +02:00
Asger Geel WeirsøeandClaude Sonnet 4.6 01bc34e54e refactor: convert to Cargo workspace, move gtklock crate
Replaces the single-crate Cargo.toml with a workspace containing
ahfail-gtklock (migrated from root src/) and three stub crates
(ahfail-ui, ahfail-pam, ahfail-display). Updates meson.build to
build with -p ahfail-gtklock.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-05 20:24:53 +02:00
Asger Geel Weirsøe 382b5a489e Code 2025-11-30 21:08:42 +01:00