#840778 fprintd: Please announce supported hardware using AppStream

Package:
fprintd
Source:
fprintd
Description:
D-Bus daemon for fingerprint reader access
Submitter:
Petter Reinholdtsen
Date:
2025-02-27 10:09:02 UTC
Severity:
wishlist
Tags:
#840778#5
Date:
2016-10-14 18:28:27 UTC
From:
To:
Hi.

The fprintd package is one of the packages in the Debian archive that
should be proposed for installation when a given hardware dongle is
inserted or available.  Thanks to the appstream system, this can now be
announced in a way other tools can use and act on.  I've written the
isenkram system to ask the current user if hardware specific packages
should be installed when a new dongle is installed or already present on
a machine, and isenkram now uses appstream as one source for hardware to
package mappings.

You can read more about this on my blog,
<URL: http://people.skolelinux.org/pere/blog/Using_appstream_with_isenkram_to_install_hardware_related_packages_in_Debian.html >.

Instructions on how to create the metadata XML file can be found in
<URL: https://wiki.debian.org/AppStream/Guidelines >.

It would be great if you could add an appstream metainfo file to the
fprintd package, with content similar to this:

  <?xml version="1.0" encoding="UTF-8"?>
  <component>
   [...]
   <provides>
	<modalias>usb:v147Ep2020d*</modalias>
   </provides>
  </component>

If there are other hardware ids or kernel modules also supported by the
package, please add those too. :)

#840778#10
Date:
2017-11-08 17:53:21 UTC
From:
To:
On Fri, 14 Oct 2016 20:28:27 +0200 Petter Reinholdtsen <pere@hungry.com>  wrote:
 >
 > Hi.

Hi,

 >
 > The fprintd package is one of the packages in the Debian archive that
 > should be proposed for installation when a given hardware dongle is
 > inserted or available. Thanks to the appstream system, this can now be
 > announced in a way other tools can use and act on. I've written the
 > isenkram system to ask the current user if hardware specific packages
 > should be installed when a new dongle is installed or already present on
 > a machine, and isenkram now uses appstream as one source for hardware to
 > package mappings.
 >
 > You can read more about this on my blog,
 > <URL:
http://people.skolelinux.org/pere/blog/Using_appstream_with_isenkram_to_install_hardware_related_packages_in_Debian.html
 >.
 >
 > Instructions on how to create the metadata XML file can be found in
 > <URL: https://wiki.debian.org/AppStream/Guidelines >.
 >
 > It would be great if you could add an appstream metainfo file to the
 > fprintd package, with content similar to this:
 >
 > <?xml version="1.0" encoding="UTF-8"?>
 > <component>
 > [...]
 > <provides>
 > <modalias>usb:v147Ep2020d*</modalias>
 > </provides>
 > </component>
 >
 > If there are other hardware ids or kernel modules also supported by the
 > package, please add those too. :)

The problem here is that fprintd uses the libfprint library and it's
that library which is implementing the real support of the fingerprint
readers.

How are you seeing this then? Shouldn't the metadata file be added in
the library instead?

#840778#15
Date:
2017-11-11 16:31:47 UTC
From:
To:
[Laurent Bigonville]

The normal use case is 'user insert hardware' and 'something propose
with package to install'.  If the user should be recommended to install
the library instead of fprintd, then the metadata belong to the library.
In this case, I suspect users should be recommended to install fprintd?

#840778#20
Date:
2024-07-25 03:55:48 UTC
From:
To:
[Petter Reinholdtsen]

I had a closer look, and suspect both fprintd and libpam-fprintd should
be recommended on machines with the supported hardware.  Here is a patch
that should implement it.

diff --git a/debian/fprintd.install b/debian/fprintd.install
index 22550e4..8524215 100755
--- a/debian/fprintd.install
+++ b/debian/fprintd.install
@@ -14,3 +14,4 @@ usr/share/dbus-1/system.d/net.reactivated.Fprint.conf
 usr/share/locale/*/LC_MESSAGES/fprintd.mo
 usr/share/man/man1/fprintd.1
 usr/share/polkit-1/actions/net.reactivated.fprint.device.policy
+org.freedesktop.fprint.fprintd.metainfo.xml usr/share/metainfo
diff --git a/debian/libpam-fprintd.install b/debian/libpam-fprintd.install
index f766236..54a1ac3 100644
--- a/debian/libpam-fprintd.install
+++ b/debian/libpam-fprintd.install
@@ -1,3 +1,4 @@
 debian/pam-configs/* usr/share/pam-configs/
 usr/lib/*/security/pam_fprintd.so
 usr/share/man/man8/pam_fprintd.8
