On Tue, Sep 22, 2020 at 11:20:15AM +0200, Clemens Gruber wrote: > dbus-broker is a high-performance D-Bus message broker which serves as > a drop-in replacement for the dbus-daemon. The original dbus is > installed as a dependency (due to required files). > > If dbus-broker is enabled, it is used as the system bus. > > At runtime, a Linux Kernel >= 4.14 is required (theoretically >= 4.10 > works too, but lacks security-related AF_UNIX patches according to > dbus-broker docs)
I've done some experimentation with this myself in the past. The last time I tried this, I still needed the /usr/share/dbus-1/system.conf from the regular package. That made installing only dbus-broker somewhat awkward. Is that still necessary? Michael > Signed-off-by: Clemens Gruber <clemens.gru...@pqgruber.com> > --- > rules/dbus-broker.in | 19 +++++++++++ > rules/dbus-broker.make | 75 ++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 94 insertions(+) > create mode 100644 rules/dbus-broker.in > create mode 100644 rules/dbus-broker.make > > diff --git a/rules/dbus-broker.in b/rules/dbus-broker.in > new file mode 100644 > index 000000000..9ae261284 > --- /dev/null > +++ b/rules/dbus-broker.in > @@ -0,0 +1,19 @@ > +## SECTION=middleware > + > +menuconfig DBUS_BROKER > + tristate > + prompt "dbus-broker " > + select HOST_MESON > + select DBUS > + select EXPAT > + select LIBC_M > + select LIBC_PTHREAD > + select SYSTEMD > + help > + 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. > + This package is designed to be a drop-in replacement for dbus > + (as the system bus), but the dbus package still has to be > + installed. > diff --git a/rules/dbus-broker.make b/rules/dbus-broker.make > new file mode 100644 > index 000000000..7d32c5425 > --- /dev/null > +++ b/rules/dbus-broker.make > @@ -0,0 +1,75 @@ > +# -*-makefile-*- > +# > +# Copyright (C) 2020 by Clemens Gruber <clemens.gru...@pqgruber.com> > +# > +# For further information about the PTXdist project and license conditions > +# see the README file. > +# > + > +# > +# We provide this package > +# > +PACKAGES-$(PTXCONF_DBUS_BROKER) += dbus-broker > + > +# > +# Paths and names > +# > +DBUS_BROKER_VERSION := 24 > +DBUS_BROKER_MD5 := b60f426bc92a4f6119e51a69aef301a2 > +DBUS_BROKER := dbus-broker-$(DBUS_BROKER_VERSION) > +DBUS_BROKER_SUFFIX := tar.xz > +DBUS_BROKER_URL := > https://github.com/bus1/dbus-broker/releases/download/v$(DBUS_BROKER_VERSION)/$(DBUS_BROKER).$(DBUS_BROKER_SUFFIX) > +DBUS_BROKER_SOURCE := $(SRCDIR)/$(DBUS_BROKER).$(DBUS_BROKER_SUFFIX) > +DBUS_BROKER_DIR := $(BUILDDIR)/$(DBUS_BROKER) > +DBUS_BROKER_LICENSE := Apache-2.0 > +DBUS_BROKER_LICENSE_FILES := \ > + file://LICENSE;md5=7b486c2338d225a1405d979ed2c15ce8 > + > +# > ---------------------------------------------------------------------------- > +# Prepare > +# > ---------------------------------------------------------------------------- > + > +DBUS_BROKER_CONF_TOOL := meson > +DBUS_BROKER_CONF_OPT := \ > + $(CROSS_MESON_USR) \ > + -Daudit=false \ > + -Ddocs=false \ > + -Dlauncher=true \ > + -Dlinux-4-17=false \ > + -Dreference-test=false \ > + -Dselinux=$(call ptx/truefalse,PTXCONF_GLOBAL_SELINUX) > + > +# dbus-broker requires a kernel and kernel headers >= 4.14 > +ifdef PTXCONF_KERNEL_HEADER > +DBUS_BROKER_CPPFLAGS := \ > + -isystem $(KERNEL_HEADERS_INCLUDE_DIR) > +endif > + > +# > ---------------------------------------------------------------------------- > +# Target-Install > +# > ---------------------------------------------------------------------------- > + > +$(STATEDIR)/dbus-broker.targetinstall: > + @$(call targetinfo) > + > + @$(call install_init, dbus-broker) > + @$(call install_fixup, dbus-broker, PRIORITY, optional) > + @$(call install_fixup, dbus-broker, SECTION, base) > + @$(call install_fixup, dbus-broker, AUTHOR, "Clemens Gruber > <clemens.gru...@pqgruber.com>") > + @$(call install_fixup, dbus-broker, DESCRIPTION, \ > + "Linux D-Bus Message Broker") > + > + @$(call install_copy, dbus-broker, 0, 0, 0755, -, /usr/bin/dbus-broker) > + @$(call install_copy, dbus-broker, 0, 0, 0755, -, > /usr/bin/dbus-broker-launch) > + @$(call install_alternative, dbus-broker, 0, 0, 0644, \ > + /usr/lib/systemd/system/dbus-broker.service) > + > + # Replace dbus reference implementation service with dbus-broker as > system bus > + $(call install_link, dbus-broker, > /usr/lib/systemd/system/dbus-broker.service, \ > + /etc/systemd/system/dbus.service) > + > + @$(call install_finish, dbus-broker) > + > + @$(call touch) > + > +# vim: syntax=make > -- > 2.28.0 > > > _______________________________________________ > ptxdist mailing list > ptxdist@pengutronix.de > To unsubscribe, send a mail with subject "unsubscribe" to > ptxdist-requ...@pengutronix.de > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-requ...@pengutronix.de