mirror of
https://gitlab.freedesktop.org/libfprint/libfprint.git
synced 2025-11-15 07:38:12 +00:00
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
This commit is contained in:
@@ -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)
|
||||
|
||||
24
tests/test-generated-hwdb.sh
Executable file
24
tests/test-generated-hwdb.sh
Executable file
@@ -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"
|
||||
Reference in New Issue
Block a user