From 0bad9ad584bd8b02fec1bfe161c3cb2559461b0c Mon Sep 17 00:00:00 2001 From: Marcus Hoffmann Date: Thu, 20 Nov 2025 13:37:00 +0100 Subject: [PATCH] package/python-sdbus-systemd: new package Signed-off-by: Marcus Hoffmann Signed-off-by: Julien Olivain --- DEVELOPERS | 3 +++ package/Config.in | 1 + package/python-sdbus-systemd/Config.in | 11 +++++++++++ .../python-sdbus-systemd/python-sdbus-systemd.hash | 5 +++++ .../python-sdbus-systemd/python-sdbus-systemd.mk | 14 ++++++++++++++ .../tests/package/sample_python_sdbus_systemd.py | 11 +++++++++++ .../tests/package/test_python_sdbus_systemd.py | 14 ++++++++++++++ 7 files changed, 59 insertions(+) create mode 100644 package/python-sdbus-systemd/Config.in create mode 100644 package/python-sdbus-systemd/python-sdbus-systemd.hash create mode 100644 package/python-sdbus-systemd/python-sdbus-systemd.mk create mode 100644 support/testing/tests/package/sample_python_sdbus_systemd.py create mode 100644 support/testing/tests/package/test_python_sdbus_systemd.py diff --git a/DEVELOPERS b/DEVELOPERS index 4f7f034df7..9fedc81332 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -2278,6 +2278,7 @@ F: package/python-ruamel-yaml-clib/ F: package/python-typing-inspection/ F: package/python-tzlocal/ F: package/python-sdbus-modemmanager/ +F: package/python-sdbus-systemd/ F: package/python-varlink/ F: package/python-waitress/ F: package/python-whitenoise/ @@ -2290,6 +2291,7 @@ F: support/testing/tests/package/test_python_pydantic.py F: support/testing/tests/package/test_python_pydantic_settings.py F: support/testing/tests/package/test_python_ruamel_yaml.py F: support/testing/tests/package/test_python_sdbus_modemmanager.py +F: support/testing/tests/package/test_python_sdbus_systemd.py F: support/testing/tests/package/test_python_tzlocal.py F: support/testing/tests/package/test_python_varlink.py F: support/testing/tests/package/test_python_varlink/ @@ -2304,6 +2306,7 @@ F: support/testing/tests/package/sample_python_pydantic.py F: support/testing/tests/package/sample_python_pydantic_settings.py F: support/testing/tests/package/sample_python_ruamel_yaml.py F: support/testing/tests/package/sample_python_sdbus_modemmanager.py +F: support/testing/tests/package/sample_python_sdbus_systemd.py N: Marek Belisko F: package/libatasmart/ diff --git a/package/Config.in b/package/Config.in index 41fc5af330..258ad1883d 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1393,6 +1393,7 @@ menu "External python modules" source "package/python-sdbus/Config.in" source "package/python-sdbus-modemmanager/Config.in" source "package/python-sdbus-networkmanager/Config.in" + source "package/python-sdbus-systemd/Config.in" source "package/python-sdnotify/Config.in" source "package/python-secretstorage/Config.in" source "package/python-see/Config.in" diff --git a/package/python-sdbus-systemd/Config.in b/package/python-sdbus-systemd/Config.in new file mode 100644 index 0000000000..0244f4dc0f --- /dev/null +++ b/package/python-sdbus-systemd/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_PYTHON_SDBUS_SYSTEMD + bool "python-sdbus-systemd" + depends on BR2_PACKAGE_SYSTEMD + select BR2_PACKAGE_PYTHON_SDBUS # runtime + help + Systemd bindings for python-sdbus. + + https://github.com/bernhardkaindl/python-sdbus-systemd + +comment "python-sdbus-systemd needs systemd" + depends on !BR2_PACKAGE_SYSTEMD diff --git a/package/python-sdbus-systemd/python-sdbus-systemd.hash b/package/python-sdbus-systemd/python-sdbus-systemd.hash new file mode 100644 index 0000000000..31eb2a0c64 --- /dev/null +++ b/package/python-sdbus-systemd/python-sdbus-systemd.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/sdbus-modemmanager/json +md5 726a016b518e3ac47fde0e51b751b6b0 sdbus-systemd-1.0.0.tar.gz +sha256 80aef69a69685ac7807ba1cc7db48e10e59104260beda1deef6cd5f81e1ad297 sdbus-systemd-1.0.0.tar.gz +# Locally computed sha256 checksums +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LESSER diff --git a/package/python-sdbus-systemd/python-sdbus-systemd.mk b/package/python-sdbus-systemd/python-sdbus-systemd.mk new file mode 100644 index 0000000000..0599d2794a --- /dev/null +++ b/package/python-sdbus-systemd/python-sdbus-systemd.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-sdbus-systemd +# +################################################################################ + +PYTHON_SDBUS_SYSTEMD_VERSION = 1.0.0 +PYTHON_SDBUS_SYSTEMD_SOURCE = sdbus-systemd-$(PYTHON_SDBUS_SYSTEMD_VERSION).tar.gz +PYTHON_SDBUS_SYSTEMD_SITE = https://files.pythonhosted.org/packages/e1/84/911de0ea63a0dab814dc94f73e7b916bfd4675e1e983b58a725a26a65db4 +PYTHON_SDBUS_SYSTEMD_SETUP_TYPE = setuptools +PYTHON_SDBUS_SYSTEMD_LICENSE = LGPL-2.1+ +PYTHON_SDBUS_SYSTEMD_LICENSE_FILES = COPYING.LESSER + +$(eval $(python-package)) diff --git a/support/testing/tests/package/sample_python_sdbus_systemd.py b/support/testing/tests/package/sample_python_sdbus_systemd.py new file mode 100644 index 0000000000..07e4a886cc --- /dev/null +++ b/support/testing/tests/package/sample_python_sdbus_systemd.py @@ -0,0 +1,11 @@ +#!/usr/bin/env python3 + +import sdbus + +from sdbus_block.systemd.objects import Systemd, SystemdUnit + +sdbus.set_default_bus(sdbus.sd_bus_open_system()) +unit_object_path = Systemd().load_unit("systemd-journald.service") +unit = SystemdUnit(unit_object_path) + +assert unit.active_enter_timestamp is not None diff --git a/support/testing/tests/package/test_python_sdbus_systemd.py b/support/testing/tests/package/test_python_sdbus_systemd.py new file mode 100644 index 0000000000..9e97df6465 --- /dev/null +++ b/support/testing/tests/package/test_python_sdbus_systemd.py @@ -0,0 +1,14 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy3SdbusSystemd(TestPythonPackageBase): + __test__ = True + config = ( + TestPythonPackageBase.config + + """ + BR2_PACKAGE_PYTHON3=y + BR2_INIT_SYSTEMD=y + BR2_PACKAGE_PYTHON_SDBUS_SYSTEMD=y + """ + ) + sample_scripts = ["tests/package/sample_python_sdbus_systemd.py"]