From patchwork Wed Feb 8 07:12:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Marko X-Patchwork-Id: 19127 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5069DC05027 for ; Wed, 8 Feb 2023 07:14:04 +0000 (UTC) Received: from mta-64-226.siemens.flowmailer.net (mta-64-226.siemens.flowmailer.net [185.136.64.226]) by mx.groups.io with SMTP id smtpd.web11.3057.1675840433162501901 for ; Tue, 07 Feb 2023 23:13:54 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=Pbhba59P; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.226, mailfrom: fm-256628-20230208071350b603e78608b5ae27d3-nr4or2@rts-flowmailer.siemens.com) Received: by mta-64-226.siemens.flowmailer.net with ESMTPSA id 20230208071350b603e78608b5ae27d3 for ; Wed, 08 Feb 2023 08:13:51 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=8+ebQ5pW7rGNaXKdnOGD4TUFChiIUC9NHF1hoM5F2nI=; b=Pbhba59PONVWklfsRWUJHQ/uUoqlASCX5yd7ZkmZKXKBM2K/Tno6yxCxtsRYiVF0V+anno hrdaoKf29cyDU3sH1KhNtlAFgZxUx+7hr0Aooob8ThanX/RDySBaWoU9Gzlo7CwFBep+h8OF /jZ+VX/nhG9LtFBj/Ty6FhEU7Ffuw=; From: Peter Marko To: openembedded-core@lists.openembedded.org Cc: Peter Marko Subject: [OE-core][PATCH 1/3] systemd: split timesyncd to its own package Date: Wed, 8 Feb 2023 08:12:49 +0100 Message-Id: <20230208071251.5412-2-peter.marko@siemens.com> In-Reply-To: <20230208071251.5412-1-peter.marko@siemens.com> References: <20230208071251.5412-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 08 Feb 2023 07:14:04 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/176837 Signed-off-by: Peter Marko --- meta/recipes-core/systemd/systemd_252.4.bb | 27 ++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/meta/recipes-core/systemd/systemd_252.4.bb b/meta/recipes-core/systemd/systemd_252.4.bb index e6c873f53b..de3ca93df8 100644 --- a/meta/recipes-core/systemd/systemd_252.4.bb +++ b/meta/recipes-core/systemd/systemd_252.4.bb @@ -376,6 +376,7 @@ PACKAGE_BEFORE_PN = "\ ${PN}-journal-remote \ ${PN}-extra-utils \ ${PN}-udev-rules \ + ${PN}-timesyncd \ libsystemd-shared \ udev \ udev-hwdb \ @@ -393,12 +394,16 @@ 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}-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." + SUMMARY:libsystemd-shared = "Systemd shared library" SYSTEMD_PACKAGES = "${@bb.utils.contains('PACKAGECONFIG', 'binfmt', '${PN}-binfmt', '', d)} \ ${@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', 'timesyncd', '${PN}-timesyncd', '', d)} \ " SYSTEMD_SERVICE:${PN}-binfmt = "systemd-binfmt.service" @@ -415,7 +420,7 @@ USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'coredump', '--sys 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} += "${@bb.utils.contains('PACKAGECONFIG', 'timesyncd', '--system -d / -M --shell /sbin/nologin systemd-timesync;', '', d)}" +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" USERADD_PARAM:${PN}-journal-remote = "--system -d / -M --shell /sbin/nologin systemd-journal-remote" @@ -473,6 +478,23 @@ FILES:${PN}-journal-remote = "${rootlibexecdir}/systemd/systemd-journal-remote \ " SYSTEMD_SERVICE:${PN}-journal-remote = "systemd-journal-remote.socket" +FILES:${PN}-timesyncd = "${sysconfdir}/systemd/timesyncd.conf \ + ${rootlibexecdir}/systemd/ntp-units.d/80-systemd-timesync.list \ + ${systemd_system_unitdir}/systemd-timesyncd.service \ + ${systemd_system_unitdir}/systemd-time-wait-sync.service \ + ${rootlibexecdir}/systemd/systemd-timesyncd \ + ${rootlibexecdir}/systemd/systemd-time-wait-sync \ + ${exec_prefix}/lib/sysusers.d/systemd-timesync.conf \ + ${datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf \ + ${datadir}/dbus-1/system-services/org.freedesktop.timesync1.service \ + ${datadir}/polkit-1/actions/org.freedesktop.timesync1.policy \ + " + +SYSTEMD_SERVICE:${PN}-timesyncd = "systemd-timesyncd.service \ + systemd-time-wait-sync.service \ + " + +RDEPENDS:${PN}-timesyncd = "${PN}" FILES:${PN}-container = "${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf \ ${sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf \ @@ -588,9 +610,9 @@ CONFFILES:${PN} = "${sysconfdir}/systemd/coredump.conf \ ${sysconfdir}/systemd/resolved.conf \ ${sysconfdir}/systemd/sleep.conf \ ${sysconfdir}/systemd/system.conf \ - ${sysconfdir}/systemd/timesyncd.conf \ ${sysconfdir}/systemd/user.conf \ " +CONFFILES:${PN}-timesyncd = "${sysconfdir}/systemd/timesyncd.conf" FILES:${PN} = " ${base_bindir}/* \ ${base_sbindir}/shutdown \ @@ -669,6 +691,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', 'timesyncd', '${PN}-timesyncd', '', d)} \ " INSANE_SKIP:${PN} += "dev-so libdir" From patchwork Wed Feb 8 07:12:50 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Marko X-Patchwork-Id: 19126 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 51F06C636D3 for ; Wed, 8 Feb 2023 07:14:04 +0000 (UTC) Received: from mta-65-225.siemens.flowmailer.net (mta-65-225.siemens.flowmailer.net [185.136.65.225]) by mx.groups.io with SMTP id smtpd.web11.3059.1675840433859299209 for ; Tue, 07 Feb 2023 23:13:54 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=kCi1/g7a; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.225, mailfrom: fm-256628-2023020807135034e53e6d088f8b5a47-rq2wme@rts-flowmailer.siemens.com) Received: by mta-65-225.siemens.flowmailer.net with ESMTPSA id 2023020807135034e53e6d088f8b5a47 for ; Wed, 08 Feb 2023 08:13:51 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=p4izaTwuO7bb3QLhVToMyZz5CxYnhYzhugrV3sQ4NPk=; b=kCi1/g7aUi0+q5OuoEzy4S/Cm7WPa5VWXdt25e70XMZLnAZRNkQmDD1Fx+9ZxtmsRtlyWd bkKrwNhDiMAnGOhn2Ert36gZyyTV3eqgKafwbwPbWjzmyHZqkCDresE/FHYLNWHv2WDckE+k yCQw/Y1YemRCEq2TzGLC/9f+YONcY=; From: Peter Marko To: openembedded-core@lists.openembedded.org Cc: Peter Marko Subject: [OE-core][PATCH 2/3] systemd.bbclass: add non-recursive service packaging Date: Wed, 8 Feb 2023 08:12:50 +0100 Message-Id: <20230208071251.5412-3-peter.marko@siemens.com> In-Reply-To: <20230208071251.5412-1-peter.marko@siemens.com> References: <20230208071251.5412-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 08 Feb 2023 07:14:04 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/176838 When service is split to separate package, it will take all services it depends on. It does not matter is the dependency is strong or week or if there is rdepends/rrecommends which would be the proper way to pull it. New variable SYSTEMD_PACKAGES_DONT_RECURSE allows to skip this recursion for packages which are extracted to a package. It is mostly useful for catch-all main package and splitting additional packages with PACKAGE_BEFORE_PN. Signed-off-by: Peter Marko --- documentation/ref-manual/variables.rst | 10 ++++++++++ meta/classes-recipe/systemd.bbclass | 15 ++++++++------- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst index 725f5c54cc..910b99aed2 100644 --- a/documentation/ref-manual/variables.rst +++ b/documentation/ref-manual/variables.rst @@ -8271,6 +8271,16 @@ system and gives an overview of their function and contents. :term:`SYSTEMD_PACKAGES`. Overrides not included in :term:`SYSTEMD_PACKAGES` will be silently ignored. + :term:`SYSTEMD_PACKAGES_DONT_RECURSE` + By default service files declared in :term:`SYSTEMD_SERVICE` are scanned + and all related service files are added to parsed package recursively. + + It allows more readable and future-proof recipes, however it does not work well + when services are split to separate packages. This variable prevents this behavior. + Here is an example from systemd recipe:: + + SYSTEMD_PACKAGES_DONT_RECURSE:${PN}-networkd = "1" + :term:`SYSVINIT_ENABLED_GETTYS` When using :ref:`SysVinit `, diff --git a/meta/classes-recipe/systemd.bbclass b/meta/classes-recipe/systemd.bbclass index f9c92e6c2a..c8cee482fe 100644 --- a/meta/classes-recipe/systemd.bbclass +++ b/meta/classes-recipe/systemd.bbclass @@ -124,19 +124,19 @@ python systemd_populate_packages() { return appended # Add systemd files to FILES:*-systemd, parse for Also= and follow recursive - def systemd_add_files_and_parse(pkg_systemd, path, service, keys): + def systemd_add_files_and_parse(pkg_systemd, path, service, keys, recurse): # avoid infinite recursion - if systemd_append_file(pkg_systemd, oe.path.join(path, service)): + if systemd_append_file(pkg_systemd, oe.path.join(path, service)) and recurse: fullpath = oe.path.join(d.getVar("D"), path, service) if service.find('.service') != -1: # for *.service add *@.service service_base = service.replace('.service', '') - systemd_add_files_and_parse(pkg_systemd, path, service_base + '@.service', keys) + systemd_add_files_and_parse(pkg_systemd, path, service_base + '@.service', keys, recurse) if service.find('.socket') != -1: # for *.socket add *.service and *@.service service_base = service.replace('.socket', '') - systemd_add_files_and_parse(pkg_systemd, path, service_base + '.service', keys) - systemd_add_files_and_parse(pkg_systemd, path, service_base + '@.service', keys) + systemd_add_files_and_parse(pkg_systemd, path, service_base + '.service', keys, recurse) + systemd_add_files_and_parse(pkg_systemd, path, service_base + '@.service', keys, recurse) for key in keys.split(): # recurse all dependencies found in keys ('Also';'Conflicts';..) and add to files cmd = "grep %s %s | sed 's,%s=,,g' | tr ',' '\\n'" % (key, shlex.quote(fullpath), key) @@ -144,7 +144,7 @@ python systemd_populate_packages() { line = pipe.readline() while line: line = line.replace('\n', '') - systemd_add_files_and_parse(pkg_systemd, path, line, keys) + systemd_add_files_and_parse(pkg_systemd, path, line, keys, recurse) line = pipe.readline() pipe.close() @@ -157,6 +157,7 @@ python systemd_populate_packages() { keys = 'Also' # scan for all in SYSTEMD_SERVICE[] for pkg_systemd in systemd_packages.split(): + recurse = False if d.getVar('SYSTEMD_PACKAGES_DONT_RECURSE:' + pkg_systemd) else True for service in get_package_var(d, 'SYSTEMD_SERVICE', pkg_systemd).split(): path_found = '' @@ -178,7 +179,7 @@ python systemd_populate_packages() { break if path_found != '': - systemd_add_files_and_parse(pkg_systemd, path_found, service, keys) + systemd_add_files_and_parse(pkg_systemd, path_found, service, keys, recurse) else: bb.fatal("Didn't find service unit '{0}', specified in SYSTEMD_SERVICE:{1}. {2}".format( service, pkg_systemd, "Also looked for service unit '{0}'.".format(base) if base is not None else "")) From patchwork Wed Feb 8 07:12:51 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Marko X-Patchwork-Id: 19128 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6D6A8C636D4 for ; Wed, 8 Feb 2023 07:14:04 +0000 (UTC) Received: from mta-65-227.siemens.flowmailer.net (mta-65-227.siemens.flowmailer.net [185.136.65.227]) by mx.groups.io with SMTP id smtpd.web10.3025.1675840434223636828 for ; Tue, 07 Feb 2023 23:13:55 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=LVwosz9o; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.227, mailfrom: fm-256628-202302080713509be88f5337055a6205-zitaii@rts-flowmailer.siemens.com) Received: by mta-65-227.siemens.flowmailer.net with ESMTPSA id 202302080713509be88f5337055a6205 for ; Wed, 08 Feb 2023 08:13:51 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=xDoAz+32M4nDe72ta/aOaGk4zcJ6uGO9cNtUPTyrEA8=; b=LVwosz9ocVYA5EkvJvKXI3lIzaJRFB97djDlWNAPB9xxyakNDR81Wwu9VpyFYTHFgBfo0H VHC1zcXo48B0uk5W6957oZjww3To1mJI3RHJywP8SEjrGOiCvqNmgGIbRr2TlyLGr1HzwMST 7kewlw8LvVHMQPeS/xMsvnWLmhCqI=; From: Peter Marko To: openembedded-core@lists.openembedded.org Cc: Peter Marko Subject: [OE-core][PATCH 3/3] systemd: split networkd to its own package Date: Wed, 8 Feb 2023 08:12:51 +0100 Message-Id: <20230208071251.5412-4-peter.marko@siemens.com> In-Reply-To: <20230208071251.5412-1-peter.marko@siemens.com> References: <20230208071251.5412-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 08 Feb 2023 07:14:04 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/176840 Signed-off-by: Peter Marko --- meta/recipes-core/systemd/systemd_252.4.bb | 37 ++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) 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)} \ "