diff --git a/libcec-6.0.2-libudev-256.patch b/libcec-6.0.2-libudev-256.patch new file mode 100644 index 0000000..47de361 --- /dev/null +++ b/libcec-6.0.2-libudev-256.patch @@ -0,0 +1,30 @@ +From 898177b5ccf81a91bb3d73196b544c132a16a496 Mon Sep 17 00:00:00 2001 +From: Rudi Heitbaum +Date: Wed, 12 Jun 2024 12:03:50 +0000 +Subject: [PATCH] fix assert issue with systemd udev + +--- + src/libcec/adapter/Pulse-Eight/USBCECAdapterDetection.cpp | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/src/libcec/adapter/Pulse-Eight/USBCECAdapterDetection.cpp b/src/libcec/adapter/Pulse-Eight/USBCECAdapterDetection.cpp +index 3cb49dd..27c8269 100644 +--- a/src/libcec/adapter/Pulse-Eight/USBCECAdapterDetection.cpp ++++ b/src/libcec/adapter/Pulse-Eight/USBCECAdapterDetection.cpp +@@ -370,7 +370,12 @@ uint8_t CUSBCECAdapterDetection::FindAdaptersUdev(cec_adapter_descriptor *device + if (!dev) + continue; + +- pdev = udev_device_get_parent(udev_device_get_parent(dev)); ++ // do not call udev_device_get_parent(udev_device_get_parent(dev)) ++ // directly as a null reurn on the parent will cause an assert in ++ // udev_device_get_parent ++ pdev = udev_device_get_parent(dev); ++ if (pdev) ++ pdev = udev_device_get_parent(pdev); + if (!pdev || !udev_device_get_sysattr_value(pdev, "idVendor") || !udev_device_get_sysattr_value(pdev, "idProduct")) + { + udev_device_unref(dev); +-- +2.43.0 + diff --git a/libcec.spec b/libcec.spec index 539cb70..1bda1b4 100644 --- a/libcec.spec +++ b/libcec.spec @@ -1,7 +1,7 @@ Name: libcec Epoch: 1 Version: 6.0.2 -Release: 4mamba +Release: 5mamba Summary: USB CEC Adaptor communication Library Group: System/Kernel and Hardware Vendor: openmamba @@ -10,6 +10,7 @@ Packager: Silvan Calarco URL: https://libcec.pulse-eight.com/ Source: https://github.com/Pulse-Eight/libcec/archive/libcec-%{version}.tar.gz Patch1: libcec-6.0.2-pythonlib.patch +Patch2: libcec-6.0.2-libudev-256.patch License: GPL ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel @@ -64,11 +65,13 @@ This package contains libraries and header files for developing applications tha %setup -q -n libcec-libcec-%{version} #-D -T #:<< _EOF -%patch1 -p1 +%patch 1 -p1 +%patch 2 -p1 -b .libudev-256 %build #:<< _EOF %cmake -d build \ + -DHAVE_LINUX_API=1 \ -DPYTHON_INCLUDE_DIR=%{python3_inc} \ -DPYTHON_LIBRARY=%{_libdir}/libpython%{python3_version}.so \ %ifarch arm aarch64 @@ -118,6 +121,9 @@ This package contains libraries and header files for developing applications tha %{python3_sitearch}/cec/cec.py %changelog +* Wed Dec 25 2024 Silvan Calarco 6.0.2-5mamba +- add patch to fix crash in libudev >= 256 ( https://github.com/LibreELEC/LibreELEC.tv/pull/8982 ) + * Sun Nov 10 2024 Silvan Calarco 6.0.2-4mamba - updated URL; close #1