File fingerprint-gui.spec of Package fingerprint-gui

#
# spec file for package fingerprint-gui
#
# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


Name:           fingerprint-gui
Version:        1.09
Release:        0
Summary:        Tool for fingerprint enrollment and verification
License:        GPL-2.0+
Group:          Hardware/Other
URL:            https://github.com/maksbotan/fingerprint-gui
#%%Source0:        https://github.com/maksbotan/fingerprint-gui/archive/v.1.09.tar.gz
Source0:        fingerprint-gui-%{version}.tar.gz
Source1:        %{name}.svg
Source2:        %{name}.desktop

BuildRequires:  gcc-c++
BuildRequires:  libfprint-devel
BuildRequires:  glib2-devel
BuildRequires:  pam-devel
BuildRequires:  unzip
BuildRequires:  extra-cmake-modules
BuildRequires:  cmake(KF5Config)
BuildRequires:  cmake(KF5CoreAddons)
BuildRequires:  cmake(KF5Crash)
BuildRequires:  cmake(KF5DBusAddons)
BuildRequires:  cmake(KF5Declarative)
BuildRequires:  cmake(KF5DocTools)
BuildRequires:  cmake(KF5NewStuff)
BuildRequires:  cmake(KF5XmlGui)
BuildRequires:  cmake(PolkitQt5-1)
BuildRequires:  cmake(Qt5Core)
BuildRequires:  cmake(Qt5Gui)
BuildRequires:  cmake(Qt5Svg)
BuildRequires:  pkgconfig(Qt5X11Extras)
BuildRequires:  pkgconfig(libfakekey)
BuildRequires:  pkgconfig(glib-2.0)
BuildRequires:  pkgconfig(gio-2.0)
BuildRequires:  pkgconfig(libusb-1.0)
BuildRequires:  pkgconfig(qca2-qt5)
BuildRequires:  pkgconfig(xtst)
BuildRequires:  pkgconfig(udev)
BuildRequires:  hicolor-icon-theme
BuildRequires:  update-desktop-files
Requires:       xdg-utils

%description
Fingerprint GUI is a set of GUI tools for the use of fingerprint scanners on Linux systems. It enables the recording and checking of fingerprints of users and allows login and authentication of users by their fingerprint through its PAM module. An additional "fingerprintIdentifier" application can be used for customized (shell) scripts when users have to be identified or authenticated by their fingerprints. The system is based on device drivers from the "libfprint" project.

%prep
%setup -q
cp %{S:2} .

%build
%qmake5 QMAKE_CXXFLAGS="-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include" PREFIX=/usr LIB=%{_libdir} LIBEXEC=%{_lib}
make 

%install
# lets create some directories
mkdir -p -m 755 %{buildroot}%{_libdir}
mkdir -p -m 755 %{buildroot}%{_mandir}

make INSTALL_ROOT=%{buildroot} install 
make INSTALL_ROOT=%{buildroot} upek-rules
make INSTALL_ROOT=%{buildroot} upek-cfg

## install new icon and desktop file
mkdir -p %{buildroot}%{_datadir}/pixmaps/
cp %{SOURCE1} %{buildroot}%{_datadir}/pixmaps/

# menu-entry
desktop-file-install --dir %{buildroot}%{_datadir}/applications %{name}.desktop
%suse_update_desktop_file %{name}

mkdir -p %{buildroot}%{_udevrulesdir}
mv %{buildroot}%{_sysconfdir}/udev/rules.d/92-fingerprint-gui-uinput.rules %{buildroot}%{_udevrulesdir}/92-fingerprint-gui-uinput.rules
mv %{buildroot}%{_sysconfdir}/udev/rules.d/91-fingerprint-gui-upek.rules %{buildroot}%{_udevrulesdir}/91-fingerprint-gui-upek.rules

%post
/sbin/ldconfig
%{?udev_rules_update:%udev_rules_update}
%icon_theme_cache_post
%desktop_database_post

%postun
/sbin/ldconfig
%{?udev_rules_update:%udev_rules_update}
%icon_theme_cache_postun
%desktop_database_postun

%files
%defattr(-,root,root)
%doc README CHANGELOG 
%license COPYING
%{_sysconfdir}/xdg/autostart/fingerprint-polkit-agent.desktop
%dir %{_libdir}/security
/%{_libdir}/security/pam_fingerprint-gui.so
%{_bindir}/%{name}
%{_bindir}/fingerprint-identifier
%{_libdir}/%{name}/
%{_libdir}/%{name}/fingerprint-helper
%{_libdir}/%{name}/fingerprint-plugin
%{_libdir}/%{name}/fingerprint-polkit-agent
%{_datadir}/applications/fingerprint-gui.desktop
%dir %{_datadir}/icons/hicolor
%dir %{_datadir}/icons/hicolor/*
%dir %{_datadir}/icons/hicolor/*/apps
%{_datadir}/icons/hicolor/*/apps/%{name}.png
%{_datadir}/pixmaps/%{name}.svg
%{_datadir}/pixmaps/%{name}.xpm
%dir %{_datadir}/doc/fingerprint-gui
%{_datadir}/doc/%{name}/
%{_mandir}/man1/%{name}.1.*
%{_mandir}/man1/fingerprint-identifier.1.*
%{_mandir}/man8/pam_fingerprint-gui.8.*
%{_udevrulesdir}//92-fingerprint-gui-uinput.rules
%{_datadir}/polkit-1/actions/cc.ullrich-online.fingerprint-gui.policy
%{_sysconfdir}/upek.cfg
%{_udevrulesdir}//91-fingerprint-gui-upek.rules

%changelog