Accepting request 664162 from home:alois:branches:hardware

- Update to version 0.3.2
  Important news:
  * This version fixes a major bug for the Scimitar Pro, causing
    the daemon to not properly interface with the mouse. This
    could require manually reflashing the mouse firmware if a
    firmware update was performed with 0.3.1 or earlier.
  * An updater has been created to more quickly push bugfixes to
    users, especially for those on macOS.
  * There is a new Space Invaders-like minigame that can be
    played as an animation, thanks to @mvladimirovich.
  Support for new devices:
  * Strafe RGB MK.2; by accidental omission from the previous
    release.
  * K66
  Important bugfixes:
  * The Scimitar Pro now defaults to v2.xx endpoints
  * The DPI LED on mice now changes in sniper mode
  * The GUI will warn if uinput cannot be loaded on Linux
  * The "Save to Hardware" button on the Scimitar and Glaive has
    been greyed out due to a current lack of support
  * Thanks to the efforts of @Kedstar99, the codebase compiles
    with much fewer warnings
  * Binding commands to wheels will now repeat properly
  * QuaZip is no longer required for daemon-only builds
  * KissFFT is now built as a static library
  * Symbolic links are now created in /dev/input/by-id for evdev
    users
  * Fixed a regression for devices using the legacy protocol
  Note for packagers:
  * If ckb-next is updated through a package management system,
    `-DDISABLE_UPDATER=1` should be passed to CMake
  version 0.3.1
  Support for new devices:
  * K70 RGB MK.2
  * K70 RGB MK.2 SE
  New major features:
  * The GUI now has a generate ckb-next-dev-detect report button
  Important bugfixes:
  * Rapidfire keyboards have a workaround on shutdown
  * Bugfix for independent X/Y DPI
  * The new Strafe NRGB has firmware updates now
  * The GUI pops up a warning when trying to bind the Windows
    key with Winlock enabled
  * The GUI now has a DPI indicator
  * The K68 NRGB winlock light now lights up
  * The GUI handles SIGINT/SIGTERM cleanly, avoiding stalled
    devices
  * Strafe sidelights now save state on GUI start
  * Original Strafe NRGB's sidelights now toggle correctly
  * ckb-next-dev-detect is now installed to the system and added
    to PATH
  version 0.3.0
  Support for new devices:
  * K55 RGB
  * K68 RGB
  * K90 Legacy
  * Katar RGB
  * Polaris RGB
  * ST100 RGB
  New major features:
  * Use URB Interrupts to read data from devices
  * Profile Import/Export
  * Keyboard Layout autodetection
  * CMake build system
  * Relocation of binaries
  * No single global layout for all devices in the GUI
  Important bugfixes:
  * Deadlock on daemon exit
  * Support for K95 Platinum profile switch key
  * Keymap corruption on the GUI
  * Pulseaudio GUI deadlock
  * Use udev to detect the appropriate endpoint max packet size
  * Ignore devices in BIOS mode
  * Disable save to hardware for unsupported devices
  * Keymap patches for K68
  * Workaround for linux kernel out-of-bounds write
  * Memory leaks on firmware update
  version 0.2.9
  Important changes:
  * Significantly lower CPU usage on idle
  * Add support for K95 Platinum
  * Add support for K68
  * Add support for (new) Strafe non-RGB
  * Add support for Glaive
  * Add support for Harpoon
  * Add support for Corsair firmware v3
  * Add support for pt\_br layout
  * Add support for Japanese layout
  * Add macro delays to the GUI
  * New FIRMWARE file structure
  * GUI warning when daemon is not running
  * udev rule to remove joystick tag
  * Dynamic keymap patching
  * Require Qt >=5.2
  * Numerous small fixes and improvements
  version 0.2.8
  * `ckb` is now `ckb-next`, __but the binaries will be renamed
    in `v0.2.9`__
  * Numerous PRs from `ckb` merged
    [\#4](https://github.com/mattanger/ckb-next/issues/4)
  * SIGSEGV when deleting copied profile is fixed
    [\#38](https://github.com/mattanger/ckb-next/issues/38)
  * `make debug` target on Linux is fixed
    [\#79](https://github.com/mattanger/ckb-next/issues/79)
  * Heat map animation issues fixed
    [\#30](https://github.com/mattanger/ckb-next/issues/30)
  * Compilation of the music visualizer fixed
    [\#21](https://github.com/mattanger/ckb-next/issues/21)
  * Hardware profile loading error on firmware 2.05 fixed
    [\#24](https://github.com/mattanger/ckb-next/pull/24)
  * Project's own firmware table created, signed and populated
    with new devices
    [\#60](https://github.com/mattanger/ckb-next/pull/60)
  * Arch Linux and Fedora/CentOS packages added
    [\#80](https://github.com/mattanger/ckb-next/pull/80)
    [\#5](https://github.com/mattanger/ckb-next/issues/5)
    [\#41](https://github.com/mattanger/ckb-next/pull/41)
- Dropped ckb-external-quazip.patch (no longer necessary)
- Refreshed ckb-use-var-run.patch as ckb-next-use-run.patch
- Added ckb-next-systemd.patch, ckb-next-no-cmake-modules.patch
  and ckb-next-udev.patch
- Update to version 0.2.6
- Use external quazip only when available
- Replaced ckb-fix-desktop-file.patch with %suse_update_desktop_file
- Replaced ckb-daemon-path.patch and ckb-animations-path.patch
  with macros for consistency.
- Add hicoler folder, too
- Fix icon folder
- Initial package
  * Use /var/run instead of /dev/input for communication with the
    daemon.
  * move the daemon and the animations into the libexec folder

OBS-URL: https://build.opensuse.org/request/show/664162
OBS-URL: https://build.opensuse.org/package/show/hardware/ckb-next?expand=0&rev=1
This commit is contained in:
Tomáš Chvátal
2019-01-10 08:17:45 +00:00
committed by Git OBS Bridge
commit 0fd1bee53f
9 changed files with 438 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.osc

3
ckb-next-0.3.2.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4a1a91610353189e827985108621ad92fb8336a322bd70a3733775251d735c31
size 762482

View File

@@ -0,0 +1,13 @@
Index: ckb-next-0.3.2/src/libs/ckb-next/CMakeLists.txt
===================================================================
--- ckb-next-0.3.2.orig/src/libs/ckb-next/CMakeLists.txt
+++ ckb-next-0.3.2/src/libs/ckb-next/CMakeLists.txt
@@ -67,7 +67,7 @@ configure_file(
COPYONLY)
# Ignore these for now on macOS
-if(NOT MACOS)
+if(0)
install(
EXPORT ${PROJECT_NAME}Targets
FILE

44
ckb-next-systemd.patch Normal file
View File

@@ -0,0 +1,44 @@
Index: ckb-next-0.3.2/src/daemon/CMakeLists.txt
===================================================================
--- ckb-next-0.3.2.orig/src/daemon/CMakeLists.txt
+++ ckb-next-0.3.2/src/daemon/CMakeLists.txt
@@ -292,7 +292,7 @@ elseif (LINUX)
endif ()
# A way to check for systemd
- if (EXISTS "/run/systemd/system")
+ if (EXISTS "/usr/lib/systemd/system")
message(STATUS "systemd detected")
set(CKB_NEXT_INIT_SYSTEM "systemd" CACHE INTERNAL "")
set(DISALLOW_SYSVINIT TRUE)
@@ -404,7 +404,7 @@ if (MACOS)
elseif (LINUX)
install(
TARGETS ckb-next-daemon
- DESTINATION "bin")
+ DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}")
endif ()
# Declare target's auxiliary files installation paths
@@ -456,7 +456,7 @@ endif ()
if (LINUX)
install(
FILES "${CMAKE_SOURCE_DIR}/linux/udev/99-ckb-daemon.rules"
- DESTINATION "/etc/udev/rules.d"
+ DESTINATION "/usr/lib/udev/rules.d"
PERMISSIONS
OWNER_READ OWNER_WRITE
GROUP_READ
Index: ckb-next-0.3.2/linux/systemd/ckb-next-daemon.service.in
===================================================================
--- ckb-next-0.3.2.orig/linux/systemd/ckb-next-daemon.service.in
+++ ckb-next-0.3.2/linux/systemd/ckb-next-daemon.service.in
@@ -5,7 +5,7 @@
Description=Corsair Keyboards and Mice Daemon
[Service]
-ExecStart=@CMAKE_INSTALL_PREFIX@/bin/ckb-next-daemon
+ExecStart=@CMAKE_INSTALL_PREFIX@/lib/ckb-next-daemon
Restart=on-failure
[Install]

38
ckb-next-udev.patch Normal file
View File

@@ -0,0 +1,38 @@
From ddee00c184701925fbe4c28d4851aeb95fc2702c Mon Sep 17 00:00:00 2001
From: Luigi Baldoni <aloisio@gmx.com>
Date: Tue, 8 Jan 2019 19:35:11 +0100
Subject: [PATCH] Renamed .rules file as well
---
linux/udev/{99-ckb-daemon.rules => 99-ckb-next-daemon.rules} | 0
src/daemon/CMakeLists.txt | 2 +-
2 files changed, 1 insertion(+), 1 deletion(-)
rename linux/udev/{99-ckb-daemon.rules => 99-ckb-next-daemon.rules} (100%)
Index: ckb-next-0.3.2/linux/udev/99-ckb-daemon.rules
===================================================================
--- ckb-next-0.3.2.orig/linux/udev/99-ckb-daemon.rules
+++ /dev/null
@@ -1,2 +0,0 @@
-# Mark ckb devices as not a joystick and create symlinks to the virtual input devices
-ACTION=="add|change", SUBSYSTEM=="input", ATTRS{name}=="ckb[0-9]: [A-Za-z0-9]*", ENV{ID_INPUT_JOYSTICK}="", PROGRAM="/usr/bin/env sed 's/[0-9]: /-/' /sys/class/input/%k/device/name", ENV{.INPUT_NAME}="%c, "SYMLINK+="input/by-id/%E{.INPUT_NAME}-event"
Index: ckb-next-0.3.2/linux/udev/99-ckb-next-daemon.rules
===================================================================
--- /dev/null
+++ ckb-next-0.3.2/linux/udev/99-ckb-next-daemon.rules
@@ -0,0 +1,2 @@
+# Mark ckb devices as not a joystick and create symlinks to the virtual input devices
+ACTION=="add|change", SUBSYSTEM=="input", ATTRS{name}=="ckb[0-9]: [A-Za-z0-9]*", ENV{ID_INPUT_JOYSTICK}="", PROGRAM="/usr/bin/sed 's/[0-9]: /-/' /sys/class/input/%k/device/name", ENV{.INPUT_NAME}="%c, "SYMLINK+="input/by-id/%E{.INPUT_NAME}-event"
Index: ckb-next-0.3.2/src/daemon/CMakeLists.txt
===================================================================
--- ckb-next-0.3.2.orig/src/daemon/CMakeLists.txt
+++ ckb-next-0.3.2/src/daemon/CMakeLists.txt
@@ -455,7 +455,7 @@ endif ()
if (LINUX)
install(
- FILES "${CMAKE_SOURCE_DIR}/linux/udev/99-ckb-daemon.rules"
+ FILES "${CMAKE_SOURCE_DIR}/linux/udev/99-ckb-next-daemon.rules"
DESTINATION "/usr/lib/udev/rules.d"
PERMISSIONS
OWNER_READ OWNER_WRITE

53
ckb-next-use-run.patch Normal file
View File

@@ -0,0 +1,53 @@
Index: ckb-next-0.3.2/ckb-next-dev-detect
===================================================================
--- ckb-next-0.3.2.orig/ckb-next-dev-detect
+++ ckb-next-0.3.2/ckb-next-dev-detect
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/bin/bash
# Newline
N=$'\n'
@@ -48,7 +48,7 @@ else
OUT="${OUT}${N}${N}Daemon on current boot:${N}`journalctl -o short-precise -b 0 --unit=ckb-next-daemon 2>&1`"
OUT="${OUT}${N}${N}Daemon on last boot:${N}`journalctl -o short-precise -b -1 --unit=ckb-next-daemon 2>&1`"
fi
- OUT="${OUT}${N}${N}Dev nodes:${N}`find /dev/input/ckb* -print -type f -exec cat {} \; 2>&1`"
+ OUT="${OUT}${N}${N}Dev nodes:${N}`find /run/ckb* -print -type f -exec cat {} \; 2>&1`"
OUT="${OUT}${N}${N}Environment:${N}`printenv | grep "QT\|XDG.*DESKTOP" 2>&1`"
OUT="${OUT}${N}${N}Kernel command line:${N}`cat /proc/cmdline`"
fi
Index: ckb-next-0.3.2/src/daemon/devnode.c
===================================================================
--- ckb-next-0.3.2.orig/src/daemon/devnode.c
+++ ckb-next-0.3.2/src/daemon/devnode.c
@@ -7,12 +7,7 @@
#include "profile.h"
#include <ckbnextconfig.h>
-// OSX doesn't like putting FIFOs in /dev for some reason
-#ifndef OS_MAC
-const char *const devpath = "/dev/input/ckb";
-#else
-const char *const devpath = "/var/run/ckb";
-#endif
+const char *const devpath = "/run/ckb";
long gid = -1;
#define S_GID_READ (gid >= 0 ? S_CUSTOM_R : S_READ)
Index: ckb-next-0.3.2/src/gui/kbmanager.cpp
===================================================================
--- ckb-next-0.3.2.orig/src/gui/kbmanager.cpp
+++ ckb-next-0.3.2/src/gui/kbmanager.cpp
@@ -1,10 +1,6 @@
#include "kbmanager.h"
-#ifndef Q_OS_MACOS
-QString devpath = "/dev/input/ckb%1";
-#else
-QString devpath = "/var/run/ckb%1";
-#endif
+QString devpath = "/run/ckb%1";
QString KbManager::_guiVersion, KbManager::_daemonVersion = DAEMON_UNAVAILABLE_STR;
KbManager* KbManager::_kbManager = 0;

154
ckb-next.changes Normal file
View File

@@ -0,0 +1,154 @@
-------------------------------------------------------------------
Tue Jan 8 09:26:22 UTC 2019 - Luigi Baldoni <aloisio@gmx.com>
- Update to version 0.3.2
Important news:
* This version fixes a major bug for the Scimitar Pro, causing
the daemon to not properly interface with the mouse. This
could require manually reflashing the mouse firmware if a
firmware update was performed with 0.3.1 or earlier.
* An updater has been created to more quickly push bugfixes to
users, especially for those on macOS.
* There is a new Space Invaders-like minigame that can be
played as an animation, thanks to @mvladimirovich.
Support for new devices:
* Strafe RGB MK.2; by accidental omission from the previous
release.
* K66
Important bugfixes:
* The Scimitar Pro now defaults to v2.xx endpoints
* The DPI LED on mice now changes in sniper mode
* The GUI will warn if uinput cannot be loaded on Linux
* The "Save to Hardware" button on the Scimitar and Glaive has
been greyed out due to a current lack of support
* Thanks to the efforts of @Kedstar99, the codebase compiles
with much fewer warnings
* Binding commands to wheels will now repeat properly
* QuaZip is no longer required for daemon-only builds
* KissFFT is now built as a static library
* Symbolic links are now created in /dev/input/by-id for evdev
users
* Fixed a regression for devices using the legacy protocol
Note for packagers:
* If ckb-next is updated through a package management system,
`-DDISABLE_UPDATER=1` should be passed to CMake
version 0.3.1
Support for new devices:
* K70 RGB MK.2
* K70 RGB MK.2 SE
New major features:
* The GUI now has a generate ckb-next-dev-detect report button
Important bugfixes:
* Rapidfire keyboards have a workaround on shutdown
* Bugfix for independent X/Y DPI
* The new Strafe NRGB has firmware updates now
* The GUI pops up a warning when trying to bind the Windows
key with Winlock enabled
* The GUI now has a DPI indicator
* The K68 NRGB winlock light now lights up
* The GUI handles SIGINT/SIGTERM cleanly, avoiding stalled
devices
* Strafe sidelights now save state on GUI start
* Original Strafe NRGB's sidelights now toggle correctly
* ckb-next-dev-detect is now installed to the system and added
to PATH
version 0.3.0
Support for new devices:
* K55 RGB
* K68 RGB
* K90 Legacy
* Katar RGB
* Polaris RGB
* ST100 RGB
New major features:
* Use URB Interrupts to read data from devices
* Profile Import/Export
* Keyboard Layout autodetection
* CMake build system
* Relocation of binaries
* No single global layout for all devices in the GUI
Important bugfixes:
* Deadlock on daemon exit
* Support for K95 Platinum profile switch key
* Keymap corruption on the GUI
* Pulseaudio GUI deadlock
* Use udev to detect the appropriate endpoint max packet size
* Ignore devices in BIOS mode
* Disable save to hardware for unsupported devices
* Keymap patches for K68
* Workaround for linux kernel out-of-bounds write
* Memory leaks on firmware update
version 0.2.9
Important changes:
* Significantly lower CPU usage on idle
* Add support for K95 Platinum
* Add support for K68
* Add support for (new) Strafe non-RGB
* Add support for Glaive
* Add support for Harpoon
* Add support for Corsair firmware v3
* Add support for pt\_br layout
* Add support for Japanese layout
* Add macro delays to the GUI
* New FIRMWARE file structure
* GUI warning when daemon is not running
* udev rule to remove joystick tag
* Dynamic keymap patching
* Require Qt >=5.2
* Numerous small fixes and improvements
version 0.2.8
* `ckb` is now `ckb-next`, __but the binaries will be renamed
in `v0.2.9`__
* Numerous PRs from `ckb` merged
[\#4](https://github.com/mattanger/ckb-next/issues/4)
* SIGSEGV when deleting copied profile is fixed
[\#38](https://github.com/mattanger/ckb-next/issues/38)
* `make debug` target on Linux is fixed
[\#79](https://github.com/mattanger/ckb-next/issues/79)
* Heat map animation issues fixed
[\#30](https://github.com/mattanger/ckb-next/issues/30)
* Compilation of the music visualizer fixed
[\#21](https://github.com/mattanger/ckb-next/issues/21)
* Hardware profile loading error on firmware 2.05 fixed
[\#24](https://github.com/mattanger/ckb-next/pull/24)
* Project's own firmware table created, signed and populated
with new devices
[\#60](https://github.com/mattanger/ckb-next/pull/60)
* Arch Linux and Fedora/CentOS packages added
[\#80](https://github.com/mattanger/ckb-next/pull/80)
[\#5](https://github.com/mattanger/ckb-next/issues/5)
[\#41](https://github.com/mattanger/ckb-next/pull/41)
- Dropped ckb-external-quazip.patch (no longer necessary)
- Refreshed ckb-use-var-run.patch as ckb-next-use-run.patch
- Added ckb-next-systemd.patch, ckb-next-no-cmake-modules.patch
and ckb-next-udev.patch
-------------------------------------------------------------------
Thu Aug 25 09:18:15 UTC 2016 - aloisio@gmx.com
- Update to version 0.2.6
- Use external quazip only when available
- Replaced ckb-fix-desktop-file.patch with %suse_update_desktop_file
- Replaced ckb-daemon-path.patch and ckb-animations-path.patch
with macros for consistency.
-------------------------------------------------------------------
Sun Apr 17 19:04:20 UTC 2016 - herbert@graeber-clan.de
- Add hicoler folder, too
-------------------------------------------------------------------
Sun Apr 17 08:25:41 UTC 2016 - herbert@graeber-clan.de
- Fix icon folder
-------------------------------------------------------------------
Fri Apr 15 17:12:17 UTC 2016 - herbert@graeber-clan.de
- Initial package
* Use /var/run instead of /dev/input for communication with the
daemon.
* move the daemon and the animations into the libexec folder

109
ckb-next.spec Normal file
View File

@@ -0,0 +1,109 @@
#
# spec file for package ckb-next
#
# Copyright (c) 2019 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 https://bugs.opensuse.org/
#
Name: ckb-next
Version: 0.3.2
Release: 0
Summary: RGB Driver for Linux
License: GPL-2.0 AND BSD-3-Clause
Group: Hardware/Other
URL: https://github.com/ckb-next/ckb-next
Source: https://github.com/ckb-next/ckb-next/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
# PATCH-FIX-OPENSUSE ckb-next-use-run.patch
Patch1: ckb-next-use-run.patch
# PATCH-FIX-OPENSUSE ckb-next-systemd.patch
Patch2: ckb-next-systemd.patch
# PATCH-FIX-OPENSUSE ckb-next-no-cmake-modules.patch
Patch3: ckb-next-no-cmake-modules.patch
# PATCH-FIX-UPSTREAM ckb-next-udev.patch
Patch4: ckb-next-udev.patch
BuildRequires: ImageMagick
BuildRequires: cmake
BuildRequires: hicolor-icon-theme
%if 0%{?suse_version} >= 1500
BuildRequires: quazip-qt5-devel
%endif
BuildRequires: update-desktop-files
BuildRequires: pkgconfig(Qt5Network)
BuildRequires: pkgconfig(Qt5Widgets) >= 5.2
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(libpulse-simple)
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(systemd)
BuildRequires: pkgconfig(zlib)
Obsoletes: ckb < %{version}
Provides: ckb = %{version}
Requires: bash
%{systemd_requires}
%description
ckb is an open-source driver for Corsair keyboards and mice. It aims to bring
the features of their proprietary CUE software to the Linux operating system.
This project is currently a work in progress, but it already supports
much of the same functionality, including full RGB animations.
%prep
%setup -q
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%build
%cmake \
-DDISABLE_UPDATER=1 \
-DCMAKE_INSTALL_LIBEXECDIR=%{_libexecdir}
%make_jobs
%install
%cmake_install
for s in 16 22 32 48 64 96 128 192 256; do
mkdir -pv %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps
convert -strip -resize ${s}x${s} %{buildroot}%{_datadir}/icons/hicolor/512x512/apps/ckb-next.png \
%{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps/%{name}.png
done
mkdir %{buildroot}%{_sbindir}
ln -sf service %{buildroot}%{_sbindir}/rc%{name}-daemon
%suse_update_desktop_file -r %{name} Settings HardwareSettings
%pre
%service_add_pre %{name}-daemon.service
%post
%service_add_post %{name}-daemon.service
%preun
%service_del_preun %{name}-daemon.service
%postun
%service_del_postun %{name}-daemon.service
%files
%license LICENSE
%doc CHANGELOG.md FIRMWARE README.md
%{_bindir}/%{name}
%{_bindir}/%{name}-dev-detect
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/*/apps/%{name}.png
%{_sbindir}/rc%{name}-daemon
%{_libexecdir}/%{name}-daemon
%{_libexecdir}/%{name}-animations
%{_udevrulesdir}/99-%{name}-daemon.rules
%{_unitdir}/%{name}-daemon.service
%changelog