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).
This commit is contained in:
Marco Trevisan (Treviño)
2021-01-21 15:43:38 +01:00
parent f2c4614779
commit 3ccd267ad2
13 changed files with 1219 additions and 680 deletions
+178
View File
@@ -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'),