SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
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
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 ?
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.
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/
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.
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.
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 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
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?
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.
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.
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 )
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.