omarchy-setup-fingerprint: pre-remove libfprint to avoid noninteractive abort (#5463)

libfprint-git provides+conflicts libfprint, so pacman -S --noconfirm
defaults the conflict prompt to N and the install aborts. Pre-remove
libfprint with -Rdd; libfprint-git's provides=libfprint re-satisfies
fprintd's dep immediately after install.

replaces=(libfprint) on the OPR PKGBUILD was considered and rejected:
it does not affect direct -S installs (only -Syu repo scans), and on a
published package it would silently swap libfprint for libfprint-git
on every -Syu including machines with no FocalTech sensor.

Verified on B9406CAA non-interactively; fprintd-list and fprintd-verify
continue to work against existing enrollments.

Follow-up to #5454.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Mikko Nyman
2026-04-27 14:58:27 +02:00
committed by GitHub
co-authored by Claude Opus 4.7
parent 542ae346a0
commit a6bb239919
+8
View File
@@ -111,6 +111,14 @@ else
[[ "$(cat "$v" 2>/dev/null)" == "2808" ]] || continue
[[ "$(cat "${v%idVendor}idProduct" 2>/dev/null)" == "a97a" ]] || continue
print_info "FocalTech FT9349 detected (B9406CAA) — using libfprint-git from OPR..."
# libfprint-git provides+conflicts libfprint; pacman -S --noconfirm
# defaults the conflict prompt to N and aborts. Pre-remove libfprint
# with -Rdd so the install goes silent. -Rdd (not omarchy-pkg-drop's
# -Rns) is required because fprintd requires libfprint; the dep is
# re-satisfied immediately by libfprint-git's provides=libfprint.
if omarchy-pkg-present libfprint; then
sudo pacman -Rdd --noconfirm libfprint
fi
omarchy-pkg-add libfprint-git
break
done