systemd: Move some basic tools into own package

Message ID 20230328173852.155595-1-stefan.schantl@ipfire.org
State Accepted
Commit 2d448045f35850b678c20e2be7b7be30d4f72d59
Headers
Series systemd: Move some basic tools into own package |

Commit Message

Stefan Schantl March 28, 2023, 5:38 p.m. UTC
  The systemd-sysusers and systemd-tmpfiles tools
are used by various services and the build system in order
to install / build packages.

Moving this tools into an own package allows us to early access
them without requiremet to install the whole systemd package.

Anyway the systemd package requires those tools to proper get
installed and handle their own sysusers files.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
---
 systemd/systemd.nm | 38 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 37 insertions(+), 1 deletion(-)
  

Patch

diff --git a/systemd/systemd.nm b/systemd/systemd.nm
index a01063828..a898c6826 100644
--- a/systemd/systemd.nm
+++ b/systemd/systemd.nm
@@ -5,7 +5,7 @@ 
 
 name       = systemd
 version    = 253
-release    = 2
+release    = 3
 
 maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
 groups     = System/Base
@@ -227,6 +227,7 @@  packages
 			python3-cairo
 			python3-dbus
 			python3-gobject3
+			%{name}-basetools = %{thisver}
 			%{name}-libs = %{thisver}
 			util-linux >= 2.19
 		end
@@ -315,6 +316,38 @@  packages
 		end
 	end
 
+	package %{name}-basetools
+		summary = Basetools from the systemd package, like sysuses and tmpfiles.
+		description
+			This package contains some very basic tools from systemd like
+			systemd-sysusers and systemd-tmpfiles.
+
+			They mostly are required in a very early stage and shipping them
+			in an own package allows us to handle this properly.
+		end
+
+		provides
+			systemd-sysusers = %{thisver}
+			systemd-tmpfiles = %{thisver}
+		end
+
+		requires
+			%{name}-libs = %{thisver}
+		end
+
+		files
+			%{bindir}/%{name}-sysusers
+			%{bindir}/%{name}-tmpfiles
+			%{mandir}/man1/%{name}-sysusers*
+			%{mandir}/man1/%{name}-tmpfiles*
+
+			# Only ship the sysusers.d folder without
+			# any config files.
+			/usr/lib/sysusers.d
+			!/usr/lib/sysusers.d/*.conf
+		end
+	end
+
 	package %{name}-libs
 		template LIBS
 	
@@ -339,6 +372,9 @@  packages
 			systemd < %{thisver}
 		end
 
+		files += \
+			%{libdir}/%{name}
+
 		# Add myhostname to the hosts line of /etc/nsswitch.conf
 		script postin
 			if [ -f "/etc/nsswitch.conf" ]; then