public inbox for development@lists.ipfire.org
 help / color / mirror / Atom feed
From: Stefan Schantl <stefan.schantl@ipfire.org>
To: development@lists.ipfire.org
Subject: [PATCH 2/2] dbus: Refactor package.
Date: Sat, 07 Jan 2023 22:05:05 +0100	[thread overview]
Message-ID: <20230107210505.131637-2-stefan.schantl@ipfire.org> (raw)
In-Reply-To: <20230107210505.131637-1-stefan.schantl@ipfire.org>

[-- Attachment #1: Type: text/plain, Size: 4427 bytes --]

* 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(a)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(a)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
 
-- 
2.30.2


      reply	other threads:[~2023-01-07 21:05 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-07 21:05 [PATCH 1/2] dbus-broker: New package Stefan Schantl
2023-01-07 21:05 ` Stefan Schantl [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230107210505.131637-2-stefan.schantl@ipfire.org \
    --to=stefan.schantl@ipfire.org \
    --cc=development@lists.ipfire.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox