From b831162bcd09296b2a011f85e969f3fae5339cb9 Mon Sep 17 00:00:00 2001 From: Rmys Date: Sun, 26 Oct 2025 21:44:03 +0300 Subject: [PATCH] polkit ver. bump --- system/base/polkit/actions.py | 1 - .../files/gentoo/polkit-126-dbusmock.patch | 99 +++++++++++++++++++ .../files/gentoo/polkit-126-elogind.patch | 37 +++++++ system/base/polkit/pspec.xml | 13 ++- 4 files changed, 146 insertions(+), 4 deletions(-) create mode 100644 system/base/polkit/files/gentoo/polkit-126-dbusmock.patch create mode 100644 system/base/polkit/files/gentoo/polkit-126-elogind.patch diff --git a/system/base/polkit/actions.py b/system/base/polkit/actions.py index 429044d5..e9e22aaa 100644 --- a/system/base/polkit/actions.py +++ b/system/base/polkit/actions.py @@ -20,7 +20,6 @@ def setup(): -Dpam_module_dir=/lib/security \ -Dexamples=true \ -Dauthfw='pam' \ - -Djs_engine='duktape' \ -Dsession_tracking=elogind") def build(): diff --git a/system/base/polkit/files/gentoo/polkit-126-dbusmock.patch b/system/base/polkit/files/gentoo/polkit-126-dbusmock.patch new file mode 100644 index 00000000..b11c85b3 --- /dev/null +++ b/system/base/polkit/files/gentoo/polkit-126-dbusmock.patch @@ -0,0 +1,99 @@ +https://github.com/polkit-org/polkit/commit/690e6972ffe30473dacbfaa81158f5507cef99f6 +https://github.com/polkit-org/polkit/commit/247952425829e41a47e83b2e433b9703713739f5 + +From 690e6972ffe30473dacbfaa81158f5507cef99f6 Mon Sep 17 00:00:00 2001 +From: Jan Rybar +Date: Wed, 1 Oct 2025 13:23:45 +0200 +Subject: [PATCH] DBusMock: CI broken after stop_dbus() removal + +Because stop_dbus() was removed from DBusMock implementation, nothing +actually stops the system bus in testing environment in the wrapper.py +child process, hence the test times out into failure. +Adding simple kill() in atexit() is sufficient, but the +original implementation in DBusMock seemed more graceful, so it was +pulled back in. +--- + test/wrapper.py | 34 +++++++++++++++++++++++++++++++++- + 1 file changed, 33 insertions(+), 1 deletion(-) + +diff --git a/test/wrapper.py b/test/wrapper.py +index 14f4abdb..dc62f702 100755 +--- a/test/wrapper.py ++++ b/test/wrapper.py +@@ -5,6 +5,8 @@ + import os + import subprocess + import sys ++import signal ++import time + + import dbus + import dbus.mainloop.glib +@@ -36,6 +38,36 @@ def setup_test_namespace(data_dir): + print("Python 3.12 is required for os.unshare(), skipping") + sys.exit(77) + ++ ++def stop_dbus(pid: int) -> None: ++ """Stop a D-Bus daemon ++ ++ If DBus daemon is not explicitly killed in the testing environment ++ the test times out and reports as failed. ++ This is a backport of a function dropped from DBusMock source (99c4800e9eed). ++ """ ++ signal.signal(signal.SIGTERM, signal.SIG_IGN) ++ for _ in range(50): ++ try: ++ os.kill(pid, signal.SIGTERM) ++ os.waitpid(pid, os.WNOHANG) ++ except ChildProcessError: ++ break ++ except OSError as e: ++ if e.errno == errno.ESRCH: ++ break ++ raise ++ time.sleep(0.1) ++ else: ++ sys.stderr.write("ERROR: timed out waiting for bus process to terminate\n") ++ os.kill(pid, signal.SIGKILL) ++ try: ++ os.waitpid(pid, 0) ++ except ChildProcessError: ++ pass ++ signal.signal(signal.SIGTERM, signal.SIG_DFL) ++ ++ + if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument("test_executable", +@@ -51,7 +83,7 @@ def setup_test_namespace(data_dir): + if args.mock_dbus: + dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) + dbusmock.DBusTestCase.start_system_bus() +- atexit.register(dbusmock.DBusTestCase.stop_dbus, dbusmock.DBusTestCase.system_bus_pid) ++ atexit.register(stop_dbus, dbusmock.DBusTestCase.system_bus_pid) + + print(f"Executing '{args.test_executable}'") + sys.stdout.flush() + +From 247952425829e41a47e83b2e433b9703713739f5 Mon Sep 17 00:00:00 2001 +From: Jan Rybar +Date: Sun, 5 Oct 2025 16:40:30 +0200 +Subject: [PATCH] Missed 'errno' import in wrapper + +--- + test/wrapper.py | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/test/wrapper.py b/test/wrapper.py +index dc62f70..9547720 100755 +--- a/test/wrapper.py ++++ b/test/wrapper.py +@@ -7,6 +7,7 @@ + import sys + import signal + import time ++import errno + + import dbus + import dbus.mainloop.glib diff --git a/system/base/polkit/files/gentoo/polkit-126-elogind.patch b/system/base/polkit/files/gentoo/polkit-126-elogind.patch new file mode 100644 index 00000000..41245059 --- /dev/null +++ b/system/base/polkit/files/gentoo/polkit-126-elogind.patch @@ -0,0 +1,37 @@ +https://github.com/polkit-org/polkit/commit/55ee1b70456eca8281dda9612c485c619122f202 + +From 55ee1b70456eca8281dda9612c485c619122f202 Mon Sep 17 00:00:00 2001 +From: Jan Rybar +Date: Tue, 14 Jan 2025 13:47:54 +0100 +Subject: [PATCH] meson: fix unused dependency, fixes elogind FTBFS + +polkit-126 could not be built from source with elogind session service due +to wrong dependencies in meson.build. + +Author: @markhindley +--- + src/polkitbackend/meson.build | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/src/polkitbackend/meson.build b/src/polkitbackend/meson.build +index fc35e195..a807b41b 100644 +--- a/src/polkitbackend/meson.build ++++ b/src/polkitbackend/meson.build +@@ -37,7 +37,6 @@ deps += thread_dep + + if enable_logind + sources += files('polkitbackendsessionmonitor-systemd.c') +- + deps += logind_dep + else + sources += files('polkitbackendsessionmonitor.c') +@@ -73,7 +72,7 @@ executable( + program, + program + '.c', + include_directories: top_inc, +- dependencies: libpolkit_gobject_dep, ++ dependencies: deps, + c_args: c_flags, + link_with: libpolkit_backend, + install: true, + diff --git a/system/base/polkit/pspec.xml b/system/base/polkit/pspec.xml index de5f8d66..6f53723d 100644 --- a/system/base/polkit/pspec.xml +++ b/system/base/polkit/pspec.xml @@ -14,7 +14,7 @@ app:console PolicyKit Authorization Framework polkit is a toolkit for defining and handling authorizations. It is used for allowing unprivileged processes to speak to privileged processes. - https://github.com/polkit-org/polkit/archive/125/polkit-125.tar.gz + https://github.com/polkit-org/polkit/archive/126/polkit-126.tar.gz meson python3 @@ -34,8 +34,8 @@ use-system-locale-in-gobject-api.diff - - + gentoo/polkit-126-elogind.patch + gentoo/polkit-126-dbusmock.patch @@ -95,6 +95,13 @@ + + 2025-10-26 + 126 + Version bump. + Pisi Linux Community + admin@pisilinux.org + 2024-09-30 125