From 2c6f6686f034800bf64bdf1adabd8c30a0da5ace Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jan 2022 23:15:51 +0000 Subject: [PATCH 01/19] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ckb-next.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ckb-next.spec b/ckb-next.spec index eb8a137..b4ef9a1 100644 --- a/ckb-next.spec +++ b/ckb-next.spec @@ -1,6 +1,6 @@ Name: ckb-next Version: 0.4.4 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Unofficial driver for Corsair RGB keyboards # ckb-next is GPLv2 @@ -136,6 +136,9 @@ udevadm control --reload-rules 2>&1 > /dev/null || : %changelog +* Wed Jan 19 2022 Fedora Release Engineering - 0.4.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Thu Aug 19 2021 Björn Esser - 0.4.4-3 - Rebuild (quazip) From 9654a6a478ae0d4e0b8ada9a5a810ebe86942026 Mon Sep 17 00:00:00 2001 From: Artur Frenszek-Iwicki Date: Wed, 20 Apr 2022 12:30:00 +0200 Subject: [PATCH 02/19] Fix FTBFS --- ckb-next.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ckb-next.spec b/ckb-next.spec index b4ef9a1..98adda8 100644 --- a/ckb-next.spec +++ b/ckb-next.spec @@ -1,6 +1,6 @@ Name: ckb-next Version: 0.4.4 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Unofficial driver for Corsair RGB keyboards # ckb-next is GPLv2 @@ -76,7 +76,7 @@ sed -e 's|"/lib/udev/rules.d"|"%{_udevrulesdir}"|g' -i CMakeLists.txt -DSAFE_INSTALL=OFF \ -DSAFE_UNINSTALL=OFF \ -DWITH_SHIPPED_QUAZIP=OFF \ - ./ + %cmake_build # Color freeze fix @@ -136,6 +136,9 @@ udevadm control --reload-rules 2>&1 > /dev/null || : %changelog +* Wed Apr 20 2022 Artur Frenszek-Iwicki - 0.4.4-5 +- Fix FTBFS + * Wed Jan 19 2022 Fedora Release Engineering - 0.4.4-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild From 0447afefdbc5a86772fb196ff368c9e7e3f1fe9e Mon Sep 17 00:00:00 2001 From: Artur Frenszek-Iwicki Date: Fri, 27 May 2022 13:02:34 +0200 Subject: [PATCH 03/19] Update to v0.5.0 --- .gitignore | 1 + ckb-next.spec | 17 ++++++++++------- sources | 2 +- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index d5fb5f1..44110b9 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ /ckb-next-0.4.2.tar.gz /ckb-next-0.4.3.tar.gz /ckb-next-0.4.4.tar.gz +/ckb-next-0.5.0.tar.gz diff --git a/ckb-next.spec b/ckb-next.spec index 98adda8..292def9 100644 --- a/ckb-next.spec +++ b/ckb-next.spec @@ -1,6 +1,6 @@ Name: ckb-next -Version: 0.4.4 -Release: 5%{?dist} +Version: 0.5.0 +Release: 1%{?dist} Summary: Unofficial driver for Corsair RGB keyboards # ckb-next is GPLv2 @@ -42,8 +42,9 @@ Requires: qt5ct Provides: bundled(kissfft) -# ckb-next, as the name suggests, is a re-activation and continuation of "ckb" -Obsoletes: ckb +# ckb-next, as the name suggests, is a re-activation and continuation of "ckb". +# The last released version of the original "ckb" was 0.2.7. +Obsoletes: ckb < 0.2.8-0 %description @@ -79,9 +80,6 @@ sed -e 's|"/lib/udev/rules.d"|"%{_udevrulesdir}"|g' -i CMakeLists.txt %cmake_build -# Color freeze fix -sed -e '/^Exec=/cExec=env QT_QPA_PLATFORMTHEME=qt5ct %{_bindir}/ckb-next' -i %{_vpath_builddir}/src/gui/ckb-next.desktop - %install %cmake_install @@ -129,6 +127,7 @@ udevadm control --reload-rules 2>&1 > /dev/null || : %{_datadir}/metainfo/ckb-next.appdata.xml %{_datadir}/icons/hicolor/**/apps/ckb-next.png %{_datadir}/icons/hicolor/**/apps/ckb-next-monochrome.png +%{_datadir}/icons/hicolor/**/status/ckb-next_battery*.png %{_mandir}/man1/ckb-next.1* %{_presetdir}/99-ckb-next.preset %{_udevrulesdir}/*.rules @@ -136,6 +135,10 @@ udevadm control --reload-rules 2>&1 > /dev/null || : %changelog +* Fri May 27 2022 Artur Frenszek-Iwicki - 0.5.0-1 +- Update to v0.5.0 +- Remove the Qt QPA fix from desktop file + * Wed Apr 20 2022 Artur Frenszek-Iwicki - 0.4.4-5 - Fix FTBFS diff --git a/sources b/sources index 061508b..1798b34 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ckb-next-0.4.4.tar.gz) = b03d301a6b984957b5a3047769f25311c479f7992c59222b0ce9314b3204dac2d937c26997b97ec2ee1fdc79e3208c76a57a5c603dc1cd99ffb39fd426f58385 +SHA512 (ckb-next-0.5.0.tar.gz) = d4e46466df4cdac7f4d4be05072592101780c94af261ec1b0bf6ec8bb1f97f892fb5da17dd91cf5f9b45fe128547cc7393c13e29843d6a7ae0de7a4688a5cdb1 From 09d3ddf8aed3509085aa09d3759a4290c393fa01 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 20 Jul 2022 22:59:00 +0000 Subject: [PATCH 04/19] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ckb-next.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ckb-next.spec b/ckb-next.spec index 292def9..cd90e7a 100644 --- a/ckb-next.spec +++ b/ckb-next.spec @@ -1,6 +1,6 @@ Name: ckb-next Version: 0.5.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Unofficial driver for Corsair RGB keyboards # ckb-next is GPLv2 @@ -135,6 +135,9 @@ udevadm control --reload-rules 2>&1 > /dev/null || : %changelog +* Wed Jul 20 2022 Fedora Release Engineering - 0.5.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Fri May 27 2022 Artur Frenszek-Iwicki - 0.5.0-1 - Update to v0.5.0 - Remove the Qt QPA fix from desktop file From 40bcf81df3d278c5ad61818d0abff6527c971c83 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 18 Jan 2023 23:54:17 +0000 Subject: [PATCH 05/19] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ckb-next.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ckb-next.spec b/ckb-next.spec index cd90e7a..e86d6ae 100644 --- a/ckb-next.spec +++ b/ckb-next.spec @@ -1,6 +1,6 @@ Name: ckb-next Version: 0.5.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Unofficial driver for Corsair RGB keyboards # ckb-next is GPLv2 @@ -135,6 +135,9 @@ udevadm control --reload-rules 2>&1 > /dev/null || : %changelog +* Wed Jan 18 2023 Fedora Release Engineering - 0.5.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Wed Jul 20 2022 Fedora Release Engineering - 0.5.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From 25f65fcaaa2318805f62785cb947806079044929 Mon Sep 17 00:00:00 2001 From: Artur Frenszek-Iwicki Date: Tue, 2 May 2023 13:35:56 +0200 Subject: [PATCH 06/19] Add a patch to fix program aborting at launch --- ...-fix-buffer-overflow-abort-on-launch.patch | 28 ++++++++++ 0001-unbundle-kissfft.patch | 51 +++++++++++++++++++ ckb-next.spec | 35 ++++++++++--- 3 files changed, 106 insertions(+), 8 deletions(-) create mode 100644 0000-fix-buffer-overflow-abort-on-launch.patch create mode 100644 0001-unbundle-kissfft.patch diff --git a/0000-fix-buffer-overflow-abort-on-launch.patch b/0000-fix-buffer-overflow-abort-on-launch.patch new file mode 100644 index 0000000..0808ce5 --- /dev/null +++ b/0000-fix-buffer-overflow-abort-on-launch.patch @@ -0,0 +1,28 @@ +From c29a9f5e314ddb987b75cb05793ae1bf2bb9ae0c Mon Sep 17 00:00:00 2001 +From: Tasos Sahanidis +Date: Sat, 18 Mar 2023 16:13:51 +0200 +Subject: [PATCH] Fix buffer overflow detected with _FORTIFY_SOURCE + +Technically there's no buffer overflow taking place, but the size +argument passed to snprintf was incorrect. + +Closes #940 +--- + src/daemon/device_bragi.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/daemon/device_bragi.c b/src/daemon/device_bragi.c +index e0690d32..8de99570 100644 +--- a/src/daemon/device_bragi.c ++++ b/src/daemon/device_bragi.c +@@ -178,8 +178,8 @@ static int start_bragi_common(usbdevice* kb){ + } + + char str[PAIR_ID_SIZE*3+1] = {0}; +- for(uint32_t i = 0; i < PAIR_ID_SIZE; i++) +- snprintf(str + i * 3, sizeof(str), "%02hhx ", kb->wl_pairing_id[i]); ++ for(int i = 0; i < PAIR_ID_SIZE; i++) ++ snprintf(str + i * 3, sizeof(str) - i * 3, "%02hhx ", kb->wl_pairing_id[i]); + + ckb_info("ckb%d: Pairing id: %s", INDEX_OF(kb, keyboard), str); + diff --git a/0001-unbundle-kissfft.patch b/0001-unbundle-kissfft.patch new file mode 100644 index 0000000..436ed6b --- /dev/null +++ b/0001-unbundle-kissfft.patch @@ -0,0 +1,51 @@ +diff -r -U4 ckb-next-0.5.0--orig/src/animations/mviz/CMakeLists.txt ckb-next-0.5.0--patched/src/animations/mviz/CMakeLists.txt +--- ckb-next-0.5.0--orig/src/animations/mviz/CMakeLists.txt 2022-05-27 12:30:46.000000000 +0200 ++++ ckb-next-0.5.0--patched/src/animations/mviz/CMakeLists.txt 2023-05-02 13:32:28.810939157 +0200 +@@ -65,14 +65,18 @@ + + set(AUDIO_LIBRARIES "${PULSEAUDIOSIMPLE_LIBRARIES}") + endif () + ++add_library(kissfft STATIC IMPORTED) ++set_target_properties(kissfft PROPERTIES IMPORTED_LOCATION "${LIB_INSTALL_DIR}/libkiss_fft_float.a") ++add_library(kissfftr STATIC IMPORTED) ++set_target_properties(kissfftr PROPERTIES IMPORTED_LOCATION "${LIB_INSTALL_DIR}/libkiss_fftr_float.a") ++ + if (MACOS) + target_link_libraries( + mviz + PRIVATE + m +- KissFFT::KissFFT + ${CMAKE_PROJECT_NAME}::Animation + ${CORESERVICES_LIBRARY} + ${COREFOUNDATION_LIBRARY} + ${AUDIOUNIT_LIBRARY} +@@ -83,9 +87,10 @@ + target_link_libraries( + mviz + PRIVATE + m +- KissFFT::KissFFT ++ kissfft ++ kissfftr + ${CMAKE_PROJECT_NAME}::Animation + "${AUDIO_LIBRARIES}") + else() + message(WARNING "PortAudio link library has not been specified for this OS.") +diff -r -U4 ckb-next-0.5.0--orig/src/libs/CMakeLists.txt ckb-next-0.5.0--patched/src/libs/CMakeLists.txt +--- ckb-next-0.5.0--orig/src/libs/CMakeLists.txt 2022-05-27 12:30:46.000000000 +0200 ++++ ckb-next-0.5.0--patched/src/libs/CMakeLists.txt 2023-05-02 13:02:24.305285201 +0200 +@@ -24,12 +24,8 @@ + # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + # POSSIBILITY OF SUCH DAMAGE. + +-if (WITH_MVIZ) # otherwise doesn't make sense to include +- add_subdirectory(kissfft) +-endif () +- + if (WITH_GUI) + find_package(QuaZip) + if(NOT QuaZip_FOUND) + set(WITH_SHIPPED_QUAZIP ON) diff --git a/ckb-next.spec b/ckb-next.spec index e86d6ae..6aba4dd 100644 --- a/ckb-next.spec +++ b/ckb-next.spec @@ -1,11 +1,14 @@ Name: ckb-next Version: 0.5.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Unofficial driver for Corsair RGB keyboards -# ckb-next is GPLv2 -# The kissfft library (src/libs/kissfft) is BSD -License: GPLv2 and BSD +# ckb-next is GPLv2. +# +# The kissfft library (src/libs/kissfft) is BSD. +# This library is un-bundled by Patch1, but since it's statically linked, +# its license is still included here. +License: GPL-2.0-only and BSD-3-Clause URL: https://github.com/ckb-next/ckb-next Source0: %{URL}/archive/v%{version}/%{name}-%{version}.tar.gz @@ -15,6 +18,17 @@ Source1: ckb-next.appdata.xml Source2: ckb-next.1 Source3: 99-ckb-next.preset +# Fix the program aborting at launch because of a detected buffer overflow. +# Backport of upstream commit: +# https://github.com/ckb-next/ckb-next/commit/c29a9f5e314ddb987b75cb05793ae1bf2bb9ae0c +# See bug reports at: +# - https://bugzilla.redhat.com/show_bug.cgi?id=2192159 +# - https://github.com/ckb-next/ckb-next/issues/940 +Patch0: 0000-fix-buffer-overflow-abort-on-launch.patch + +# CMakeLists need to be adjusted to compile properly with un-bundled kissfft +Patch1: 0001-unbundle-kissfft.patch + BuildRequires: cmake BuildRequires: desktop-file-utils BuildRequires: gcc-c++ @@ -23,6 +37,7 @@ BuildRequires: libappstream-glib BuildRequires: qt5-linguist BuildRequires: dbusmenu-qt5-devel +BuildRequires: kiss-fft-devel BuildRequires: libappindicator-devel BuildRequires: libgudev-devel BuildRequires: libxcb-devel @@ -40,8 +55,6 @@ BuildRequires: systemd-devel Requires: qt5-qtbase >= 5.2.0 Requires: qt5ct -Provides: bundled(kissfft) - # ckb-next, as the name suggests, is a re-activation and continuation of "ckb". # The last released version of the original "ckb" was 0.2.7. Obsoletes: ckb < 0.2.8-0 @@ -55,9 +68,10 @@ supports much of the same functionality, including full RGB animations. %prep -%setup -q +%autosetup -p1 -# Remove the bundled quazip library +# Remove the bundled libraries +rm -rf src/libs/kissfft rm -rf src/libs/quazip # Fedora uses /usr/libexec for daemons @@ -135,6 +149,11 @@ udevadm control --reload-rules 2>&1 > /dev/null || : %changelog +* Tue May 02 2023 Artur Frenszek-Iwicki - 0.5.0-4 +- Add a patch to fix program aborting on launch +- Un-bundle kissfft +- Convert License tag to SPDX + * Wed Jan 18 2023 Fedora Release Engineering - 0.5.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From 289e832189ad6a7f395d2ba66d10ddc6ae3216ec Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Fri, 5 May 2023 09:03:24 +0200 Subject: [PATCH 07/19] Rebuilt for quazip 1.4 --- ckb-next.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ckb-next.spec b/ckb-next.spec index 6aba4dd..c653673 100644 --- a/ckb-next.spec +++ b/ckb-next.spec @@ -1,6 +1,6 @@ Name: ckb-next Version: 0.5.0 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Unofficial driver for Corsair RGB keyboards # ckb-next is GPLv2. @@ -149,6 +149,9 @@ udevadm control --reload-rules 2>&1 > /dev/null || : %changelog +* Fri May 05 2023 Nicolas Chauvet - 0.5.0-5 +- Rebuilt for quazip 1.4 + * Tue May 02 2023 Artur Frenszek-Iwicki - 0.5.0-4 - Add a patch to fix program aborting on launch - Un-bundle kissfft From 0ce8aef954d41cbabcc7adb4f49511d2ab0a7554 Mon Sep 17 00:00:00 2001 From: Artur Frenszek-Iwicki Date: Sun, 25 Jun 2023 23:07:47 +0200 Subject: [PATCH 08/19] Update to v0.6.0 --- .gitignore | 1 + ...-fix-buffer-overflow-abort-on-launch.patch | 28 ------------------- 0001-unbundle-kissfft.patch | 22 +++++++-------- ckb-next.spec | 19 +++++-------- sources | 2 +- 5 files changed, 19 insertions(+), 53 deletions(-) delete mode 100644 0000-fix-buffer-overflow-abort-on-launch.patch diff --git a/.gitignore b/.gitignore index 44110b9..9177031 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ /ckb-next-0.4.3.tar.gz /ckb-next-0.4.4.tar.gz /ckb-next-0.5.0.tar.gz +/ckb-next-0.6.0.tar.gz diff --git a/0000-fix-buffer-overflow-abort-on-launch.patch b/0000-fix-buffer-overflow-abort-on-launch.patch deleted file mode 100644 index 0808ce5..0000000 --- a/0000-fix-buffer-overflow-abort-on-launch.patch +++ /dev/null @@ -1,28 +0,0 @@ -From c29a9f5e314ddb987b75cb05793ae1bf2bb9ae0c Mon Sep 17 00:00:00 2001 -From: Tasos Sahanidis -Date: Sat, 18 Mar 2023 16:13:51 +0200 -Subject: [PATCH] Fix buffer overflow detected with _FORTIFY_SOURCE - -Technically there's no buffer overflow taking place, but the size -argument passed to snprintf was incorrect. - -Closes #940 ---- - src/daemon/device_bragi.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/daemon/device_bragi.c b/src/daemon/device_bragi.c -index e0690d32..8de99570 100644 ---- a/src/daemon/device_bragi.c -+++ b/src/daemon/device_bragi.c -@@ -178,8 +178,8 @@ static int start_bragi_common(usbdevice* kb){ - } - - char str[PAIR_ID_SIZE*3+1] = {0}; -- for(uint32_t i = 0; i < PAIR_ID_SIZE; i++) -- snprintf(str + i * 3, sizeof(str), "%02hhx ", kb->wl_pairing_id[i]); -+ for(int i = 0; i < PAIR_ID_SIZE; i++) -+ snprintf(str + i * 3, sizeof(str) - i * 3, "%02hhx ", kb->wl_pairing_id[i]); - - ckb_info("ckb%d: Pairing id: %s", INDEX_OF(kb, keyboard), str); - diff --git a/0001-unbundle-kissfft.patch b/0001-unbundle-kissfft.patch index 436ed6b..56f0254 100644 --- a/0001-unbundle-kissfft.patch +++ b/0001-unbundle-kissfft.patch @@ -1,9 +1,9 @@ -diff -r -U4 ckb-next-0.5.0--orig/src/animations/mviz/CMakeLists.txt ckb-next-0.5.0--patched/src/animations/mviz/CMakeLists.txt ---- ckb-next-0.5.0--orig/src/animations/mviz/CMakeLists.txt 2022-05-27 12:30:46.000000000 +0200 -+++ ckb-next-0.5.0--patched/src/animations/mviz/CMakeLists.txt 2023-05-02 13:32:28.810939157 +0200 +diff -r -U4 ckb-next-0.6.0--orig/src/animations/mviz/CMakeLists.txt ckb-next-0.6.0--patched/src/animations/mviz/CMakeLists.txt +--- ckb-next-0.6.0--orig/src/animations/mviz/CMakeLists.txt 2023-06-22 23:07:29.000000000 +0200 ++++ ckb-next-0.6.0--patched/src/animations/mviz/CMakeLists.txt 2023-06-25 22:59:31.481115661 +0200 @@ -65,14 +65,18 @@ - set(AUDIO_LIBRARIES "${PULSEAUDIOSIMPLE_LIBRARIES}") + set(AUDIO_LIBRARIES "${PULSEAUDIO_LIBRARIES}") endif () +add_library(kissfft STATIC IMPORTED) @@ -33,10 +33,10 @@ diff -r -U4 ckb-next-0.5.0--orig/src/animations/mviz/CMakeLists.txt ckb-next-0.5 "${AUDIO_LIBRARIES}") else() message(WARNING "PortAudio link library has not been specified for this OS.") -diff -r -U4 ckb-next-0.5.0--orig/src/libs/CMakeLists.txt ckb-next-0.5.0--patched/src/libs/CMakeLists.txt ---- ckb-next-0.5.0--orig/src/libs/CMakeLists.txt 2022-05-27 12:30:46.000000000 +0200 -+++ ckb-next-0.5.0--patched/src/libs/CMakeLists.txt 2023-05-02 13:02:24.305285201 +0200 -@@ -24,12 +24,8 @@ +diff -r -U4 ckb-next-0.6.0--orig/src/libs/CMakeLists.txt ckb-next-0.6.0--patched/src/libs/CMakeLists.txt +--- ckb-next-0.6.0--orig/src/libs/CMakeLists.txt 2023-06-22 23:07:29.000000000 +0200 ++++ ckb-next-0.6.0--patched/src/libs/CMakeLists.txt 2023-06-25 22:59:56.191319405 +0200 +@@ -24,10 +24,6 @@ # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. @@ -45,7 +45,5 @@ diff -r -U4 ckb-next-0.5.0--orig/src/libs/CMakeLists.txt ckb-next-0.5.0--patched - add_subdirectory(kissfft) -endif () - - if (WITH_GUI) - find_package(QuaZip) - if(NOT QuaZip_FOUND) - set(WITH_SHIPPED_QUAZIP ON) + # ckb-next libraries + add_subdirectory(ckb-next) diff --git a/ckb-next.spec b/ckb-next.spec index c653673..a44fe3c 100644 --- a/ckb-next.spec +++ b/ckb-next.spec @@ -1,6 +1,6 @@ Name: ckb-next -Version: 0.5.0 -Release: 5%{?dist} +Version: 0.6.0 +Release: 1%{?dist} Summary: Unofficial driver for Corsair RGB keyboards # ckb-next is GPLv2. @@ -18,14 +18,6 @@ Source1: ckb-next.appdata.xml Source2: ckb-next.1 Source3: 99-ckb-next.preset -# Fix the program aborting at launch because of a detected buffer overflow. -# Backport of upstream commit: -# https://github.com/ckb-next/ckb-next/commit/c29a9f5e314ddb987b75cb05793ae1bf2bb9ae0c -# See bug reports at: -# - https://bugzilla.redhat.com/show_bug.cgi?id=2192159 -# - https://github.com/ckb-next/ckb-next/issues/940 -Patch0: 0000-fix-buffer-overflow-abort-on-launch.patch - # CMakeLists need to be adjusted to compile properly with un-bundled kissfft Patch1: 0001-unbundle-kissfft.patch @@ -72,7 +64,6 @@ supports much of the same functionality, including full RGB animations. # Remove the bundled libraries rm -rf src/libs/kissfft -rm -rf src/libs/quazip # Fedora uses /usr/libexec for daemons sed -e '/^ExecStart/cExecStart=%{_libexecdir}/ckb-next-daemon' -i linux/systemd/ckb-next-daemon.service.in @@ -90,7 +81,6 @@ sed -e 's|"/lib/udev/rules.d"|"%{_udevrulesdir}"|g' -i CMakeLists.txt -DFORCE_INIT_SYSTEM=systemd \ -DSAFE_INSTALL=OFF \ -DSAFE_UNINSTALL=OFF \ - -DWITH_SHIPPED_QUAZIP=OFF \ %cmake_build @@ -135,6 +125,7 @@ udevadm control --reload-rules 2>&1 > /dev/null || : %{_bindir}/ckb-next %{_bindir}/ckb-next-dev-detect %{_libexecdir}/ckb-next-daemon +%{_libexecdir}/ckb-next-sinfo %{_libexecdir}/ckb-next-animations/ %{_libdir}/cmake/ckb-next/ %{_datadir}/applications/ckb-next.desktop @@ -149,6 +140,10 @@ udevadm control --reload-rules 2>&1 > /dev/null || : %changelog +* Sun Jun 25 2023 Artur Frenszek-Iwicki - 0.6.0-1 +- Update to v0.6.0 +- Drop Patch0 (buffer overflow fix - backported from this release) + * Fri May 05 2023 Nicolas Chauvet - 0.5.0-5 - Rebuilt for quazip 1.4 diff --git a/sources b/sources index 1798b34..9fc37d7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ckb-next-0.5.0.tar.gz) = d4e46466df4cdac7f4d4be05072592101780c94af261ec1b0bf6ec8bb1f97f892fb5da17dd91cf5f9b45fe128547cc7393c13e29843d6a7ae0de7a4688a5cdb1 +SHA512 (ckb-next-0.6.0.tar.gz) = 34236199d420b663bb71db9400622bb868a3a0b384b58d5da3f80d2bd7ec9586d4e4ac9caad0b047b8440dc4200e4dd6077f4e0d1edb5a75a1327bf9c9ba9392 From 8b877bd7ce82f72901ad0b80611dc4058a3c9129 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jul 2023 15:42:39 +0000 Subject: [PATCH 09/19] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ckb-next.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ckb-next.spec b/ckb-next.spec index a44fe3c..61890c7 100644 --- a/ckb-next.spec +++ b/ckb-next.spec @@ -1,6 +1,6 @@ Name: ckb-next Version: 0.6.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Unofficial driver for Corsair RGB keyboards # ckb-next is GPLv2. @@ -140,6 +140,9 @@ udevadm control --reload-rules 2>&1 > /dev/null || : %changelog +* Wed Jul 19 2023 Fedora Release Engineering - 0.6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Sun Jun 25 2023 Artur Frenszek-Iwicki - 0.6.0-1 - Update to v0.6.0 - Drop Patch0 (buffer overflow fix - backported from this release) From a0bdf1add7adb3c32ae2e7c558999586baae3416 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jan 2024 15:29:33 +0000 Subject: [PATCH 10/19] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- ckb-next.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ckb-next.spec b/ckb-next.spec index 61890c7..3c5000f 100644 --- a/ckb-next.spec +++ b/ckb-next.spec @@ -1,6 +1,6 @@ Name: ckb-next Version: 0.6.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Unofficial driver for Corsair RGB keyboards # ckb-next is GPLv2. @@ -140,6 +140,9 @@ udevadm control --reload-rules 2>&1 > /dev/null || : %changelog +* Fri Jan 19 2024 Fedora Release Engineering - 0.6.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Wed Jul 19 2023 Fedora Release Engineering - 0.6.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From cc3bc0e243055ac17c0776c5e92cc880abd4c715 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 23 Jan 2024 01:40:25 +0000 Subject: [PATCH 11/19] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- ckb-next.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ckb-next.spec b/ckb-next.spec index 3c5000f..7d1e6a0 100644 --- a/ckb-next.spec +++ b/ckb-next.spec @@ -1,6 +1,6 @@ Name: ckb-next Version: 0.6.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Unofficial driver for Corsair RGB keyboards # ckb-next is GPLv2. @@ -140,6 +140,9 @@ udevadm control --reload-rules 2>&1 > /dev/null || : %changelog +* Tue Jan 23 2024 Fedora Release Engineering - 0.6.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Fri Jan 19 2024 Fedora Release Engineering - 0.6.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 0f47c4f2b786df4057b7af00ccb945a355e249d0 Mon Sep 17 00:00:00 2001 From: Artur Frenszek-Iwicki Date: Tue, 23 Jan 2024 13:20:03 +0100 Subject: [PATCH 12/19] Replace kissfft static linking with dynamic --- 0001-unbundle-kissfft.patch | 11 ++++------- ckb-next.spec | 13 ++++++------- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/0001-unbundle-kissfft.patch b/0001-unbundle-kissfft.patch index 56f0254..f561041 100644 --- a/0001-unbundle-kissfft.patch +++ b/0001-unbundle-kissfft.patch @@ -6,10 +6,7 @@ diff -r -U4 ckb-next-0.6.0--orig/src/animations/mviz/CMakeLists.txt ckb-next-0.6 set(AUDIO_LIBRARIES "${PULSEAUDIO_LIBRARIES}") endif () -+add_library(kissfft STATIC IMPORTED) -+set_target_properties(kissfft PROPERTIES IMPORTED_LOCATION "${LIB_INSTALL_DIR}/libkiss_fft_float.a") -+add_library(kissfftr STATIC IMPORTED) -+set_target_properties(kissfftr PROPERTIES IMPORTED_LOCATION "${LIB_INSTALL_DIR}/libkiss_fftr_float.a") ++find_package(kissfft REQUIRED) + if (MACOS) target_link_libraries( @@ -17,18 +14,18 @@ diff -r -U4 ckb-next-0.6.0--orig/src/animations/mviz/CMakeLists.txt ckb-next-0.6 PRIVATE m - KissFFT::KissFFT ++ kissfft::kissfft-float ${CMAKE_PROJECT_NAME}::Animation ${CORESERVICES_LIBRARY} ${COREFOUNDATION_LIBRARY} ${AUDIOUNIT_LIBRARY} -@@ -83,9 +87,10 @@ +@@ -83,9 +85,9 @@ target_link_libraries( mviz PRIVATE m - KissFFT::KissFFT -+ kissfft -+ kissfftr ++ kissfft::kissfft-float ${CMAKE_PROJECT_NAME}::Animation "${AUDIO_LIBRARIES}") else() diff --git a/ckb-next.spec b/ckb-next.spec index 7d1e6a0..94f08e0 100644 --- a/ckb-next.spec +++ b/ckb-next.spec @@ -1,14 +1,9 @@ Name: ckb-next Version: 0.6.0 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Unofficial driver for Corsair RGB keyboards -# ckb-next is GPLv2. -# -# The kissfft library (src/libs/kissfft) is BSD. -# This library is un-bundled by Patch1, but since it's statically linked, -# its license is still included here. -License: GPL-2.0-only and BSD-3-Clause +License: GPL-2.0-only URL: https://github.com/ckb-next/ckb-next Source0: %{URL}/archive/v%{version}/%{name}-%{version}.tar.gz @@ -140,6 +135,10 @@ udevadm control --reload-rules 2>&1 > /dev/null || : %changelog +* Tue Jan 23 2024 Artur Frenszek-Iwicki - 0.6.0-5 +- Fix FTBFS +- Replace kissfft static linking with dynamic linking + * Tue Jan 23 2024 Fedora Release Engineering - 0.6.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From f87cfdefb40a01da003dfefbb78b25c6e26805ff Mon Sep 17 00:00:00 2001 From: Artur Frenszek-Iwicki Date: Tue, 23 Jan 2024 13:41:24 +0100 Subject: [PATCH 13/19] Fix malformed patch --- 0001-unbundle-kissfft.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/0001-unbundle-kissfft.patch b/0001-unbundle-kissfft.patch index f561041..9026743 100644 --- a/0001-unbundle-kissfft.patch +++ b/0001-unbundle-kissfft.patch @@ -1,7 +1,7 @@ diff -r -U4 ckb-next-0.6.0--orig/src/animations/mviz/CMakeLists.txt ckb-next-0.6.0--patched/src/animations/mviz/CMakeLists.txt --- ckb-next-0.6.0--orig/src/animations/mviz/CMakeLists.txt 2023-06-22 23:07:29.000000000 +0200 -+++ ckb-next-0.6.0--patched/src/animations/mviz/CMakeLists.txt 2023-06-25 22:59:31.481115661 +0200 -@@ -65,14 +65,18 @@ ++++ ckb-next-0.6.0--patched/src/animations/mviz/CMakeLists.txt 2024-01-23 13:15:01.273772139 +0100 +@@ -65,14 +65,16 @@ set(AUDIO_LIBRARIES "${PULSEAUDIO_LIBRARIES}") endif () From 27a53f6dd8a4934fab2a8d8ee3cbf1471a6dd7f8 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 17 Jul 2024 19:21:26 +0000 Subject: [PATCH 14/19] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- ckb-next.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ckb-next.spec b/ckb-next.spec index 94f08e0..9a3bc27 100644 --- a/ckb-next.spec +++ b/ckb-next.spec @@ -1,6 +1,6 @@ Name: ckb-next Version: 0.6.0 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Unofficial driver for Corsair RGB keyboards License: GPL-2.0-only @@ -135,6 +135,9 @@ udevadm control --reload-rules 2>&1 > /dev/null || : %changelog +* Wed Jul 17 2024 Fedora Release Engineering - 0.6.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Tue Jan 23 2024 Artur Frenszek-Iwicki - 0.6.0-5 - Fix FTBFS - Replace kissfft static linking with dynamic linking From c7b00ea0d4c6cd5689dd87aba51db6b52d50591f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jan 2025 13:48:04 +0000 Subject: [PATCH 15/19] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- ckb-next.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ckb-next.spec b/ckb-next.spec index 9a3bc27..a0cf1d4 100644 --- a/ckb-next.spec +++ b/ckb-next.spec @@ -1,6 +1,6 @@ Name: ckb-next Version: 0.6.0 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Unofficial driver for Corsair RGB keyboards License: GPL-2.0-only @@ -135,6 +135,9 @@ udevadm control --reload-rules 2>&1 > /dev/null || : %changelog +* Thu Jan 16 2025 Fedora Release Engineering - 0.6.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Wed Jul 17 2024 Fedora Release Engineering - 0.6.0-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From c52e8ad4d5bf283a0bcafa62c35cf04952a9765c Mon Sep 17 00:00:00 2001 From: Artur Frenszek-Iwicki Date: Sun, 9 Mar 2025 21:52:22 +0100 Subject: [PATCH 16/19] Update to v0.6.1, switch to Qt6 --- .gitignore | 1 + ckb-next.spec | 25 ++++++++++++++----------- sources | 2 +- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index 9177031..0da8a46 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ /ckb-next-0.4.4.tar.gz /ckb-next-0.5.0.tar.gz /ckb-next-0.6.0.tar.gz +/ckb-next-0.6.1.tar.gz diff --git a/ckb-next.spec b/ckb-next.spec index a0cf1d4..e73206f 100644 --- a/ckb-next.spec +++ b/ckb-next.spec @@ -1,6 +1,6 @@ Name: ckb-next -Version: 0.6.0 -Release: 7%{?dist} +Version: 0.6.1 +Release: 1%{?dist} Summary: Unofficial driver for Corsair RGB keyboards License: GPL-2.0-only @@ -21,26 +21,24 @@ BuildRequires: desktop-file-utils BuildRequires: gcc-c++ BuildRequires: make BuildRequires: libappstream-glib -BuildRequires: qt5-linguist -BuildRequires: dbusmenu-qt5-devel -BuildRequires: kiss-fft-devel +BuildRequires: cmake(kissfft) +BuildRequires: cmake(Qt6) +BuildRequires: cmake(Qt6LinguistTools) +BuildRequires: cmake(QuaZip-Qt6) +BuildRequires: cmake(zlib) + BuildRequires: libappindicator-devel BuildRequires: libgudev-devel BuildRequires: libxcb-devel BuildRequires: pulseaudio-libs-devel -BuildRequires: qt5-qtbase-devel >= 5.2.0 -BuildRequires: qt5-qtx11extras-devel -BuildRequires: quazip-qt5-devel >= 0.7.3 BuildRequires: xcb-util-devel BuildRequires: xcb-util-wm-devel -BuildRequires: zlib-devel BuildRequires: systemd-devel %{?systemd_requires} -Requires: qt5-qtbase >= 5.2.0 -Requires: qt5ct +Requires: qt6-qtbase # ckb-next, as the name suggests, is a re-activation and continuation of "ckb". # The last released version of the original "ckb" was 0.2.7. @@ -76,6 +74,7 @@ sed -e 's|"/lib/udev/rules.d"|"%{_udevrulesdir}"|g' -i CMakeLists.txt -DFORCE_INIT_SYSTEM=systemd \ -DSAFE_INSTALL=OFF \ -DSAFE_UNINSTALL=OFF \ + -DPREFER_QT6=ON \ %cmake_build @@ -135,6 +134,10 @@ udevadm control --reload-rules 2>&1 > /dev/null || : %changelog +* Sun Mar 09 2025 Artur Frenszek-Iwicki - 0.6.1-1 +- Update to v0.6.1 +- Switch to Qt6 + * Thu Jan 16 2025 Fedora Release Engineering - 0.6.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild diff --git a/sources b/sources index 9fc37d7..5210aba 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ckb-next-0.6.0.tar.gz) = 34236199d420b663bb71db9400622bb868a3a0b384b58d5da3f80d2bd7ec9586d4e4ac9caad0b047b8440dc4200e4dd6077f4e0d1edb5a75a1327bf9c9ba9392 +SHA512 (ckb-next-0.6.1.tar.gz) = 8f7f4eacd1cd3c255f5c57c277f255e30e6ed1ac7635c4aa7d52193bd63f997f6ba9489641c10be8fc8607045537a75816fa9d937585f3c072af6ed0e8240d7f From 0e5e7519115cb697da901f86e7249e3d28798992 Mon Sep 17 00:00:00 2001 From: Artur Frenszek-Iwicki Date: Mon, 17 Mar 2025 21:01:20 +0100 Subject: [PATCH 17/19] Update to v0.6.2 --- .gitignore | 1 + ckb-next.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 0da8a46..331f8e0 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ /ckb-next-0.5.0.tar.gz /ckb-next-0.6.0.tar.gz /ckb-next-0.6.1.tar.gz +/ckb-next-0.6.2.tar.gz diff --git a/ckb-next.spec b/ckb-next.spec index e73206f..61fa026 100644 --- a/ckb-next.spec +++ b/ckb-next.spec @@ -1,5 +1,5 @@ Name: ckb-next -Version: 0.6.1 +Version: 0.6.2 Release: 1%{?dist} Summary: Unofficial driver for Corsair RGB keyboards @@ -134,6 +134,9 @@ udevadm control --reload-rules 2>&1 > /dev/null || : %changelog +* Mon Mar 17 2025 Artur Frenszek-Iwicki - 0.6.2-1 +- Update to v0.6.2 + * Sun Mar 09 2025 Artur Frenszek-Iwicki - 0.6.1-1 - Update to v0.6.1 - Switch to Qt6 diff --git a/sources b/sources index 5210aba..fbcb2dc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ckb-next-0.6.1.tar.gz) = 8f7f4eacd1cd3c255f5c57c277f255e30e6ed1ac7635c4aa7d52193bd63f997f6ba9489641c10be8fc8607045537a75816fa9d937585f3c072af6ed0e8240d7f +SHA512 (ckb-next-0.6.2.tar.gz) = 21eb6fbb295501e1f30ea34e1361b595161db4c498afcc81efaa6ea7593ef4b04d9fb2966913af526e8151173c47b04b4bf199d7a901dcdc17ed6cd2262c5a20 From e3d005efe57b553873864c885f8e4d7b6823e7c4 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 23 Jul 2025 18:20:05 +0000 Subject: [PATCH 18/19] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- ckb-next.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ckb-next.spec b/ckb-next.spec index 61fa026..925d845 100644 --- a/ckb-next.spec +++ b/ckb-next.spec @@ -1,6 +1,6 @@ Name: ckb-next Version: 0.6.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Unofficial driver for Corsair RGB keyboards License: GPL-2.0-only @@ -134,6 +134,9 @@ udevadm control --reload-rules 2>&1 > /dev/null || : %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 0.6.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Mon Mar 17 2025 Artur Frenszek-Iwicki - 0.6.2-1 - Update to v0.6.2 From 230a524a99abe5ca2da2d4efab1f0ff7175a7fee Mon Sep 17 00:00:00 2001 From: Cristian Le Date: Mon, 10 Nov 2025 17:46:48 +0100 Subject: [PATCH 19/19] Allow to build with CMake 4.0 (rhbz#2380492) --- ckb-next.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ckb-next.spec b/ckb-next.spec index 925d845..aa18c5d 100644 --- a/ckb-next.spec +++ b/ckb-next.spec @@ -1,6 +1,6 @@ Name: ckb-next Version: 0.6.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Unofficial driver for Corsair RGB keyboards License: GPL-2.0-only @@ -66,6 +66,8 @@ sed -e 's|"/lib/udev/rules.d"|"%{_udevrulesdir}"|g' -i CMakeLists.txt %build +# TODO: Please submit an issue to upstream (rhbz#2380492) +export CMAKE_POLICY_VERSION_MINIMUM=3.5 %cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=%{_prefix} \ @@ -134,6 +136,9 @@ udevadm control --reload-rules 2>&1 > /dev/null || : %changelog +* Mon Nov 10 2025 Cristian Le - 0.6.2-3 +- Allow to build with CMake 4.0 (rhbz#2380492) + * Wed Jul 23 2025 Fedora Release Engineering - 0.6.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild