LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 08-02-2020, 09:49 AM   #1
tramtrist
Member
 
Registered: Jul 2018
Location: Cincinnati USA
Distribution: Slackware
Posts: 535

Rep: Reputation: 327Reputation: 327Reputation: 327Reputation: 327
fprintd and -current


Has anyone had any luck getting one of the more recent versions of printd running in -current? It requires systemd now
I'm wondering what the latest version is that people have running
 
Old 08-11-2020, 09:44 AM   #2
J_W
Member
 
Registered: Apr 2004
Location: Yamagata, JAPAN
Distribution: Slackware64-current
Posts: 189

Rep: Reputation: 123Reputation: 123
I don't have any positive information about compiling the recent version of libfprint (1.90.2) and fprintd (1.90.1) on slackware64-current.
I have searched web to find patch or fix information for non-systemd linux environment, but I was not able to find any usefull information.

So, I'm sticking to libfprint-1.0 / fprintd-0.8.1 on my slackware64-current. Fortunately, my fingerprint devices ( I tested several kind of devices) are working with those version of libfprint and fprintd.

Does your fingerprint device not work with libfprint-1.0 / fprintd-0.8.1 ?
 
Old 01-03-2021, 03:51 PM   #3
J_W
Member
 
Registered: Apr 2004
Location: Yamagata, JAPAN
Distribution: Slackware64-current
Posts: 189

Rep: Reputation: 123Reputation: 123
fprintd-0.8.1 for gcc-10.2.0

Hi,

I'm not sure that how many people will be interested in fprintd-0.8.1's information. Anyway, here is my experience about fprintd-0.8.1 under slackware64-current with gcc-10.2.0 environment.

If someone wants to compile fprintd-0.8.1 under slackware64-current (gcc-10.2.0), fprintd source needs to be patched for gcc-10.x.

Original information : Arch linux
https://aur.archlinux.org/packages/f...s_proprietary/
gcc10-workaround.patch
disable-systemd-protection.patch

Based on those information, I created fprintd.SlackBuild and I was able to successfully compiled fprintd-0.8.1 with gcc-10.2.0.

fprintd.SlackBuild

Code:
#!/bin/sh

# Slackware build script for <appname>

# Copyright <year> <you> <where you live>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#
#  THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
#  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
#  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO
#  EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
#  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
#  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
#  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
#  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
#  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
#  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

# |-----------------------------------------------------------------| #
# REMOVE THIS ENTIRE BLOCK OF TEXT #
#
# A license is required, and we strongly suggest you use the above
# BSD/MIT style license. We DO NOT accept "Public Domain" scripts.
# Public domain is not valid in some countries, and no license is
# worse than a "bad" license in those countries.
#
# This template is not meant to be a 'cut and paste' script to
# enable any random user to make a working package.  While
# we're certainly not discouraging use of this template, if
# you haven't manually gone through each step of the process
# without the build script (typically as a normal user, as this
# will reveal problems that you won't see as root), then there's
# a good chance that something important is missing from your
# submission.

# When using this template script, please remove as many of
# these unnecessary comments as possible.  Commented code is
# a good thing, but if it's obvious, there's no need to comment it.
#
# AGAIN, REMOVE THE COMMENTS IF THEY ARE NOT NEEDED - DON'T JUST
# DELETE THIS BLOCK OF TEXT WITHOUT BOTHERING TO READ WHAT'S IN IT.
#
# |-----------------------------------------------------------------| #

PRGNAM=fprintd			# replace with name of program
VERSION=${VERSION:-0.8.1}	# replace with version of program
SRCVER=${SRCVER:-9e32cd525724f21eebf2336a06b13a39c6616ab0}
BUILD=${BUILD:-2}
TAG=${TAG:-jw}		# the "_SBo" is required

# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
  case "$( uname -m )" in
    i?86) ARCH=i586 ;;
    arm*) ARCH=arm ;;
    # Unless $ARCH is already set, use uname -m for all other archs:
       *) ARCH=$( uname -m ) ;;
  esac
fi

CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}	# For consistency's sake, use this
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}	# Drop the package in /tmp

if [ "$ARCH" = "i586" ]; then
  SLKCFLAGS="-O2 -march=i586 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
  SLKCFLAGS="-O2 -march=i686 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2 -fPIC"
  LIBDIRSUFFIX="64"
