Bug#1107709: unblock: biometryd/0.3.1-6
Package: release.debian.org
Severity: normal
X-Debbugs-Cc: biometryd@packages.debian.org
Control: affects -1 + src:biometryd
User: release.debian.org@packages.debian.org
Usertags: unblock
Please unblock package biometryd
This upload addresses biometryd (fingerprint sensor accessing daemon for
Lomiri) on devices that lack fingerprint reader hardware.
[ Reason ]
On such devices, biometryd fails to start and exits with exit status 78.
On devices with no such hardware, this should be considered as
"success", but with 0.3.1-5 systemd reports service startup failure
and marks the systemctl --status as 'degraded'.
Also, in B-D: field, pkg-config has been relaced by pkgconf. (Thanks,
lintian).
[ Impact ]
Most Lomiri users will see biometryd as always failing service but can't
remove the package (as it's hard-wired in via dependencies).
[ Tests ]
Manual tests in a VM.
[ Risks ]
Nearly none.
[ Checklist ]
[x] all changes are documented in the d/changelog
[x] I reviewed all changes and I approve them
[x] attach debdiff against the package in testing
[ Other info ]
Relevant for Lomiri in Debian.
unblock biometryd/0.3.1-6
diff -Nru biometryd-0.3.1/debian/changelog biometryd-0.3.1/debian/changelog
--- biometryd-0.3.1/debian/changelog 2024-08-16 09:41:19.000000000 +0200
+++ biometryd-0.3.1/debian/changelog 2025-06-12 13:40:33.000000000 +0200
@@ -1,3 +1,15 @@
+biometryd (0.3.1-6) unstable; urgency=medium
+
+ * debian/patches:
+ + Add 0002_data-biometryd.service.in-Let-biometryd.service-repo.patch.
+ On machines without (supported) fingerprint reader hardware, ignore
+ biometryd.service startup failures (via exit code 78) and report the
+ unit as successfully started to systemd.
+ * debian/control:
+ + In B-D:, switch from pkg-config to pkgconf.
+
+ -- Mike Gabriel <sunweaver@debian.org> Thu, 12 Jun 2025 13:40:33 +0200
+
biometryd (0.3.1-5) unstable; urgency=medium
* debian/control:
diff -Nru biometryd-0.3.1/debian/control biometryd-0.3.1/debian/control
--- biometryd-0.3.1/debian/control 2024-08-16 09:40:22.000000000 +0200
+++ biometryd-0.3.1/debian/control 2025-06-12 13:40:33.000000000 +0200
@@ -21,7 +21,7 @@
libprocess-cpp-dev (>= 3.0.2),
libsqlite3-dev,
lsb-release,
- pkg-config,
+ pkgconf,
qml-module-qttest,
qtbase5-dev,
qtdeclarative5-dev,
diff -Nru biometryd-0.3.1/debian/patches/0002_data-biometryd.service.in-Let-biometryd.service-repo.patch biometryd-0.3.1/debian/patches/0002_data-biometryd.service.in-Let-biometryd.service-repo.patch
--- biometryd-0.3.1/debian/patches/0002_data-biometryd.service.in-Let-biometryd.service-repo.patch 1970-01-01 01:00:00.000000000 +0100
+++ biometryd-0.3.1/debian/patches/0002_data-biometryd.service.in-Let-biometryd.service-repo.patch 2025-06-12 13:38:21.000000000 +0200
@@ -0,0 +1,38 @@
+From 7192182000b2db356cb957298dd1139fa6c36351 Mon Sep 17 00:00:00 2001
+From: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
+Date: Sat, 7 Jun 2025 23:45:42 +0200
+Subject: [PATCH] data/biometryd.service.in: Let biometryd.service report as
+ succeeded to systemd if exit status is 78.
+
+An exit status of 78 in biometryd land means that there is no
+(supported) fingerprint reader hardware available on this machine. With
+the previous approach, the biometryd.service unit has been reported as
+failed to systemd on exit status 78. Additionally to
+'RestartPreventExitStatus=78' we need to to tell systemd that an exit
+status of 78 is a successful status (via SuccessExitStatus=78).
+
+With this, we get successful biometryd.service unit startups also on
+machines without (supported) fingerprint reader hardware. The overall
+systemd state will not be reported as 'degraded' in 'systemctl status'
+because of biometryd.service anymore.
+
+Signed-off-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
+---
+ data/biometryd.service.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/data/biometryd.service.in b/data/biometryd.service.in
+index 2132ee8..c372728 100644
+--- a/data/biometryd.service.in
++++ b/data/biometryd.service.in
+@@ -9,6 +9,7 @@ BusName=com.ubports.biometryd.Service
+ ExecStart=@CMAKE_INSTALL_FULL_BINDIR@/biometryd run
+ Restart=always
+ RestartPreventExitStatus=78
++SuccessExitStatus=78
+
+ [Install]
+ WantedBy=multi-user.target
+--
+2.47.2
+
diff -Nru biometryd-0.3.1/debian/patches/series biometryd-0.3.1/debian/patches/series
--- biometryd-0.3.1/debian/patches/series 2023-09-19 21:24:30.000000000 +0200
+++ biometryd-0.3.1/debian/patches/series 2025-06-08 00:19:52.000000000 +0200
@@ -2,3 +2,4 @@
3000_disable_test_qml_plugin.patch
disable_flaky_test.patch
0001-Add-missing-headers-for-gcc-13.patch
+0002_data-biometryd.service.in-Let-biometryd.service-repo.patch
Reply to: