diff mbox series

packagegroup-base: Add option to set zeroconf provider

Message ID 20250215150516.1168-1-alex.kiernan@gmail.com
State New
Headers show
Series packagegroup-base: Add option to set zeroconf provider | expand

Commit Message

Alex Kiernan Feb. 15, 2025, 3:05 p.m. UTC
avahi, systemd-resolved and mDNSResponder (in meta-networking) can all
provide Zeroconf services. Add a `ZEROCONF_DAEMON` option to select
which of these will provide service via packagegroup-base-zeroconf.

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
---
 meta/recipes-core/packagegroups/packagegroup-base.bb | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

Comments

Khem Raj Feb. 16, 2025, 2:03 a.m. UTC | #1
On Sat, Feb 15, 2025 at 7:06 AM Alex Kiernan via
lists.openembedded.org <alex.kiernan=gmail.com@lists.openembedded.org>
wrote:
>
> avahi, systemd-resolved and mDNSResponder (in meta-networking) can all
> provide Zeroconf services. Add a `ZEROCONF_DAEMON` option to select
> which of these will provide service via packagegroup-base-zeroconf.
>
> Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
> ---
>  meta/recipes-core/packagegroups/packagegroup-base.bb | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/meta/recipes-core/packagegroups/packagegroup-base.bb b/meta/recipes-core/packagegroups/packagegroup-base.bb
> index cb9d1f07af51..c172250a4322 100644
> --- a/meta/recipes-core/packagegroups/packagegroup-base.bb
> +++ b/meta/recipes-core/packagegroups/packagegroup-base.bb
> @@ -312,11 +312,14 @@ RDEPENDS:packagegroup-base-nfs = "\
>  RRECOMMENDS:packagegroup-base-nfs = "\
>      kernel-module-nfs "
>
> +# Choose 'avahi-daemon', 'mdns' or 'systemd-resolved' as zeroconf-daemon
> +ZEROCONF_DAEMON ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd-resolved', 'systemd-resolved', 'avahi-daemon', d)}"

are these distro features new? if so we need to document them as well

>  SUMMARY:packagegroup-base-zeroconf = "Zeroconf support"
>  RDEPENDS:packagegroup-base-zeroconf = "\
> -    avahi-daemon"
> +    ${@ '' if d.getVar('ZEROCONF_DAEMON') == 'systemd-resolved' else d.getVar('ZEROCONF_DAEMON')} \
> +    "
>  RDEPENDS:packagegroup-base-zeroconf:append:libc-glibc = "\
> -    libnss-mdns \
> +    ${@bb.utils.contains('ZEROCONF_DAEMON', 'systemd-resolved', '', 'libnss-mdns', d)} \
>      "
>
>  SUMMARY:packagegroup-base-ipv6 = "IPv6 support"
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#211488): https://lists.openembedded.org/g/openembedded-core/message/211488
> Mute This Topic: https://lists.openembedded.org/mt/111200541/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Alex Kiernan Feb. 16, 2025, 7:22 a.m. UTC | #2
On Sun, Feb 16, 2025 at 2:04 AM Khem Raj <raj.khem@gmail.com> wrote:
>
> On Sat, Feb 15, 2025 at 7:06 AM Alex Kiernan via
> lists.openembedded.org <alex.kiernan=gmail.com@lists.openembedded.org>
> wrote:
> >
> > avahi, systemd-resolved and mDNSResponder (in meta-networking) can all
> > provide Zeroconf services. Add a `ZEROCONF_DAEMON` option to select
> > which of these will provide service via packagegroup-base-zeroconf.
> >
> > Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
> > ---
> >  meta/recipes-core/packagegroups/packagegroup-base.bb | 7 +++++--
> >  1 file changed, 5 insertions(+), 2 deletions(-)
> >
> > diff --git a/meta/recipes-core/packagegroups/packagegroup-base.bb b/meta/recipes-core/packagegroups/packagegroup-base.bb
> > index cb9d1f07af51..c172250a4322 100644
> > --- a/meta/recipes-core/packagegroups/packagegroup-base.bb
> > +++ b/meta/recipes-core/packagegroups/packagegroup-base.bb
> > @@ -312,11 +312,14 @@ RDEPENDS:packagegroup-base-nfs = "\
> >  RRECOMMENDS:packagegroup-base-nfs = "\
> >      kernel-module-nfs "
> >
> > +# Choose 'avahi-daemon', 'mdns' or 'systemd-resolved' as zeroconf-daemon
> > +ZEROCONF_DAEMON ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd-resolved', 'systemd-resolved', 'avahi-daemon', d)}"
>
> are these distro features new? if so we need to document them as well
>

I have a doc patch for ZEROCONF_DAEMON, never quite sure how to order
things between the repos. `systemd-resolved` is an existing,
documented distro feature.

> >  SUMMARY:packagegroup-base-zeroconf = "Zeroconf support"
> >  RDEPENDS:packagegroup-base-zeroconf = "\
> > -    avahi-daemon"
> > +    ${@ '' if d.getVar('ZEROCONF_DAEMON') == 'systemd-resolved' else d.getVar('ZEROCONF_DAEMON')} \
> > +    "
> >  RDEPENDS:packagegroup-base-zeroconf:append:libc-glibc = "\
> > -    libnss-mdns \
> > +    ${@bb.utils.contains('ZEROCONF_DAEMON', 'systemd-resolved', '', 'libnss-mdns', d)} \
> >      "
> >
> >  SUMMARY:packagegroup-base-ipv6 = "IPv6 support"
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#211488): https://lists.openembedded.org/g/openembedded-core/message/211488
> > Mute This Topic: https://lists.openembedded.org/mt/111200541/1997914
> > Group Owner: openembedded-core+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
diff mbox series

Patch

diff --git a/meta/recipes-core/packagegroups/packagegroup-base.bb b/meta/recipes-core/packagegroups/packagegroup-base.bb
index cb9d1f07af51..c172250a4322 100644
--- a/meta/recipes-core/packagegroups/packagegroup-base.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-base.bb
@@ -312,11 +312,14 @@  RDEPENDS:packagegroup-base-nfs = "\
 RRECOMMENDS:packagegroup-base-nfs = "\
     kernel-module-nfs "
 
+# Choose 'avahi-daemon', 'mdns' or 'systemd-resolved' as zeroconf-daemon
+ZEROCONF_DAEMON ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd-resolved', 'systemd-resolved', 'avahi-daemon', d)}"
 SUMMARY:packagegroup-base-zeroconf = "Zeroconf support"
 RDEPENDS:packagegroup-base-zeroconf = "\
-    avahi-daemon"
+    ${@ '' if d.getVar('ZEROCONF_DAEMON') == 'systemd-resolved' else d.getVar('ZEROCONF_DAEMON')} \
+    "
 RDEPENDS:packagegroup-base-zeroconf:append:libc-glibc = "\
-    libnss-mdns \
+    ${@bb.utils.contains('ZEROCONF_DAEMON', 'systemd-resolved', '', 'libnss-mdns', d)} \
     "
 
 SUMMARY:packagegroup-base-ipv6 = "IPv6 support"