Package Details: fprintd-libfprint2 1.90.1+12+g750a815-2

Git Clone URL: https://aur.archlinux.org/fprintd-libfprint2.git (read-only, click to copy)
Package Base: fprintd-libfprint2
Description: D-Bus service to access fingerprint readers
Upstream URL: https://www.freedesktop.org/wiki/Software/fprint/fprintd
Keywords: fprint
Licenses: GPL
Groups: fprint
Conflicts: fprintd
Provides: fprintd
Submitter: sebirdman
Maintainer: sebirdman (timothy_gu)
Last Packager: timothy_gu
Votes: 3
Popularity: 1.91
First Submitted: 2019-12-05 05:06
Last Updated: 2020-02-19 06:19

Dependencies (14)

Required by (6)

Sources (2)

Latest Comments

1 2 Next › Last »

timothy_gu commented on 2020-02-10 06:58

The package has just been bumped to latest fprintd master, which coincides with the 1.90.1 release of fprintd. PAM tests have been enabled with pam_wrapper packaged.

disable-systemd-protection.patch doesn't seem to be needed for me, but is included by default as sebirdman seems to need it. If removing it works for you, then feel free to do so.

Last known working libfprint commit is 66c9e4a829a06a25d8b6160cdfbad1d47ef5b81a (1.90.1 release).

sebirdman commented on 2020-02-08 02:13

@timothy_gu i've added you to the co-maintainers list. feel free to push that fix up

timothy_gu commented on 2020-02-06 08:17

Upstream recently changed the build system to use Meson instead. This patch should make it compile + test again. The included patches are being upstreamed at https://gitlab.freedesktop.org/libfprint/fprintd/merge_requests/41. Also regenerated SRCINFO with makepkg --printsrcinfo.

I made pam_wrapper work by creating a new AUR package with a necessary patch; see https://aur.archlinux.org/packages/pam_wrapper/.

Also, if you are okay with it, I'm happy to help co-maintain this package :)

diff --git a/.SRCINFO b/.SRCINFO
index 21fe86e..2d2f460 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,31 +1,37 @@
 pkgbase = fprintd-libfprint2
-   pkgdesc = D-Bus service to access fingerprint readers, modified for libfprint2
-   pkgver = 0.9.0+70+gb97903f
+   pkgdesc = D-Bus service to access fingerprint readers
+   pkgver = 0.9.0+124+g32c2ccd
    pkgrel = 1
    url = https://www.freedesktop.org/wiki/Software/fprint/fprintd
    arch = x86_64
    groups = fprint
    license = GPL
+   checkdepends = pam_wrapper
+   checkdepends = python-cairo
+   checkdepends = python-dbus
+   checkdepends = python-dbusmock
+   checkdepends = python-gobject
    makedepends = intltool
+   makedepends = git
    makedepends = gtk-doc
+   makedepends = meson
    makedepends = pam
-   makedepends = git
-   checkdepends = python-dbusmock
-        checkdepends = python-cairo
-        checkdepends = python-gobject
-   depends = libfprint-git
    depends = dbus-glib
-   depends = polkit
-   depends = glib2
+   depends = glib2>=2.56
+   depends = libfprint-git>=1.90.0
+   depends = polkit>=0.91
+   depends = systemd>=235
+   optdepends = pam: to use the fprintd pam plugin
+   provides = fprintd
    conflicts = fprintd
    source = git+https://gitlab.freedesktop.org/libfprint/fprintd.git
    source = disable-systemd-protection.patch
-   source = disable_pam_tests.patch
-   source = storage_fix.patch
+   source = include_fix.patch
+   source = pam_dir.patch
    sha256sums = SKIP
    sha256sums = 4854d32d6579de31fd59b4df02f6a29db2e266dedfe9edda13bedcda1b083be1
-   sha256sums = 2c81b9f4c5e593ee3ebdca08584be4b42c7a1a33f240c0da6e2aab50f0ff4b5c
-   sha256sums = e94a80acaccc0e4830595b575f3865ed86a9866c18f910a83b568f602c750e3d
+   sha256sums = 8f67d31b0f6c0c21a23118ec795a7ee6bad0cd7ffb8a3ce01920295575e2bd55
+   sha256sums = deae323c3ae28558aabca84b26c2e3e0004714941ab39384e45deaf7ca578b39

 pkgname = fprintd-libfprint2

