From 1be27c0ec74485036e5e9bf78436f3748abd478c Mon Sep 17 00:00:00 2001 From: Felitendo <95575686+Felitendo@users.noreply.github.com> Date: Sat, 26 Sep 2026 21:04:22 +0200 Subject: [PATCH] face-unlock: switch to the new name and 2.0.0 --- README.md | 2 +- face-unlock/.SRCINFO | 20 +++++++++++--------- face-unlock/PKGBUILD | 16 ++++++++++------ face-unlock/face-unlock.install | 27 ++++++++++++++++----------- face-unlock/pkg.sh | 7 ++++--- 5 files changed, 42 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index d412fd9..b589809 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,7 @@ source in the `PKGBUILD` (and drop the `-bin` suffix), or don't package it. | `concat` | [jub0t/Concat](https://github.com/jub0t/Concat) — free and open-source CapCut replacement (a Slint window over a Rust video engine) | *built from source* | [concat](https://aur.archlinux.org/packages/concat) | | `concat-bin` | [jub0t/Concat](https://github.com/jub0t/Concat) — prebuilt release of `concat` | `.deb` | [concat-bin](https://aur.archlinux.org/packages/concat-bin) | | `concat-git` | [jub0t/Concat](https://github.com/jub0t/Concat) — `main` branch of `concat` | *built from source* | [concat-git](https://aur.archlinux.org/packages/concat-git) | +| `face-unlock` | [LoonixTools/face-unlock](https://github.com/LoonixTools/face-unlock): Face ID for Linux, for the lock screen, sudo and admin prompts on Plasma, GNOME, Hyprland and Niri, with a photo check (C++/Qt6, OpenCV). Called `plasma-face-unlock` before 2.0.0 | *built from source* | [face-unlock](https://aur.archlinux.org/packages/face-unlock) | | `faugus-launcher-bin` | [Faugus/faugus-launcher](https://github.com/Faugus/faugus-launcher) — launcher for Windows games via UMU-Launcher | `.deb` (`all`) | [faugus-launcher-bin](https://aur.archlinux.org/packages/faugus-launcher-bin) | | `fluxer-bin` | [fluxer.app](https://fluxer.app) — Fluxer desktop client (Electron) | tarball | [fluxer-bin](https://aur.archlinux.org/packages/fluxer-bin) | | `kitty-tune-bin` | [alan7383/KittyTuneDesktop](https://github.com/alan7383/KittyTuneDesktop) — SoundCloud and YouTube music player (Kotlin/Compose Multiplatform) | `.deb` | [kitty-tune-bin](https://aur.archlinux.org/packages/kitty-tune-bin) | @@ -60,7 +61,6 @@ source in the `PKGBUILD` (and drop the `-bin` suffix), or don't package it. | `nextcloud-native` | [Obiente/native](https://github.com/Obiente/native) — adaptive native Nextcloud client for files, media and installed server apps (Compose Multiplatform, unofficial) | *built from source* | [nextcloud-native](https://aur.archlinux.org/packages/nextcloud-native) | | `nextcloud-native-bin` | [Obiente/native](https://github.com/Obiente/native) — prebuilt release of `nextcloud-native` | `.deb` | [nextcloud-native-bin](https://aur.archlinux.org/packages/nextcloud-native-bin) | | `nextcloud-native-git` | [Obiente/native](https://github.com/Obiente/native) — `main` branch of `nextcloud-native` | *built from source* | [nextcloud-native-git](https://aur.archlinux.org/packages/nextcloud-native-git) | -| `plasma-face-unlock` | [LoonixTools/plasma-face-unlock](https://github.com/LoonixTools/plasma-face-unlock): Face ID for KDE Plasma, for the lock screen, sudo and admin prompts, with a photo check (C++/Qt6, OpenCV) | *built from source* | [plasma-face-unlock](https://aur.archlinux.org/packages/plasma-face-unlock) | | `plezy-bin` | [edde746/plezy](https://github.com/edde746/plezy) — Plex, Jellyfin and Emby client (Flutter); the source package [lives in `extra`](https://archlinux.org/packages/extra/x86_64/plezy/) | `.deb` | [plezy-bin](https://aur.archlinux.org/packages/plezy-bin) | | `sharpemu-bin` | [sharpemu/sharpemu](https://github.com/sharpemu/sharpemu) — experimental PlayStation 5 emulator | tarball | [sharpemu-bin](https://aur.archlinux.org/packages/sharpemu-bin) | | `snapx-bin` | [SnapXL/SnapX](https://github.com/SnapXL/SnapX) — ShareX-fork screenshot/sharing tool | self-contained tarball | [snapx-bin](https://aur.archlinux.org/packages/snapx-bin) | diff --git a/face-unlock/.SRCINFO b/face-unlock/.SRCINFO index 6383c98..35b4d5e 100644 --- a/face-unlock/.SRCINFO +++ b/face-unlock/.SRCINFO @@ -1,9 +1,9 @@ -pkgbase = plasma-face-unlock - pkgdesc = Face ID for KDE Plasma: the lock screen, sudo and admin prompts by face, with a photo check - pkgver = 1.0.1 +pkgbase = face-unlock + pkgdesc = Face ID for Linux: the lock screen, sudo and admin prompts by face, on Plasma, GNOME, Hyprland and Niri + pkgver = 2.0.0 pkgrel = 1 - url = https://github.com/LoonixTools/plasma-face-unlock - install = plasma-face-unlock.install + url = https://github.com/LoonixTools/face-unlock + install = face-unlock.install arch = x86_64 arch = aarch64 license = GPL-3.0-or-later @@ -26,14 +26,16 @@ pkgbase = plasma-face-unlock depends = qt6-declarative depends = layer-shell-qt depends = ki18n - depends = kscreenlocker + optdepends = hyprpolkitagent: password windows on Hyprland and Niri + conflicts = plasma-face-unlock + replaces = plasma-face-unlock noextract = face_detection_yunet_2023mar.onnx noextract = face_recognition_sface_2021dec.onnx - source = plasma-face-unlock-1.0.1.tar.gz::https://github.com/LoonixTools/plasma-face-unlock/archive/refs/tags/v1.0.1.tar.gz + source = face-unlock-2.0.0.tar.gz::https://github.com/LoonixTools/face-unlock/archive/refs/tags/v2.0.0.tar.gz source = face_detection_yunet_2023mar.onnx::https://github.com/opencv/opencv_zoo/raw/main/models/face_detection_yunet/face_detection_yunet_2023mar.onnx source = face_recognition_sface_2021dec.onnx::https://github.com/opencv/opencv_zoo/raw/main/models/face_recognition_sface/face_recognition_sface_2021dec.onnx - sha256sums = 30bd9e5d76f93f4e196e2eae76d1185370cb51fc9d9954355a42779cd8f60d15 + sha256sums = 8910bac5502a4d0c5d37f7c7d0fbcc3a8de90b40617be2d5fe06bf4cac31a970 sha256sums = 8f2383e4dd3cfbb4553ea8718107fc0423210dc964f9f4280604804ed2552fa4 sha256sums = 0ba9fbfa01b5270c96627c4ef784da859931e02f04419c829e83484087c34e79 -pkgname = plasma-face-unlock +pkgname = face-unlock diff --git a/face-unlock/PKGBUILD b/face-unlock/PKGBUILD index dd33742..4b05009 100644 --- a/face-unlock/PKGBUILD +++ b/face-unlock/PKGBUILD @@ -2,23 +2,27 @@ # This PKGBUILD is updated automatically: # https://github.com/Felitendo/PKGBUILDS -pkgname=plasma-face-unlock -pkgver=1.0.1 +pkgname=face-unlock +pkgver=2.0.0 pkgrel=1 -pkgdesc="Face ID for KDE Plasma: the lock screen, sudo and admin prompts by face, with a photo check" +pkgdesc="Face ID for Linux: the lock screen, sudo and admin prompts by face, on Plasma, GNOME, Hyprland and Niri" arch=('x86_64' 'aarch64') -url="https://github.com/LoonixTools/plasma-face-unlock" +url="https://github.com/LoonixTools/face-unlock" license=('GPL-3.0-or-later' 'MIT' 'Apache-2.0') depends=('bash' 'coreutils' 'gawk' 'grep' 'sed' 'gettext' 'systemd' 'systemd-libs' 'pam' 'polkit' - 'opencv' 'qt6-base' 'qt6-declarative' 'layer-shell-qt' 'ki18n' 'kscreenlocker') + 'opencv' 'qt6-base' 'qt6-declarative' 'layer-shell-qt' 'ki18n') makedepends=('cmake' 'scdoc') +optdepends=('hyprpolkitagent: password windows on Hyprland and Niri') +# The old name. +replaces=('plasma-face-unlock') +conflicts=('plasma-face-unlock') install="${pkgname}.install" # The two face networks come from the OpenCV model zoo, pinned by checksum. source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz" "face_detection_yunet_2023mar.onnx::https://github.com/opencv/opencv_zoo/raw/main/models/face_detection_yunet/face_detection_yunet_2023mar.onnx" "face_recognition_sface_2021dec.onnx::https://github.com/opencv/opencv_zoo/raw/main/models/face_recognition_sface/face_recognition_sface_2021dec.onnx") noextract=('face_detection_yunet_2023mar.onnx' 'face_recognition_sface_2021dec.onnx') -sha256sums=('30bd9e5d76f93f4e196e2eae76d1185370cb51fc9d9954355a42779cd8f60d15' '8f2383e4dd3cfbb4553ea8718107fc0423210dc964f9f4280604804ed2552fa4' '0ba9fbfa01b5270c96627c4ef784da859931e02f04419c829e83484087c34e79') +sha256sums=('8910bac5502a4d0c5d37f7c7d0fbcc3a8de90b40617be2d5fe06bf4cac31a970' '8f2383e4dd3cfbb4553ea8718107fc0423210dc964f9f4280604804ed2552fa4' '0ba9fbfa01b5270c96627c4ef784da859931e02f04419c829e83484087c34e79') build() { make -C "${pkgname}-${pkgver}" VERSION="$pkgver" diff --git a/face-unlock/face-unlock.install b/face-unlock/face-unlock.install index 815a1b5..bd8370b 100644 --- a/face-unlock/face-unlock.install +++ b/face-unlock/face-unlock.install @@ -1,29 +1,34 @@ post_install() { + # Faces, settings and PAM lines of plasma-face-unlock, the old name. + face-unlock --root migrate >/dev/null 2>&1 || true cat <<'MSG' - plasma-face-unlock is installed but not active yet. + face-unlock is installed. Run it as your own user, not with sudo: - plasma-face-unlock interactive menu - plasma-face-unlock enable set up your face and turn it on + face-unlock interactive menu + face-unlock enable set up your face and turn it on - Run it as your own user, not with sudo. It asks for your password when it - needs to, and sudo and admin prompts stay with the password until you switch - them on under Settings. + It asks for your password when it needs to. sudo and admin prompts stay + with the password until you switch them on under Settings. MSG } +post_upgrade() { + face-unlock --root migrate >/dev/null 2>&1 || true +} + pre_remove() { cat <<'MSG' Before removing this package, run - plasma-face-unlock disable + face-unlock disable - as each user that turned it on. That takes face unlock back out of sudo and - polkit. (Removing it without that is safe too: the PAM line is written so - that a missing module is skipped, and sudo keeps asking for the password.) + as each user that turned it on. That takes face unlock back out of sudo, + polkit and the lock screens. (Removing it without that is safe too: the PAM + line is written so that a missing module is skipped.) MSG - systemctl disable --now plasma-face-unlockd.socket plasma-face-unlockd.service >/dev/null 2>&1 || true + systemctl disable --now face-unlockd.socket face-unlockd.service >/dev/null 2>&1 || true } diff --git a/face-unlock/pkg.sh b/face-unlock/pkg.sh index 17240db..5669539 100644 --- a/face-unlock/pkg.sh +++ b/face-unlock/pkg.sh @@ -1,12 +1,13 @@ -# plasma-face-unlock - Face ID for KDE Plasma -# (https://github.com/LoonixTools/plasma-face-unlock). +# face-unlock - Face ID for Linux: Plasma, GNOME, Hyprland and Niri +# (https://github.com/LoonixTools/face-unlock). Called plasma-face-unlock +# before 2.0.0. # # Built from the release tarball with the upstream Makefile (CMake for the # daemon, the agent and the PAM module). The two face networks are sources of # their own from the OpenCV model zoo with fixed checksums, so a release only # changes the tarball's. -UPSTREAM_REPO="LoonixTools/plasma-face-unlock" +UPSTREAM_REPO="LoonixTools/face-unlock" # Installed in CI (pacman) before the makepkg test build, which skips the # dependency check. check() runs the upstream tests and needs nothing more.