mirror of
https://gitlab.freedesktop.org/libfprint/libfprint.git
synced 2026-06-11 02:28:05 +00:00
Merge tag 'debian/1%1.90.7-3' into ubuntu
libfprint Debian release 1:1.90.7-3
This commit is contained in:
Vendored
+7
-16
@@ -1,19 +1,10 @@
|
||||
The libfprint0 postinst script calls udevadmin trigger for all the supported
|
||||
USB readers. The list of readers used in that file is generated by calling the
|
||||
following awk script:
|
||||
The libfprint-2-2 postinst script calls udevadmin trigger for all the supported
|
||||
USB readers. The list of readers used in that file is generated using the gbp
|
||||
import hook when `gbp import-orig` (via --uscan or with a tarball) is used.
|
||||
|
||||
/plugdev/ {
|
||||
printf ("\tudevadm trigger --action=add " )
|
||||
for (i=1;i<=NF; i++){
|
||||
if (match($i,/idVendor/)>0) {
|
||||
match($i, /"[^"]*"/); printf ("--attr-match=idVendor=%s ",substr($i,RSTART+1,RLENGTH-2))
|
||||
}
|
||||
if (match($i,/idProduct/)>0) {
|
||||
match($i, /"[^"]*"/); printf ("--attr-match=idProduct=%s",substr($i,RSTART+1,RLENGTH-2))
|
||||
}
|
||||
};
|
||||
printf("\n")
|
||||
}
|
||||
Alternatively it can be called manually by using:
|
||||
|
||||
GBP_SOURCES_DIR=. debian/update-udev-triggers.sh
|
||||
|
||||
When preparing a new upstream release, this script should be called against the
|
||||
udev .rules file generated during the build of the package
|
||||
upstream provided .hwdb file.
|
||||
|
||||
Vendored
+157
@@ -1,3 +1,55 @@
|
||||
libfprint (1:1.90.7-3) experimental; urgency=medium
|
||||
|
||||
* gbp.conf: Prepare for experimental branching
|
||||
* debian/patches:
|
||||
- Use hwdb to store device autosuspend rules and drop debian specifics.
|
||||
Upstream will use an hwdb to store the device autosuspend (that will be
|
||||
included in systemd also, so libfprint packagin may stop shipping it at
|
||||
later point), so use it earlier.
|
||||
Drop the debian specific rules to set the devices part of the `plugdev`
|
||||
group as such devices should not be ever readable by an user, but the
|
||||
access should be managed through a libfprint-based service (frpintd at
|
||||
the date).
|
||||
- Explicitly mark libfprint as a shared library
|
||||
* libfprint-2-2.install: Install hwdb file
|
||||
* debian/rules:
|
||||
- Do not autorename upstream rules file anymore.
|
||||
It's not there, while there's no point to rename the hwdb one.
|
||||
- Manually set udev hwdb directory (was rules dir before)
|
||||
- Don't remove the meson generated private values from pc file.
|
||||
This is now generated correctly by upstream, so no need to drop anything
|
||||
from it.
|
||||
* debian: Generate postinst devices list automatically at gbp import phase.
|
||||
Alternatively provide a script to keep the post-inst script updated
|
||||
* debian/libfprint-2-2.postinst: Upgrade as per upstream hwdb.
|
||||
Blacklisted devices can be now removed from the trigger list as we don't
|
||||
add them to plugdev anymore.
|
||||
|
||||
-- Marco Trevisan (Treviño) <marco@ubuntu.com> Thu, 21 Jan 2021 19:53:12 +0100
|
||||
|
||||
libfprint (1:1.90.7-2) unstable; urgency=medium
|
||||
|
||||
* debian/patches: Skip udev rules tests when not all drivers are compiled
|
||||
* debian/libfprint-2-2.postinst: Regenerate the udev list based on new IDs
|
||||
|
||||
-- Marco Trevisan (Treviño) <marco@ubuntu.com> Thu, 21 Jan 2021 17:10:57 +0100
|
||||
|
||||
libfprint (1:1.90.7-1) unstable; urgency=medium
|
||||
|
||||
* New upstream release:
|
||||
- vfs5011: Fix possible use-after-free
|
||||
- goodixmoc: Add two new PIDs (0x63AC, 0x639C)
|
||||
- goodixmoc: Support finger status API
|
||||
- synaptics: Only identify within provided prints
|
||||
- synaptics: Reject devices with old firmware during probe (#239)
|
||||
* debian/patches:
|
||||
- Refresh, dropping merged
|
||||
- Include upstream udev fixes and use hardcoded rules
|
||||
- Ensure that umockdev tests will pass with libusb 1.0.24
|
||||
(Closes: #977848, #978256)
|
||||
|
||||
-- Marco Trevisan (Treviño) <marco@ubuntu.com> Thu, 21 Jan 2021 13:38:59 +0100
|
||||
|
||||
libfprint (1:1.90.6+tod1-0ubuntu2) hirsute; urgency=medium
|
||||
|
||||
* d/p/meson-Do-not-support-drivers-known-to-fail-in-Big-Endian-.patch:
|
||||
@@ -22,6 +74,43 @@ libfprint (1:1.90.6+tod1-0ubuntu1) hirsute; urgency=medium
|
||||
|
||||
-- Marco Trevisan (Treviño) <marco@ubuntu.com> Thu, 10 Dec 2020 17:26:27 +0100
|
||||
|
||||
libfprint (1:1.90.6-2) unstable; urgency=medium
|
||||
|
||||
* d/p/meson-Do-not-support-drivers-known-to-fail-in-Big-Endian-.patch:
|
||||
- Do not enable drivers that are not supported by big endian archs
|
||||
Upstream patch to only build drivers everywhere but not include them
|
||||
in the supported list or test them
|
||||
|
||||
-- Marco Trevisan (Treviño) <marco@ubuntu.com> Thu, 10 Dec 2020 21:32:49 +0100
|
||||
|
||||
libfprint (1:1.90.6-1) unstable; urgency=medium
|
||||
|
||||
* New upstream release:
|
||||
- fp_print_deserialize will now correctly return a sunken reference
|
||||
- Object reference management fixes for FpPrint and identify
|
||||
- Fixed issues that caused problem on non-x86 machines (#236)
|
||||
- Fix building with older GLib versions
|
||||
- synaptics: Support PID 00e7
|
||||
- goodix: Fix issue with long USB packages
|
||||
* debian/control:
|
||||
- Remove Didier Raboud from uploaders (as he requested via bigon).
|
||||
- Mark libfprint-2-doc as Multi-Arch: foreign
|
||||
* debian/rules:
|
||||
- Ignore tests failures in s390x as it now builds and tests correctly
|
||||
- Increase testing timeout.
|
||||
* debian/{control,rules,*.install}:
|
||||
- Switch to debhelper 13 and use its features.
|
||||
As per this restrict more the .install files wilcards
|
||||
* debian/gbp.conf: Include suggested settings by GNOME team.
|
||||
- Even if libfprint is not part of GNOME I think these settings are good
|
||||
practice anyways.
|
||||
* debian/patches:
|
||||
- Refresh
|
||||
- Add upstream patch to avoid nbis library warnings.
|
||||
These have been checked to be harmless upstream
|
||||
|
||||
-- Marco Trevisan (Treviño) <marco@ubuntu.com> Thu, 10 Dec 2020 15:58:37 +0100
|
||||
|
||||
libfprint (1:1.90.5+tod1-0ubuntu1) hirsute; urgency=medium
|
||||
|
||||
* New upstream release:
|
||||
@@ -56,6 +145,54 @@ libfprint (1:1.90.5+tod1-0ubuntu1) hirsute; urgency=medium
|
||||
|
||||
-- Marco Trevisan (Treviño) <marco@ubuntu.com> Fri, 04 Dec 2020 03:57:04 +0100
|
||||
|
||||
libfprint (1:1.90.5-2) unstable; urgency=medium
|
||||
|
||||
* d/p/fpi-device-Return-proper-type-on-identification-success.patch,
|
||||
d/p/test-fpi-device-Always-check-the-return-values-for-the-AP.patch:
|
||||
- Properly handle identify return value and add tests.
|
||||
This fixes fprintd test failures in s390x
|
||||
* d/p/fp-print-Don-t-byte-swap-two-times-the-NBIS-array-content.patch:
|
||||
- Fixes virtual-image test in libfprint for s390x
|
||||
* debian/control: Add myself to Uploaders
|
||||
|
||||
-- Marco Trevisan (Treviño) <marco@ubuntu.com> Wed, 02 Dec 2020 17:53:32 +0100
|
||||
|
||||
libfprint (1:1.90.5-1) unstable; urgency=medium
|
||||
|
||||
* New upstream release:
|
||||
- Remove USB hub from udev autosupend rules
|
||||
- synaptics: Add PID 0x00c9 which is used in some HP laptops
|
||||
* debian/patches: Use gbp pq topics for debian-specific patches
|
||||
|
||||
-- Marco Trevisan (Treviño) <marco@ubuntu.com> Wed, 02 Dec 2020 05:11:33 +0100
|
||||
|
||||
libfprint (1:1.90.4-1) unstable; urgency=medium
|
||||
|
||||
* Team upload.
|
||||
[ Marco Trevisan (Treviño) ]
|
||||
* New upstream release:
|
||||
- Work around GUsb cancellation issue
|
||||
- Redefine internal image device state machine for more robustness
|
||||
- Add public finger-status reporting to FpDevice
|
||||
- Rework device removal API to be convenient
|
||||
- Enable powersave for unsupported USB devices (LP: #1905603)
|
||||
- Improvements to examples
|
||||
- synaptics: Support identify operation (LP: #1905600)
|
||||
- synaptics: Fix possible crash when the interrupt transfer is resubmitted
|
||||
- synaptics: Add support for PIDs 0x00f9, 0x00fc and 0x00c2
|
||||
- elan: Add PID 0x0c4d to supported device list
|
||||
- aes3k: Fix driver and add CI test (LP: #1897613)
|
||||
- uru4000: Fix reference counting of image transfer
|
||||
- vfs301: Fix driver and add CI test (LP: #1905597, Closes: #951648)
|
||||
* debian/libfprint-2-2.symbols: Add new symbols
|
||||
* debian/rules: Also build the virtual drivers, as they're useful for
|
||||
testing libfprint and fprintd
|
||||
|
||||
[ Laurent Bigonville ]
|
||||
* debian/control: Bump Standards-Version to 4.5.1 (no further changes)
|
||||
|
||||
-- Laurent Bigonville <bigon@debian.org> Tue, 01 Dec 2020 11:36:08 +0100
|
||||
|
||||
libfprint (1:1.90.3+tod1-0ubuntu3) hirsute; urgency=medium
|
||||
|
||||
* debian/patches:
|
||||
@@ -92,6 +229,25 @@ libfprint (1:1.90.3+tod1-0ubuntu1) groovy; urgency=medium
|
||||
|
||||
-- Marco Trevisan (Treviño) <marco@ubuntu.com> Thu, 24 Sep 2020 06:14:30 +0200
|
||||
|
||||
libfprint (1:1.90.3-1) unstable; urgency=medium
|
||||
|
||||
* Team upload.
|
||||
[ Marco Trevisan (Treviño) ]
|
||||
* New upstream release
|
||||
- Fixed crash in VFS0050 (LP: #1876502)
|
||||
- Enrollment fails with UPEK reader (LP: #1881380)
|
||||
- Lots of various drivers fixes
|
||||
- As per a patch for nbis required for some sensors that was accidentally
|
||||
dropped in an earlier release. Users of sensors/drivers aes1610, aes2501,
|
||||
aes2550, aes1660, aes2660, elan, upektc_img) need to re-enroll
|
||||
* d/p/git_reading_pointer.patch:
|
||||
- Dopped (applied upstream)
|
||||
|
||||
[ Laurent Bigonville ]
|
||||
* New upstream release
|
||||
|
||||
-- Laurent Bigonville <bigon@debian.org> Sun, 15 Nov 2020 16:05:30 +0100
|
||||
|
||||
libfprint (1:1.90.2+tod1-0ubuntu1) groovy; urgency=medium
|
||||
|
||||
* New upstream release
|
||||
@@ -149,6 +305,7 @@ libfprint (1:1.90.1+tod1-0ubuntu1) focal; urgency=medium
|
||||
|
||||
libfprint (1:1.90.1-2) experimental; urgency=medium
|
||||
|
||||
* Team upload.
|
||||
[ Laurent Bigonville ]
|
||||
* debian/control: Add libcairo-dev and python3 to build-dependencies as they
|
||||
are explicitly required for some tests
|
||||
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
dch -v"$GBP_DEBIAN_VERSION" "New upstream release"
|
||||
git add debian/changelog
|
||||
debcommit
|
||||
|
||||
debian/update-udev-triggers.sh
|
||||
Vendored
+2
-1
@@ -12,7 +12,8 @@ sign-tags = True
|
||||
multimaint-merge = True
|
||||
|
||||
[import-orig]
|
||||
postimport = dch -v%(version)s New upstream release; git add debian/changelog; debcommit
|
||||
postimport = debian/gbp-post-import-hook.sh
|
||||
|
||||
[pq]
|
||||
patch-numbers = False
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -1,2 +1,2 @@
|
||||
lib/udev/rules.d/
|
||||
lib/udev/hwdb.d/
|
||||
usr/lib/${DEB_HOST_MULTIARCH}/libfprint-[0-9].so.*
|
||||
|
||||
Vendored
+78
-3
@@ -5,10 +5,12 @@ set -e
|
||||
#DEBHELPER#
|
||||
|
||||
if [ "$1" = "configure" -o "$1" = "upgrade" ] && command -V udevadm >/dev/null 2>&1; then
|
||||
# apply udev rules at package installation, see
|
||||
# apply hwdb rules at package installation, see
|
||||
# <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=683863#27>
|
||||
# NOTA BENE: after the DEBHELPER section since dh_installudev
|
||||
# adds stuff there
|
||||
# The devices ID list is auto-generated using the gbp postimport hook
|
||||
# see debian/README.sources for more details.
|
||||
udevadm trigger --action=add --attr-match=idVendor=147e --attr-match=idProduct=2016
|
||||
udevadm trigger --action=add --attr-match=idVendor=147e --attr-match=idProduct=2020
|
||||
udevadm trigger --action=add --attr-match=idVendor=138a --attr-match=idProduct=0010
|
||||
@@ -65,6 +67,13 @@ if [ "$1" = "configure" -o "$1" = "upgrade" ] && command -V udevadm >/dev/null 2
|
||||
udevadm trigger --action=add --attr-match=idVendor=1c7a --attr-match=idProduct=0603
|
||||
udevadm trigger --action=add --attr-match=idVendor=061a --attr-match=idProduct=0110
|
||||
udevadm trigger --action=add --attr-match=idVendor=06cb --attr-match=idProduct=00bd
|
||||
udevadm trigger --action=add --attr-match=idVendor=06cb --attr-match=idProduct=00e9
|
||||
udevadm trigger --action=add --attr-match=idVendor=06cb --attr-match=idProduct=00df
|
||||
udevadm trigger --action=add --attr-match=idVendor=06cb --attr-match=idProduct=00f9
|
||||
udevadm trigger --action=add --attr-match=idVendor=06cb --attr-match=idProduct=00fc
|
||||
udevadm trigger --action=add --attr-match=idVendor=06cb --attr-match=idProduct=00c2
|
||||
udevadm trigger --action=add --attr-match=idVendor=06cb --attr-match=idProduct=00c9
|
||||
udevadm trigger --action=add --attr-match=idVendor=06cb --attr-match=idProduct=00e7
|
||||
udevadm trigger --action=add --attr-match=idVendor=04f3 --attr-match=idProduct=0903
|
||||
udevadm trigger --action=add --attr-match=idVendor=04f3 --attr-match=idProduct=0907
|
||||
udevadm trigger --action=add --attr-match=idVendor=04f3 --attr-match=idProduct=0c01
|
||||
@@ -119,7 +128,7 @@ if [ "$1" = "configure" -o "$1" = "upgrade" ] && command -V udevadm >/dev/null 2
|
||||
udevadm trigger --action=add --attr-match=idVendor=04f3 --attr-match=idProduct=0c32
|
||||
udevadm trigger --action=add --attr-match=idVendor=04f3 --attr-match=idProduct=0c33
|
||||
udevadm trigger --action=add --attr-match=idVendor=04f3 --attr-match=idProduct=0c42
|
||||
udevadm trigger --action=add --attr-match=idVendor=045e --attr-match=idProduct=00bb
|
||||
udevadm trigger --action=add --attr-match=idVendor=04f3 --attr-match=idProduct=0c4d
|
||||
udevadm trigger --action=add --attr-match=idVendor=045e --attr-match=idProduct=00bc
|
||||
udevadm trigger --action=add --attr-match=idVendor=045e --attr-match=idProduct=00bd
|
||||
udevadm trigger --action=add --attr-match=idVendor=045e --attr-match=idProduct=00ca
|
||||
@@ -130,11 +139,77 @@ if [ "$1" = "configure" -o "$1" = "upgrade" ] && command -V udevadm >/dev/null 2
|
||||
udevadm trigger --action=add --attr-match=idVendor=147e --attr-match=idProduct=3001
|
||||
udevadm trigger --action=add --attr-match=idVendor=147e --attr-match=idProduct=1000
|
||||
udevadm trigger --action=add --attr-match=idVendor=147e --attr-match=idProduct=1001
|
||||
udevadm trigger --action=add --attr-match=idVendor=0483 --attr-match=idProduct=2016
|
||||
udevadm trigger --action=add --attr-match=idVendor=27c6 --attr-match=idProduct=5840
|
||||
udevadm trigger --action=add --attr-match=idVendor=27c6 --attr-match=idProduct=6496
|
||||
udevadm trigger --action=add --attr-match=idVendor=27c6 --attr-match=idProduct=60a2
|
||||
udevadm trigger --action=add --attr-match=idVendor=27c6 --attr-match=idProduct=63ac
|
||||
udevadm trigger --action=add --attr-match=idVendor=27c6 --attr-match=idProduct=639c
|
||||
udevadm trigger --action=add --attr-match=idVendor=04f3 --attr-match=idProduct=036b
|
||||
udevadm trigger --action=add --attr-match=idVendor=04f3 --attr-match=idProduct=0c00
|
||||
udevadm trigger --action=add --attr-match=idVendor=04f3 --attr-match=idProduct=0c4b
|
||||
udevadm trigger --action=add --attr-match=idVendor=04f3 --attr-match=idProduct=0c4c
|
||||
udevadm trigger --action=add --attr-match=idVendor=04f3 --attr-match=idProduct=0c4f
|
||||
udevadm trigger --action=add --attr-match=idVendor=04f3 --attr-match=idProduct=0c57
|
||||
udevadm trigger --action=add --attr-match=idVendor=04f3 --attr-match=idProduct=2706
|
||||
udevadm trigger --action=add --attr-match=idVendor=06cb --attr-match=idProduct=0081
|
||||
udevadm trigger --action=add --attr-match=idVendor=06cb --attr-match=idProduct=0088
|
||||
udevadm trigger --action=add --attr-match=idVendor=06cb --attr-match=idProduct=008a
|
||||
udevadm trigger --action=add --attr-match=idVendor=06cb --attr-match=idProduct=009a
|
||||
udevadm trigger --action=add --attr-match=idVendor=06cb --attr-match=idProduct=009b
|
||||
udevadm trigger --action=add --attr-match=idVendor=06cb --attr-match=idProduct=00a2
|
||||
udevadm trigger --action=add --attr-match=idVendor=06cb --attr-match=idProduct=00b7
|
||||
udevadm trigger --action=add --attr-match=idVendor=06cb --attr-match=idProduct=00bb
|
||||
udevadm trigger --action=add --attr-match=idVendor=06cb --attr-match=idProduct=00be
|
||||
udevadm trigger --action=add --attr-match=idVendor=06cb --attr-match=idProduct=00cb
|
||||
udevadm trigger --action=add --attr-match=idVendor=06cb --attr-match=idProduct=00d8
|
||||
udevadm trigger --action=add --attr-match=idVendor=06cb --attr-match=idProduct=00da
|
||||
udevadm trigger --action=add --attr-match=idVendor=0a5c --attr-match=idProduct=5801
|
||||
udevadm trigger --action=add --attr-match=idVendor=0a5c --attr-match=idProduct=5805
|
||||
udevadm trigger --action=add --attr-match=idVendor=0a5c --attr-match=idProduct=5834
|
||||
udevadm trigger --action=add --attr-match=idVendor=0a5c --attr-match=idProduct=5843
|
||||
udevadm trigger --action=add --attr-match=idVendor=10a5 --attr-match=idProduct=0007
|
||||
udevadm trigger --action=add --attr-match=idVendor=1188 --attr-match=idProduct=9545
|
||||
udevadm trigger --action=add --attr-match=idVendor=138a --attr-match=idProduct=0007
|
||||
udevadm trigger --action=add --attr-match=idVendor=138a --attr-match=idProduct=003a
|
||||
udevadm trigger --action=add --attr-match=idVendor=138a --attr-match=idProduct=003c
|
||||
udevadm trigger --action=add --attr-match=idVendor=138a --attr-match=idProduct=003d
|
||||
udevadm trigger --action=add --attr-match=idVendor=138a --attr-match=idProduct=003f
|
||||
udevadm trigger --action=add --attr-match=idVendor=138a --attr-match=idProduct=0090
|
||||
udevadm trigger --action=add --attr-match=idVendor=138a --attr-match=idProduct=0091
|
||||
udevadm trigger --action=add --attr-match=idVendor=138a --attr-match=idProduct=0092
|
||||
udevadm trigger --action=add --attr-match=idVendor=138a --attr-match=idProduct=0094
|
||||
udevadm trigger --action=add --attr-match=idVendor=138a --attr-match=idProduct=0097
|
||||
udevadm trigger --action=add --attr-match=idVendor=138a --attr-match=idProduct=009d
|
||||
udevadm trigger --action=add --attr-match=idVendor=138a --attr-match=idProduct=00ab
|
||||
udevadm trigger --action=add --attr-match=idVendor=147e --attr-match=idProduct=1002
|
||||
udevadm trigger --action=add --attr-match=idVendor=1491 --attr-match=idProduct=0088
|
||||
udevadm trigger --action=add --attr-match=idVendor=16d1 --attr-match=idProduct=1027
|
||||
udevadm trigger --action=add --attr-match=idVendor=1c7a --attr-match=idProduct=0300
|
||||
udevadm trigger --action=add --attr-match=idVendor=1c7a --attr-match=idProduct=0570
|
||||
udevadm trigger --action=add --attr-match=idVendor=1c7a --attr-match=idProduct=0575
|
||||
udevadm trigger --action=add --attr-match=idVendor=27c6 --attr-match=idProduct=5042
|
||||
udevadm trigger --action=add --attr-match=idVendor=27c6 --attr-match=idProduct=5110
|
||||
udevadm trigger --action=add --attr-match=idVendor=27c6 --attr-match=idProduct=5117
|
||||
udevadm trigger --action=add --attr-match=idVendor=27c6 --attr-match=idProduct=5201
|
||||
udevadm trigger --action=add --attr-match=idVendor=27c6 --attr-match=idProduct=521d
|
||||
udevadm trigger --action=add --attr-match=idVendor=27c6 --attr-match=idProduct=5301
|
||||
udevadm trigger --action=add --attr-match=idVendor=27c6 --attr-match=idProduct=530c
|
||||
udevadm trigger --action=add --attr-match=idVendor=27c6 --attr-match=idProduct=532d
|
||||
udevadm trigger --action=add --attr-match=idVendor=27c6 --attr-match=idProduct=533c
|
||||
udevadm trigger --action=add --attr-match=idVendor=27c6 --attr-match=idProduct=5381
|
||||
udevadm trigger --action=add --attr-match=idVendor=27c6 --attr-match=idProduct=5385
|
||||
udevadm trigger --action=add --attr-match=idVendor=27c6 --attr-match=idProduct=538c
|
||||
udevadm trigger --action=add --attr-match=idVendor=27c6 --attr-match=idProduct=538d
|
||||
udevadm trigger --action=add --attr-match=idVendor=27c6 --attr-match=idProduct=5395
|
||||
udevadm trigger --action=add --attr-match=idVendor=27c6 --attr-match=idProduct=5584
|
||||
udevadm trigger --action=add --attr-match=idVendor=27c6 --attr-match=idProduct=55a2
|
||||
udevadm trigger --action=add --attr-match=idVendor=27c6 --attr-match=idProduct=55a4
|
||||
udevadm trigger --action=add --attr-match=idVendor=27c6 --attr-match=idProduct=55b4
|
||||
udevadm trigger --action=add --attr-match=idVendor=27c6 --attr-match=idProduct=5740
|
||||
udevadm trigger --action=add --attr-match=idVendor=2808 --attr-match=idProduct=9338
|
||||
udevadm trigger --action=add --attr-match=idVendor=298d --attr-match=idProduct=2033
|
||||
udevadm trigger --action=add --attr-match=idVendor=3538 --attr-match=idProduct=0930
|
||||
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
||||
Vendored
+17
@@ -0,0 +1,17 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
if [ "$1" = "configure" -o "$1" = "upgrade" ] && command -V udevadm >/dev/null 2>&1; then
|
||||
# apply hwdb rules at package installation, see
|
||||
# <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=683863#27>
|
||||
# NOTA BENE: after the DEBHELPER section since dh_installudev
|
||||
# adds stuff there
|
||||
# The devices ID list is auto-generated using the gbp postimport hook
|
||||
# see debian/README.sources for more details.
|
||||
@UDEVADM_TRIGGERS@
|
||||
fi
|
||||
|
||||
exit 0
|
||||
@@ -0,0 +1,178 @@
|
||||
From: Benjamin Berg <bberg@redhat.com>
|
||||
Date: Tue, 19 Jan 2021 14:42:35 +0100
|
||||
Subject: Drop version from libfprint hwdb
|
||||
|
||||
As we are shipping a hwdb file now, we cannot have a collision with the
|
||||
old libfprint version. Also, we are going to pull these rules into
|
||||
systemd and they will not be installed via libfprint in the future. As
|
||||
such, collisions will not happen again and it makes more sense like this
|
||||
for systemd.
|
||||
---
|
||||
.gitlab-ci.yml | 144 --------------------------------------------------
|
||||
libfprint/meson.build | 2 +-
|
||||
2 files changed, 1 insertion(+), 145 deletions(-)
|
||||
delete mode 100644 .gitlab-ci.yml
|
||||
|
||||
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
|
||||
deleted file mode 100644
|
||||
index 3f0925b..0000000
|
||||
--- a/.gitlab-ci.yml
|
||||
+++ /dev/null
|
||||
@@ -1,144 +0,0 @@
|
||||
-include:
|
||||
- - local: '.gitlab-ci/libfprint-templates.yaml'
|
||||
- - project: 'wayland/ci-templates'
|
||||
- ref: master
|
||||
- file: '/templates/fedora.yml'
|
||||
- - remote: 'https://gitlab.gnome.org/GNOME/citemplates/-/raw/master/flatpak/flatpak_ci_initiative.yml'
|
||||
-
|
||||
-variables:
|
||||
- extends: .libfprint_common_variables
|
||||
- FDO_DISTRIBUTION_TAG: latest
|
||||
- FDO_DISTRIBUTION_VERSION: rawhide
|
||||
- FEDORA_IMAGE: "$CI_REGISTRY/libfprint/$CI_PROJECT_NAME/fedora/$FDO_DISTRIBUTION_VERSION:$FDO_DISTRIBUTION_TAG"
|
||||
- BUNDLE: "org.freedesktop.libfprint.Demo.flatpak"
|
||||
- LAST_ABI_BREAK: "056ea541ddc97f5806cffbd99a12dc87e4da3546"
|
||||
-
|
||||
-stages:
|
||||
- - check-source
|
||||
- - build
|
||||
- - test
|
||||
- - flatpak
|
||||
-
|
||||
-image: "$FEDORA_IMAGE"
|
||||
-
|
||||
-.build_one_driver_template: &build_one_driver
|
||||
- script:
|
||||
- # Build with a driver that doesn't need imaging, or nss
|
||||
- - meson --werror -Ddrivers=$driver . _build
|
||||
- - ninja -C _build
|
||||
- - rm -rf _build/
|
||||
-
|
||||
-.build_template: &build
|
||||
- script:
|
||||
- # And build with everything
|
||||
- - meson --werror -Ddrivers=all . _build
|
||||
- - ninja -C _build
|
||||
- - ninja -C _build install
|
||||
-
|
||||
-.build_template: &check_abi
|
||||
- script:
|
||||
- - ./.ci/check-abi ${LAST_ABI_BREAK} $(git rev-parse HEAD)
|
||||
-
|
||||
-build:
|
||||
- stage: build
|
||||
- except:
|
||||
- variables:
|
||||
- - $CI_PIPELINE_SOURCE == "schedule"
|
||||
- variables:
|
||||
- driver: virtual_image
|
||||
- <<: *build_one_driver
|
||||
- <<: *build
|
||||
-# <<: *check_abi
|
||||
- artifacts:
|
||||
- expose_as: "HTML Documentation"
|
||||
- paths:
|
||||
- - _build/doc/html/
|
||||
- expire_in: 1 week
|
||||
-
|
||||
-test:
|
||||
- stage: test
|
||||
- except:
|
||||
- variables:
|
||||
- - $CI_PIPELINE_SOURCE == "schedule"
|
||||
- script:
|
||||
- - meson --werror -Ddrivers=all -Db_coverage=true . _build
|
||||
- - ninja -C _build
|
||||
- - meson test -C _build --verbose --no-stdsplit --timeout-multiplier 3
|
||||
- - ninja -C _build coverage
|
||||
- - cat _build/meson-logs/coverage.txt
|
||||
- artifacts:
|
||||
- paths:
|
||||
- - _build/meson-logs
|
||||
- expire_in: 1 week
|
||||
- coverage: '/^TOTAL.*\s+(\d+\%)$/'
|
||||
-
|
||||
-test_valgrind:
|
||||
- stage: test
|
||||
- except:
|
||||
- variables:
|
||||
- - $CI_PIPELINE_SOURCE == "schedule"
|
||||
- script:
|
||||
- - meson -Ddrivers=all . _build
|
||||
- - ninja -C _build
|
||||
- - meson test -C _build --verbose --no-stdsplit --setup=valgrind
|
||||
-
|
||||
-test_scan_build:
|
||||
- stage: test
|
||||
- except:
|
||||
- variables:
|
||||
- - $CI_PIPELINE_SOURCE == "schedule"
|
||||
- allow_failure: true
|
||||
- script:
|
||||
- - meson -Ddrivers=all . _build
|
||||
- # This is ugly, the wrapper disables the malloc checker
|
||||
- - SCANBUILD=$CI_PROJECT_DIR/.gitlab-ci/scan-build ninja -C _build scan-build
|
||||
- # Check that the directory is empty
|
||||
- - "! ls -A _build/meson-logs/scanbuild | grep -q ."
|
||||
- artifacts:
|
||||
- paths:
|
||||
- - _build/meson-logs
|
||||
- expire_in: 1 week
|
||||
-
|
||||
-test_indent:
|
||||
- stage: check-source
|
||||
- except:
|
||||
- variables:
|
||||
- - $CI_PIPELINE_SOURCE == "schedule"
|
||||
- script:
|
||||
- - scripts/uncrustify.sh
|
||||
- - git diff
|
||||
- - "! git status -s | grep -q ."
|
||||
-
|
||||
-flatpak:
|
||||
- stage: flatpak
|
||||
- extends: .flatpak
|
||||
- image: registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:3.36
|
||||
- variables:
|
||||
- MANIFEST_PATH: "demo/org.freedesktop.libfprint.Demo.json"
|
||||
- FLATPAK_MODULE: "libfprint"
|
||||
- APP_ID: "org.freedesktop.libfprint.Demo"
|
||||
- rules:
|
||||
- - if: '$CI_PROJECT_PATH != "libfprint/libfprint"'
|
||||
- when: never
|
||||
- - if: '$CI_PIPELINE_SOURCE == "schedule"'
|
||||
- when: never
|
||||
- - if: '$CI_COMMIT_BRANCH == "master"'
|
||||
- when: always
|
||||
- - if: '$CI_COMMIT_TAG'
|
||||
- when: always
|
||||
- # For any other (commit), allow manual run.
|
||||
- # This excludes MRs which would create a duplicate pipeline
|
||||
- - if: '$CI_COMMIT_BRANCH'
|
||||
- when: manual
|
||||
- allow_failure: true
|
||||
-
|
||||
-# CONTAINERS creation stage
|
||||
-container_fedora_build:
|
||||
- extends: .fdo.container-build@fedora
|
||||
- only:
|
||||
- variables:
|
||||
- - $CI_PIPELINE_SOURCE == "schedule" && $CRON_TASK == "BUILD_CI_IMAGES"
|
||||
- variables:
|
||||
- GIT_STRATEGY: none # no need to pull the whole tree for rebuilding the image
|
||||
- # a list of packages to install
|
||||
- FDO_DISTRIBUTION_PACKAGES: $LIBFPRINT_DEPENDENCIES
|
||||
diff --git a/libfprint/meson.build b/libfprint/meson.build
|
||||
index 3464bf3..abf2fb9 100644
|
||||
--- a/libfprint/meson.build
|
||||
+++ b/libfprint/meson.build
|
||||
@@ -304,7 +304,7 @@ udev_hwdb = executable('fprint-list-udev-hwdb',
|
||||
# We always build this file; primarily so that systemd can pull it
|
||||
# from the artefacts!
|
||||
custom_target('udev-rules',
|
||||
- output: '60-autosuspend-@0@.hwdb'.format(versioned_libname),
|
||||
+ output: '60-autosuspend-@0@.hwdb'.format(meson.project_name()),
|
||||
capture: true,
|
||||
command: [ udev_hwdb ],
|
||||
install: get_option('udev_rules'),
|
||||
@@ -0,0 +1,491 @@
|
||||
From: Benjamin Berg <bberg@redhat.com>
|
||||
Date: Tue, 19 Jan 2021 14:13:03 +0100
|
||||
Subject: Generate a hwdb instead of udev rules
|
||||
|
||||
We only use the rules/hwdb to enable auto-suspend. So, instead of
|
||||
shipping our own rules, we can just use the existing autosuspend rules
|
||||
and ship a hwdb that sets the appropriate flag.
|
||||
|
||||
Closes: #336
|
||||
|
||||
Origin: https://gitlab.freedesktop.org/libfprint/libfprint/-/commit/55a2bb55
|
||||
---
|
||||
libfprint/fprint-list-udev-hwdb.c | 191 +++++++++++++++++++++++++++++++++++++
|
||||
libfprint/fprint-list-udev-rules.c | 188 ------------------------------------
|
||||
libfprint/meson.build | 10 +-
|
||||
meson.build | 6 +-
|
||||
meson_options.txt | 4 +-
|
||||
tests/meson.build | 4 +-
|
||||
6 files changed, 203 insertions(+), 200 deletions(-)
|
||||
create mode 100644 libfprint/fprint-list-udev-hwdb.c
|
||||
delete mode 100644 libfprint/fprint-list-udev-rules.c
|
||||
|
||||
diff --git a/libfprint/fprint-list-udev-hwdb.c b/libfprint/fprint-list-udev-hwdb.c
|
||||
new file mode 100644
|
||||
index 0000000..b687085
|
||||
--- /dev/null
|
||||
+++ b/libfprint/fprint-list-udev-hwdb.c
|
||||
@@ -0,0 +1,191 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2009 Red Hat <mjg@redhat.com>
|
||||
+ * Copyright (C) 2008 Bastien Nocera <hadess@hadess.net>
|
||||
+ * Copyright (C) 2008 Timo Hoenig <thoenig@suse.de>, <thoenig@nouse.net>
|
||||
+ * Copyright (C) 2019 Benjamin Berg <bberg@redhat.com>
|
||||
+ *
|
||||
+ * This library is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU Lesser General Public
|
||||
+ * License as published by the Free Software Foundation; either
|
||||
+ * version 2.1 of the License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This library is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ * Lesser General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU Lesser General Public
|
||||
+ * License along with this library; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
+ */
|
||||
+
|
||||
+#include <config.h>
|
||||
+
|
||||
+#include "fpi-context.h"
|
||||
+#include "fpi-device.h"
|
||||
+
|
||||
+static const FpIdEntry whitelist_id_table[] = {
|
||||
+ /* Currently known and unsupported devices.
|
||||
+ * You can generate this list from the wiki page using e.g.:
|
||||
+ * gio cat https://gitlab.freedesktop.org/libfprint/wiki/-/wikis/Unsupported-Devices.md | sed -n 's!|.*\([0-9a-fA-F]\{4\}\):\([0-9a-fA-F]\{4\}\).*|.*! { .vid = 0x\1, .pid = 0x\2 },!p'
|
||||
+ */
|
||||
+ { .vid = 0x04f3, .pid = 0x036b },
|
||||
+ { .vid = 0x04f3, .pid = 0x0c00 },
|
||||
+ { .vid = 0x04f3, .pid = 0x0c4b },
|
||||
+ { .vid = 0x04f3, .pid = 0x0c4c },
|
||||
+ { .vid = 0x04f3, .pid = 0x0c4f },
|
||||
+ { .vid = 0x04f3, .pid = 0x0c57 },
|
||||
+ { .vid = 0x04f3, .pid = 0x2706 },
|
||||
+ { .vid = 0x06cb, .pid = 0x0081 },
|
||||
+ { .vid = 0x06cb, .pid = 0x0088 },
|
||||
+ { .vid = 0x06cb, .pid = 0x008a },
|
||||
+ { .vid = 0x06cb, .pid = 0x009a },
|
||||
+ { .vid = 0x06cb, .pid = 0x009b },
|
||||
+ { .vid = 0x06cb, .pid = 0x00a2 },
|
||||
+ { .vid = 0x06cb, .pid = 0x00b7 },
|
||||
+ { .vid = 0x06cb, .pid = 0x00bb },
|
||||
+ { .vid = 0x06cb, .pid = 0x00be },
|
||||
+ { .vid = 0x06cb, .pid = 0x00cb },
|
||||
+ { .vid = 0x06cb, .pid = 0x00d8 },
|
||||
+ { .vid = 0x06cb, .pid = 0x00da },
|
||||
+ { .vid = 0x0a5c, .pid = 0x5801 },
|
||||
+ { .vid = 0x0a5c, .pid = 0x5805 },
|
||||
+ { .vid = 0x0a5c, .pid = 0x5834 },
|
||||
+ { .vid = 0x0a5c, .pid = 0x5843 },
|
||||
+ { .vid = 0x10a5, .pid = 0x0007 },
|
||||
+ { .vid = 0x1188, .pid = 0x9545 },
|
||||
+ { .vid = 0x138a, .pid = 0x0007 },
|
||||
+ { .vid = 0x138a, .pid = 0x003a },
|
||||
+ { .vid = 0x138a, .pid = 0x003c },
|
||||
+ { .vid = 0x138a, .pid = 0x003d },
|
||||
+ { .vid = 0x138a, .pid = 0x003f },
|
||||
+ { .vid = 0x138a, .pid = 0x0090 },
|
||||
+ { .vid = 0x138a, .pid = 0x0091 },
|
||||
+ { .vid = 0x138a, .pid = 0x0092 },
|
||||
+ { .vid = 0x138a, .pid = 0x0094 },
|
||||
+ { .vid = 0x138a, .pid = 0x0097 },
|
||||
+ { .vid = 0x138a, .pid = 0x009d },
|
||||
+ { .vid = 0x138a, .pid = 0x00ab },
|
||||
+ { .vid = 0x147e, .pid = 0x1002 },
|
||||
+ { .vid = 0x1491, .pid = 0x0088 },
|
||||
+ { .vid = 0x16d1, .pid = 0x1027 },
|
||||
+ { .vid = 0x1c7a, .pid = 0x0300 },
|
||||
+ { .vid = 0x1c7a, .pid = 0x0570 },
|
||||
+ { .vid = 0x1c7a, .pid = 0x0575 },
|
||||
+ { .vid = 0x27c6, .pid = 0x5042 },
|
||||
+ { .vid = 0x27c6, .pid = 0x5110 },
|
||||
+ { .vid = 0x27c6, .pid = 0x5117 },
|
||||
+ { .vid = 0x27c6, .pid = 0x5201 },
|
||||
+ { .vid = 0x27c6, .pid = 0x521d },
|
||||
+ { .vid = 0x27c6, .pid = 0x5301 },
|
||||
+ { .vid = 0x27c6, .pid = 0x530c },
|
||||
+ { .vid = 0x27c6, .pid = 0x532d },
|
||||
+ { .vid = 0x27c6, .pid = 0x533c },
|
||||
+ { .vid = 0x27c6, .pid = 0x5381 },
|
||||
+ { .vid = 0x27c6, .pid = 0x5385 },
|
||||
+ { .vid = 0x27c6, .pid = 0x538c },
|
||||
+ { .vid = 0x27c6, .pid = 0x538d },
|
||||
+ { .vid = 0x27c6, .pid = 0x5395 },
|
||||
+ { .vid = 0x27c6, .pid = 0x5584 },
|
||||
+ { .vid = 0x27c6, .pid = 0x55a2 },
|
||||
+ { .vid = 0x27c6, .pid = 0x55a4 },
|
||||
+ { .vid = 0x27c6, .pid = 0x55b4 },
|
||||
+ { .vid = 0x27c6, .pid = 0x5740 },
|
||||
+ { .vid = 0x2808, .pid = 0x9338 },
|
||||
+ { .vid = 0x298d, .pid = 0x2033 },
|
||||
+ { .vid = 0x3538, .pid = 0x0930 },
|
||||
+ { .vid = 0 },
|
||||
+};
|
||||
+
|
||||
+static const FpIdEntry blacklist_id_table[] = {
|
||||
+ { .vid = 0x0483, .pid = 0x2016 },
|
||||
+ /* https://bugs.freedesktop.org/show_bug.cgi?id=66659 */
|
||||
+ { .vid = 0x045e, .pid = 0x00bb },
|
||||
+ { .vid = 0 },
|
||||
+};
|
||||
+
|
||||
+static const FpDeviceClass whitelist = {
|
||||
+ .type = FP_DEVICE_TYPE_USB,
|
||||
+ .id_table = whitelist_id_table,
|
||||
+ .id = "whitelist",
|
||||
+ .full_name = "Hardcoded whitelist"
|
||||
+};
|
||||
+
|
||||
+GHashTable *printed = NULL;
|
||||
+
|
||||
+static void
|
||||
+print_driver (const FpDeviceClass *cls)
|
||||
+{
|
||||
+ const FpIdEntry *entry;
|
||||
+ gint num_printed = 0;
|
||||
+
|
||||
+ if (cls->type != FP_DEVICE_TYPE_USB)
|
||||
+ return;
|
||||
+
|
||||
+ for (entry = cls->id_table; entry->vid != 0; entry++)
|
||||
+ {
|
||||
+ const FpIdEntry *bl_entry;
|
||||
+ char *key;
|
||||
+
|
||||
+ for (bl_entry = blacklist_id_table; bl_entry->vid != 0; bl_entry++)
|
||||
+ if (entry->vid == bl_entry->vid && entry->pid == bl_entry->pid)
|
||||
+ break;
|
||||
+
|
||||
+ if (bl_entry->vid != 0)
|
||||
+ continue;
|
||||
+
|
||||
+ key = g_strdup_printf ("%04x:%04x", entry->vid, entry->pid);
|
||||
+
|
||||
+ if (g_hash_table_lookup (printed, key) != NULL)
|
||||
+ {
|
||||
+ if (cls == &whitelist)
|
||||
+ g_warning ("%s implemented by driver %s",
|
||||
+ key, (const char *) g_hash_table_lookup (printed, key));
|
||||
+ g_free (key);
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
+ g_hash_table_insert (printed, key, (void *) cls->id);
|
||||
+
|
||||
+ if (num_printed == 0)
|
||||
+ {
|
||||
+ if (cls != &whitelist)
|
||||
+ g_print ("\n# Supported by libfprint driver %s\n", cls->id);
|
||||
+ else
|
||||
+ g_print ("\n# Known unsupported devices\n");
|
||||
+ }
|
||||
+
|
||||
+ g_print ("usb:v%04Xp%04X*\n",
|
||||
+ entry->vid, entry->pid);
|
||||
+ num_printed++;
|
||||
+ }
|
||||
+
|
||||
+ if (num_printed > 0)
|
||||
+ g_print (" ID_AUTOSUSPEND=1\n");
|
||||
+}
|
||||
+
|
||||
+int
|
||||
+main (int argc, char **argv)
|
||||
+{
|
||||
+ g_autoptr(GArray) drivers = fpi_get_driver_types ();
|
||||
+ guint i;
|
||||
+
|
||||
+ printed = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
|
||||
+
|
||||
+ for (i = 0; i < drivers->len; i++)
|
||||
+ {
|
||||
+ GType driver = g_array_index (drivers, GType, i);
|
||||
+ g_autoptr(FpDeviceClass) cls = g_type_class_ref (driver);
|
||||
+
|
||||
+ if (cls->type != FP_DEVICE_TYPE_USB)
|
||||
+ continue;
|
||||
+
|
||||
+ print_driver (cls);
|
||||
+ }
|
||||
+
|
||||
+ print_driver (&whitelist);
|
||||
+
|
||||
+ g_hash_table_destroy (printed);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
diff --git a/libfprint/fprint-list-udev-rules.c b/libfprint/fprint-list-udev-rules.c
|
||||
deleted file mode 100644
|
||||
index 050a450..0000000
|
||||
--- a/libfprint/fprint-list-udev-rules.c
|
||||
+++ /dev/null
|
||||
@@ -1,188 +0,0 @@
|
||||
-/*
|
||||
- * Copyright (C) 2009 Red Hat <mjg@redhat.com>
|
||||
- * Copyright (C) 2008 Bastien Nocera <hadess@hadess.net>
|
||||
- * Copyright (C) 2008 Timo Hoenig <thoenig@suse.de>, <thoenig@nouse.net>
|
||||
- * Copyright (C) 2019 Benjamin Berg <bberg@redhat.com>
|
||||
- *
|
||||
- * This library is free software; you can redistribute it and/or
|
||||
- * modify it under the terms of the GNU Lesser General Public
|
||||
- * License as published by the Free Software Foundation; either
|
||||
- * version 2.1 of the License, or (at your option) any later version.
|
||||
- *
|
||||
- * This library is distributed in the hope that it will be useful,
|
||||
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
- * Lesser General Public License for more details.
|
||||
- *
|
||||
- * You should have received a copy of the GNU Lesser General Public
|
||||
- * License along with this library; if not, write to the Free Software
|
||||
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
- */
|
||||
-
|
||||
-#include <config.h>
|
||||
-
|
||||
-#include "fpi-context.h"
|
||||
-#include "fpi-device.h"
|
||||
-
|
||||
-static const FpIdEntry whitelist_id_table[] = {
|
||||
- /* Currently known and unsupported devices.
|
||||
- * You can generate this list from the wiki page using e.g.:
|
||||
- * gio cat https://gitlab.freedesktop.org/libfprint/wiki/-/wikis/Unsupported-Devices.md | sed -n 's!|.*\([0-9a-fA-F]\{4\}\):\([0-9a-fA-F]\{4\}\).*|.*! { .vid = 0x\1, .pid = 0x\2 },!p'
|
||||
- */
|
||||
- { .vid = 0x04f3, .pid = 0x036b },
|
||||
- { .vid = 0x04f3, .pid = 0x0c00 },
|
||||
- { .vid = 0x04f3, .pid = 0x0c4b },
|
||||
- { .vid = 0x04f3, .pid = 0x0c4c },
|
||||
- { .vid = 0x04f3, .pid = 0x0c4f },
|
||||
- { .vid = 0x04f3, .pid = 0x0c57 },
|
||||
- { .vid = 0x04f3, .pid = 0x2706 },
|
||||
- { .vid = 0x06cb, .pid = 0x0081 },
|
||||
- { .vid = 0x06cb, .pid = 0x0088 },
|
||||
- { .vid = 0x06cb, .pid = 0x008a },
|
||||
- { .vid = 0x06cb, .pid = 0x009a },
|
||||
- { .vid = 0x06cb, .pid = 0x009b },
|
||||
- { .vid = 0x06cb, .pid = 0x00a2 },
|
||||
- { .vid = 0x06cb, .pid = 0x00b7 },
|
||||
- { .vid = 0x06cb, .pid = 0x00bb },
|
||||
- { .vid = 0x06cb, .pid = 0x00be },
|
||||
- { .vid = 0x06cb, .pid = 0x00cb },
|
||||
- { .vid = 0x06cb, .pid = 0x00d8 },
|
||||
- { .vid = 0x06cb, .pid = 0x00da },
|
||||
- { .vid = 0x0a5c, .pid = 0x5801 },
|
||||
- { .vid = 0x0a5c, .pid = 0x5805 },
|
||||
- { .vid = 0x0a5c, .pid = 0x5834 },
|
||||
- { .vid = 0x0a5c, .pid = 0x5843 },
|
||||
- { .vid = 0x10a5, .pid = 0x0007 },
|
||||
- { .vid = 0x1188, .pid = 0x9545 },
|
||||
- { .vid = 0x138a, .pid = 0x0007 },
|
||||
- { .vid = 0x138a, .pid = 0x003a },
|
||||
- { .vid = 0x138a, .pid = 0x003c },
|
||||
- { .vid = 0x138a, .pid = 0x003d },
|
||||
- { .vid = 0x138a, .pid = 0x003f },
|
||||
- { .vid = 0x138a, .pid = 0x0090 },
|
||||
- { .vid = 0x138a, .pid = 0x0091 },
|
||||
- { .vid = 0x138a, .pid = 0x0092 },
|
||||
- { .vid = 0x138a, .pid = 0x0094 },
|
||||
- { .vid = 0x138a, .pid = 0x0097 },
|
||||
- { .vid = 0x138a, .pid = 0x009d },
|
||||
- { .vid = 0x138a, .pid = 0x00ab },
|
||||
- { .vid = 0x147e, .pid = 0x1002 },
|
||||
- { .vid = 0x1491, .pid = 0x0088 },
|
||||
- { .vid = 0x16d1, .pid = 0x1027 },
|
||||
- { .vid = 0x1c7a, .pid = 0x0300 },
|
||||
- { .vid = 0x1c7a, .pid = 0x0570 },
|
||||
- { .vid = 0x1c7a, .pid = 0x0575 },
|
||||
- { .vid = 0x27c6, .pid = 0x5042 },
|
||||
- { .vid = 0x27c6, .pid = 0x5110 },
|
||||
- { .vid = 0x27c6, .pid = 0x5117 },
|
||||
- { .vid = 0x27c6, .pid = 0x5201 },
|
||||
- { .vid = 0x27c6, .pid = 0x521d },
|
||||
- { .vid = 0x27c6, .pid = 0x5301 },
|
||||
- { .vid = 0x27c6, .pid = 0x530c },
|
||||
- { .vid = 0x27c6, .pid = 0x532d },
|
||||
- { .vid = 0x27c6, .pid = 0x533c },
|
||||
- { .vid = 0x27c6, .pid = 0x5381 },
|
||||
- { .vid = 0x27c6, .pid = 0x5385 },
|
||||
- { .vid = 0x27c6, .pid = 0x538c },
|
||||
- { .vid = 0x27c6, .pid = 0x538d },
|
||||
- { .vid = 0x27c6, .pid = 0x5395 },
|
||||
- { .vid = 0x27c6, .pid = 0x5584 },
|
||||
- { .vid = 0x27c6, .pid = 0x55a2 },
|
||||
- { .vid = 0x27c6, .pid = 0x55a4 },
|
||||
- { .vid = 0x27c6, .pid = 0x55b4 },
|
||||
- { .vid = 0x27c6, .pid = 0x5740 },
|
||||
- { .vid = 0x2808, .pid = 0x9338 },
|
||||
- { .vid = 0x298d, .pid = 0x2033 },
|
||||
- { .vid = 0x3538, .pid = 0x0930 },
|
||||
- { .vid = 0 },
|
||||
-};
|
||||
-
|
||||
-static const FpIdEntry blacklist_id_table[] = {
|
||||
- { .vid = 0x0483, .pid = 0x2016 },
|
||||
- /* https://bugs.freedesktop.org/show_bug.cgi?id=66659 */
|
||||
- { .vid = 0x045e, .pid = 0x00bb },
|
||||
- { .vid = 0 },
|
||||
-};
|
||||
-
|
||||
-static const FpDeviceClass whitelist = {
|
||||
- .type = FP_DEVICE_TYPE_USB,
|
||||
- .id_table = whitelist_id_table,
|
||||
- .id = "whitelist",
|
||||
- .full_name = "Hardcoded whitelist"
|
||||
-};
|
||||
-
|
||||
-GHashTable *printed = NULL;
|
||||
-
|
||||
-static void
|
||||
-print_driver (const FpDeviceClass *cls)
|
||||
-{
|
||||
- const FpIdEntry *entry;
|
||||
- gint num_printed = 0;
|
||||
-
|
||||
- if (cls->type != FP_DEVICE_TYPE_USB)
|
||||
- return;
|
||||
-
|
||||
- for (entry = cls->id_table; entry->vid != 0; entry++)
|
||||
- {
|
||||
- const FpIdEntry *bl_entry;
|
||||
- char *key;
|
||||
-
|
||||
- for (bl_entry = blacklist_id_table; bl_entry->vid != 0; bl_entry++)
|
||||
- if (entry->vid == bl_entry->vid && entry->pid == bl_entry->pid)
|
||||
- break;
|
||||
-
|
||||
- if (bl_entry->vid != 0)
|
||||
- continue;
|
||||
-
|
||||
- key = g_strdup_printf ("%04x:%04x", entry->vid, entry->pid);
|
||||
-
|
||||
- if (g_hash_table_lookup (printed, key) != NULL)
|
||||
- {
|
||||
- if (cls == &whitelist)
|
||||
- g_warning ("%s implemented by driver %s",
|
||||
- key, (const char *) g_hash_table_lookup (printed, key));
|
||||
- g_free (key);
|
||||
- continue;
|
||||
- }
|
||||
-
|
||||
- g_hash_table_insert (printed, key, (void *) cls->id);
|
||||
-
|
||||
- if (num_printed == 0)
|
||||
- g_print ("# %s\n", cls->full_name);
|
||||
-
|
||||
- g_print ("SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"%04x\", ATTRS{idProduct}==\"%04x\", ATTRS{dev}==\"*\", TEST==\"power/control\", ATTR{power/control}=\"auto\"\n",
|
||||
- entry->vid, entry->pid);
|
||||
- g_print ("SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"%04x\", ATTRS{idProduct}==\"%04x\", ENV{LIBFPRINT_DRIVER}=\"%s\"\n",
|
||||
- entry->vid, entry->pid, cls->full_name);
|
||||
- num_printed++;
|
||||
- }
|
||||
-
|
||||
- if (num_printed > 0)
|
||||
- g_print ("\n");
|
||||
-}
|
||||
-
|
||||
-int
|
||||
-main (int argc, char **argv)
|
||||
-{
|
||||
- g_autoptr(GArray) drivers = fpi_get_driver_types ();
|
||||
- guint i;
|
||||
-
|
||||
- printed = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
|
||||
-
|
||||
- for (i = 0; i < drivers->len; i++)
|
||||
- {
|
||||
- GType driver = g_array_index (drivers, GType, i);
|
||||
- g_autoptr(FpDeviceClass) cls = g_type_class_ref (driver);
|
||||
-
|
||||
- if (cls->type != FP_DEVICE_TYPE_USB)
|
||||
- continue;
|
||||
-
|
||||
- print_driver (cls);
|
||||
- }
|
||||
-
|
||||
- print_driver (&whitelist);
|
||||
-
|
||||
- g_hash_table_destroy (printed);
|
||||
-
|
||||
- return 0;
|
||||
-}
|
||||
diff --git a/libfprint/meson.build b/libfprint/meson.build
|
||||
index 4d1d30c..e385ce8 100644
|
||||
--- a/libfprint/meson.build
|
||||
+++ b/libfprint/meson.build
|
||||
@@ -295,19 +295,19 @@ libfprint_private_dep = declare_dependency(
|
||||
]
|
||||
)
|
||||
|
||||
-udev_rules = executable('fprint-list-udev-rules',
|
||||
- 'fprint-list-udev-rules.c',
|
||||
+udev_hwdb = executable('fprint-list-udev-hwdb',
|
||||
+ 'fprint-list-udev-hwdb.c',
|
||||
dependencies: libfprint_private_dep,
|
||||
link_with: libfprint_drivers,
|
||||
install: false)
|
||||
|
||||
if get_option('udev_rules')
|
||||
custom_target('udev-rules',
|
||||
- output: '60-@0@-autosuspend.rules'.format(versioned_libname),
|
||||
+ output: '60-autosuspend-@0@.hwdb'.format(versioned_libname),
|
||||
capture: true,
|
||||
- command: [ udev_rules ],
|
||||
+ command: [ udev_hwdb ],
|
||||
install: true,
|
||||
- install_dir: udev_rules_dir)
|
||||
+ install_dir: udev_hwdb_dir)
|
||||
endif
|
||||
|
||||
supported_devices = executable('fprint-list-supported-devices',
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 483f1ec..ab4ac72 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -194,11 +194,11 @@ drivers_type_func += '}'
|
||||
root_inc = include_directories('.')
|
||||
|
||||
if get_option('udev_rules')
|
||||
- udev_rules_dir = get_option('udev_rules_dir')
|
||||
+ udev_hwdb_dir = get_option('udev_hwdb_dir')
|
||||
|
||||
- if udev_rules_dir == 'auto'
|
||||
+ if udev_hwdb_dir == 'auto'
|
||||
udev_dep = dependency('udev')
|
||||
- udev_rules_dir = udev_dep.get_pkgconfig_variable('udevdir') + '/rules.d'
|
||||
+ udev_hwdb_dir = udev_dep.get_pkgconfig_variable('udevdir') + '/hwdb.d'
|
||||
endif
|
||||
endif
|
||||
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index 746efdc..414695f 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -10,8 +10,8 @@ option('udev_rules',
|
||||
description: 'Whether to create a udev rules file',
|
||||
type: 'boolean',
|
||||
value: true)
|
||||
-option('udev_rules_dir',
|
||||
- description: 'Installation path for udev rules',
|
||||
+option('udev_hwdb_dir',
|
||||
+ description: 'Installation path for udev hwdb',
|
||||
type: 'string',
|
||||
value: 'auto')
|
||||
option('gtk-examples',
|
||||
diff --git a/tests/meson.build b/tests/meson.build
|
||||
index 27bdd9f..4ebf3b7 100644
|
||||
--- a/tests/meson.build
|
||||
+++ b/tests/meson.build
|
||||
@@ -170,8 +170,8 @@ foreach test_name: unit_tests
|
||||
endforeach
|
||||
|
||||
# Run udev rule generator with fatal warnings
|
||||
-test('udev-rules',
|
||||
- udev_rules,
|
||||
+test('udev-hwdb',
|
||||
+ udev_hwdb,
|
||||
env: envs)
|
||||
|
||||
gdb = find_program('gdb', required: false)
|
||||
@@ -0,0 +1,21 @@
|
||||
From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= <mail@3v1n0.net>
|
||||
Date: Thu, 21 Jan 2021 00:57:43 +0100
|
||||
Subject: build: Ensure we process the data dir
|
||||
|
||||
Origin: https://gitlab.freedesktop.org/libfprint/libfprint/-/commit/018641ad
|
||||
---
|
||||
meson.build | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 415f27e..9494ebb 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -237,6 +237,7 @@ if get_option('gtk-examples')
|
||||
subdir('demo')
|
||||
endif
|
||||
|
||||
+subdir('data')
|
||||
subdir('tests')
|
||||
|
||||
pkgconfig = import('pkgconfig')
|
||||
@@ -0,0 +1,27 @@
|
||||
From: Benjamin Berg <bberg@redhat.com>
|
||||
Date: Thu, 21 Jan 2021 17:36:41 +0100
|
||||
Subject: build: Explicitly mark libfprint as a shared library
|
||||
|
||||
While meson suggests to always use 'library' this leads to some unwanted
|
||||
behaviors when it comes to generate pkg-config files for it, as they
|
||||
will include `Libs.Private` / `Required.private` fields that should not
|
||||
be really part of a shared library as libfprint is meant to be used.
|
||||
|
||||
Origin: https://gitlab.freedesktop.org/libfprint/libfprint/-/commit/89890dbd
|
||||
---
|
||||
libfprint/meson.build | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libfprint/meson.build b/libfprint/meson.build
|
||||
index 110c458..9425e09 100644
|
||||
--- a/libfprint/meson.build
|
||||
+++ b/libfprint/meson.build
|
||||
@@ -258,7 +258,7 @@ libfprint_drivers = static_library('fprint-drivers',
|
||||
mapfile = files('libfprint.ver')
|
||||
vflag = '-Wl,--version-script,@0@/@1@'.format(meson.source_root(), mapfile[0])
|
||||
|
||||
-libfprint = library(versioned_libname.split('lib')[1],
|
||||
+libfprint = shared_library(versioned_libname.split('lib')[1],
|
||||
sources: [
|
||||
fp_enums,
|
||||
libfprint_sources,
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= <mail@3v1n0.net>
|
||||
Date: Thu, 21 Jan 2021 15:34:36 +0100
|
||||
Subject: build: Skip the hwdb test if not all drivers are really enabled
|
||||
|
||||
Origin: https://gitlab.freedesktop.org/libfprint/libfprint/-/commit/3b83157e9
|
||||
---
|
||||
meson.build | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 4c73c00..d5081c9 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -181,6 +181,10 @@ foreach driver: drivers
|
||||
endif
|
||||
endforeach
|
||||
|
||||
+if default_drivers_are_enabled and supported_drivers != drivers
|
||||
+ default_drivers_are_enabled = false
|
||||
+endif
|
||||
+
|
||||
# Export the drivers' types to the core code
|
||||
drivers_type_list = []
|
||||
drivers_type_func = []
|
||||
@@ -0,0 +1,22 @@
|
||||
From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= <mail@3v1n0.net>
|
||||
Date: Thu, 21 Jan 2021 01:17:02 +0100
|
||||
Subject: data: Keep using versioned libname for hwdb file
|
||||
|
||||
Origin: https://gitlab.freedesktop.org/libfprint/libfprint/-/commit/2f6adce2
|
||||
---
|
||||
data/meson.build | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/data/meson.build b/data/meson.build
|
||||
index 975c1c3..99adf5d 100644
|
||||
--- a/data/meson.build
|
||||
+++ b/data/meson.build
|
||||
@@ -3,7 +3,7 @@ if get_option('udev_rules')
|
||||
# ninja -C <builddir> libfprint/sync-udev-hwdb
|
||||
|
||||
install_data('autosuspend.hwdb',
|
||||
- rename: '60-autosuspend-@0@.hwdb'.format(meson.project_name()),
|
||||
+ rename: '60-autosuspend-@0@.hwdb'.format(versioned_libname),
|
||||
install_dir: udev_hwdb_dir,
|
||||
)
|
||||
endif
|
||||
+437
@@ -0,0 +1,437 @@
|
||||
From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= <mail@3v1n0.net>
|
||||
Date: Wed, 20 Jan 2021 20:02:05 +0100
|
||||
Subject: data: Use auto-generated but hardcoded autosuspend hwdb file
|
||||
|
||||
This solves various problems:
|
||||
1. It stays the same also if some drivers have been disabled
|
||||
2. It uses a stable path for being imported by systemd
|
||||
3. It is still checked for its validity by tests
|
||||
4. It can be auto-generated using a simple command
|
||||
---
|
||||
data/autosuspend.hwdb | 262 ++++++++++++++++++++++++++++++++++++++
|
||||
data/meson.build | 9 ++
|
||||
libfprint/fprint-list-udev-hwdb.c | 5 +
|
||||
libfprint/meson.build | 24 ++--
|
||||
meson.build | 12 ++
|
||||
tests/meson.build | 5 +-
|
||||
tests/test-generated-hwdb.sh | 24 ++++
|
||||
7 files changed, 332 insertions(+), 9 deletions(-)
|
||||
create mode 100644 data/autosuspend.hwdb
|
||||
create mode 100644 data/meson.build
|
||||
create mode 100755 tests/test-generated-hwdb.sh
|
||||
|
||||
diff --git a/data/autosuspend.hwdb b/data/autosuspend.hwdb
|
||||
new file mode 100644
|
||||
index 0000000..f22d16a
|
||||
--- /dev/null
|
||||
+++ b/data/autosuspend.hwdb
|
||||
@@ -0,0 +1,262 @@
|
||||
+# This file has been generated using fprint-list-udev-hwdb with all drivers enabled
|
||||
+
|
||||
+# Supported by libfprint driver upektc_img
|
||||
+usb:v147Ep2016*
|
||||
+usb:v147Ep2020*
|
||||
+ ID_AUTOSUSPEND=1
|
||||
+
|
||||
+# Supported by libfprint driver vfs5011
|
||||
+usb:v138Ap0010*
|
||||
+usb:v138Ap0011*
|
||||
+usb:v138Ap0015*
|
||||
+usb:v138Ap0017*
|
||||
+usb:v138Ap0018*
|
||||
+ ID_AUTOSUSPEND=1
|
||||
+
|
||||
+# Supported by libfprint driver aes3500
|
||||
+usb:v08FFp5731*
|
||||
+ ID_AUTOSUSPEND=1
|
||||
+
|
||||
+# Supported by libfprint driver aes4000
|
||||
+usb:v5501p08FF*
|
||||
+ ID_AUTOSUSPEND=1
|
||||
+
|
||||
+# Supported by libfprint driver aes1610
|
||||
+usb:v08FFp1600*
|
||||
+ ID_AUTOSUSPEND=1
|
||||
+
|
||||
+# Supported by libfprint driver aes1660
|
||||
+usb:v08FFp1660*
|
||||
+usb:v08FFp1680*
|
||||
+usb:v08FFp1681*
|
||||
+usb:v08FFp1682*
|
||||
+usb:v08FFp1683*
|
||||
+usb:v08FFp1684*
|
||||
+usb:v08FFp1685*
|
||||
+usb:v08FFp1686*
|
||||
+usb:v08FFp1687*
|
||||
+usb:v08FFp1688*
|
||||
+usb:v08FFp1689*
|
||||
+usb:v08FFp168A*
|
||||
+usb:v08FFp168B*
|
||||
+usb:v08FFp168C*
|
||||
+usb:v08FFp168D*
|
||||
+usb:v08FFp168E*
|
||||
+usb:v08FFp168F*
|
||||
+ ID_AUTOSUSPEND=1
|
||||
+
|
||||
+# Supported by libfprint driver aes2660
|
||||
+usb:v08FFp2660*
|
||||
+usb:v08FFp2680*
|
||||
+usb:v08FFp2681*
|
||||
+usb:v08FFp2682*
|
||||
+usb:v08FFp2683*
|
||||
+usb:v08FFp2684*
|
||||
+usb:v08FFp2685*
|
||||
+usb:v08FFp2686*
|
||||
+usb:v08FFp2687*
|
||||
+usb:v08FFp2688*
|
||||
+usb:v08FFp2689*
|
||||
+usb:v08FFp268A*
|
||||
+usb:v08FFp268B*
|
||||
+usb:v08FFp268C*
|
||||
+usb:v08FFp268D*
|
||||
+usb:v08FFp268E*
|
||||
+usb:v08FFp268F*
|
||||
+usb:v08FFp2691*
|
||||
+ ID_AUTOSUSPEND=1
|
||||
+
|
||||
+# Supported by libfprint driver aes2501
|
||||
+usb:v08FFp2500*
|
||||
+usb:v08FFp2580*
|
||||
+ ID_AUTOSUSPEND=1
|
||||
+
|
||||
+# Supported by libfprint driver aes2550
|
||||
+usb:v08FFp2550*
|
||||
+usb:v08FFp2810*
|
||||
+ ID_AUTOSUSPEND=1
|
||||
+
|
||||
+# Supported by libfprint driver vfs101
|
||||
+usb:v138Ap0001*
|
||||
+ ID_AUTOSUSPEND=1
|
||||
+
|
||||
+# Supported by libfprint driver vfs301
|
||||
+usb:v138Ap0005*
|
||||
+usb:v138Ap0008*
|
||||
+ ID_AUTOSUSPEND=1
|
||||
+
|
||||
+# Supported by libfprint driver vfs0050
|
||||
+usb:v138Ap0050*
|
||||
+ ID_AUTOSUSPEND=1
|
||||
+
|
||||
+# Supported by libfprint driver etes603
|
||||
+usb:v1C7Ap0603*
|
||||
+ ID_AUTOSUSPEND=1
|
||||
+
|
||||
+# Supported by libfprint driver vcom5s
|
||||
+usb:v061Ap0110*
|
||||
+ ID_AUTOSUSPEND=1
|
||||
+
|
||||
+# Supported by libfprint driver synaptics
|
||||
+usb:v06CBp00BD*
|
||||
+usb:v06CBp00E9*
|
||||
+usb:v06CBp00DF*
|
||||
+usb:v06CBp00F9*
|
||||
+usb:v06CBp00FC*
|
||||
+usb:v06CBp00C2*
|
||||
+usb:v06CBp00C9*
|
||||
+usb:v06CBp00E7*
|
||||
+ ID_AUTOSUSPEND=1
|
||||
+
|
||||
+# Supported by libfprint driver elan
|
||||
+usb:v04F3p0903*
|
||||
+usb:v04F3p0907*
|
||||
+usb:v04F3p0C01*
|
||||
+usb:v04F3p0C02*
|
||||
+usb:v04F3p0C03*
|
||||
+usb:v04F3p0C04*
|
||||
+usb:v04F3p0C05*
|
||||
+usb:v04F3p0C06*
|
||||
+usb:v04F3p0C07*
|
||||
+usb:v04F3p0C08*
|
||||
+usb:v04F3p0C09*
|
||||
+usb:v04F3p0C0A*
|
||||
+usb:v04F3p0C0B*
|
||||
+usb:v04F3p0C0C*
|
||||
+usb:v04F3p0C0D*
|
||||
+usb:v04F3p0C0E*
|
||||
+usb:v04F3p0C0F*
|
||||
+usb:v04F3p0C10*
|
||||
+usb:v04F3p0C11*
|
||||
+usb:v04F3p0C12*
|
||||
+usb:v04F3p0C13*
|
||||
+usb:v04F3p0C14*
|
||||
+usb:v04F3p0C15*
|
||||
+usb:v04F3p0C16*
|
||||
+usb:v04F3p0C17*
|
||||
+usb:v04F3p0C18*
|
||||
+usb:v04F3p0C19*
|
||||
+usb:v04F3p0C1A*
|
||||
+usb:v04F3p0C1B*
|
||||
+usb:v04F3p0C1C*
|
||||
+usb:v04F3p0C1D*
|
||||
+usb:v04F3p0C1E*
|
||||
+usb:v04F3p0C1F*
|
||||
+usb:v04F3p0C20*
|
||||
+usb:v04F3p0C21*
|
||||
+usb:v04F3p0C22*
|
||||
+usb:v04F3p0C23*
|
||||
+usb:v04F3p0C24*
|
||||
+usb:v04F3p0C25*
|
||||
+usb:v04F3p0C26*
|
||||
+usb:v04F3p0C27*
|
||||
+usb:v04F3p0C28*
|
||||
+usb:v04F3p0C29*
|
||||
+usb:v04F3p0C2A*
|
||||
+usb:v04F3p0C2B*
|
||||
+usb:v04F3p0C2C*
|
||||
+usb:v04F3p0C2D*
|
||||
+usb:v04F3p0C2E*
|
||||
+usb:v04F3p0C2F*
|
||||
+usb:v04F3p0C30*
|
||||
+usb:v04F3p0C31*
|
||||
+usb:v04F3p0C32*
|
||||
+usb:v04F3p0C33*
|
||||
+usb:v04F3p0C42*
|
||||
+usb:v04F3p0C4D*
|
||||
+ ID_AUTOSUSPEND=1
|
||||
+
|
||||
+# Supported by libfprint driver uru4000
|
||||
+usb:v045Ep00BC*
|
||||
+usb:v045Ep00BD*
|
||||
+usb:v045Ep00CA*
|
||||
+usb:v05BAp0007*
|
||||
+usb:v05BAp0008*
|
||||
+usb:v05BAp000A*
|
||||
+ ID_AUTOSUSPEND=1
|
||||
+
|
||||
+# Supported by libfprint driver upektc
|
||||
+usb:v0483p2015*
|
||||
+usb:v147Ep3001*
|
||||
+ ID_AUTOSUSPEND=1
|
||||
+
|
||||
+# Supported by libfprint driver upeksonly
|
||||
+usb:v147Ep1000*
|
||||
+usb:v147Ep1001*
|
||||
+ ID_AUTOSUSPEND=1
|
||||
+
|
||||
+# Supported by libfprint driver goodixmoc
|
||||
+usb:v27C6p5840*
|
||||
+usb:v27C6p6496*
|
||||
+usb:v27C6p60A2*
|
||||
+usb:v27C6p63AC*
|
||||
+usb:v27C6p639C*
|
||||
+ ID_AUTOSUSPEND=1
|
||||
+
|
||||
+# Known unsupported devices
|
||||
+usb:v04F3p036B*
|
||||
+usb:v04F3p0C00*
|
||||
+usb:v04F3p0C4B*
|
||||
+usb:v04F3p0C4C*
|
||||
+usb:v04F3p0C4F*
|
||||
+usb:v04F3p0C57*
|
||||
+usb:v04F3p2706*
|
||||
+usb:v06CBp0081*
|
||||
+usb:v06CBp0088*
|
||||
+usb:v06CBp008A*
|
||||
+usb:v06CBp009A*
|
||||
+usb:v06CBp009B*
|
||||
+usb:v06CBp00A2*
|
||||
+usb:v06CBp00B7*
|
||||
+usb:v06CBp00BB*
|
||||
+usb:v06CBp00BE*
|
||||
+usb:v06CBp00CB*
|
||||
+usb:v06CBp00D8*
|
||||
+usb:v06CBp00DA*
|
||||
+usb:v0A5Cp5801*
|
||||
+usb:v0A5Cp5805*
|
||||
+usb:v0A5Cp5834*
|
||||
+usb:v0A5Cp5843*
|
||||
+usb:v10A5p0007*
|
||||
+usb:v1188p9545*
|
||||
+usb:v138Ap0007*
|
||||
+usb:v138Ap003A*
|
||||
+usb:v138Ap003C*
|
||||
+usb:v138Ap003D*
|
||||
+usb:v138Ap003F*
|
||||
+usb:v138Ap0090*
|
||||
+usb:v138Ap0091*
|
||||
+usb:v138Ap0092*
|
||||
+usb:v138Ap0094*
|
||||
+usb:v138Ap0097*
|
||||
+usb:v138Ap009D*
|
||||
+usb:v138Ap00AB*
|
||||
+usb:v147Ep1002*
|
||||
+usb:v1491p0088*
|
||||
+usb:v16D1p1027*
|
||||
+usb:v1C7Ap0300*
|
||||
+usb:v1C7Ap0570*
|
||||
+usb:v1C7Ap0575*
|
||||
+usb:v27C6p5042*
|
||||
+usb:v27C6p5110*
|
||||
+usb:v27C6p5117*
|
||||
+usb:v27C6p5201*
|
||||
+usb:v27C6p521D*
|
||||
+usb:v27C6p5301*
|
||||
+usb:v27C6p530C*
|
||||
+usb:v27C6p532D*
|
||||
+usb:v27C6p533C*
|
||||
+usb:v27C6p5381*
|
||||
+usb:v27C6p5385*
|
||||
+usb:v27C6p538C*
|
||||
+usb:v27C6p538D*
|
||||
+usb:v27C6p5395*
|
||||
+usb:v27C6p5584*
|
||||
+usb:v27C6p55A2*
|
||||
+usb:v27C6p55A4*
|
||||
+usb:v27C6p55B4*
|
||||
+usb:v27C6p5740*
|
||||
+usb:v2808p9338*
|
||||
+usb:v298Dp2033*
|
||||
+usb:v3538p0930*
|
||||
+ ID_AUTOSUSPEND=1
|
||||
diff --git a/data/meson.build b/data/meson.build
|
||||
new file mode 100644
|
||||
index 0000000..975c1c3
|
||||
--- /dev/null
|
||||
+++ b/data/meson.build
|
||||
@@ -0,0 +1,9 @@
|
||||
+if get_option('udev_rules')
|
||||
+ # This file has to be updated using
|
||||
+ # ninja -C <builddir> libfprint/sync-udev-hwdb
|
||||
+
|
||||
+ install_data('autosuspend.hwdb',
|
||||
+ rename: '60-autosuspend-@0@.hwdb'.format(meson.project_name()),
|
||||
+ install_dir: udev_hwdb_dir,
|
||||
+ )
|
||||
+endif
|
||||
diff --git a/libfprint/fprint-list-udev-hwdb.c b/libfprint/fprint-list-udev-hwdb.c
|
||||
index b687085..630be0f 100644
|
||||
--- a/libfprint/fprint-list-udev-hwdb.c
|
||||
+++ b/libfprint/fprint-list-udev-hwdb.c
|
||||
@@ -168,8 +168,13 @@ int
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
g_autoptr(GArray) drivers = fpi_get_driver_types ();
|
||||
+ g_autofree char *program_name = NULL;
|
||||
guint i;
|
||||
|
||||
+ program_name = g_path_get_basename (argv[0]);
|
||||
+ g_print ("# This file has been generated using %s with all drivers enabled\n",
|
||||
+ program_name);
|
||||
+
|
||||
printed = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
|
||||
|
||||
for (i = 0; i < drivers->len; i++)
|
||||
diff --git a/libfprint/meson.build b/libfprint/meson.build
|
||||
index abf2fb9..110c458 100644
|
||||
--- a/libfprint/meson.build
|
||||
+++ b/libfprint/meson.build
|
||||
@@ -301,16 +301,24 @@ udev_hwdb = executable('fprint-list-udev-hwdb',
|
||||
link_with: libfprint_drivers,
|
||||
install: false)
|
||||
|
||||
-# We always build this file; primarily so that systemd can pull it
|
||||
-# from the artefacts!
|
||||
-custom_target('udev-rules',
|
||||
- output: '60-autosuspend-@0@.hwdb'.format(meson.project_name()),
|
||||
+udev_hwdb_generator = custom_target('udev-hwdb',
|
||||
+ output: 'autosuspend.hwdb',
|
||||
+ depend_files: drivers_sources,
|
||||
capture: true,
|
||||
command: [ udev_hwdb ],
|
||||
- install: get_option('udev_rules'),
|
||||
- install_dir: udev_hwdb_dir,
|
||||
- build_by_default: true
|
||||
- )
|
||||
+ install: false,
|
||||
+)
|
||||
+
|
||||
+custom_target('sync-udev-hwdb',
|
||||
+ depends: udev_hwdb_generator,
|
||||
+ output: 'sync-udev-hwdb',
|
||||
+ install: false,
|
||||
+ command: [
|
||||
+ 'cp', '-v',
|
||||
+ udev_hwdb_generator.full_path(),
|
||||
+ meson.source_root() / 'data'
|
||||
+ ]
|
||||
+)
|
||||
|
||||
supported_devices = executable('fprint-list-supported-devices',
|
||||
'fprint-list-supported-devices.c',
|
||||
diff --git a/meson.build b/meson.build
|
||||
index db619d7..415f27e 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -136,6 +136,18 @@ if drivers.length() == 0 or drivers[0] == ''
|
||||
error('Cannot build libfprint without drivers, please specify a valid value for the drivers option')
|
||||
endif
|
||||
|
||||
+if drivers == all_drivers or drivers == default_drivers
|
||||
+ default_drivers_are_enabled = true
|
||||
+else
|
||||
+ default_drivers_are_enabled = true
|
||||
+ foreach driver: default_drivers
|
||||
+ if driver not in drivers
|
||||
+ default_drivers_are_enabled = false
|
||||
+ break
|
||||
+ endif
|
||||
+ endforeach
|
||||
+endif
|
||||
+
|
||||
nss_dep = dependency('', required: false)
|
||||
imaging_dep = dependency('', required: false)
|
||||
libfprint_conf.set10('HAVE_PIXMAN', false)
|
||||
diff --git a/tests/meson.build b/tests/meson.build
|
||||
index 4ebf3b7..8e24980 100644
|
||||
--- a/tests/meson.build
|
||||
+++ b/tests/meson.build
|
||||
@@ -5,6 +5,7 @@ envs.set('G_MESSAGES_DEBUG', 'all')
|
||||
|
||||
# Setup paths
|
||||
envs.set('MESON_SOURCE_ROOT', meson.source_root())
|
||||
+envs.set('MESON_BUILD_ROOT', meson.build_root())
|
||||
envs.prepend('LD_LIBRARY_PATH', join_paths(meson.build_root(), 'libfprint'))
|
||||
|
||||
# Set FP_DEVICE_EMULATION so that drivers can adapt (e.g. to use fixed
|
||||
@@ -170,8 +171,10 @@ foreach test_name: unit_tests
|
||||
endforeach
|
||||
|
||||
# Run udev rule generator with fatal warnings
|
||||
+envs.set('UDEV_HWDB', udev_hwdb.full_path())
|
||||
+envs.set('UDEV_HWDB_CHECK_CONTENTS', default_drivers_are_enabled ? '1' : '0')
|
||||
test('udev-hwdb',
|
||||
- udev_hwdb,
|
||||
+ find_program('test-generated-hwdb.sh'),
|
||||
env: envs)
|
||||
|
||||
gdb = find_program('gdb', required: false)
|
||||
diff --git a/tests/test-generated-hwdb.sh b/tests/test-generated-hwdb.sh
|
||||
new file mode 100755
|
||||
index 0000000..34209cb
|
||||
--- /dev/null
|
||||
+++ b/tests/test-generated-hwdb.sh
|
||||
@@ -0,0 +1,24 @@
|
||||
+#!/usr/bin/env bash
|
||||
+set -e
|
||||
+
|
||||
+[ -x "$UDEV_HWDB" ] || exit 1
|
||||
+
|
||||
+if [ "$UDEV_HWDB_CHECK_CONTENTS" == 1 ]; then
|
||||
+ generated_rules=$(mktemp "${TMPDIR:-/tmp}/libfprint-XXXXXX.hwdb")
|
||||
+else
|
||||
+ generated_rules=/dev/null
|
||||
+fi
|
||||
+
|
||||
+$UDEV_HWDB > "$generated_rules"
|
||||
+
|
||||
+if [ "$UDEV_HWDB_CHECK_CONTENTS" != 1 ]; then
|
||||
+ exit 77
|
||||
+fi
|
||||
+
|
||||
+if ! cmp "$MESON_SOURCE_ROOT/data/autosuspend.hwdb" "$generated_rules"; then
|
||||
+ echo "E: Autosuspend file needs to be re-generated!"
|
||||
+ echo " ninja -C $MESON_BUILD_ROOT libfprint/sync-udev-hwdb"
|
||||
+ exit 1
|
||||
+fi
|
||||
+
|
||||
+rm "$generated_rules"
|
||||
@@ -0,0 +1,59 @@
|
||||
From: Benjamin Berg <bberg@redhat.com>
|
||||
Date: Tue, 19 Jan 2021 14:19:10 +0100
|
||||
Subject: meson: Always build hwdb file
|
||||
|
||||
We want systemd to pull our hwdb. In order to ease this, always build
|
||||
the hwdb file, even if it is disabled.
|
||||
|
||||
Once systemd has merged the rules, downstream should turn off the rules
|
||||
in libfprint. The default in libfprint will also be changed to not build
|
||||
the hwdb (udev_rules option) eventually.
|
||||
|
||||
Origin: https://gitlab.freedesktop.org/libfprint/libfprint/-/commit/cbce56c1
|
||||
---
|
||||
libfprint/meson.build | 18 ++++++++++--------
|
||||
meson.build | 2 ++
|
||||
2 files changed, 12 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/libfprint/meson.build b/libfprint/meson.build
|
||||
index e385ce8..3464bf3 100644
|
||||
--- a/libfprint/meson.build
|
||||
+++ b/libfprint/meson.build
|
||||
@@ -301,14 +301,16 @@ udev_hwdb = executable('fprint-list-udev-hwdb',
|
||||
link_with: libfprint_drivers,
|
||||
install: false)
|
||||
|
||||
-if get_option('udev_rules')
|
||||
- custom_target('udev-rules',
|
||||
- output: '60-autosuspend-@0@.hwdb'.format(versioned_libname),
|
||||
- capture: true,
|
||||
- command: [ udev_hwdb ],
|
||||
- install: true,
|
||||
- install_dir: udev_hwdb_dir)
|
||||
-endif
|
||||
+# We always build this file; primarily so that systemd can pull it
|
||||
+# from the artefacts!
|
||||
+custom_target('udev-rules',
|
||||
+ output: '60-autosuspend-@0@.hwdb'.format(versioned_libname),
|
||||
+ capture: true,
|
||||
+ command: [ udev_hwdb ],
|
||||
+ install: get_option('udev_rules'),
|
||||
+ install_dir: udev_hwdb_dir,
|
||||
+ build_by_default: true
|
||||
+ )
|
||||
|
||||
supported_devices = executable('fprint-list-supported-devices',
|
||||
'fprint-list-supported-devices.c',
|
||||
diff --git a/meson.build b/meson.build
|
||||
index ab4ac72..db619d7 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -200,6 +200,8 @@ if get_option('udev_rules')
|
||||
udev_dep = dependency('udev')
|
||||
udev_hwdb_dir = udev_dep.get_pkgconfig_variable('udevdir') + '/hwdb.d'
|
||||
endif
|
||||
+else
|
||||
+ udev_hwdb_dir = false
|
||||
endif
|
||||
|
||||
if get_option('gtk-examples')
|
||||
Vendored
+13
-1
@@ -1,2 +1,14 @@
|
||||
meson-Do-not-support-drivers-known-to-fail-in-Big-Endian-.patch
|
||||
debian/Tweak-the-udev-rules-creator-for-Debian-usage.patch
|
||||
udev-rules-Print-warning-if-an-ID-is-supported.patch
|
||||
udev-rules-Remove-supported-synaptics-devices.patch
|
||||
tests-Add-check-that-no-supported-device-is-whitelisted.patch
|
||||
udev-hwdb-Prevent-devices-from-being-listed-twice.patch
|
||||
Generate-a-hwdb-instead-of-udev-rules.patch
|
||||
meson-Always-build-hwdb-file.patch
|
||||
Drop-version-from-libfprint-hwdb.patch
|
||||
data-Use-auto-generated-but-hardcoded-autosuspend-hwdb-fi.patch
|
||||
build-Ensure-we-process-the-data-dir.patch
|
||||
data-Keep-using-versioned-libname-for-hwdb-file.patch
|
||||
tests-Add-trailing-newline-to-busname-devname-sysfs-attri.patch
|
||||
build-Skip-the-hwdb-test-if-not-all-drivers-are-really-en.patch
|
||||
build-Explicitly-mark-libfprint-as-a-shared-library.patch
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
From: Benjamin Berg <bberg@redhat.com>
|
||||
Date: Tue, 19 Jan 2021 13:38:08 +0100
|
||||
Subject: tests: Add check that no supported device is whitelisted
|
||||
|
||||
---
|
||||
tests/meson.build | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/tests/meson.build b/tests/meson.build
|
||||
index 8fcae69..27bdd9f 100644
|
||||
--- a/tests/meson.build
|
||||
+++ b/tests/meson.build
|
||||
@@ -169,6 +169,11 @@ foreach test_name: unit_tests
|
||||
)
|
||||
endforeach
|
||||
|
||||
+# Run udev rule generator with fatal warnings
|
||||
+test('udev-rules',
|
||||
+ udev_rules,
|
||||
+ env: envs)
|
||||
+
|
||||
gdb = find_program('gdb', required: false)
|
||||
if gdb.found()
|
||||
add_test_setup('gdb',
|
||||
+256
@@ -0,0 +1,256 @@
|
||||
From: Benjamin Berg <bberg@redhat.com>
|
||||
Date: Thu, 21 Jan 2021 12:22:08 +0100
|
||||
Subject: tests: Add trailing newline to busname/devname sysfs attributes
|
||||
|
||||
libusb 1.0.24 now expects busnum/devnum to be \n terminated. Update the
|
||||
device descriptions accordingly.
|
||||
|
||||
https://github.com/martinpitt/umockdev/issues/115
|
||||
---
|
||||
tests/aes3500/device | 16 ++++++++--------
|
||||
tests/elan/device | 12 ++++++------
|
||||
tests/goodixmoc/device | 8 ++++----
|
||||
tests/synaptics/device | 4 ++--
|
||||
tests/vfs0050/device | 4 ++--
|
||||
tests/vfs301/device | 12 ++++++------
|
||||
tests/vfs5011/device | 4 ++--
|
||||
7 files changed, 30 insertions(+), 30 deletions(-)
|
||||
|
||||
diff --git a/tests/aes3500/device b/tests/aes3500/device
|
||||
index 4a2a903..c662cc8 100644
|
||||
--- a/tests/aes3500/device
|
||||
+++ b/tests/aes3500/device
|
||||
@@ -35,11 +35,11 @@ A: bNumConfigurations=1
|
||||
A: bNumInterfaces= 1
|
||||
A: bcdDevice=0000
|
||||
A: bmAttributes=80
|
||||
-A: busnum=3
|
||||
+A: busnum=3\n
|
||||
A: configuration=
|
||||
H: descriptors=12011001FFFFFF08FF0831570000000100010902200001010080320904000002FFFFFF000705810240000007050202080000
|
||||
A: dev=189:259
|
||||
-A: devnum=4
|
||||
+A: devnum=4\n
|
||||
A: devpath=1.1.3
|
||||
L: driver=../../../../../../../../../../bus/usb/drivers/usb
|
||||
A: idProduct=5731
|
||||
@@ -106,11 +106,11 @@ A: bNumConfigurations=1
|
||||
A: bNumInterfaces= 1
|
||||
A: bcdDevice=9100
|
||||
A: bmAttributes=e0
|
||||
-A: busnum=3
|
||||
+A: busnum=3\n
|
||||
A: configuration=
|
||||
H: descriptors=12011002090001403022060000910102000109021900010100E0000904000001090000000705810301000C
|
||||
A: dev=189:258
|
||||
-A: devnum=3
|
||||
+A: devnum=3\n
|
||||
A: devpath=1.1
|
||||
L: driver=../../../../../../../../../bus/usb/drivers/usb
|
||||
A: idProduct=0006
|
||||
@@ -186,11 +186,11 @@ A: bNumConfigurations=1
|
||||
A: bNumInterfaces= 1
|
||||
A: bcdDevice=9100
|
||||
A: bmAttributes=e0
|
||||
-A: busnum=3
|
||||
+A: busnum=3\n
|
||||
A: configuration=
|
||||
H: descriptors=12011002090001403022060000910102000109021900010100E0000904000001090000000705810301000C
|
||||
A: dev=189:257
|
||||
-A: devnum=2
|
||||
+A: devnum=2\n
|
||||
A: devpath=1
|
||||
L: driver=../../../../../../../../bus/usb/drivers/usb
|
||||
A: idProduct=0006
|
||||
@@ -270,11 +270,11 @@ A: bNumConfigurations=1
|
||||
A: bNumInterfaces= 1
|
||||
A: bcdDevice=0415
|
||||
A: bmAttributes=e0
|
||||
-A: busnum=3
|
||||
+A: busnum=3\n
|
||||
A: configuration=
|
||||
H: descriptors=12010002090001406B1D020015040302010109021900010100E0000904000001090000000705810304000C
|
||||
A: dev=189:256
|
||||
-A: devnum=1
|
||||
+A: devnum=1\n
|
||||
A: devpath=0
|
||||
L: driver=../../../../../../../bus/usb/drivers/usb
|
||||
A: idProduct=0002
|
||||
diff --git a/tests/elan/device b/tests/elan/device
|
||||
index 7374dc2..6e1e421 100644
|
||||
--- a/tests/elan/device
|
||||
+++ b/tests/elan/device
|
||||
@@ -36,11 +36,11 @@ A: bNumConfigurations=1
|
||||
A: bNumInterfaces= 1
|
||||
A: bcdDevice=0140
|
||||
A: bmAttributes=80
|
||||
-A: busnum=1
|
||||
+A: busnum=1\n
|
||||
A: configuration=
|
||||
H: descriptors=1201000200000008F304260C40010102000109023E0001010080320904000005FF0000000921100100012215000705810240000107050102400001070582024000010705830240000107050302400001
|
||||
A: dev=189:93
|
||||
-A: devnum=94
|
||||
+A: devnum=94\n
|
||||
A: devpath=4.4
|
||||
L: driver=../../../../../../bus/usb/drivers/usb
|
||||
A: idProduct=0c26
|
||||
@@ -107,11 +107,11 @@ A: bNumConfigurations=1
|
||||
A: bNumInterfaces= 1
|
||||
A: bcdDevice=5284
|
||||
A: bmAttributes=e0
|
||||
-A: busnum=1
|
||||
+A: busnum=1\n
|
||||
A: configuration=
|
||||
H: descriptors=1201100209000140EF17181084520102000109021900010100E0000904000001090000000705810301000C
|
||||
A: dev=189:82
|
||||
-A: devnum=83
|
||||
+A: devnum=83\n
|
||||
A: devpath=4
|
||||
L: driver=../../../../../bus/usb/drivers/usb
|
||||
A: idProduct=1018
|
||||
@@ -189,11 +189,11 @@ A: bNumConfigurations=1
|
||||
A: bNumInterfaces= 1
|
||||
A: bcdDevice=0503
|
||||
A: bmAttributes=e0
|
||||
-A: busnum=1
|
||||
+A: busnum=1\n
|
||||
A: configuration=
|
||||
H: descriptors=12010002090001406B1D020003050302010109021900010100E0000904000001090000000705810304000C
|
||||
A: dev=189:0
|
||||
-A: devnum=1
|
||||
+A: devnum=1\n
|
||||
A: devpath=0
|
||||
L: driver=../../../../bus/usb/drivers/usb
|
||||
A: idProduct=0002
|
||||
diff --git a/tests/goodixmoc/device b/tests/goodixmoc/device
|
||||
index 627c9dc..b008eb2 100644
|
||||
--- a/tests/goodixmoc/device
|
||||
+++ b/tests/goodixmoc/device
|
||||
@@ -37,11 +37,11 @@ A: bNumConfigurations=1
|
||||
A: bNumInterfaces= 1
|
||||
A: bcdDevice=0100
|
||||
A: bmAttributes=a0
|
||||
-A: busnum=1
|
||||
+A: busnum=1\n
|
||||
A: configuration=UIDCBEE4D7B_XXXX_MOC_B0
|
||||
H: descriptors=12010002EF000040C627A26000010102030109022000010103A0320904000002FF0000040705830240000007050102400000
|
||||
A: dev=189:2
|
||||
-A: devnum=3
|
||||
+A: devnum=3\n
|
||||
A: devpath=8
|
||||
L: driver=../../../../../bus/usb/drivers/usb
|
||||
A: idProduct=60a2
|
||||
@@ -125,11 +125,11 @@ A: bNumConfigurations=1
|
||||
A: bNumInterfaces= 1
|
||||
A: bcdDevice=0504
|
||||
A: bmAttributes=e0
|
||||
-A: busnum=1
|
||||
+A: busnum=1\n
|
||||
A: configuration=
|
||||
H: descriptors=12010002090001406B1D020004050302010109021900010100E0000904000001090000000705810304000C
|
||||
A: dev=189:0
|
||||
-A: devnum=1
|
||||
+A: devnum=1\n
|
||||
A: devpath=0
|
||||
L: driver=../../../../bus/usb/drivers/usb
|
||||
A: idProduct=0002
|
||||
diff --git a/tests/synaptics/device b/tests/synaptics/device
|
||||
index 6da3eea..87c4bed 100644
|
||||
--- a/tests/synaptics/device
|
||||
+++ b/tests/synaptics/device
|
||||
@@ -34,11 +34,11 @@ A: bNumConfigurations=1
|
||||
A: bNumInterfaces= 1
|
||||
A: bcdDevice=0000
|
||||
A: bmAttributes=a0
|
||||
-A: busnum=1
|
||||
+A: busnum=1\n
|
||||
A: configuration=
|
||||
H: descriptors=12010002FF10FF08CB06BD0000000000010109022700010100A0320904000003FF000000070501024000000705810240000007058303080004
|
||||
A: dev=189:69
|
||||
-A: devnum=70
|
||||
+A: devnum=70\n
|
||||
A: devpath=1
|
||||
L: driver=../../../../../bus/usb/drivers/usb
|
||||
A: idProduct=00bd
|
||||
diff --git a/tests/vfs0050/device b/tests/vfs0050/device
|
||||
index 1bea50a..b66be4b 100644
|
||||
--- a/tests/vfs0050/device
|
||||
+++ b/tests/vfs0050/device
|
||||
@@ -38,11 +38,11 @@ A: bNumConfigurations=1
|
||||
A: bNumInterfaces= 1
|
||||
A: bcdDevice=0060
|
||||
A: bmAttributes=a0
|
||||
-A: busnum=1
|
||||
+A: busnum=1\n
|
||||
A: configuration=
|
||||
H: descriptors=12011001FF10FF088A13500060000000010109022E00010100A0320904000004FF00000007050102400000070581024000000705820240000007058303080004
|
||||
A: dev=189:3
|
||||
-A: devnum=4
|
||||
+A: devnum=4\n
|
||||
A: devpath=9
|
||||
L: driver=../../../../../bus/usb/drivers/usb
|
||||
A: idProduct=0050
|
||||
diff --git a/tests/vfs301/device b/tests/vfs301/device
|
||||
index 635f795..26d3b57 100644
|
||||
--- a/tests/vfs301/device
|
||||
+++ b/tests/vfs301/device
|
||||
@@ -37,11 +37,11 @@ A: bNumConfigurations=1
|
||||
A: bNumInterfaces= 1
|
||||
A: bcdDevice=0c90
|
||||
A: bmAttributes=a0
|
||||
-A: busnum=2
|
||||
+A: busnum=2\n
|
||||
A: configuration=
|
||||
H: descriptors=12011001FF10FF088A130500900C0000000109022700010100A0320904000003FF000000070501024000000705810240000007058202400000
|
||||
A: dev=189:132
|
||||
-A: devnum=5
|
||||
+A: devnum=5\n
|
||||
A: devpath=1.3
|
||||
L: driver=../../../../../../bus/usb/drivers/usb
|
||||
A: idProduct=0005
|
||||
@@ -120,11 +120,11 @@ A: bNumConfigurations=1
|
||||
A: bNumInterfaces= 1
|
||||
A: bcdDevice=0000
|
||||
A: bmAttributes=e0
|
||||
-A: busnum=2
|
||||
+A: busnum=2\n
|
||||
A: configuration=
|
||||
H: descriptors=12010002090001408780200000000000000109021900010100E0000904000001090000000705810302000C
|
||||
A: dev=189:129
|
||||
-A: devnum=2
|
||||
+A: devnum=2\n
|
||||
A: devpath=1
|
||||
L: driver=../../../../../bus/usb/drivers/usb
|
||||
A: idProduct=0020
|
||||
@@ -204,11 +204,11 @@ A: bNumConfigurations=1
|
||||
A: bNumInterfaces= 1
|
||||
A: bcdDevice=0504
|
||||
A: bmAttributes=e0
|
||||
-A: busnum=2
|
||||
+A: busnum=2\n
|
||||
A: configuration=
|
||||
H: descriptors=12010002090000406B1D020004050302010109021900010100E0000904000001090000000705810304000C
|
||||
A: dev=189:128
|
||||
-A: devnum=1
|
||||
+A: devnum=1\n
|
||||
A: devpath=0
|
||||
L: driver=../../../../bus/usb/drivers/usb
|
||||
A: idProduct=0002
|
||||
diff --git a/tests/vfs5011/device b/tests/vfs5011/device
|
||||
index 4c75e59..e39a74f 100644
|
||||
--- a/tests/vfs5011/device
|
||||
+++ b/tests/vfs5011/device
|
||||
@@ -35,11 +35,11 @@ A: bNumConfigurations=1
|
||||
A: bNumInterfaces= 1
|
||||
A: bcdDevice=0078
|
||||
A: bmAttributes=a0
|
||||
-A: busnum=2
|
||||
+A: busnum=2\n
|
||||
A: configuration=
|
||||
H: descriptors=12011001FF11FF088A13170078000000010109022E00010100A0320904000004FF00000007050102400000070581024000000705820240000007058303080004
|
||||
A: dev=189:144
|
||||
-A: devnum=17
|
||||
+A: devnum=17\n
|
||||
A: devpath=6
|
||||
L: driver=../../../../../bus/usb/drivers/usb
|
||||
A: idProduct=0017
|
||||
@@ -0,0 +1,31 @@
|
||||
From: Benjamin Berg <bberg@redhat.com>
|
||||
Date: Wed, 20 Jan 2021 18:02:31 +0100
|
||||
Subject: udev-hwdb: Prevent devices from being listed twice
|
||||
|
||||
The change to print a warning (for testing purposes) from commit
|
||||
944e0d03837 (udev-rules: Print warning if an ID is supported) was
|
||||
incorrect because it prevented duplicated to be suppressed if a device
|
||||
is listed by two independent drivers.
|
||||
---
|
||||
libfprint/fprint-list-udev-rules.c | 7 ++++---
|
||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/libfprint/fprint-list-udev-rules.c b/libfprint/fprint-list-udev-rules.c
|
||||
index e574cac..050a450 100644
|
||||
--- a/libfprint/fprint-list-udev-rules.c
|
||||
+++ b/libfprint/fprint-list-udev-rules.c
|
||||
@@ -136,10 +136,11 @@ print_driver (const FpDeviceClass *cls)
|
||||
|
||||
key = g_strdup_printf ("%04x:%04x", entry->vid, entry->pid);
|
||||
|
||||
- if (cls == &whitelist && g_hash_table_lookup (printed, key) != NULL)
|
||||
+ if (g_hash_table_lookup (printed, key) != NULL)
|
||||
{
|
||||
- g_warning ("%s implemented by driver %s",
|
||||
- key, (const char *) g_hash_table_lookup (printed, key));
|
||||
+ if (cls == &whitelist)
|
||||
+ g_warning ("%s implemented by driver %s",
|
||||
+ key, (const char *) g_hash_table_lookup (printed, key));
|
||||
g_free (key);
|
||||
continue;
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
From: Benjamin Berg <bberg@redhat.com>
|
||||
Date: Tue, 19 Jan 2021 13:29:17 +0100
|
||||
Subject: udev-rules: Print warning if an ID is supported
|
||||
|
||||
---
|
||||
libfprint/fprint-list-udev-rules.c | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libfprint/fprint-list-udev-rules.c b/libfprint/fprint-list-udev-rules.c
|
||||
index d6c884c..5f80fe1 100644
|
||||
--- a/libfprint/fprint-list-udev-rules.c
|
||||
+++ b/libfprint/fprint-list-udev-rules.c
|
||||
@@ -110,6 +110,7 @@ static const FpIdEntry blacklist_id_table[] = {
|
||||
static const FpDeviceClass whitelist = {
|
||||
.type = FP_DEVICE_TYPE_USB,
|
||||
.id_table = whitelist_id_table,
|
||||
+ .id = "whitelist",
|
||||
.full_name = "Hardcoded whitelist"
|
||||
};
|
||||
|
||||
@@ -138,13 +139,15 @@ print_driver (const FpDeviceClass *cls)
|
||||
|
||||
key = g_strdup_printf ("%04x:%04x", entry->vid, entry->pid);
|
||||
|
||||
- if (g_hash_table_lookup (printed, key) != NULL)
|
||||
+ if (cls == &whitelist && g_hash_table_lookup (printed, key) != NULL)
|
||||
{
|
||||
+ g_warning ("%s implemented by driver %s",
|
||||
+ key, (const char *) g_hash_table_lookup (printed, key));
|
||||
g_free (key);
|
||||
continue;
|
||||
}
|
||||
|
||||
- g_hash_table_insert (printed, key, GINT_TO_POINTER (1));
|
||||
+ g_hash_table_insert (printed, key, (void *) cls->id);
|
||||
|
||||
if (num_printed == 0)
|
||||
g_print ("# %s\n", cls->full_name);
|
||||
@@ -0,0 +1,25 @@
|
||||
From: Benjamin Berg <bberg@redhat.com>
|
||||
Date: Tue, 19 Jan 2021 13:37:51 +0100
|
||||
Subject: udev-rules: Remove supported synaptics devices
|
||||
|
||||
---
|
||||
libfprint/fprint-list-udev-rules.c | 3 ---
|
||||
1 file changed, 3 deletions(-)
|
||||
|
||||
diff --git a/libfprint/fprint-list-udev-rules.c b/libfprint/fprint-list-udev-rules.c
|
||||
index 5f80fe1..e574cac 100644
|
||||
--- a/libfprint/fprint-list-udev-rules.c
|
||||
+++ b/libfprint/fprint-list-udev-rules.c
|
||||
@@ -45,12 +45,9 @@ static const FpIdEntry whitelist_id_table[] = {
|
||||
{ .vid = 0x06cb, .pid = 0x00b7 },
|
||||
{ .vid = 0x06cb, .pid = 0x00bb },
|
||||
{ .vid = 0x06cb, .pid = 0x00be },
|
||||
- { .vid = 0x06cb, .pid = 0x00c2 },
|
||||
- { .vid = 0x06cb, .pid = 0x00c9 },
|
||||
{ .vid = 0x06cb, .pid = 0x00cb },
|
||||
{ .vid = 0x06cb, .pid = 0x00d8 },
|
||||
{ .vid = 0x06cb, .pid = 0x00da },
|
||||
- { .vid = 0x06cb, .pid = 0x00e7 },
|
||||
{ .vid = 0x0a5c, .pid = 0x5801 },
|
||||
{ .vid = 0x0a5c, .pid = 0x5805 },
|
||||
{ .vid = 0x0a5c, .pid = 0x5834 },
|
||||
Vendored
+4
-9
@@ -5,8 +5,10 @@ export DPKG_GENSYMBOLS_CHECK_LEVEL = 2
|
||||
BUILDDIR = $(CURDIR)/obj-$(DEB_HOST_GNU_TYPE)
|
||||
|
||||
# Configuration arguments
|
||||
CONFIG_ARGS = -Dudev_rules_dir=/lib/udev/rules.d -Dgtk-examples=false \
|
||||
-Ddrivers=all
|
||||
CONFIG_ARGS = \
|
||||
-Dudev_hwdb_dir=/lib/udev/hwdb.d \
|
||||
-Ddrivers=all \
|
||||
-Dgtk-examples=false
|
||||
|
||||
%:
|
||||
dh $@ --with gir
|
||||
@@ -14,12 +16,5 @@ CONFIG_ARGS = -Dudev_rules_dir=/lib/udev/rules.d -Dgtk-examples=false \
|
||||
override_dh_auto_configure:
|
||||
dh_auto_configure -- $(CONFIG_ARGS)
|
||||
|
||||
override_dh_install:
|
||||
mv debian/tmp/lib/udev/rules.d/60-libfprint-2-autosuspend.rules \
|
||||
debian/tmp/lib/udev/rules.d/60-libfprint-2.rules
|
||||
sed -i '/^Requires.private\|^Libs.private/ d' \
|
||||
debian/tmp/usr/lib/*/pkgconfig/libfprint-2.pc
|
||||
dh_install
|
||||
|
||||
override_dh_auto_test:
|
||||
dh_auto_test -- -C $(BUILDDIR) --timeout-multiplier 5
|
||||
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
srcdir="${GBP_SOURCES_DIR:-.}"
|
||||
debpath="$(dirname "$0")"
|
||||
autosuspend_file="/tmp/autosuspend.hwdb"
|
||||
commands_lines=()
|
||||
|
||||
while IFS= read -r line; do
|
||||
if [[ $line =~ ^usb:v([A-Fa-f0-9]{4})p([A-Fa-f0-9]{4}) ]]; then
|
||||
vendor="$(echo "${BASH_REMATCH[1]}" | tr '[:upper:]' '[:lower:]')"
|
||||
product="$(echo "${BASH_REMATCH[2]}" | tr '[:upper:]' '[:lower:]')"
|
||||
commands_lines+=("\tudevadm trigger --action=add --attr-match=idVendor=$vendor --attr-match=idProduct=$product")
|
||||
fi
|
||||
done < "$autosuspend_file"
|
||||
|
||||
UDEVADM_TRIGGERS=$( IFS=$'\n'; echo -e "${commands_lines[*]}" )
|
||||
export UDEVADM_TRIGGERS
|
||||
|
||||
for i in "$debpath"/libfprint-*.post*.in; do
|
||||
out="${i%.in}"
|
||||
perl -pe 's/\@UDEVADM_TRIGGERS\@/`printenv UDEVADM_TRIGGERS`/e' "$i" > "$out"
|
||||
|
||||
if [ -n "$GBP_BRANCH" ]; then
|
||||
if ! git diff-index --quiet HEAD -- "$out"; then
|
||||
git add "$out"
|
||||
dch "${out#$srcdir}: Devices triggers updated"
|
||||
git add debian/changelog
|
||||
debcommit
|
||||
fi
|
||||
fi
|
||||
done
|
||||
Reference in New Issue
Block a user