diff --git a/PKGBUILD b/PKGBUILD
index f10efbf..f3b0800 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,66 +4,54 @@
 # Modified for libfprint2 by Stephen Bird <sebirdman@gmail.com>

 pkgname=fprintd-libfprint2
-pkgname_=fprintd
-pkgver=0.9.0+70+gb97903f
+_pkgname=fprintd
+pkgver=0.9.0+124+g32c2ccd
 pkgrel=1
-pkgdesc="D-Bus service to access fingerprint readers, modified to use libfprint2"
+pkgdesc="D-Bus service to access fingerprint readers"
 arch=(x86_64)
 url="https://www.freedesktop.org/wiki/Software/fprint/fprintd"
 license=(GPL)
-depends=(dbus-glib 'glib2>=2.56' 'libfprint-git>=1.90.0' 'polkit>=0.91')
+depends=(dbus-glib 'glib2>=2.56' 'libfprint-git>=1.90.0' 'polkit>=0.91' 'systemd>=235')
+optdepends=('pam: to use the fprintd pam plugin')
 provides=(fprintd)
 conflicts=(fprintd)
-makedepends=(intltool gtk-doc git pam)
-checkdepends=(python-cairo python-dbusmock python-gobject)
+makedepends=(intltool git gtk-doc meson pam)
+checkdepends=(pam_wrapper python-cairo python-dbus python-dbusmock python-gobject)
 groups=(fprint)
 source=(
   "git+https://gitlab.freedesktop.org/libfprint/fprintd.git"
   'disable-systemd-protection.patch'
-  'storage_fix.patch'
-  'disable_pam_tests.patch'
+  'include_fix.patch'
+  'pam_dir.patch'
 )
 sha256sums=(
   'SKIP'
   '4854d32d6579de31fd59b4df02f6a29db2e266dedfe9edda13bedcda1b083be1'
-  '2c81b9f4c5e593ee3ebdca08584be4b42c7a1a33f240c0da6e2aab50f0ff4b5c'
-  'e94a80acaccc0e4830595b575f3865ed86a9866c18f910a83b568f602c750e3d'
+  '8f67d31b0f6c0c21a23118ec795a7ee6bad0cd7ffb8a3ce01920295575e2bd55'
+  'deae323c3ae28558aabca84b26c2e3e0004714941ab39384e45deaf7ca578b39'
 )

 pkgver() {
-  cd $pkgname_
+  cd $_pkgname
   git describe --tags | sed 's/^V_//;s/_/./g;s/-/+/g'
 }

 prepare() {
-  cd $pkgname_
+  cd $_pkgname
   patch -p1 -i "${srcdir}/disable-systemd-protection.patch"
-  patch -p1 -i "${srcdir}/storage_fix.patch"
-  patch -p1 -i "${srcdir}/disable_pam_tests.patch"
-  NOCONFIGURE=1 ./autogen.sh
+  patch -p1 -i "${srcdir}/include_fix.patch"
+  patch -p1 -i "${srcdir}/pam_dir.patch"
 }

