Package Details: fprintd-libfprint2 1:1.90.8+3+gc6647ba-1

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
Conflicts: fprintd
Provides: fprintd
Submitter: sebirdman
Maintainer: sebirdman (timothy_gu)
Last Packager: timothy_gu
Votes: 4
Popularity: 0.000000
First Submitted: 2019-12-05 05:06 (UTC)
Last Updated: 2020-12-16 21:30 (UTC)

Required by (8)

Sources (1)

Pinned Comments

Latest Comments

timothy_gu commented on 2020-12-16 21:31 (UTC)

@Bevan, thanks for the report. I've removed the patches, which are now unneeded after https://gitlab.freedesktop.org/libfprint/fprintd/-/issues/82.

Bevan commented on 2020-12-08 17:23 (UTC)

I think both of the patches need to be removed. At least they do not apply to the current version in git and the package built fine without them.

timothy_gu commented on 2020-09-14 15:21 (UTC)

@BrianAllred Should be fixed on our end. If you could ask the maintainer of libfprint-tod-git to add a version field to the 'provides', like this

provides=("libfprint=1.90.2")

then things should work automatically.

BrianAllred commented on 2020-09-09 14:39 (UTC) (edited on 2020-09-09 14:39 (UTC) by BrianAllred)

How do you use a different version of libfprint if libfprint-git is explicitly specified as a dependency? I want to use libfprint-tod-git, but it replaces libfprint-git, which breaks this package's dependencies.

timothy_gu commented on 2020-08-02 18:57 (UTC)

@RainbowNia sorry, but no: this package is explicitly designed to track the latest Git snapshot from upstream.

RainbowNia commented on 2020-07-17 10:49 (UTC)

I cannot use my fingerprint sensor with this version of the package as it now requires libfrprint-2.so which the libfprint 0097 version does not support. Can someone give me a way to install an older version that does not rely on that package?

timothy_gu commented on 2020-06-11 02:43 (UTC)

@jal666 can you post the error log when usbutils is not installed? I can't find where any of its commands (lsusb, usb-devices, usbhid-dump) are needed.

jal666 commented on 2020-06-08 12:09 (UTC)

Needs usbutils dep. Thanks!

timothy_gu commented on 2020-03-26 21:06 (UTC)

@tuxflo You need to install the "pam_wrapper" package that's listed as a checkdepends to run the test. But you could just skip the test with the --nocheck option when running makepkg (or your favorite AUR helper).

tuxflo commented on 2020-03-26 20:34 (UTC)

Patch seems be working but now I ran into: meson.build:135:8: ERROR: Problem encountered: Python3 module 'pypamtest' required by test suite not found

Couldn't find information about the pypamtest package, maybe just exclude the tests?

timothy_gu commented on 2020-03-23 16:05 (UTC)

Ah yes, one of the patches has been merged to upstream but I haven't gotten the chance to remove it here. Now done.

kausban commented on 2020-03-23 11:06 (UTC)

The patches do not apply and the package doesn't build.

==> Starting prepare()...
error: patch failed: src/main.c:19
error: src/main.c: patch does not apply
==> ERROR: A failure occurred in prepare().

timothy_gu commented on 2020-02-10 06:58 (UTC) (edited on 2020-02-11 02:15 (UTC) by timothy_gu)

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 (UTC)

@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 (UTC) (edited on 2020-02-06 18:46 (UTC) by timothy_gu)

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 (UTC) (edited on 2020-01-28 05:53 (UTC) by sebirdman)

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 (UTC) (edited on 2020-01-28 05:03 (UTC) by sebirdman)

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 (UTC)

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 (UTC)

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 (UTC)

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 (UTC) (edited on 2020-01-26 14:23 (UTC) by zagg)

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 (UTC)

@zagg this is exactly the same error I get

zagg commented on 2020-01-25 18:41 (UTC) (edited on 2020-01-25 18:44 (UTC) by zagg)

libfprint-git get installed correctly but I have an issue during fprintd compilation on this AUR package :

$ uname -a
Linux X1-Carbon 5.5.0-1-MANJARO #1 SMP PREEMPT Tue Jan 14 09:03:01 UTC 2020 x86_64 GNU/Linux

$ lsb_release -a
LSB Version: n/a Distributor ID: ManjaroLinux Description: Manjaro Linux Release: 18.1.5 Codename: Juhraya

https://pastebin.com/5b1jBnXH

evamvid commented on 2020-01-25 18:41 (UTC) (edited on 2020-01-25 18:41 (UTC) by evamvid)

I get "failure in build()" even with the newest libfprint-git

sebirdman commented on 2020-01-17 04:59 (UTC) (edited on 2020-01-28 05:50 (UTC) by sebirdman)

Last built with libfprint commit 2c9e252ca4d60c4b91dc9b94374ef81a3d863102

sebirdman commented on 2019-12-29 19:26 (UTC)

the patch was required for arch on my setup at least. Maybe there are some permissions that i don't have set properly?

timothy_gu commented on 2019-12-29 02:03 (UTC) (edited on 2019-12-29 02:04 (UTC) by timothy_gu)

Thanks!

Hmm, it also doesn't look like disable-systemd-protection.patch is necessary, at least not on Manjaro. What do you say?

sebirdman commented on 2019-12-28 01:17 (UTC) (edited on 2019-12-28 01:17 (UTC) by sebirdman)

Thanks for the suggestion timothy_gu! I've updated the package to add those changes.

I've also updated everything to track the master branch now that our MR is merged.

timothy_gu commented on 2019-12-27 03:06 (UTC) (edited on 2019-12-27 03:09 (UTC) by timothy_gu)

It doesn't look like gobject-introspection is needed for this package (though it is for libfprint-git). Locally I have found the following dependencies work:

depends=(dbus-glib 'glib2>=2.56' 'libfprint-git>=1.90.0' 'polkit>=0.91')
provides=(fprintd)
conflicts=(fprintd)
makedepends=(intltool gtk-doc git pam)
checkdepends=(python-cairo python-dbusmock python-gobject)

with

check() {
  cd $pkgname_
  make check
}

K900 commented on 2019-12-10 16:07 (UTC)

python-cairo and gobject-introspection should be build-deps.