diff mbox series

avahi: fix D-Bus introspection

Message ID 20230512141135.308692-1-eero.aaltonen@vaisala.com
State Accepted, archived
Commit b8183ad25af3bcf23f04dd649b6ef665569fac8c
Headers show
Series avahi: fix D-Bus introspection | expand

Commit Message

Aaltonen Eero May 12, 2023, 2:11 p.m. UTC
From: Eero Aaltonen <eero.aaltonen@vaisala.com>

When dbus option is selected, install and package the D-Bus
introspection files.

Signed-off-by: Eero Aaltonen <eero.aaltonen@vaisala.com>
---
 meta/recipes-connectivity/avahi/avahi_0.8.bb | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

Comments

Alexander Kanavin May 15, 2023, 8:36 a.m. UTC | #1
On Fri, 12 May 2023 at 16:11, Eero Aaltonen via lists.openembedded.org
<eero.aaltonen=vaisala.com@lists.openembedded.org> wrote:
> --- a/meta/recipes-connectivity/avahi/avahi_0.8.bb
> +++ b/meta/recipes-connectivity/avahi/avahi_0.8.bb
> @@ -83,10 +83,13 @@ RRECOMMENDS:${PN}:append:libc-glibc = " libnss-mdns"
>  do_install() {
>         autotools_do_install
>         rm -rf ${D}/run
> -       rm -rf ${D}${datadir}/dbus-1/interfaces
> -       test -d ${D}${datadir}/dbus-1 && rmdir --ignore-fail-on-non-empty ${D}${datadir}/dbus-1
>         rm -rf ${D}${libdir}/avahi
>
> +       if ${@bb.utils.contains('PACKAGECONFIG', 'dbus', 'false', 'true', d)}; then
> +               rm -rf ${D}${datadir}/dbus-1/interfaces
> +               test -d ${D}${datadir}/dbus-1 && rmdir --ignore-fail-on-non-empty ${D}${datadir}/dbus-1
> +       fi
> +
>         # Move example service files out of /etc/avahi/services so we don't
>         # advertise ssh & sftp-ssh by default
>         install -d ${D}${docdir}/avahi
> @@ -135,7 +138,7 @@ FILES:avahi-daemon = "${sbindir}/avahi-daemon \
>                        ${sysconfdir}/avahi/services \
>                        ${sysconfdir}/dbus-1 \
>                        ${sysconfdir}/init.d/avahi-daemon \
> -                      ${datadir}/avahi/introspection/*.introspect \
> +                      ${@bb.utils.contains('PACKAGECONFIG', 'dbus', '${datadir}/dbus-1/interfaces', '', d)} \
>                        ${datadir}/avahi/avahi-service.dtd \
>                        ${datadir}/avahi/service-types \
>                        ${datadir}/dbus-1/system-services"

Why are these conditional? That packageconfig is defined as
PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
so upstream should simply handle installing (or not) the needed files by itself?

Alex
Aaltonen Eero May 15, 2023, 9:12 a.m. UTC | #2
On Mon, 2023-05-15 at 10:36 +0200, Alexander Kanavin wrote:
> On Fri, 12 May 2023 at 16:11, Eero Aaltonen via
> lists.openembedded.org
> <eero.aaltonen=vaisala.com@lists.openembedded.org> wrote:
> > --- a/meta/recipes-connectivity/avahi/avahi_0.8.bb
> > +++ b/meta/recipes-connectivity/avahi/avahi_0.8.bb
> 
> Why are these conditional? That packageconfig is defined as
> PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
> so upstream should simply handle installing (or not) the needed files
> by itself?

Overabundance of caution. I didn't find why the directories were
removed in the recipe - so I tried to minimize the changes. The
upstream build seems to install the D-Bus org.freedesktop.Avahi.service
also with --disable-dbus.

I'll follow with a minified patch V2. It server the same purpose
AFAICT.

Eero
diff mbox series

Patch

diff --git a/meta/recipes-connectivity/avahi/avahi_0.8.bb b/meta/recipes-connectivity/avahi/avahi_0.8.bb
index bf6835e0d6..9385404838 100644
--- a/meta/recipes-connectivity/avahi/avahi_0.8.bb
+++ b/meta/recipes-connectivity/avahi/avahi_0.8.bb
@@ -83,10 +83,13 @@  RRECOMMENDS:${PN}:append:libc-glibc = " libnss-mdns"
 do_install() {
 	autotools_do_install
 	rm -rf ${D}/run
-	rm -rf ${D}${datadir}/dbus-1/interfaces
-	test -d ${D}${datadir}/dbus-1 && rmdir --ignore-fail-on-non-empty ${D}${datadir}/dbus-1
 	rm -rf ${D}${libdir}/avahi
 
+	if ${@bb.utils.contains('PACKAGECONFIG', 'dbus', 'false', 'true', d)}; then
+		rm -rf ${D}${datadir}/dbus-1/interfaces
+		test -d ${D}${datadir}/dbus-1 && rmdir --ignore-fail-on-non-empty ${D}${datadir}/dbus-1
+	fi
+
 	# Move example service files out of /etc/avahi/services so we don't
 	# advertise ssh & sftp-ssh by default
 	install -d ${D}${docdir}/avahi
@@ -135,7 +138,7 @@  FILES:avahi-daemon = "${sbindir}/avahi-daemon \
                       ${sysconfdir}/avahi/services \
                       ${sysconfdir}/dbus-1 \
                       ${sysconfdir}/init.d/avahi-daemon \
-                      ${datadir}/avahi/introspection/*.introspect \
+                      ${@bb.utils.contains('PACKAGECONFIG', 'dbus', '${datadir}/dbus-1/interfaces', '', d)} \
                       ${datadir}/avahi/avahi-service.dtd \
                       ${datadir}/avahi/service-types \
                       ${datadir}/dbus-1/system-services"