This will replace the legacy dbus-daemon.
Signed-off-by: Stefan Schantl stefan.schantl@ipfire.org --- dbus-broker/dbus-broker.nm | 100 +++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 dbus-broker/dbus-broker.nm
diff --git a/dbus-broker/dbus-broker.nm b/dbus-broker/dbus-broker.nm new file mode 100644 index 000000000..a65a1e0d6 --- /dev/null +++ b/dbus-broker/dbus-broker.nm @@ -0,0 +1,100 @@ +############################################################################### +# IPFire.org - An Open Source Firewall Solution # +# Copyright (C) - IPFire Development Team info@ipfire.org # +############################################################################### + +name = dbus-broker +version = 32 +release = 1 + +maintainer = Stefan Schantl stefan.schantl@ipfire.org +groups = System/Daemons +url = https://github.com/bus1/dbus-broker +license = Apache 2.0 +summary = Linux D-Bus Message Broker + +description + D-BUS is a system for sending messages between applications. It is + used both for the system-wide message bus service, and as a + per-user-login-session messaging facility. +end + +source_dl = https://github.com/bus1/%%7Bname%7D/releases/download/v%%7Bversion%7D/ +sources = %{thisapp}.tar.xz + +build + requires + meson + python3-docutils + expat-devel + libcap-ng-devel + systemd-devel + end + + build + %{meson} \ + -Ddocs=true \ + -Dlinux-4-17=true + + %{meson_build} + end + + install + %{meson_install} + end +end + +packages + package %{name} + obsoletes + dbus <= 1.15.2-2 + end + + provides + dbus + end + + requires + dbus-common + end + + prerequires += shadow-utils + + script prein + getent group dbus >/dev/null || groupadd -r dbus + getent passwd dbus >/dev/null || \ + useradd -r -g dbus -d / -s /sbin/nologin \ + -c "User for dbus service" dbus + exit 0 + end + + # Just search for new unit files that were just installed. + script postin + systemctl daemon-reload >/dev/null 2>&1 || : + + # The dbus service should be started on default. + systemctl enable dbus-broker.service > /dev/null 2>&1 || : + end + + # Disable the service that is to be removed and stop it if it is still running. + script preun + systemctl --no-reload disable dbus-broker.service >/dev/null 2>&1 || : + systemctl stop dbus-broker.service >/dev/null 2>&1 || : + end + + # Just tell systemd that unitfiles have been removed. + script postun + systemctl daemon-reload >/dev/null 2>&1 || : + end + + # Try to restart the service if it is running. + script postup + systemctl daemon-reload >/dev/null 2>&1 || : + systemctl try-restart dbus-broker.service >/dev/null 2>&1 || : + end + end + + package %{name}-debuginfo + template DEBUGINFO + end +end
* Do not ship dbus-daemon and related files anymore. * Create a package for common files. * Ship dbus related tools in an own package.
Signed-off-by: Stefan Schantl stefan.schantl@ipfire.org --- dbus/dbus.nm | 105 ++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 78 insertions(+), 27 deletions(-)
diff --git a/dbus/dbus.nm b/dbus/dbus.nm index e25427bee..d6daa5270 100644 --- a/dbus/dbus.nm +++ b/dbus/dbus.nm @@ -4,9 +4,14 @@ ###############################################################################
name = dbus -version = 1.15.2 +ver_major = 1 +ver_minor = 15 +ver_plevel = 2 release = 1
+version = %{ver_major}.%{ver_minor}.%{ver_plevel} +dbus_ver = %{ver_major}.%{ver_minor}.%{ver_plevel} + maintainer = Stefan Schantl stefan.schantl@ipfire.org groups = System/Daemons url = https://www.freedesktop.org/software/dbus/ @@ -40,43 +45,89 @@ build test make check end + + install_cmds + # Remove unneeded documentation. + rm -rvf %{BUILDROOT}/%{datadir}/doc + rm -rvf %{BUILDROOT}/%{datadir}/xml + + # Drop cmake related stuff + rm -rvf %{BUILDROOT}/%{libdir}/cmake + + # Remove daemon related binaries and manpages. + for bin in daemon launch run-session test-tool cleanup-sockets; do + rm -rvf %{BUILDROOT}/%{bindir}/dbus-$bin + rm -rvf %{BUILDROOT}/%{mandir}/man1/dbus-$bin* + done + + # Remove daemon-lauch-helper + rm -rvf %{BUILDROOT}/usr/lib/dbus-daemon-launch-helper + + # Remove daemon related systemd files. + rm -rvf %{BUILDROOT}/%{unitdir}/dbus.service + rm -rvf %{BUILDROOT}/%{unitdir}/multi-user.target.wants + rm -rvf %{BUILDROOT}/usr/lib/tmpfiles.d + + # Remove daemon related folders in /var + rm -rvf %{BUILDROOT}/%{localstatedir} + end end
packages - package %{name} - prerequires += shadow-utils - - script prein - getent group dbus >/dev/null || groupadd -r dbus - getent passwd dbus >/dev/null || \ - useradd -r -g dbus -d / -s /sbin/nologin \ - -c "User for dbus service" dbus - exit 0 + package %{name}-common + summary = D-BUS message bus configuration. + version = %{dbus_ver} + arch = noarch + + description + The dbus-common package provides the configuration and setup files for D-Bus + implementations to provide a System and User Message Bus. end
- # Just search for new unit files that were just installed. - script postin - systemctl daemon-reload >/dev/null 2>&1 || : - - # The dbus service should be started on default. - systemctl enable dbus.service > /dev/null 2>&1 || : + files + /usr/lib/sysusers.d/ + /usr/lib/sysusers.d/* + %{sysconfdir}/dbus-1 + %{sysconfdir}/dbus-1/session.d + %{sysconfdir}/dbus-1/system.d + %{sysconfdir}/dbus-1/session.conf + %{sysconfdir}/dbus-1/system.conf + %{datadir}/dbus-1 + %{datadir}/dbus-1/session.d + %{datadir}/dbus-1/system.d + %{datadir}/dbus-1/session.conf + %{datadir}/dbus-1/system.conf + %{datadir}/dbus-1/services + %{datadir}/dbus-1/system-services + %{datadir}/dbus-1/interfaces + %{unitdir}/dbus.socket + %{unitdir}/sockets.target.wants/dbus.socket end + end + + package %{name}-tools + summary = D-BUS Tools and Utilities. + version = %{dbus_ver}
- # Disable the service that is to be removed and stop it if it is still running. - script preun - systemctl --no-reload disable dbus.service >/dev/null 2>&1 || : - systemctl stop dbus.service >/dev/null 2>&1 || : + description + Tools and utilities to interact with a running D-Bus Message Bus, provided by + the reference implementation. end
- # Just tell systemd that unitfiles have been removed. - script postun - systemctl daemon-reload >/dev/null 2>&1 || : + requires + dbus-libs = %{thisver} + dbus-common = %{dbus_ver} end
- # Try to restart the service if it is running. - script postup - systemctl daemon-reload >/dev/null 2>&1 || : - systemctl try-restart dbus.service >/dev/null 2>&1 || : + files + %{bindir}/dbus-send + %{bindir}/dbus-monitor + %{bindir}/dbus-update-activation-environment + %{bindir}/dbus-uuidgen + %{mandir}/man1/dbus-monitor.1* + %{mandir}/man1/dbus-send.1* + %{mandir}/man1/dbus-update-activation-environment.1* + %{mandir}/man1/dbus-uuidgen.1* end end