From c85ed22733746c05ca0273adbb6ed710ed229406 Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Wed, 12 Jun 2024 21:50:47 +0000 Subject: [PATCH 1/3] kodi: PeripheralBusUSBLibUdev: fix assert issue with systemd udev --- ...LibUdev-fix-assert-issue-with-system.patch | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 packages/mediacenter/kodi/patches/kodi-999.40-PeripheralBusUSBLibUdev-fix-assert-issue-with-system.patch diff --git a/packages/mediacenter/kodi/patches/kodi-999.40-PeripheralBusUSBLibUdev-fix-assert-issue-with-system.patch b/packages/mediacenter/kodi/patches/kodi-999.40-PeripheralBusUSBLibUdev-fix-assert-issue-with-system.patch new file mode 100644 index 00000000000..a7fc5571a43 --- /dev/null +++ b/packages/mediacenter/kodi/patches/kodi-999.40-PeripheralBusUSBLibUdev-fix-assert-issue-with-system.patch @@ -0,0 +1,33 @@ +From 8a78c59791ba408c3f03e285b68f9afbac2658d8 Mon Sep 17 00:00:00 2001 +From: Rudi Heitbaum +Date: Wed, 12 Jun 2024 21:45:23 +0000 +Subject: [PATCH] PeripheralBusUSBLibUdev: fix assert issue with systemd udev + +do not call udev_device_get_parent(udev_device_get_parent(dev)) +directly as a null return on the parent will cause an assert in +udev_device_get_parent +--- + .../platform/linux/peripherals/PeripheralBusUSBLibUdev.cpp | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/xbmc/platform/linux/peripherals/PeripheralBusUSBLibUdev.cpp b/xbmc/platform/linux/peripherals/PeripheralBusUSBLibUdev.cpp +index aeb5e71d9f..3b649652c3 100644 +--- a/xbmc/platform/linux/peripherals/PeripheralBusUSBLibUdev.cpp ++++ b/xbmc/platform/linux/peripherals/PeripheralBusUSBLibUdev.cpp +@@ -108,7 +108,12 @@ bool CPeripheralBusUSB::PerformDeviceScan(PeripheralScanResults &results) + + if (bContinue) + { +- dev = udev_device_get_parent(udev_device_get_parent(parent)); ++ // do not call udev_device_get_parent(udev_device_get_parent(dev)) ++ // directly as a null return on the parent will cause an assert in ++ // udev_device_get_parent ++ dev = udev_device_get_parent(parent); ++ if (dev) ++ dev = udev_device_get_parent(dev); + if (!dev || !udev_device_get_sysattr_value(dev,"idVendor") || !udev_device_get_sysattr_value(dev, "idProduct")) + bContinue = false; + } +-- +2.43.0 + From df63d5cf4fc38d840cb8941ab16cc7952315b674 Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Wed, 12 Jun 2024 21:53:30 +0000 Subject: [PATCH 2/3] libcec: fix assert issue with systemd udev --- ...2-fix-assert-issue-with-systemd-udev.patch | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 packages/devel/libcec/patches/0002-fix-assert-issue-with-systemd-udev.patch diff --git a/packages/devel/libcec/patches/0002-fix-assert-issue-with-systemd-udev.patch b/packages/devel/libcec/patches/0002-fix-assert-issue-with-systemd-udev.patch new file mode 100644 index 00000000000..47de36170b3 --- /dev/null +++ b/packages/devel/libcec/patches/0002-fix-assert-issue-with-systemd-udev.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 + From f2b734f4d571f482eaa49841fae220ae5dac5431 Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Mon, 20 May 2024 12:17:54 +0000 Subject: [PATCH 3/3] systemd: update to 256 Release notes: - https://github.com/systemd/systemd/releases --- packages/sysutils/systemd/package.mk | 4 ++-- .../systemd-0200-persist-persistent-timer-stamps.patch | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/sysutils/systemd/package.mk b/packages/sysutils/systemd/package.mk index 48dc7f04f82..a640cebf7f7 100644 --- a/packages/sysutils/systemd/package.mk +++ b/packages/sysutils/systemd/package.mk @@ -3,8 +3,8 @@ # Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) PKG_NAME="systemd" -PKG_VERSION="255.7" -PKG_SHA256="da29f2490c192ca743511098b1d15e385b1b5e7744979661dc30514c1ac61f0e" +PKG_VERSION="256" +PKG_SHA256="ca40487e044c9d6b7ad214d453b1cab696e5ccbd5244eca78460972cb0589a17" PKG_LICENSE="LGPL2.1+" PKG_SITE="http://www.freedesktop.org/wiki/Software/systemd" PKG_URL="https://github.com/systemd/systemd-stable/archive/v${PKG_VERSION}.tar.gz" diff --git a/packages/sysutils/systemd/patches/systemd-0200-persist-persistent-timer-stamps.patch b/packages/sysutils/systemd/patches/systemd-0200-persist-persistent-timer-stamps.patch index d7990a0dc53..89b071645f0 100644 --- a/packages/sysutils/systemd/patches/systemd-0200-persist-persistent-timer-stamps.patch +++ b/packages/sysutils/systemd/patches/systemd-0200-persist-persistent-timer-stamps.patch @@ -11,12 +11,12 @@ diff --git a/src/core/timer.c b/src/core/timer.c index 03935ee..bfd5c02 100644 --- a/src/core/timer.c +++ b/src/core/timer.c -@@ -144,11 +144,11 @@ static int timer_setup_persistent(Timer *t) { +@@ -138,11 +138,11 @@ static int timer_setup_persistent(Timer *t) { if (MANAGER_IS_SYSTEM(UNIT(t)->manager)) { -- r = unit_require_mounts_for(UNIT(t), "/var/lib/systemd/timers", UNIT_DEPENDENCY_FILE); -+ r = unit_require_mounts_for(UNIT(t), "/storage/.cache/systemd/timers", UNIT_DEPENDENCY_FILE); +- r = unit_add_mounts_for(UNIT(t), "/var/lib/systemd/timers", UNIT_DEPENDENCY_FILE, UNIT_MOUNT_REQUIRES); ++ r = unit_add_mounts_for(UNIT(t), "/storage/.cache/systemd/timers", UNIT_DEPENDENCY_FILE, UNIT_MOUNT_REQUIRES); if (r < 0) return r;