else
  SLKCFLAGS="-O2"
  LIBDIRSUFFIX=""
fi

set -e # Exit on most errors
# If you prefer to do selective error checking with
#   command || exit 1
# then that's also acceptable.

# get source
wget https://gitlab.freedesktop.org/libfprint/fprintd/-/archive/${SRCVER}/$PRGNAM-$SRCVER.tar.bz2

rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$SRCVER
tar xvf $CWD/$PRGNAM-$SRCVER.tar.bz2
cd $PRGNAM-$SRCVER
# Apply Arch patches
patch -p1 < $CWD/gcc10-workaround.patch
patch -p1 < $CWD/disable-systemd-protection.patch

chown -R root:root .
find -L . \
 \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
  -o -perm 511 \) -exec chmod 755 {} \; -o \
 \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
  -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;

# Your application will probably need different configure flags;
# these are provided as an example only.
# Be sure to build only shared libraries unless there's some need for
# static.
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh
./configure \
  --prefix=/usr \
  --libdir=/usr/lib${LIBDIRSUFFIX} \
  --sysconfdir=/etc \
  --localstatedir=/var \
  --enable-pam \
  --mandir=/usr/man \
  --docdir=/usr/doc/$PRGNAM-$VERSION \
  --build=$ARCH-slackware-linux

# Compile the application and install it into the $PKG directory
make
make install DESTDIR=$PKG

