%global _hardened_build 1 Name: passkeyd Version: 1.9.3 Release: 1%{?dist} Summary: An Opinionated WebAuthn Authenticator License: GPL3 URL: https://github.com/bjn7/%{name} Source0: %{url}/archive/refs/tags/v%{version}.tar.gz BuildRequires: cargo BuildRequires: rust BuildRequires: clang-devel BuildRequires: llvm-devel BuildRequires: lld BuildRequires: systemd-devel BuildRequires: pam-devel BuildRequires: tss2-devel BuildRequires: tpm2-tss-devel BuildRequires: glib2-devel BuildRequires: pkgconf Requires(post): systemd Requires(preun): systemd Requires(postun): systemd %description Passkeyd is a Linux based WebAuthn authenticator that works with any WebAuthn supported application, including browsers. It supports both TPM and non-TPM devices. %package theme Summary: theme files for %{name} frontends Requires: %{name} = %{version} %description theme This package contains the icons and theme configuration for %{name}. %package gtk Summary: gtk4 frontend for %{name} Requires: %{name} = %{version} Requires: %{name}-theme = %{version} BuildRequires: gtk4-devel %description gtk This package contains the gtk4 frontend for %{name}. %package qt Summary: qt6 frontend for %{name} Requires: %{name} = %{version} Requires: %{name}-theme = %{version} BuildRequires: qt6-qtbase-devel BuildRequires: qt6-qtdeclarative-devel %description qt This package contains the qt6 frontend for %{name}. %package ice Summary: ice frontend for %{name} Requires: %{name} = %{version} Requires: %{name}-theme = %{version} %description ice This package contains the ice frontend for %{name}. %prep %autosetup -p 1 sed -i 's|/usr/lib/passkeyd|%{_libdir}/%{name}|' %{name}.conf %build export CARGO_PROFILE_RELEASE_CODEGEN_UNITS=1 export CARGO_BUILD_JOBS=1 cargo build --release for i in enroll select selection; do mv target/release/%{name}-{kde,qt}-${i} done %install [ '%{buildroot}' != '/' ] && rm -rf %{buildroot} install -Dp -m0644 -t %{buildroot}%{_unitdir} %{name}.service install -Dp -m0644 -t %{buildroot}%{_sysconfdir} %{name}.conf install -d -m0700 %{buildroot}%{_sharedstatedir}/%{name}{,/database} install -Dp -m0755 -t %{buildroot}%{_bindir} \ target/release/%{name}{,-manager,-migrate} install -Dp -m0755 -t %{buildroot}%{_libdir}/%{name} \ target/release/%{name}-{gtk,qt,ice}-{enroll,select,selection} install -Dp -m0644 -t %{buildroot}%{_datadir}/%{name} \ theme.conf for i in 32x32 64x64; do install -Dp -m0644 -t %{buildroot}%{_iconsdir}/hicolor/${i} \ icons/${i}/%{name}.png done %post %systemd_post %{name}.service exit 0 %preun %systemd_preun %{name}.service exit 0 %postun %systemd_postun_with_restart %{name}.service exit 0 %files %license LICENSE %config(noreplace) %{_sysconfdir}/%{name}.conf %{_bindir}/%{name} %{_bindir}/%{name}-manager %{_bindir}/%{name}-migrate %{_unitdir}/%{name}.service %dir %attr(0700,root,root) %{_sharedstatedir}/%{name} %dir %attr(0700,root,root) %{_sharedstatedir}/%{name}/database %files theme %config %{_datadir}/%{name}/theme.conf %{_iconsdir}/hicolor/32x32/%{name}.png %{_iconsdir}/hicolor/64x64/%{name}.png %files gtk %{_libdir}/%{name}/%{name}-gtk-enroll %{_libdir}/%{name}/%{name}-gtk-select %{_libdir}/%{name}/%{name}-gtk-selection %files qt %{_libdir}/%{name}/%{name}-qt-enroll %{_libdir}/%{name}/%{name}-qt-select %{_libdir}/%{name}/%{name}-qt-selection %files ice %{_libdir}/%{name}/%{name}-ice-enroll %{_libdir}/%{name}/%{name}-ice-select %{_libdir}/%{name}/%{name}-ice-selection %changelog * Sun Oct 11 2026 Philippe Kueck - 1.9.3-1 - new upstream version - removed claude patch, sha1 fallback is integrated now. * Wed Sep 23 2026 Philippe Kueck - 1.9.2-3 - added claude patch for fallback to sha1 pcr * Fri Sep 18 2026 Philippe Kueck - 1.9.2-2 - Initial packaging