From patchwork Sun Jan 9 22:16:47 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Norbert Lange X-Patchwork-Id: 1577584 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=WHTI7PXe; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=buildroot.org (client-ip=2605:bc80:3010::137; helo=smtp4.osuosl.org; envelope-from=buildroot-bounces@buildroot.org; receiver=) Received: from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4JXBCC2JWZz9s9c for ; Mon, 10 Jan 2022 09:17:09 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 873D24017B; Sun, 9 Jan 2022 22:17:06 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id i8ZaxlzGsy3x; Sun, 9 Jan 2022 22:17:05 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp4.osuosl.org (Postfix) with ESMTP id 35B94401CF; Sun, 9 Jan 2022 22:17:04 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by ash.osuosl.org (Postfix) with ESMTP id 3680D1BF41C for ; Sun, 9 Jan 2022 22:17:02 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 2B46860B12 for ; Sun, 9 Jan 2022 22:17:02 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Authentication-Results: smtp3.osuosl.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 268TsLJ_S6_Z for ; Sun, 9 Jan 2022 22:17:00 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com [IPv6:2a00:1450:4864:20::32f]) by smtp3.osuosl.org (Postfix) with ESMTPS id 4BFA160ACB for ; Sun, 9 Jan 2022 22:17:00 +0000 (UTC) Received: by mail-wm1-x32f.google.com with SMTP id f189-20020a1c1fc6000000b00347ac5ccf6cso4188181wmf.3 for ; Sun, 09 Jan 2022 14:17:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=HvwF1JEsBvgYWEJ/xJhdRblmLRA2MI0pkga7sh7uSck=; b=WHTI7PXeqw1ln62L0RpaEltlrw14Kep/t1sH1DVQAt3514ozjKzlE9PDfHA56Rz/AB zvnuqb91zrMDrM958Ff76GCN8aPq2UBtZazavYz9VQs3N/bkWmPACZJ+MwzFibAj7XDW P8UT6h/WCdWHmVG+yRu3O99UdNzNcRbzqbsN2yfMIos8TxW0X7YVXfylcTCs7ZT4/yq3 Bq8fuIp1JQj65uRSvyY7c3dJD65m+jmMilTml2JBaPG7ECWN7kgBVtLT6V48LR4bHc/8 22TbhhmWdWjNf/5kab+Ufltqd7uAYSuhaSryMAWUb/dtHqNqt8Ek3ee3EHYz+i4u76+U dbhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=HvwF1JEsBvgYWEJ/xJhdRblmLRA2MI0pkga7sh7uSck=; b=wFVqVKZ5yOev3SCSssrrtuEPr2XfBnQOqwKFv6tgD8zWzZm7pFScgIH62d0w5oSHXp X7dn6fY3k1puh5ePRGZzJzU8M4CbKxmsudJ5yDUtFgeNSlTym/RVLCfNNZFgU9yLKf6V IJ2y0UfqUVfo8HeQzHheyQr+qLpTQCPY10svKwM+keTJPKOc1lptIOa+KSZS3WgFMCJZ Jmw84p42Z7n32PqhZg5eZ9SnAx3Z2TbU/FIMiBVCoUidvNfOG2oR7vqUhFrLEEbto0Xa 5N0hUz/9mAAeus3bUHJ1Te0Zb8hWb3B7F8psaS9pirA7BO/lGVo/lqh+vJ522klAo7F7 5cUQ== X-Gm-Message-State: AOAM533KT+D6ObK710CszuUTB54XetMTP6xMOnoHLqn6X2tifLbhE7x1 mad0IhvJre2qkD+AYti/YLxnxPqRw1g= X-Google-Smtp-Source: ABdhPJz+1fu4zFphNRSmFdK8pJtcro6ILZndNTx1EO7IROH068Bse+kQJxpbLtq97i7mnTlPNHDz1Q== X-Received: by 2002:a05:600c:1c18:: with SMTP id j24mr19818269wms.189.1641766618325; Sun, 09 Jan 2022 14:16:58 -0800 (PST) Received: from debian-noppl.. (62-178-205-20.cable.dynamic.surfer.at. [62.178.205.20]) by smtp.gmail.com with ESMTPSA id 1sm5395468wrb.13.2022.01.09.14.16.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 09 Jan 2022 14:16:57 -0800 (PST) From: Norbert Lange To: buildroot@buildroot.org Date: Sun, 9 Jan 2022 23:16:47 +0100 Message-Id: <20220109221650.777610-1-nolange79@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Subject: [Buildroot] [PATCH v6 1/4] package/dbus-broker: new package X-BeenThere: buildroot@buildroot.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Eric Le Bihan , Norbert Lange , "Yann E . MORIN" Errors-To: buildroot-bounces@buildroot.org Sender: "buildroot" dbus-broker is an alternate implementation of a dbus dameon. It can be used as a drop-in replacement for the system bus daemon, as well as the session bus daemon. dbus-broker is (basically, and as far as we're concerned in Buildroot) split in two components: - the actual message bus daemon, that relays messages across clients - a launcher, which is responsible for setting various aspects of the bus, like setting the policy et al. and opening the socket(s) the message bus daemon will have to listen on... The launcher can only be used in a systemd setup (it makes heavy use of systemd facilities), while the message bus is generic. However, the message bus daemon is useless without a launcher. There does not exist a non-systemd launcher, which makes dbus-broker actually a systemd-only package; this can be revisited when/if a non-systemd launcher appears. Note, however, that libdbus is not provided by dbus-borker. People who want to use dbus-broker as the bus daemon, and need libdbus, will have to enable both, see below. There are two cases: 1. original dbus disabled Here, we install the config files and systemd socket activation units; dbus-broker provides the system and sessions bus daemons. In this case, libdbus is not available. 2. original dbus enabled In this case, we do not install the config files and systemd socket activation units, or define a user: they all are provided by the original dbus, and we piggy-back on those. In this situation, the default system and sessions message bus are the original dbus, and libdbus is available; dbus-broker is not enabled. So far, we believe it would be over-engineered to provide a way to allow choosing the bus daemon in the configuraiton. However, users may opt-in to use dbus-broker in a few ways: - at build-time: by calling systemctl enable/disable from a post-build script (preferred), or by providing drop-in units or presets in an overlay (less preferred) or custom skeleton (as a last resort), - at runtime (on a RW filesystem): by calling systemctl enable/disable Note about the user: the path to the system bus socket is a so-called "well-known location": it is expected to be there, by spec. Moving it elsewhere is going to break existing programs. So, the user running the system bus daemon must be able to create that socket. As we may have two packages providing a system bus daemon, they have to be both able to create the socket, and thus must both be able to write in the directory containing the socket. And since they can be switched at runtime, they must be running as the same user. We can't just reference the original dbus user, so we duplicate the entry. What is important, is that the user be named 'dbus', as that's what we use in both cases. Finally, the licensing terms are pretty trivial for dbus-broker itself, but it makes use of third-party code that it inherits as git submodules (that are bundled in the release archive). Thus the licensing is a bit convoluted... The third-party codes claim to be licensed as "Apache-2.0 and LGP-2.1+" in their AUTHORS files, but at the same time claim "**Apache-2.0** OR **LGPL-2.1-or-later**" in their README files. The individual source files (that are used) do not seem to have any licensing header to clarify the situation. So we represent the situation with "Apache-2.0 and/or LGPL-2.1+". Signed-off-by: Norbert Lange [yann.morin.1998@free.fr: - don't select systemd; depend on it instead - only install config files and systemd units without original dbus - install a user to run the message bus as - fix licensing info - entirely reword and extend the commit log - add myself to DEVELOPERS as well ] Signed-off-by: Yann E. MORIN --- Changes v5 -> v6 (Norbert, respinning after Yann): - bump version to v29 - Linux 4.17 is now a hard requirement, drop passing option - sync dbus_broker user to dbus package ( home = /run/dbus ) Changes v4 -> v5 (Yann, after review by Norbert): - define the user to run as directly in system.conf - as a consequence, drop the unit drop-in - add myself to DEVELOPERS as well Changes v3 -> v4 (Yann, respining after review by Norbert): - drop the non-systemd case - drop the launcher option - reinstate BR2_COREUTILS_HOST_DEPENDENCY and ln --relative - reinstate the user, explain it Changes v2 -> v3 (Norbert, respinning after Yann): - add an own config entry for dbus-broker-launch enabled by default if systemd init is used - undo BR2_COREUTILS_HOST_DEPENDENCY - undo adding dbus user - never used by this package - add condtional audit dependency - cleanup conditional logic a bit Changes v1 -> v2 (Yann): - make launcher conditional - don't select systemd; don't depend on it either - don't install systemd units without systemd - only install config files and systemd units wihtout original dbus - rename hooks with meaningful names - fix licensing info - entirely reword and extend the commit log --- DEVELOPERS | 2 + package/Config.in | 1 + package/dbus-broker/Config.in | 23 +++++ package/dbus-broker/dbus-broker.hash | 3 + package/dbus-broker/dbus-broker.mk | 71 ++++++++++++++++ package/dbus-broker/dbus.socket | 5 ++ package/dbus-broker/session.conf | 65 ++++++++++++++ package/dbus-broker/system.conf | 123 +++++++++++++++++++++++++++ 8 files changed, 293 insertions(+) create mode 100644 package/dbus-broker/Config.in create mode 100644 package/dbus-broker/dbus-broker.hash create mode 100644 package/dbus-broker/dbus-broker.mk create mode 100644 package/dbus-broker/dbus.socket create mode 100644 package/dbus-broker/session.conf create mode 100644 package/dbus-broker/system.conf diff --git a/DEVELOPERS b/DEVELOPERS index ed65c74319..02ba98e410 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -2111,6 +2111,7 @@ F: package/tpm-tools/ F: package/trousers/ N: Norbert Lange +F: package/dbus-broker/ F: package/systemd/ F: package/tcf-agent/ @@ -2914,6 +2915,7 @@ F: package/asterisk/ F: package/cegui/ F: package/dahdi-linux/ F: package/dahdi-tools/ +F: package/dbus-broker/ F: package/dtc/ F: package/dtv-scan-tables/ F: package/dvb-apps/ diff --git a/package/Config.in b/package/Config.in index 5e01187b83..ebc64a25f2 100644 --- a/package/Config.in +++ b/package/Config.in @@ -459,6 +459,7 @@ endmenu source "package/dahdi-tools/Config.in" source "package/davinci-bootcount/Config.in" source "package/dbus/Config.in" + source "package/dbus-broker/Config.in" source "package/dbus-cpp/Config.in" source "package/dbus-glib/Config.in" source "package/dbus-python/Config.in" diff --git a/package/dbus-broker/Config.in b/package/dbus-broker/Config.in new file mode 100644 index 0000000000..c7206232da --- /dev/null +++ b/package/dbus-broker/Config.in @@ -0,0 +1,23 @@ +config BR2_PACKAGE_DBUS_BROKER + bool "dbus-broker" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_17 + depends on BR2_PACKAGE_SYSTEMD + select BR2_PACKAGE_EXPAT + help + Linux D-Bus Message Broker. + + The dbus-broker project is an implementation of a message bus + as defined by the D-Bus specification. Its aim is to provide + high performance and reliability, while keeping compatibility + to the D-Bus reference implementation. + + It is exclusively written for Linux systems, and makes use of + many modern features provided by recent linux kernel releases. + + https://github.com/bus1/dbus-broker/wiki + +comment "dbusbroker needs systemd and a toolchain w/ threads" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_SYSTEMD diff --git a/package/dbus-broker/dbus-broker.hash b/package/dbus-broker/dbus-broker.hash new file mode 100644 index 0000000000..26ebab7ac1 --- /dev/null +++ b/package/dbus-broker/dbus-broker.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 4eca425db52b7ab1027153e93fea9b3f11759db9e93ffbf88759b73ddfb8026a dbus-broker-29.tar.xz +sha256 3cda3630283eda0eab825abe5ac84d191248c6b3fe1c232a118124959b96c6a4 LICENSE diff --git a/package/dbus-broker/dbus-broker.mk b/package/dbus-broker/dbus-broker.mk new file mode 100644 index 0000000000..547b79eb84 --- /dev/null +++ b/package/dbus-broker/dbus-broker.mk @@ -0,0 +1,71 @@ +################################################################################ +# +# dbus-broker +# +################################################################################ + +DBUS_BROKER_VERSION = 29 +DBUS_BROKER_SOURCE = dbus-broker-$(DBUS_BROKER_VERSION).tar.xz +DBUS_BROKER_SITE = https://github.com/bus1/dbus-broker/releases/download/v$(DBUS_BROKER_VERSION) + +# For the third-party code, the licensing legla-info is inconsistent between +# the AUTHORS and README, so keep both +DBUS_BROKER_LICENSE = \ + Apache-2.0, \ + Apache-2.0 and/or LGPL-2.1+ (c-dvar, c-ini, c-list, c-rbtree, c-shquote, c-stdaux, c-utf8) +DBUS_BROKER_LICENSE_FILES = \ + LICENSE \ + subprojects/c-dvar/AUTHORS subprojects/c-dvar/README.md \ + subprojects/c-ini/AUTHORS subprojects/c-ini/README.md \ + subprojects/c-list/AUTHORS subprojects/c-list/README.md \ + subprojects/c-rbtree/AUTHORS subprojects/c-rbtree/README.md \ + subprojects/c-shquote/AUTHORS subprojects/c-shquote/README.md \ + subprojects/c-stdaux/AUTHORS subprojects/c-stdaux/README.md \ + subprojects/c-utf8/AUTHORS subprojects/c-utf8/README.md + +DBUS_BROKER_DEPENDENCIES = expat systemd +DBUS_BROKER_CONF_OPTS = -Dlauncher=true + +ifeq ($(BR2_PACKAGE_AUDIT),y) +DBUS_BROKER_DEPENDENCIES += audit +DBUS_BROKER_CONF_OPTS += -Daudit=true +else +DBUS_BROKER_CONF_OPTS += -Daudit=false +endif + +ifeq ($(BR2_PACKAGE_LIBSELINUX),y) +DBUS_BROKER_DEPENDENCIES += libselinux +DBUS_BROKER_CONF_OPTS += -Dselinux=true +else +DBUS_BROKER_CONF_OPTS += -Dselinux=false +endif + +# We must be using the same user as the original dbus, so we can share +# the home directory and create a socket there. As a consequence, the +# username and groupname must be dbus:dbus, and they both need to have +# the same home. +define DBUS_BROKER_USERS + dbus -1 dbus -1 * /run/dbus - dbus DBus messagebus user +endef + +# Only install units for system bus daemon socket if original dbus is not present +# Only install config and service files if original dbus is not present +# +# Note: BR2_COREUTILS_HOST_DEPENDENCY to be able to use ln --relative +ifeq ($(BR2_PACKAGE_DBUS),) +DBUS_BROKER_DEPENDENCIES += $(BR2_COREUTILS_HOST_DEPENDENCY) + +define DBUS_BROKER_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 0644 $(DBUS_BROKER_PKGDIR)/session.conf \ + $(TARGET_DIR)/usr/share/dbus-1/session.conf + $(INSTALL) -D -m 0644 $(DBUS_BROKER_PKGDIR)/system.conf \ + $(TARGET_DIR)/usr/share/dbus-1/system.conf + $(INSTALL) -D -m 0644 $(DBUS_BROKER_PKGDIR)/dbus.socket \ + $(TARGET_DIR)/usr/lib/systemd/system/dbus.socket + $(HOST_MAKE_ENV) ln -sf --relative \ + $(TARGET_DIR)/usr/lib/systemd/system/dbus.socket \ + $(TARGET_DIR)/usr/lib/systemd/system/sockets.target.wants/dbus.socket +endef +endif # !BR2_PACKAGE_DBUS + +$(eval $(meson-package)) diff --git a/package/dbus-broker/dbus.socket b/package/dbus-broker/dbus.socket new file mode 100644 index 0000000000..5c373cf450 --- /dev/null +++ b/package/dbus-broker/dbus.socket @@ -0,0 +1,5 @@ +[Unit] +Description=D-Bus System Message Bus Socket + +[Socket] +ListenStream=/run/dbus/system_bus_socket diff --git a/package/dbus-broker/session.conf b/package/dbus-broker/session.conf new file mode 100644 index 0000000000..e4758fa218 --- /dev/null +++ b/package/dbus-broker/session.conf @@ -0,0 +1,65 @@ + + + + + + session + + + + + + + + + + + + + + + + + session.d + + /etc/dbus-1/session.d + + + /etc/dbus-1/session-local.conf + + contexts/dbus_contexts + + + + + 1000000000 + 250000000 + 1000000000 + 250000000 + 1000000000 + + 120000 + 240000 + 150000 + 100000 + 10000 + 100000 + 10000 + 50000 + 50000 + 50000 + + diff --git a/package/dbus-broker/system.conf b/package/dbus-broker/system.conf new file mode 100644 index 0000000000..4b17fbd90e --- /dev/null +++ b/package/dbus-broker/system.conf @@ -0,0 +1,123 @@ + + + + + + + + + system + + + + + + dbus + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + system.d + + /etc/dbus-1/system.d + + + /etc/dbus-1/system-local.conf + + contexts/dbus_contexts + + From patchwork Sun Jan 9 22:16:48 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Norbert Lange X-Patchwork-Id: 1577585 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=MM1GmJf0; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=buildroot.org (client-ip=2605:bc80:3010::133; helo=smtp2.osuosl.org; envelope-from=buildroot-bounces@buildroot.org; receiver=) Received: from smtp2.osuosl.org (smtp2.osuosl.org [IPv6:2605:bc80:3010::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4JXBCR4McKz9s9c for ; Mon, 10 Jan 2022 09:17:23 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id A451840376; Sun, 9 Jan 2022 22:17:18 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FVtHRwElxPAY; Sun, 9 Jan 2022 22:17:17 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp2.osuosl.org (Postfix) with ESMTP id B7E734010E; Sun, 9 Jan 2022 22:17:16 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id E3F031BF41C for ; Sun, 9 Jan 2022 22:17:02 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id D104D40368 for ; Sun, 9 Jan 2022 22:17:02 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id k9-U2mRu-59Q for ; Sun, 9 Jan 2022 22:17:01 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com [IPv6:2a00:1450:4864:20::42a]) by smtp2.osuosl.org (Postfix) with ESMTPS id 7EAF5400FB for ; Sun, 9 Jan 2022 22:17:01 +0000 (UTC) Received: by mail-wr1-x42a.google.com with SMTP id k30so5747975wrd.9 for ; Sun, 09 Jan 2022 14:17:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=0DDTTUIkeHotX+vsRk0Ct6jw4OGKFEtR+MBeF5pFeCM=; b=MM1GmJf0NiHHCJ1IYyG2YHIJso7XEqZKUjSfbZFHbdNid0vQBAWJmU+XccKxvMX0cU 05Jkf1zNRKvH8S5tdvD6aM11mAPCKlxowjyo9/wkFWnWJ3lyutd3pxN3MI9Vd+lGR2LQ IBUxdLWlthN4syv04EJXn/trsssdeoHX908mY0piTVF0jTQpxix06TOnzwgFZv4Uxtyu d/uR3aJQk5fNhZBPA0dEe4KyCoctrbhMdol8EE3BC87ldDq0ydxnICTdGczvTuepxzQ5 r9Zwc5MOj3BRWHUvGZCjWQ43OONpLBTu37XWgwTHhIjN2gJw0ole72UX9XidJqlRyCY2 KMoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=0DDTTUIkeHotX+vsRk0Ct6jw4OGKFEtR+MBeF5pFeCM=; b=WPrk45spEeYP1/gOEWTJ5cMiYsxQatwjP9zG7T4/46XvGnbyFV4gbGfm+rKa7wi9Z4 EgEYqHcJgSxR5dxTHQTqeaMrEja6kKH9A4tTAa/1WSr5RG6SQkSBQVjenPCy1bggYD4y 7fb/VbHbaHFZbIfxFBDrQtm6lv+9twxhoAjqnoC3bO3DRfrny0SF/qi7GT96mRA7llz0 Zqzb6b8xK/YVeVXjHae1Xg1C8an3j1SPBvORSnt9uQUjcVRxiOeVaiu2gGqVVsCTbK+G X7/oqXGJIMvPxaAiAatuvQzFXOYXPH2Sc1Us1uBbJn6oAU4R68Kgve9hWczStYcb/lzC XaRA== X-Gm-Message-State: AOAM533XjgC6mTFH71qz2VBsF4FQmHQ+ASDYrrTY+C7oEHBClash4XoG X3bpLdsU23hS6WMaaMvIsHBohH8M8ng= X-Google-Smtp-Source: ABdhPJyBdT1x7h8q+t16efcQYpTXVuF1/Bj9QZd+XAtbFw50HpG3b9Wow8CLSZMY7p01nydSLTRKMg== X-Received: by 2002:adf:dd8b:: with SMTP id x11mr52116694wrl.626.1641766619618; Sun, 09 Jan 2022 14:16:59 -0800 (PST) Received: from debian-noppl.. (62-178-205-20.cable.dynamic.surfer.at. [62.178.205.20]) by smtp.gmail.com with ESMTPSA id 1sm5395468wrb.13.2022.01.09.14.16.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 09 Jan 2022 14:16:59 -0800 (PST) From: Norbert Lange To: buildroot@buildroot.org Date: Sun, 9 Jan 2022 23:16:48 +0100 Message-Id: <20220109221650.777610-2-nolange79@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220109221650.777610-1-nolange79@gmail.com> References: <20220109221650.777610-1-nolange79@gmail.com> MIME-Version: 1.0 Subject: [Buildroot] [PATCH v6 2/4] package/systemd: do not force dbus if dbus-broker is available X-BeenThere: buildroot@buildroot.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Norbert Lange , "Yann E. MORIN" Errors-To: buildroot-bounces@buildroot.org Sender: "buildroot" From: "Yann E. MORIN" dbus-broker fits the bill as a message bus daemon, so only enable the original dbus if dbus-broker is not enabled. Signed-off-by: Yann E. MORIN Cc: Norbert Lange --- package/systemd/Config.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/systemd/Config.in b/package/systemd/Config.in index cc0736561e..1c227bb07f 100644 --- a/package/systemd/Config.in +++ b/package/systemd/Config.in @@ -26,7 +26,7 @@ menuconfig BR2_PACKAGE_SYSTEMD depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 depends on BR2_HOST_GCC_AT_LEAST_5 # host-systemd select BR2_PACKAGE_HAS_UDEV - select BR2_PACKAGE_DBUS # runtime dependency only + select BR2_PACKAGE_DBUS if !BR2_PACKAGE_DBUS_BROKER # runtime select BR2_PACKAGE_LIBCAP select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBS From patchwork Sun Jan 9 22:16:49 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Norbert Lange X-Patchwork-Id: 1577586 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=R0BRTEOL; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=buildroot.org (client-ip=2605:bc80:3010::133; helo=smtp2.osuosl.org; envelope-from=buildroot-bounces@buildroot.org; receiver=) Received: from smtp2.osuosl.org (smtp2.osuosl.org [IPv6:2605:bc80:3010::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4JXBCf6psqz9s9c for ; Mon, 10 Jan 2022 09:17:34 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id CA7FD400FB; Sun, 9 Jan 2022 22:17:31 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Pi4v25vTcbvY; Sun, 9 Jan 2022 22:17:30 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp2.osuosl.org (Postfix) with ESMTP id 9A41E405A1; Sun, 9 Jan 2022 22:17:29 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id AD4341BF41C for ; Sun, 9 Jan 2022 22:17:03 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id A87AF400FB for ; Sun, 9 Jan 2022 22:17:03 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MNOP_0nC6pp5 for ; Sun, 9 Jan 2022 22:17:02 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com [IPv6:2a00:1450:4864:20::32b]) by smtp2.osuosl.org (Postfix) with ESMTPS id A899F4010E for ; Sun, 9 Jan 2022 22:17:02 +0000 (UTC) Received: by mail-wm1-x32b.google.com with SMTP id c126-20020a1c9a84000000b00346f9ebee43so6181398wme.4 for ; Sun, 09 Jan 2022 14:17:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=vSKlN41So7u1Ol0VW2bV6npEPc2SNMFglHV9zFOYOYw=; b=R0BRTEOL06q8AjY8EBKaTmi/rh2STSryLeQnUd5Umg2RX8KTJ3btR1WJwAiRElqur+ HDHXeMaTcFTmwHXl594n+qPRseIMyLLRxxiusZtD6NhI/RuLeDCKdzDJCGzxxHQE9CMu lqOxdZk2C6/bQjk7f54o4twt2bHnXKnmfVuBRDu2VQLczR+sOiizUS3fAmuEJiM4ACFm /XkXQlNlGHEllKZd81ajHFlPFUu4eSeiwv8ymUB4MpAA10lyzP0Dkxjs+yfqpO18i3XU h7Gmit0sQsBN3+c5w8la8IX2GjGUA4SRwSJfXiLGaXUXoruRgQcQl6UqgWpKXIhhSXOB 9Aqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=vSKlN41So7u1Ol0VW2bV6npEPc2SNMFglHV9zFOYOYw=; b=cU/jSNe3egFF/YYDkEa66oTimj5vq0GGWZa18F357/SXUtB0uGmoaoQwklJyXSy7qD yKwBpFb74+JhhBPb29tO5qhgF0SvQZSCXhv0pBACrjXwgOnBYlc3i6kSbZy+Pk5Zcyyh GuylBYmppDcsfqRZuoioKr3TNO3Zzzu/NepUIUhF9CmCMBbkJWWfqRTCwpM8o88MxRdl 8h3Q1QfZsKHxdVr4i+ADCFSPPUCVtt+Uhfmz3FJBrqhvAE+GuojeqlGJOC+WScmVth2N 1Md6zV/wY0pDbW0outSLTUr2jhUG5xcapjwedNqBj1HBxqG80L26GF+8xACXH8vSzPJP BP5Q== X-Gm-Message-State: AOAM5326kIOhq2YmLFayI3t4UllZKRQBpLeL2kMTdmSHaQIBFixXUjdM 9PQaJqeU2Qh8/prnRJzavEI0uwePViQ= X-Google-Smtp-Source: ABdhPJzxVHLisdDtmpOgT8uIRYHWk3rn7qlF+JwntDUCb1xQH7Z3D77kNEwzF6I+t9bC6mDBHzi/3Q== X-Received: by 2002:a05:600c:190b:: with SMTP id j11mr19133531wmq.182.1641766620897; Sun, 09 Jan 2022 14:17:00 -0800 (PST) Received: from debian-noppl.. (62-178-205-20.cable.dynamic.surfer.at. [62.178.205.20]) by smtp.gmail.com with ESMTPSA id 1sm5395468wrb.13.2022.01.09.14.17.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 09 Jan 2022 14:17:00 -0800 (PST) From: Norbert Lange To: buildroot@buildroot.org Date: Sun, 9 Jan 2022 23:16:49 +0100 Message-Id: <20220109221650.777610-3-nolange79@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220109221650.777610-1-nolange79@gmail.com> References: <20220109221650.777610-1-nolange79@gmail.com> MIME-Version: 1.0 Subject: [Buildroot] [PATCH v6 3/4] support/testsuite: de-duplicate the systemd runtime tests X-BeenThere: buildroot@buildroot.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Yann E. MORIN" Errors-To: buildroot-bounces@buildroot.org Sender: "buildroot" From: "Yann E. MORIN" Of all the systemd init tests, only one does some additional tests, and for just this lone wolf, we duplicate the test function. Signed-off-by: Yann E. MORIN --- support/testing/tests/init/test_systemd.py | 32 ++++++++-------------- 1 file changed, 12 insertions(+), 20 deletions(-) diff --git a/support/testing/tests/init/test_systemd.py b/support/testing/tests/init/test_systemd.py index f0cc52bac8..80c6776f59 100644 --- a/support/testing/tests/init/test_systemd.py +++ b/support/testing/tests/init/test_systemd.py @@ -21,8 +21,9 @@ class InitSystemSystemdBase(InitSystemBase): # BR2_TARGET_ROOTFS_TAR is not set """.format(infra.filepath("conf/binfmt-misc-kernel-fragment.config")) - def check_init(self): - super(InitSystemSystemdBase, self).check_init("/lib/systemd/systemd") + def check_systemd(self, fs): + self.start_emulator(fs, "zImage", "vexpress-v2p-ca9") + self.check_init("/lib/systemd/systemd") # Test all units are OK output, _ = self.emulator.run("systemctl --no-pager --failed --no-legend") @@ -35,6 +36,9 @@ class InitSystemSystemdBase(InitSystemBase): output, _ = self.emulator.run("journalctl --no-pager --lines 1 --quiet") self.assertEqual(len(output), 1) + # Check the network is up + self.check_network("eth0") + class TestInitSystemSystemdRoNetworkd(InitSystemSystemdBase): config = InitSystemSystemdBase.config + \ @@ -46,9 +50,7 @@ class TestInitSystemSystemdRoNetworkd(InitSystemSystemdBase): """.format(infra.filepath("tests/init/systemd-factory")) def test_run(self): - self.start_emulator("squashfs", "zImage", "vexpress-v2p-ca9") - self.check_init() - self.check_network("eth0") + self.check_systemd("squashfs") # This one must be executed on the target, to check that # the factory feature works as expected @@ -65,9 +67,7 @@ class TestInitSystemSystemdRwNetworkd(InitSystemSystemdBase): """ def test_run(self): - self.start_emulator("ext2", "zImage", "vexpress-v2p-ca9") - self.check_init() - self.check_network("eth0") + self.check_systemd("ext2") class TestInitSystemSystemdRoIfupdown(InitSystemSystemdBase): @@ -80,9 +80,7 @@ class TestInitSystemSystemdRoIfupdown(InitSystemSystemdBase): """ def test_run(self): - self.start_emulator("squashfs", "zImage", "vexpress-v2p-ca9") - self.check_init() - self.check_network("eth0") + self.check_systemd("squashfs") class TestInitSystemSystemdRwIfupdown(InitSystemSystemdBase): @@ -94,9 +92,7 @@ class TestInitSystemSystemdRwIfupdown(InitSystemSystemdBase): """ def test_run(self): - self.start_emulator("ext2", "zImage", "vexpress-v2p-ca9") - self.check_init() - self.check_network("eth0") + self.check_systemd("ext2") class TestInitSystemSystemdRoFull(InitSystemSystemdBase): @@ -125,9 +121,7 @@ class TestInitSystemSystemdRoFull(InitSystemSystemdBase): """ def test_run(self): - self.start_emulator("squashfs", "zImage", "vexpress-v2p-ca9") - self.check_init() - self.check_network("eth0") + self.check_systemd("squashfs") class TestInitSystemSystemdRwFull(InitSystemSystemdBase): @@ -155,6 +149,4 @@ class TestInitSystemSystemdRwFull(InitSystemSystemdBase): """ def test_run(self): - self.start_emulator("ext2", "zImage", "vexpress-v2p-ca9") - self.check_init() - self.check_network("eth0") + self.check_systemd("ext2") From patchwork Sun Jan 9 22:16:50 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Norbert Lange X-Patchwork-Id: 1577587 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=qnQTqPo3; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=buildroot.org (client-ip=2605:bc80:3010::133; helo=smtp2.osuosl.org; envelope-from=buildroot-bounces@buildroot.org; receiver=) Received: from smtp2.osuosl.org (smtp2.osuosl.org [IPv6:2605:bc80:3010::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4JXBCv45zHz9s9c for ; Mon, 10 Jan 2022 09:17:47 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id E67DF40439; Sun, 9 Jan 2022 22:17:44 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NESi_b-z_H3W; Sun, 9 Jan 2022 22:17:43 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp2.osuosl.org (Postfix) with ESMTP id A4FA84045E; Sun, 9 Jan 2022 22:17:42 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id D18181BF41C for ; Sun, 9 Jan 2022 22:17:04 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id BFE5F81403 for ; Sun, 9 Jan 2022 22:17:04 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Authentication-Results: smtp1.osuosl.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VHk_bUmFIl2S for ; Sun, 9 Jan 2022 22:17:04 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com [IPv6:2a00:1450:4864:20::42d]) by smtp1.osuosl.org (Postfix) with ESMTPS id F1C75813F8 for ; Sun, 9 Jan 2022 22:17:03 +0000 (UTC) Received: by mail-wr1-x42d.google.com with SMTP id o3so23298058wrh.10 for ; Sun, 09 Jan 2022 14:17:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Bqa7YCIQE2uBk8hRK/USSwuC4SYA+a9tVvZesxLcsF4=; b=qnQTqPo3bjBj7439Sf72A1JNSQZuSYe1b83U4cdbYmEaYLPI8w4TRrqmUZiw4i8p4w cUe9iuBPSzugJLvCWy9rHZgYMQF7lPHZqLE8qeaTc2TD33PA1lGg3Rv1uT/DeNn/381W EUElfUzhYR0zRmrbA6iwmUZbyya+JZtipP/eICoHcm6dTGZNKIluj6uY5S/Skk2qt+16 hpVKzeXCKB1ml+aB3M35N95X8pDqkPDPBB8JFUcpyoFLNH/hOBNamZmUvT5Lw9kY5u76 T23BakBvFDaqgN5H96nKNExxtqxAehInosCZstRWjnnQpIBBAE6hW2Q/bg8q84tqox4E 3r3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Bqa7YCIQE2uBk8hRK/USSwuC4SYA+a9tVvZesxLcsF4=; b=WzUHO16yVxc6vLGtwgIYp+fllQgU8RdZKo5FFlk1HdK/GrJa9BCf2o5/Nu8r23k8jR VHp/7Xutx1G9MnI53bUqoUC51hn7dyt458pbq1IACJINgKl/IzYkLVyi9sEyAnJ4xyrp YgbqtCKXVrtpW6BsTa5x71tzKjj0uHXvnRlc0Cp4UKGnMpoaSM1jF2Y7vF3uxtIunkv5 bxMLyV9bRu8+R5Q8LDk+moro6Ywuaps7CVO7WalrTnYRcneGxz5Go3i4sxyYiaz7UTe9 HZfcmjd6L4RlVOk1XT5quRtiuXUbXj1RINz92Plx2ChNQx5YEmocpBciwsdDgHprETKw +Zlw== X-Gm-Message-State: AOAM530nT125XmVzHrgK29NkNC0YZLo900zQOVf+dY9TndmtdwQVl1vH KDTV3ZEdHHCF5iBhs2rTDcyFQUsRgjI= X-Google-Smtp-Source: ABdhPJxaRQJ3mlb1BkqFKuVAFdRJatHZbZja54yF5ETqMiOrm/ixn0QOnDhHFroeyWRryJM3FN7Ztw== X-Received: by 2002:adf:edcf:: with SMTP id v15mr502207wro.501.1641766622223; Sun, 09 Jan 2022 14:17:02 -0800 (PST) Received: from debian-noppl.. (62-178-205-20.cable.dynamic.surfer.at. [62.178.205.20]) by smtp.gmail.com with ESMTPSA id 1sm5395468wrb.13.2022.01.09.14.17.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 09 Jan 2022 14:17:01 -0800 (PST) From: Norbert Lange To: buildroot@buildroot.org Date: Sun, 9 Jan 2022 23:16:50 +0100 Message-Id: <20220109221650.777610-4-nolange79@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220109221650.777610-1-nolange79@gmail.com> References: <20220109221650.777610-1-nolange79@gmail.com> MIME-Version: 1.0 Subject: [Buildroot] [PATCH v6 4/4] support/run-test: add test for systemd using dbus-broker X-BeenThere: buildroot@buildroot.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Norbert Lange , "Yann E. MORIN" Errors-To: buildroot-bounces@buildroot.org Sender: "buildroot" From: "Yann E. MORIN" Add four new tests for systemd (rw and ro in each case): - use dbus-broker instead of the original dbus - use the original dbus, with dbus-broker installed The first two extend the existing IfUpDown test cases by just enabling dbus-broker; the second ones extend this further, by explicitly enabling the original dbus. For one of the tests, we overload the test_run() function to test that the dbus-broker daemon is indeed running as root. We need not replicate that check in the other dbus-broker-only test, and it does not make sense to test that in tests that have the original dbus enabled. Presence of the original dbus and dbus-broker on the same system is valid: the original dbus is used as the default system bus daemon. We do not test switching between the two at runtime, though as this is really too corner-case specific. We just test to ensure the original dbus system bus daemon is not impacted by the presence of dbus-broker. Note: the 'full' test-case enables all systemd options, and some of them do pull the original dbus package, so we can't use that to test the integration of dbus-broker; instead, we extend the ifupdown case, which does not enable the original dbus. Signed-off-by: Yann E. MORIN Cc: Norbert Lange --- support/testing/tests/init/test_systemd.py | 37 ++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/support/testing/tests/init/test_systemd.py b/support/testing/tests/init/test_systemd.py index 80c6776f59..80d172e5e2 100644 --- a/support/testing/tests/init/test_systemd.py +++ b/support/testing/tests/init/test_systemd.py @@ -83,6 +83,29 @@ class TestInitSystemSystemdRoIfupdown(InitSystemSystemdBase): self.check_systemd("squashfs") +class TestInitSystemSystemdRoIfupdownDbusbroker(TestInitSystemSystemdRoIfupdown): + config = TestInitSystemSystemdRoIfupdown.config + \ + """ + BR2_PACKAGE_DBUS_BROKER=y + """ + + def test_run(self): + # Parent class' test_run() method does exactly that, no more: + self.check_systemd("squashfs") + + # Check that the dbus-broker daemon is running as non-root + cmd = "find /proc/$(pidof dbus-broker) -maxdepth 1 -name exe -user dbus" + out, _ = self.emulator.run(cmd) + self.assertEqual(len(out), 1) + + +class TestInitSystemSystemdRoIfupdownDbusbrokerDbus(TestInitSystemSystemdRoIfupdownDbusbroker): + config = TestInitSystemSystemdRoIfupdownDbusbroker.config + \ + """ + BR2_PACKAGE_DBUS=y + """ + + class TestInitSystemSystemdRwIfupdown(InitSystemSystemdBase): config = InitSystemSystemdBase.config + \ """ @@ -95,6 +118,20 @@ class TestInitSystemSystemdRwIfupdown(InitSystemSystemdBase): self.check_systemd("ext2") +class TestInitSystemSystemdRwIfupdownDbusbroker(TestInitSystemSystemdRwIfupdown): + config = TestInitSystemSystemdRwIfupdown.config + \ + """ + BR2_PACKAGE_DBUS_BROKER=y + """ + + +class TestInitSystemSystemdRwIfupdownDbusbrokerDbus(TestInitSystemSystemdRwIfupdownDbusbroker): + config = TestInitSystemSystemdRwIfupdownDbusbroker.config + \ + """ + BR2_PACKAGE_DBUS=y + """ + + class TestInitSystemSystemdRoFull(InitSystemSystemdBase): config = InitSystemSystemdBase.config + \ """