# Move dbus configs to system location:
mkdir -p $PKG/usr/share/dbus-1/system.d/
mv $PKG/etc/dbus-1/system.d/* $PKG/usr/share/dbus-1/system.d/
rmdir --parents --ignore-fail-on-non-empty $PKG/etc/dbus-1/system.d/

# Strip binaries and libraries - this can be done with 'make install-strip'
# in many source trees, and that's usually acceptable if so, but if not,
# use this:
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
  | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true

# Compress man pages
# If the man pages are installed to /usr/share/man instead, you'll need to either
# add the --mandir=/usr/man flag to configure or move them manually after the
# make install process is run.
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done

# Compress info pages and remove the package's dir file
# If no info pages are installed by the software, don't leave this in the script
#rm -f $PKG/usr/info/dir
#gzip -9 $PKG/usr/info/*.info*

# Remove perllocal.pod and other special files that don't need to be installed,
# as they will overwrite what's already on the system.  If this is not needed,
# remove it from the script.
# Remove 'special' files
find $PKG -name perllocal.pod \
  -o -name ".packlist" \
  -o -name "*.bs" \
  | xargs rm -f

# Copy program documentation into the package
# The included documentation varies from one application to another, so be sure
# to adjust your script as needed
# Also, include the SlackBuild script in the documentation directory
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
  README TODO AUTHORS COPYING NEWS INSTALL ChangeLog \
  $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
cp $CWD/gcc10-workaround.patch $PKG/usr/doc/$PRGNAM-$VERSION/
cp $CWD/disable-systemd-protection.patch $PKG/usr/doc/$PRGNAM-$VERSION/

# Copy the slack-desc (and a custom doinst.sh if necessary) into ./install
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
#cat $CWD/doinst.sh > $PKG/install/doinst.sh

# Make the package; be sure to leave it in $OUTPUT
# If package symlinks need to be created during install *before*
# your custom contents of doinst.sh runs, then add the -p switch to
# the makepkg command below -- see makepkg(8) for details
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-txz}
slack-desc
Code:
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.
# Line up the first '|' above the ':' following the base package name, and
# the '|' on the right side marks the last column you can put a character in.
# You must make exactly 11 lines for the formatting to be correct.  It's also
# customary to leave one space after the ':' except on otherwise blank lines.

       |-----handy-ruler------------------------------------------------------|
fprintd: fprintd (a daemon that provides fingerprint scanning functionality
fprintd:         over D-Bus.)
fprintd:
fprintd: fprintd is a daemon that provides fingerprint scanning functionality 
fprintd: over D-Bus. This is the software developers will want to integrate 
fprintd: with to add fingerprint authentication to OSes, desktop environments 
fprintd: and applications. 
fprintd: It also includes a PAM module to implement user login (pam_fprintd 
fprintd: replacing the obsolete pam_fprint module), and small command-line 
fprintd: utilities if your desktop environment does not integrate support.
fprintd: URL: https://fprint.freedesktop.org/
 
1 members found this post helpful.
Old 01-22-2021, 05:07 PM   #4
tramtrist
Member
 
Registered: Jul 2018
Location: Cincinnati USA
Distribution: Slackware
Posts: 535

Original Poster
Rep: Reputation: 327Reputation: 327Reputation: 327Reputation: 327
J_W Thank you very much!
Unfortunately for me my fingerprint reader isnt picked up with libfprint v1
Not sure if there is a way to get fprintd working with libfprint 1_9x though I'll keep trying.
 
Old 01-23-2021, 04:32 AM   #5
J_W
Member
 
Registered: Apr 2004
Location: Yamagata, JAPAN
Distribution: Slackware64-current
Posts: 189

Rep: Reputation: 123Reputation: 123
Hi, tramtrist

From my experience so far, Since Slackware doesn't adopt systemd,
working version of libfprint and fprintd are libfprint-1.0 and fprintd-0.8.1 respectively.
I was able to compile libfprint-1.90.x, however fprintd-1.90.x required systemd environment
for compilation.
I searched web, but unfortunately, I was not able to find any patch for fprintd-1.90.x
to compile under non-systemd environment.
 
Old 01-23-2021, 04:41 PM   #6
tramtrist
Member
 
Registered: Jul 2018
Location: Cincinnati USA
Distribution: Slackware
Posts: 535

Original Poster
Rep: Reputation: 327Reputation: 327Reputation: 327Reputation: 327
I was able to follow J_Ws instructions and then was able to compile the latest libfprint and fprintd AFTER that by disabling PAM in fprintd latest version. the pam library from the 0.8 version of fprint works fine with the latest binaries and latest libfprint ... It's a terrible terrible hack. But it works...

Without v1.9+ of libfprint my particular fingerprint reader will not work 06cb:00bd

Now I just need to remember how to get it configured correctly with xlock
 
1 members found this post helpful.
Old 01-23-2021, 08:35 PM   #7
mumahendras3
Member
 
Registered: Feb 2018
Location: Indonesia
Distribution: Slackware-current + s6 + s6-rc + s6-linux-init (github.com/mumahendras3/sl6ckware)
Posts: 125

Rep: Reputation: Disabled
I found this commit in fprintd gitlab page that makes systemd dependency optional (as the commit title said). The commit message said that the systemd dependency is only used to install some systemd service files so you don't have to disable PAM in order to compile it successfully, you just have to pass "-Dsystemd=false" when running "meson configure". I don't use fprintd so I can't test it myself, might worth to try.

Last edited by mumahendras3; 01-23-2021 at 09:55 PM. Reason: Add additional information
 
1 members found this post helpful.
Old 05-19-2022, 08:36 AM   #8
zdolar
Member
 
Registered: Jul 2009
Location: Slovenija
Distribution: Slackware
Posts: 177

Rep: Reputation: 38
libfprint-1.94.3 and fprintd-1.94.2 installed in current

HI!

I installed libfprint-1.94.3 and fprintd-1.94.2 using scripts from slackbuids.org.
How to verify if my fingerprint sensor works?
How to configure slackware64-current (post slackware64-15) and KDE to be able to use fingerprint sensor to login?
 
Old 05-20-2022, 04:15 PM   #9
J_W
Member
 
Registered: Apr 2004
Location: Yamagata, JAPAN
Distribution: Slackware64-current
Posts: 189

Rep: Reputation: 123Reputation: 123
Hi,
Since I'd like to use an implementation of user login with pam_fprintd.so , I'm sticking on older version of libfrint (1.0) and fprintd (0.8.0). So, I have no experience about the latest fprintd usage.

Anyway, according to my old experience, you might need to check below first.

1.Is your fingerprint device supported by libfprint-1.94.3 ?
How to check :
a) check the device-ID with "lsusb" command.
b) see Supported Devices list here
Supported Devices

2. Try enrolling your fingerprint with "fprintd-enroll" command.
Code:
$ fprintd-enroll --help
Usage:
  fprintd-enroll [OPTION?] [username] Enroll a fingerprint

Help Options:
  -h, --help        Show help options

Application Options:
  -f, --finger      Finger selected to verify (default is automatic)

I hope some other fprintd user here would give more useful advice.
 
1 members found this post helpful.
Old 05-21-2022, 04:24 AM   #10
kjhambrick
Senior Member
 
Registered: Jul 2005
Location: Round Rock, TX
Distribution: Slackware64 15.0 + Multilib
Posts: 2,159

Rep: Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512
Quote:
Originally Posted by tramtrist View Post
I was able to follow J_Ws instructions and then was able to compile the latest libfprint and fprintd AFTER that by disabling PAM in fprintd latest version. the pam library from the 0.8 version of fprint works fine with the latest binaries and latest libfprint ... It's a terrible terrible hack. But it works...

Without v1.9+ of libfprint my particular fingerprint reader will not work 06cb:00bd

Now I just need to remember how to get it configured correctly with xlock
I am in the same boot ( )

My Synaptics ID 06cb:00a8 Synaptics, Inc is not supported.

But according to the fprintd Supported Devices Page that J_W posted, your Synaptics 06cb:00bd USB Device is supported.

Maybe the commit that mumahendras3 posted above: build: make systemd dependency optional will fix it for you so you could execute the commands J_W suggested in the previous post ?

Thanks for the info J_W and mumahendras3 !

When I get time, I intend to follow the instructions on this page: libfprintf Unsupported Devices to see if I can fill in some blanks for my Sager NP9672M-G1 ( Clevo X170KM-G )

HTH

-- kjh

p.s. added link: 06cb:00a8 not detected #69 so I don't lose it ...

Last edited by kjhambrick; 05-21-2022 at 04:34 AM. Reason: add link
 
Old 05-24-2022, 06:40 AM   #11
ctrlaltca
Member
 
Registered: May 2019
Location: Italy
Distribution: Slackware
Posts: 323

Rep: Reputation: 360Reputation: 360Reputation: 360Reputation: 360
As the current maintainer for the fprintd slackbuild, I've proposed two patched to fprintd:
Permit build of PAM module with elogind
Make tests optional using a meson option

Hopefully they will be accepted and we'll be able to actually use fprintd on Slackware as a PAM module.
 
1 members found this post helpful.
Old 05-24-2022, 07:27 AM   #12
tramtrist
Member
 
Registered: Jul 2018
Location: Cincinnati USA
Distribution: Slackware
Posts: 535

Original Poster
Rep: Reputation: 327Reputation: 327Reputation: 327Reputation: 327
Wonderful! Thanks @ctrlaltca
 
Old 05-24-2022, 08:26 AM   #13
J_W
Member
 
Registered: Apr 2004
Location: Yamagata, JAPAN
Distribution: Slackware64-current
Posts: 189

Rep: Reputation: 123Reputation: 123
Wow!
It's a good news for slackware users.
Thank you ctrlaltca.
 
Old 05-24-2022, 03:54 PM   #14
kjhambrick
Senior Member
 
Registered: Jul 2005
Location: Round Rock, TX
Distribution: Slackware64 15.0 + Multilib
Posts: 2,159

Rep: Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512
Quote:
Originally Posted by ctrlaltca View Post
As the current maintainer for the fprintd slackbuild, I've proposed two patched to fprintd:
Permit build of PAM module with elogind
Make tests optional using a meson option

Hopefully they will be accepted and we'll be able to actually use fprintd on Slackware as a PAM module.
Woo Hoo !

You're my hero ctrlaltca !!

Thanks

-- kjh
 
Old 05-24-2022, 05:12 PM   #15
tramtrist
Member
 
Registered: Jul 2018
Location: Cincinnati USA
Distribution: Slackware
Posts: 535

Original Poster
Rep: Reputation: 327Reputation: 327Reputation: 327Reputation: 327
If I'm reading this right looks like they merged with master? :drool:
 
  


Reply

Tags
fingerprint, fprintd



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Fprintd-enroll problem in Debian 9 penguen1 Linux - Software 3 08-27-2018 01:23 PM
fprintd errors in Virtual environment JakesHat Red Hat 9 09-08-2012 12:48 PM
fprintd-enroll can not work joe smith Linux - Newbie 1 03-26-2012 03:22 PM
Staying current with 64-current and beyond... Biggen Slackware 4 07-17-2009 06:56 PM
cvs diff the most current and second last current version powah Linux - Software 1 03-30-2006 01:02 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 07:31 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration