diff --git a/0001-Fix-race-condition-in-test_sibling_priority_no_overwrite.patch b/0001-Fix-race-condition-in-test_sibling_priority_no_overwrite.patch new file mode 100644 index 0000000000000000000000000000000000000000..c39928bdf688d90192fa7b7e2f99325b264b36a2 --- /dev/null +++ b/0001-Fix-race-condition-in-test_sibling_priority_no_overwrite.patch @@ -0,0 +1,26 @@ +From 9ee76826bd41a5d3a377dfd6f5835f42ec50be9a Mon Sep 17 00:00:00 2001 +From: Stuart Hayhurst +Date: Wed, 25 Sep 2024 16:56:11 +0100 +Subject: [PATCH] Fix race condition in test_sibling_priority_no_overwrite + +--- + src/linux/integration-test.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/linux/integration-test.py b/src/linux/integration-test.py +index 6b1514a9..f6c804a4 100755 +--- a/src/linux/integration-test.py ++++ b/src/linux/integration-test.py +@@ -3148,8 +3148,8 @@ class Tests(dbusmock.DBusTestCase): + def test_sibling_priority_no_overwrite(self): + 'Test siblings using the fallback device do not overwrite previous guesses' + +- self.start_daemon() + self.testbed.add_from_file(os.path.join(edir, 'tests/wacom-pen-digitiser.device')) ++ self.start_daemon() + + self.assertDevs({ + 'battery_wacom_battery_0': { +-- +GitLab + diff --git a/0002-linux-up-enumerator-udev-Find-the.patch b/0002-linux-up-enumerator-udev-Find-the.patch new file mode 100644 index 0000000000000000000000000000000000000000..54c0681799d8f8e296dd2bfba84e41356065916a --- /dev/null +++ b/0002-linux-up-enumerator-udev-Find-the.patch @@ -0,0 +1,43 @@ +From 7d7bb84fde91bef9ee7eba924cbdfa74639cc4fe Mon Sep 17 00:00:00 2001 +From: Kate Hsuan +Date: Tue, 18 Jun 2024 15:04:29 +0800 +Subject: [PATCH] linux: up-enumerator-udev: Find the correct parent id for + input devices + +The parent id for the devices under "/sys/devices/virtual/misc/uhid/*" +points to /sys/devices/virtual/misc/uhid. It will cause the device +information to be updated incorrectly. For example, the type for a mouse is +updated to "keyboard". This patch makes sure the correct parent id for +each input device. + +Resolves: #268 #286 +--- + src/linux/up-enumerator-udev.c | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/src/linux/up-enumerator-udev.c b/src/linux/up-enumerator-udev.c +index 36e3887b..553f6524 100644 +--- a/src/linux/up-enumerator-udev.c ++++ b/src/linux/up-enumerator-udev.c +@@ -66,8 +66,17 @@ device_parent_id (GUdevDevice *dev) + return NULL; + + /* Continue walk if the parent is a "hid" device */ +- if (g_strcmp0 (subsystem, "hid") == 0) ++ if (g_strcmp0 (subsystem, "hid") == 0) { ++ /* if the parent is under /sys/devices/virtual/misc/uhid, the device should be input devices ++ * and return the path immediately to make sure they belongs to the correct parent. ++ * for example: ++ * root@fedora:/sys/devices/virtual/misc/uhid# ls ++ * 0005:046D:B01A.0005 0005:05AC:0250.000B dev power subsystem uevent */ ++ if (g_strrstr (g_udev_device_get_sysfs_path (parent), "/sys/devices/virtual/misc/uhid")) ++ return g_strdup (g_udev_device_get_sysfs_path (parent)); ++ + return device_parent_id (parent); ++ } + + /* Also skip over USB interfaces, we care about full devices */ + if (g_strcmp0 (subsystem, "usb") == 0 && +-- +GitLab + diff --git a/upower-v0.99.20.tar.bz2 b/upower-v0.99.20.tar.bz2 deleted file mode 100644 index 0320e37ed1a4984008e9a501a42112a2070985bf..0000000000000000000000000000000000000000 Binary files a/upower-v0.99.20.tar.bz2 and /dev/null differ diff --git a/upower-v1.90.6.tar.bz2 b/upower-v1.90.6.tar.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..e7556d8a6828e570db56537d0610b79723a034fc Binary files /dev/null and b/upower-v1.90.6.tar.bz2 differ diff --git a/upower.spec b/upower.spec index 439f0c11d452d1d64b388708b2a7635f0557f24c..f24332faa57d64f98181587d6f2ca00589d7d067 100644 --- a/upower.spec +++ b/upower.spec @@ -1,20 +1,25 @@ -%define anolis_release 3 +%define anolis_release 1 Summary: Power Management Service Name: upower -Version: 0.99.20 +Version: 1.90.6 Release: %{anolis_release}%{?dist} License: GPLv2+ URL: http://upower.freedesktop.org/ Source0: https://gitlab.freedesktop.org/upower/upower/-/archive/v%{version}/%{name}-v%{version}.tar.bz2 +# https://gitlab.freedesktop.org/upower/upower/-/commit/9ee76826bd41a5d3a377dfd6f5835f42ec50be9a +Patch1001: 0001-Fix-race-condition-in-test_sibling_priority_no_overwrite.patch +# https://gitlab.freedesktop.org/upower/upower/-/commit/7d7bb84fde91bef9ee7eba924cbdfa74639cc4fe +Patch1002: 0002-linux-up-enumerator-udev-Find-the.patch + BuildRequires: gcc gcc-c++ automake autoconf BuildRequires: gettext gtk-doc xsltproc meson >= 0.56.0 BuildRequires: pkgconfig(gio-2.0) >= 2.58 pkgconfig(gio-unix-2.0) >= 2.58 BuildRequires: pkgconfig(glib-2.0) >= 2.58 BuildRequires: pkgconfig(gobject-2.0) >= 2.58 pkgconfig(gobject-introspection-1.0) BuildRequires: pkgconfig(gudev-1.0) >= 235 pkgconfig(systemd) pkgconfig(udev) -BuildRequires: pkgconfig(libimobiledevice-1.0) >= 0.9.7 +BuildRequires: pkgconfig(libimobiledevice-1.0) >= 0.9.7 polkit-devel Requires: udev gobject-introspection Obsoletes: compat-%{name}09 < 0.99 @@ -72,14 +77,17 @@ Developer documentation for for libupower-glib. %{_bindir}/upower %{_libdir}/libupower-glib.so.* %{_libdir}/girepository-1.0/*.typelib +%{_udevhwdbdir}/*.hwdb %ghost %dir %{_localstatedir}/lib/upower -%{_libexecdir}/upowerd +%{_libexecdir}/* %{_udevrulesdir}/*.rules %{_unitdir}/upower.service %{_udevhwdbdir}/95-upower-hid.hwdb %{_mandir}/man1/*.zst %{_mandir}/man7/*.zst %{_mandir}/man8/*.zst +%{_datadir}/installed-tests/upower/upower-integration.test +%{_datadir}/polkit-1/actions/org.freedesktop.upower.policy %license COPYING %doc README NEWS AUTHORS HACKING @@ -100,6 +108,10 @@ Developer documentation for for libupower-glib. %changelog +* Fri Mar 21 2025 mgb01105731 - 1.90.6-1 +- Update to 1.90.6 from 0.99.20 +- Add patches to fix bug + * Tue Apr 30 2024 Bo Ren - 0.99.20-3 - Rebuild for anolis23.1