%global debug_package %{nil} %define major_version 0.1.0 %define release_version 1 Name: libfprint-2-tod1-elan-0c4b Version: %{major_version} Release: %{release_version}%{?dist} Summary: Repackaged driver module binary from Lenovo for Elan 04F3:0C4B fingerprint reader License: GPL-3.0 URL: https://support.lenovo.com/us/en/downloads/ds560935-elan-fingerprint-driver-for-linux-thinkpad-e14-gen-4-thinkpad-e15-gen-4 Source0: https://github.com/isengu/libfprint-2-tod1-elan-0c4b/archive/refs/tags/%{major_version}-%{release_version}.tar.gz Requires: libfprint-tod #For installing udev rules BuildRequires: systemd #For patching the driver RPATH BuildRequires: patchelf %description Repackaged Elan driver module from Lenovo for fingerprint reader to support 04F3:0C4B. This version includes a bundled OpenSSL 1.1 library for compatibility on distros that doesn't include it (e.g. fedora42). %prep %setup -q -n libfprint-2-tod1-elan-0c4b-%{major_version}-%{release_version} %install mv libfprint-2-tod1-elan-0c4b-%{major_version}/* %{_builddir}/libfprint-2-tod1-elan-0c4b-%{major_version}-%{release_version}/ # Install the driver install -p -d -m 0755 %{buildroot}%{_libdir}/libfprint-2/tod-1/ install -m 0644 usr/lib/x86_64-linux-gnu/libfprint-2/tod-1/libfprint-2-tod1-elan.so %{buildroot}%{_libdir}/libfprint-2/tod-1/libfprint-2-tod1-elan.so # Install the OpenSSL 1.1 binary to external directory install -p -d -m 0755 %{buildroot}%{_libdir}/libfprint-2/external/ install -m 0644 external/libcrypto.so.1.1 %{buildroot}%{_libdir}/libfprint-2/external/libcrypto.so.1.1 # Install udev rules install -p -d -m 0755 %{buildroot}%{_udevrulesdir} install -m 0644 lib/udev/rules.d/60-libfprint-2-tod1-elan.rules %{buildroot}%{_udevrulesdir}/60-libfprint-2-tod1-elan.rules # Patch RPATH to point to the external dir (relative from tod-1) patchelf --set-rpath '$ORIGIN/../../external' %{buildroot}%{_libdir}/libfprint-2/tod-1/libfprint-2-tod1-elan.so %files %defattr(-,root,root,-) %{_libdir}/libfprint-2/tod-1/libfprint-2-tod1-elan.so %{_libdir}/libfprint-2/external/libcrypto.so.1.1 %{_udevrulesdir}/60-libfprint-2-tod1-elan.rules