diff mbox series

[3/3] systemd: split networkd to its own package

Message ID 20230208071251.5412-4-peter.marko@siemens.com
State New
Headers show
Series systemd: split timesync and networkd to packages | expand

Commit Message

Peter Marko Feb. 8, 2023, 7:12 a.m. UTC
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
 meta/recipes-core/systemd/systemd_252.4.bb | 37 ++++++++++++++++++++--
 1 file changed, 35 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/meta/recipes-core/systemd/systemd_252.4.bb b/meta/recipes-core/systemd/systemd_252.4.bb
index de3ca93df8..180b95d6de 100644
--- a/meta/recipes-core/systemd/systemd_252.4.bb
+++ b/meta/recipes-core/systemd/systemd_252.4.bb
@@ -361,6 +361,7 @@  python populate_packages:prepend (){
 }
 PACKAGES_DYNAMIC += "^lib(udev|systemd|nss).*"
 
+# networkd needs to be after udev
 PACKAGE_BEFORE_PN = "\
     ${PN}-gui \
     ${PN}-vconsole-setup \
@@ -380,6 +381,7 @@  PACKAGE_BEFORE_PN = "\
     libsystemd-shared \
     udev \
     udev-hwdb \
+    ${PN}-networkd \
 "
 
 SUMMARY:${PN}-container = "Tools for containers and VMs"
@@ -394,6 +396,9 @@  DESCRIPTION:${PN}-journal-upload = "systemd-journal-upload uploads journal entri
 SUMMARY:${PN}-journal-remote = "Receive journal messages over the network"
 DESCRIPTION:${PN}-journal-remote = "systemd-journal-remote is a command to receive serialized journal events and store them to journal files."
 
+SUMMARY:${PN}-networkd = "System daemon that manages network configurations"
+DESCRIPTION:${PN}-networkd = "systemd-networkd daemon detects and configures network devices as they appear; it can also create virtual network devices"
+
 SUMMARY:${PN}-timesyncd = "Synchronize local system clock with a remote NTP server"
 DESCRIPTION:${PN}-timesyncd = "systemd-timesyncd is a system service that may be used to synchronize the local system clock with a remote Network Time Protocol (NTP) server."
 
@@ -403,6 +408,7 @@  SYSTEMD_PACKAGES = "${@bb.utils.contains('PACKAGECONFIG', 'binfmt', '${PN}-binfm
                     ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gatewayd', '', d)} \
                     ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \
                     ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \
+                    ${@bb.utils.contains('PACKAGECONFIG', 'networkd', '${PN}-networkd', '', d)} \
                     ${@bb.utils.contains('PACKAGECONFIG', 'timesyncd', '${PN}-timesyncd', '', d)} \
 "
 SYSTEMD_SERVICE:${PN}-binfmt = "systemd-binfmt.service"
@@ -417,9 +423,9 @@  GROUPADD_PARAM:${PN} = "-r systemd-journal;"
 GROUPADD_PARAM:udev = "-r render"
 GROUPADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', '-r systemd-hostname;', '', d)}"
 USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'coredump', '--system -d / -M --shell /sbin/nologin systemd-coredump;', '', d)}"
-USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'networkd', '--system -d / -M --shell /sbin/nologin systemd-network;', '', d)}"
 USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit', '--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd;', '', d)}"
 USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'resolved', '--system -d / -M --shell /sbin/nologin systemd-resolve;', '', d)}"
+USERADD_PARAM:${PN}-networkd = "--system -d / -M --shell /sbin/nologin systemd-network"
 USERADD_PARAM:${PN}-timesyncd = "--system -d / -M --shell /sbin/nologin systemd-timesync"
 USERADD_PARAM:${PN}-extra-utils = "--system -d / -M --shell /sbin/nologin systemd-bus-proxy"
 USERADD_PARAM:${PN}-journal-gatewayd = "--system -d / -M --shell /sbin/nologin systemd-journal-gateway"
@@ -478,6 +484,32 @@  FILES:${PN}-journal-remote = "${rootlibexecdir}/systemd/systemd-journal-remote \
                              "
 SYSTEMD_SERVICE:${PN}-journal-remote = "systemd-journal-remote.socket"
 
+FILES:${PN}-networkd = "${base_bindir}/networkctl \
+                        ${sysconfdir}/systemd/network \
+                        ${sysconfdir}/systemd/networkd.conf \
+                        ${rootlibexecdir}/systemd/network/ \
+                        ${systemd_system_unitdir}/systemd-networkd.service \
+                        ${systemd_system_unitdir}/systemd-networkd.socket \
+                        ${systemd_system_unitdir}/systemd-networkd-wait-online.service \
+                        ${systemd_system_unitdir}/systemd-networkd-wait-online@.service \
+                        ${rootlibexecdir}/systemd/systemd-networkd \
+                        ${rootlibexecdir}/systemd/systemd-networkd-wait-online \
+                        ${exec_prefix}/lib/sysusers.d/systemd-network.conf \
+                        ${exec_prefix}/lib/tmpfiles.d/systemd-network.conf \
+                        ${datadir}/dbus-1/system.d/org.freedesktop.network1.conf \
+                        ${datadir}/dbus-1/system-services/org.freedesktop.network1.service \
+                        ${datadir}/polkit-1/actions/org.freedesktop.network1.policy \
+                       "
+
+SYSTEMD_SERVICE:${PN}-networkd = "systemd-networkd.service \
+                                  systemd-networkd.socket \
+                                  systemd-networkd-wait-online.service \
+                                  systemd-networkd-wait-online@.service \
+                                 "
+SYSTEMD_PACKAGES_DONT_RECURSE:${PN}-networkd = "1"
+
+RDEPENDS:${PN}-networkd = "${PN}"
+
 FILES:${PN}-timesyncd = "${sysconfdir}/systemd/timesyncd.conf \
                          ${rootlibexecdir}/systemd/ntp-units.d/80-systemd-timesync.list \
                          ${systemd_system_unitdir}/systemd-timesyncd.service \
@@ -605,13 +637,13 @@  FILES:${PN}-udev-rules = "\
 CONFFILES:${PN} = "${sysconfdir}/systemd/coredump.conf \
 	${sysconfdir}/systemd/journald.conf \
 	${sysconfdir}/systemd/logind.conf \
-	${sysconfdir}/systemd/networkd.conf \
 	${sysconfdir}/systemd/pstore.conf \
 	${sysconfdir}/systemd/resolved.conf \
 	${sysconfdir}/systemd/sleep.conf \
 	${sysconfdir}/systemd/system.conf \
 	${sysconfdir}/systemd/user.conf \
 "
+CONFFILES:${PN}-networkd = "${sysconfdir}/systemd/networkd.conf"
 CONFFILES:${PN}-timesyncd = "${sysconfdir}/systemd/timesyncd.conf"
 
 FILES:${PN} = " ${base_bindir}/* \
@@ -691,6 +723,7 @@  RRECOMMENDS:${PN} += "systemd-extra-utils \
                       kernel-module-autofs4 kernel-module-unix kernel-module-ipv6 kernel-module-sch-fq-codel \
                       os-release \
                       systemd-conf \
+                      ${@bb.utils.contains('PACKAGECONFIG', 'networkd', '${PN}-networkd', '', d)} \
                       ${@bb.utils.contains('PACKAGECONFIG', 'timesyncd', '${PN}-timesyncd', '', d)} \
 "