* 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