+org.freedesktop.fprint.fprintd.libpam.metainfo.xml usr/share/metainfo
diff --git a/debian/patches/1000-appstream-metainfo.patch b/debian/patches/1000-appstream-metainfo.patch
new file mode 100644
index 0000000..a860e5e
--- /dev/null
+++ b/debian/patches/1000-appstream-metainfo.patch
@@ -0,0 +1,56 @@
+Description: Added AppStream metainfo XML with hardware provide info.
+ This allow isenkram to propose this package when the hardware is
+ present.
+Author: Petter Reinholdtsen
+Forwarded: no
+Last-Update: 2024-07-25
+---
+Index: fprintd-salsa/org.freedesktop.fprint.fprintd.metainfo.xml
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ fprintd-salsa/org.freedesktop.fprint.fprintd.metainfo.xml  2024-07-25 01:26:53.597373892 +0200
+@@ -0,0 +1,18 @@
++<?xml version="1.0" encoding="UTF-8"?>
++<component type="desktop">
++  <id>org.freedesktop.fprint.fprintd</id>
++  <metadata_license>MIT</metadata_license>
++  <name>fprintd</name>
++  <summary>D-Bus daemon for fingerprint reader access</summary>
++  <description>
++    <p>fprintd is a D-Bus daemon that offers libfprint functionality
++    over the D-Bus interprocess communication bus. By adding this
++    daemon layer above libfprint, various problems related to multiple
++    applications simultaneously competing for fingerprint readers get
++    solved.</p>
++  </description>
++  <url type="homepage">https://www.freedesktop.org/wiki/Software/fprint/fprintd</url>
++  <provides>
++    <modalias>usb:v147Ep2020d*</modalias>
++  </provides>
++</component>
+Index: fprintd-salsa/org.freedesktop.fprint.fprintd.libpam.metainfo.xml
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ fprintd-salsa/org.freedesktop.fprint.fprintd.libpam.metainfo.xml   2024-07-25 01:29:34.278820575 +0200
+@@ -0,0 +1,21 @@
++<?xml version="1.0" encoding="UTF-8"?>
++<component type="desktop">
++  <id>org.freedesktop.fprint.fprintd.libpam</id>
++  <metadata_license>MIT</metadata_license>
++  <name>libpam-fprintd</name>
++  <summary>PAM module for fingerprint authentication through fprintd</summary>
++  <description>
++    <p>fprintd is a D-Bus daemon that offers libfprint functionality
++    over the D-Bus interprocess communication bus. By adding this
++    daemon layer above libfprint, various problems related to multiple
++    applications simultaneously competing for fingerprint readers get
++    solved.</p>
++
++    <p>This package provides a PAM module for fingerprint-based
++    authentication via fprintd.</p>
++  </description>
++  <url type="homepage">https://www.freedesktop.org/wiki/Software/fprint/fprintd</url>
++  <provides>
++    <modalias>usb:v147Ep2020d*</modalias>
++  </provides>
++</component>
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..42e8b1a
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+1000-appstream-metainfo.patch

#840778#27
Date:
2024-09-05 04:44:32 UTC
From:
To:
Do you want a different distribution of the proposed packages?
#840778#32
Date:
2025-01-19 06:57:47 UTC
From:
To:
Is there anything I can do to help get AppStream information for
fprintd into unstable?

#840778#37
Date:
2025-02-27 10:06:03 UTC
From:
To:
I notice libfprint-2-2 now announce supported hardware using AppStream
in unstable.  I hope you see it when you run 'isenkram-lookup' on your
machines.

What should be done with this fprintd proposal?  Should I drop the
entries for fprintd and libpam-fprintd from the hardcoded list of
mappings in the isenkram-cli package?