On Wed, Dec 18, 2024 at 09:01:59AM +0100, Robert Schwebel wrote:
> From: Michael Olbrich <[email protected]>
> 
> dbus-broker has meanwhile evolved as an alternative to the standard dbus
> daemon. Since its beginning, it has for example been long used in
> Fedora, and Debian has it as an alternative implementation. So let's try
> it in ptxdist as well.
> 
> Signed-off-by: Michael Olbrich <[email protected]>
> [various version bumps, added sysroot mechanics for newer versions]
> Signed-off-by: Robert Schwebel <[email protected]>
> ---
>  .../usr/lib/systemd/system/dbus.socket        |   5 +
>  projectroot/usr/share/dbus-1/system.conf      | 140 ++++++++++++++++++
>  rules/dbus-broker.in                          |  17 +++
>  rules/dbus-broker.make                        |  86 +++++++++++
>  rules/dbus.in                                 |  10 ++
>  rules/dbus.make                               |   6 +-
>  6 files changed, 262 insertions(+), 2 deletions(-)
>  create mode 100644 projectroot/usr/lib/systemd/system/dbus.socket
>  create mode 100644 projectroot/usr/share/dbus-1/system.conf
>  create mode 100644 rules/dbus-broker.in
>  create mode 100644 rules/dbus-broker.make
> 

[...]

> diff --git a/rules/dbus-broker.make b/rules/dbus-broker.make
> new file mode 100644
> index 000000000..ffb9a9e9c
> --- /dev/null
> +++ b/rules/dbus-broker.make
> @@ -0,0 +1,86 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2018 by Michael Olbrich <[email protected]>
> +#
> +# See CREDITS for details about who has contributed to this project.

Old template, remove this line.

> +#
> +# 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  := 36
> +DBUS_BROKER_MD5              := 0398b41a250a6172e35750fc864ee33b
> +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://README.md;startline=73;endline=76;md5=ef96995b3d4e9260fb70eeade6439048 \
        
file://AUTHORS;startline=1;endline=17;md5=37e7c29e235ce05ce1a54d8627d4365b \
        file://LICENSE;md5=7b486c2338d225a1405d979ed2c15ce8

 - Roland

> +
> +# 
> ----------------------------------------------------------------------------
> +# Prepare
> +# 
> ----------------------------------------------------------------------------
> +
> +# host path leaks in if not set explicitly
> +DBUS_BROKER_CONF_ENV := \
> +     $(CROSS_ENV) \
> +     PTXDIST_PKG_CONFIG_VAR_NO_SYSROOT="systemdsystemunitdir 
> systemduserunitdir catalogdir"
> +
> +#
> +# meson
> +#
> +DBUS_BROKER_CONF_TOOL        := meson
> +DBUS_BROKER_CONF_OPT := \
> +     $(CROSS_MESON_USR) \
> +     -Daudit=false \
> +     -Dc-shquote:reference-test=false \
> +     -Ddocs=false \
> +     -Dlauncher=true \
> +     -Dreference-test=false \
> +     -Dselinux=false \
> +     -Dsystem-console-users="[]"
> +
> +# 
> ----------------------------------------------------------------------------
> +# 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,"Michael Olbrich 
> <[email protected]>")
> +     @$(call install_fixup, dbus-broker,DESCRIPTION,missing)
> +
> +     @$(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/share/dbus-1/system.conf)
> +
> +     @$(call install_copy, dbus-broker, 0, 0, 0644, -, \
> +             /usr/lib/systemd/system/dbus-broker.service)
> +     @$(call install_link, dbus-broker, dbus-broker.service, \
> +             /usr/lib/systemd/system/dbus.service)
> +
> +     @$(call install_alternative, dbus-broker, 0, 0, 0644, \
> +             /usr/lib/systemd/system/dbus.socket)
> +     @$(call install_link, dbus-broker, ../dbus.socket, \
> +             /usr/lib/systemd/system/sockets.target.wants/dbus.socket)
> +
> +     @$(call install_finish, dbus-broker)
> +
> +     @$(call touch)
> +
> +# vim: syntax=make
> diff --git a/rules/dbus.in b/rules/dbus.in
> index b205ee62f..c8b5f09be 100644
> --- a/rules/dbus.in
> +++ b/rules/dbus.in
> @@ -32,6 +32,14 @@ config DBUS_SELINUX
>       depends on BROKEN
>       bool
>  
> +config DBUS_NO_DAEMON
> +     bool
> +
> +comment "D-Bus daemon is provided by dbus-broker"
> +     depends on DBUS_NO_DAEMON
> +
> +if !DBUS_NO_DAEMON
> +
>  config DBUS_SYSTEMD
>       bool
>       default INITMETHOD_SYSTEMD
> @@ -60,3 +68,5 @@ config DBUS_SYSTEMD_USER_UNIT
>       depends on SYSTEMD_UNITS_USER && DBUS_SYSTEMD_UNIT
>  
>  endif
> +
> +endif
> diff --git a/rules/dbus.make b/rules/dbus.make
> index f2bc7b552..dffa0ab6f 100644
> --- a/rules/dbus.make
> +++ b/rules/dbus.make
> @@ -89,6 +89,7 @@ $(STATEDIR)/dbus.targetinstall:
>       @$(call install_fixup, dbus,AUTHOR,"Roland Hostettler 
> <[email protected]>")
>       @$(call install_fixup, dbus,DESCRIPTION,missing)
>  
> +ifndef PTXCONF_DBUS_NO_DAEMON
>       @$(call install_copy, dbus, 0, 0, 0755, -, \
>               /usr/bin/dbus-daemon)
>       @$(call install_copy, dbus, 0, 0, 0755, -, \
> @@ -105,14 +106,17 @@ $(STATEDIR)/dbus.targetinstall:
>               /usr/bin/dbus-uuidgen)
>       @$(call install_copy, dbus, 0, 104, 4754, -, \
>               /usr/libexec/dbus-daemon-launch-helper)
> +endif
>  
>       @$(call install_lib, dbus, 0, 0, 0644, libdbus-1)
>  
>  #    #
>  #    # install config files
>  #    #
> +ifndef PTXCONF_DBUS_NO_DAEMON
>       @$(call install_alternative, dbus, 0, 0, 0644, 
> /usr/share/dbus-1/system.conf)
>       @$(call install_alternative, dbus, 0, 0, 0644, 
> /usr/share/dbus-1/session.conf)
> +endif
>  
>  #    #
>  #    # busybox init: start script
> @@ -132,8 +136,6 @@ ifdef PTXCONF_DBUS_SYSTEMD_UNIT
>               /usr/lib/systemd/system/dbus.socket)
>       @$(call install_link, dbus, ../dbus.socket, \
>               /usr/lib/systemd/system/sockets.target.wants/dbus.socket)
> -     @$(call install_link, dbus, ../dbus.socket, \
> -             /usr/lib/systemd/system/dbus.target.wants/dbus.socket)
>  
>       @$(call install_copy, dbus, 0, 0, 0644, -, \
>               /usr/lib/systemd/system/dbus.service)
> -- 
> 2.39.5
> 
> 
> 

-- 
Roland Hieber, Pengutronix e.K.          | [email protected]          |
Steuerwalder Str. 21                     | https://www.pengutronix.de/ |
31137 Hildesheim, Germany                | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686         | Fax:   +49-5121-206917-5555 |

Reply via email to