From: Adrian Freihofer <adrian.freihofer@gmail.com>
To: openembedded-core@lists.openembedded.org
Cc: Adrian Freihofer <adrian.freihofer@siemens.com>
Subject: [PATCHv2 5/5] systemd: split networkd into its own package
Date: Thu, 12 Dec 2024 16:55:26 +0100 [thread overview]
Message-ID: <20241212164407.2904755-6-adrian.freihofer@gmail.com> (raw)
In-Reply-To: <20241212164407.2904755-1-adrian.freihofer@gmail.com>
From: Adrian Freihofer <adrian.freihofer@siemens.com>
Support of images with different network management implementations
without having to recompile systemd and other components.
Fedora does this as well since systemd version 246.6-2:
https://src.fedoraproject.org/rpms/systemd/blob/rawhide/f/systemd.spec#_578
This proves that it is technically possible and officially supported by
systemd.
Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
---
meta/recipes-core/systemd/systemd_256.8.bb | 28 +++++++++++++++++++---
1 file changed, 25 insertions(+), 3 deletions(-)
diff --git a/meta/recipes-core/systemd/systemd_256.8.bb b/meta/recipes-core/systemd/systemd_256.8.bb
index c1915d7e941..0710377d32d 100644
--- a/meta/recipes-core/systemd/systemd_256.8.bb
+++ b/meta/recipes-core/systemd/systemd_256.8.bb
@@ -412,6 +412,7 @@ PACKAGE_BEFORE_PN = "\
${PN}-journal-remote \
${PN}-kernel-install \
${PN}-mime \
+ ${PN}-networkd \
${PN}-rpm-macros \
${PN}-udev-rules \
${PN}-vconsole-setup \
@@ -440,6 +441,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)} \
"
SYSTEMD_SERVICE:${PN}-binfmt = "systemd-binfmt.service"
@@ -448,12 +450,13 @@ USERADD_PACKAGES = "${PN} \
${@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)} \
"
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}-networkd = "--system -d / -M --shell /sbin/nologin systemd-network"
USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit', '--system --no-create-home --user-group --home-dir ${datadir}/polkit-1 polkitd;', '', d)}"
USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'resolved', '--system -d / -M --shell /sbin/nologin systemd-resolve;', '', d)}"
USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'timesyncd', '--system -d / -M --shell /sbin/nologin systemd-timesync;', '', d)}"
@@ -620,6 +623,27 @@ FILES:${PN}-extra-utils = "\
FILES:${PN}-mime = "${MIMEDIR}"
RRECOMMENDS:${PN} += "${PN}-mime"
+FILES:${PN}-networkd = "\
+ ${bindir}/networkctl \
+ ${datadir}/dbus-1/system-services/org.freedesktop.network1.service \
+ ${datadir}/dbus-1/system.d/org.freedesktop.network1.conf \
+ ${datadir}/polkit-1/actions/org.freedesktop.network1.policy \
+ ${nonarch_libdir}/sysusers.d/systemd-network.conf \
+ ${nonarch_libdir}/tmpfiles.d/systemd-network.conf \
+ ${sysconfdir}/systemd/networkd.conf \
+ ${systemd_system_unitdir}/systemd-networkd* \
+ ${systemd_unitdir}/network/*.network \
+ ${systemd_unitdir}/network/*.network.example \
+ ${systemd_unitdir}/networkd.conf \
+ ${systemd_unitdir}/systemd-networkd* \
+"
+# systemd-networkd-persistent-storage.service BindsTo=systemd-networkd.service
+# systemd-networkd.service has Also=systemd-networkd-wait-online.service
+SYSTEMD_SERVICE:${PN}-networkd = "systemd-networkd.service"
+CONFFILES:${PN}-networkd = "${sysconfdir}/systemd/networkd.conf"
+RDEPENDS:${PN}-networkd += "${PN}"
+RRECOMMENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'networkd', '${PN}-networkd', '', d)}"
+
FILES:${PN}-udev-rules = "\
${nonarch_libdir}/udev/rules.d/70-uaccess.rules \
${nonarch_libdir}/udev/rules.d/71-seat.rules \
@@ -630,7 +654,6 @@ 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 \
@@ -698,7 +721,6 @@ FILES:${PN} = " ${base_bindir}/* \
${nonarch_libdir}/modprobe.d/README \
${datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf \
${datadir}/dbus-1/system.d/org.freedesktop.locale1.conf \
- ${datadir}/dbus-1/system.d/org.freedesktop.network1.conf \
${datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf \
${datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf \
${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', '${datadir}/dbus-1/system.d/org.freedesktop.hostname1_no_polkit.conf', '', d)} \
--
2.47.0
next prev parent reply other threads:[~2024-12-12 16:44 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-12 15:55 [PATCHv2 0/5] systemd split networkd package Adrian Freihofer
2024-12-12 15:55 ` [PATCHv2 1/5] busybox: add klogd service to FILES Adrian Freihofer
2024-12-12 15:55 ` [PATCHv2 2/5] dropbear: add dropbearkey.service " Adrian Freihofer
2024-12-12 15:55 ` [PATCHv2 3/5] systemd.bbclass: refactor adding files Adrian Freihofer
2024-12-12 15:55 ` [PATCHv2 4/5] systemd.bbclass: do not automatically add Also services Adrian Freihofer
2024-12-12 15:55 ` Adrian Freihofer [this message]
2024-12-13 13:53 ` [OE-core] [PATCHv2 5/5] systemd: split networkd into its own package Bruce Ashfield
2024-12-13 21:48 ` Adrian Freihofer
2024-12-16 4:41 ` Bruce Ashfield
2024-12-16 16:08 ` Freihofer, Adrian
2024-12-16 16:13 ` Bruce Ashfield
2024-12-13 11:18 ` [OE-core] [PATCHv2 0/5] systemd split networkd package Richard Purdie
2024-12-13 21:27 ` Adrian Freihofer
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=20241212164407.2904755-6-adrian.freihofer@gmail.com \
--to=adrian.freihofer@gmail.com \
--cc=adrian.freihofer@siemens.com \
--cc=openembedded-core@lists.openembedded.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