-check() {
-  cd $pkgname_
-  make check
+build() {
+  arch-meson $_pkgname build -D gtk_doc=true
+  ninja -C build
 }

-
-build() {
-  cd $pkgname_
-  ./configure \
-    --prefix=/usr \
-    --sysconfdir=/etc \
-    --libexecdir=/usr/lib \
-    --localstatedir=/var \
-    --disable-static \
-    --enable-gtk-doc
-  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
-  make
+check() {
+  meson test -C build
 }

 package() {
-  cd $pkgname_
-  make DESTDIR="$pkgdir" dbus_confdir=/usr/share/dbus-1/system.d install
-  install -d -m 755 "$pkgdir/var/lib/fprint"
+  DESTDIR="$pkgdir" meson install -C build
 }
diff --git a/disable_pam_tests.patch b/disable_pam_tests.patch
deleted file mode 100644
index d25f26f..0000000
--- a/disable_pam_tests.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index 4922abd..6b5f425 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -91,7 +91,5 @@ doc/Makefile
- doc/version.xml
- doc/dbus/Makefile
- tests/Makefile
--tests/pam/Makefile
--tests/pam/services/Makefile
- po/Makefile.in
- ])
-diff --git a/tests/Makefile.am b/tests/Makefile.am
-index 3c9f3f5..8280236 100644
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -1,5 +1,3 @@
--SUBDIRS = pam
--
- TESTS_ENVIRONMENT = export FPRINT_BUILD_DIR=$(abs_top_builddir)/src; export TOPSRCDIR=$(abs_top_srcdir); export PYTHON=@PYTHON@;
- TESTS = fprintd.py test_fprintd_utils.py
- 
diff --git a/include_fix.patch b/include_fix.patch
new file mode 100644
index 0000000..1c418bf
--- /dev/null
+++ b/include_fix.patch
@@ -0,0 +1,12 @@
+diff --git a/src/main.c b/src/main.c
+index 1a669fc..1dc1c51 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -19,6 +19,7 @@
+ 
+ #include "config.h"
+ 
++#include <locale.h>
+ #include <poll.h>
+ #include <stdlib.h>
+ 
diff --git a/pam_dir.patch b/pam_dir.patch
new file mode 100644
index 0000000..bef6472
--- /dev/null
+++ b/pam_dir.patch
@@ -0,0 +1,11 @@
+diff --git a/pam/meson.build b/pam/meson.build
+index 6a342b0..fafbc5a 100644
+--- a/pam/meson.build
++++ b/pam/meson.build
+@@ -1,5 +1,5 @@
+ mapfile = files('pam_fprintd.ver')
+-pam_modules_dir = '/' + get_option('libdir') / 'security'
++pam_modules_dir = get_option('prefix') / get_option('libdir') / 'security'
+ 
+ pam_fprintd = shared_module('pam_fprintd',
+     name_prefix: '',
diff --git a/storage_fix.patch b/storage_fix.patch
deleted file mode 100644
index db7a0f9..0000000
--- a/storage_fix.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/device.c b/src/device.c
-index b4dfbc4..cb2edc1 100644
---- a/src/device.c
-+++ b/src/device.c
-@@ -34,6 +34,8 @@
- #include "fprintd.h"
- #include "storage.h"
- 
-+fp_storage store;
-+
- static char *fingers[] = {
-   [FP_FINGER_UNKNOWN] = "unknown",
-   "left-thumb",

sebirdman commented on 2020-01-28 05:51

I've updated the package to now build with the pinned libfprint commit (which as of this comment post, is the latest)

I've disabled the pam tests in this build because pam_wrapper dependency they require doesn't seem to want to work in archlinux. I was able to enroll a fingerprint with these patches so things seem ok.

Will try to fixup those tests at some point and remove that change. I think the storage change should be upstreamed and will do that tomorrow.

sebirdman commented on 2020-01-28 04:34

I'm seeing the same build issues as well.

It looks like https://gitlab.freedesktop.org/libfprint/fprintd/commit/0c6bab8640b3586ac8e1b8c35d87aa49b79719d0

caused some headaches on our environments. I've been able to fix this problem but am seeing some other issues.

Will update when I can.

Edit: There's some new dependencies to make the tests run fine.

https://gitlab.freedesktop.org/libfprint/fprintd/commit/00b79d1a2fb7afadce832535e69f20fb1a4519c9

Looks like there's no arch equivalent package for python3-libpamtest

zagg commented on 2020-01-26 19:53

I did a test with Docker and it looks like the libfprint and fprintd can be compiled and installed through the source. But somehow it is failing to install with the fprintd-libfprint2 AUR package during the DOC generation as far as I understand.

evamvid commented on 2020-01-26 17:52

Yeah I had got it to build building manually, but I ended up not using that and just installing the aur package once I realized that libfprint-git was actually libfprint2 in the aur.

I'm not sure if that still works -- if the problem is caused on the libfprint side, or if it's an issue in the PKGBUILD -- I haven't tried it since.

GalacticDev commented on 2020-01-26 16:40

I am also getting failure in build using the very latest libfprint-git version. I installed this package a week or two ago on a persistent USB with the same laptop and it worked, now it does not.

zagg commented on 2020-01-26 14:07

What DE are you using ?

I see you're coming from this page : https://gitlab.freedesktop.org/libfprint/libfprint/issues/181

It looks like you made it work at some point by compining the source yourself. Any news on this ?

evamvid commented on 2020-01-26 10:11

@zagg this is exactly the same error I get