All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-networking][PATCH 0/1] mdns: move from meta-intel-iot-middleware
@ 2017-10-04 20:20 Paul Eggleton
  2017-10-04 20:20 ` [meta-networking][PATCH 1/1] " Paul Eggleton
  0 siblings, 1 reply; 14+ messages in thread
From: Paul Eggleton @ 2017-10-04 20:20 UTC (permalink / raw)
  To: openembedded-devel

This should be the last of the recipes from meta-intel-iot-middleware (I
hadn't intended to revive this one but a request came in on the mailing
list so it seems it may still be useful to some people).


The following changes since commit 5c9a4a08844c215ebd6f2146f50de753b8e7ecef:

  network-manager-applet: Disable gobject-introspection on musl (2017-10-04 14:54:41 +0000)

are available in the git repository at:

  git://git.openembedded.org/meta-openembedded-contrib paule/mdns
  http://cgit.openembedded.org/meta-openembedded-contrib/log/?h=paule/mdns

Paul Eggleton (1):
  mdns: move from meta-intel-iot-middleware

 .../recipes-protocols/mdns/files/build.patch       | 167 +++++++++++++++++++++
 .../recipes-protocols/mdns/files/mdns.service      |  15 ++
 .../recipes-protocols/mdns/mdns_765.50.9.bb        |  89 +++++++++++
 3 files changed, 271 insertions(+)
 create mode 100644 meta-networking/recipes-protocols/mdns/files/build.patch
 create mode 100644 meta-networking/recipes-protocols/mdns/files/mdns.service
 create mode 100644 meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb

-- 
2.9.5



^ permalink raw reply	[flat|nested] 14+ messages in thread

* [meta-networking][PATCH 1/1] mdns: move from meta-intel-iot-middleware
  2017-10-04 20:20 [meta-networking][PATCH 0/1] mdns: move from meta-intel-iot-middleware Paul Eggleton
@ 2017-10-04 20:20 ` Paul Eggleton
  2017-10-17  4:19   ` Khem Raj
  0 siblings, 1 reply; 14+ messages in thread
From: Paul Eggleton @ 2017-10-04 20:20 UTC (permalink / raw)
  To: openembedded-devel

The following improvements have been made over the recipe that was in
meta-intel-iot-middleware (a layer which is no longer actively
maintained):

* Upgrade to latest upstream version (765.50.9)
* Fix compilation failures by passing CC and LD
* Fix "no GNU hash in the ELF binary" issue
* Point S at the correct source subdirectory so that "make clean" works
* Fix lack of soname on libdns_sd.so leading to missing RDEPENDS QA error
* Add SUMMARY

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 .../recipes-protocols/mdns/files/build.patch       | 167 +++++++++++++++++++++
 .../recipes-protocols/mdns/files/mdns.service      |  15 ++
 .../recipes-protocols/mdns/mdns_765.50.9.bb        |  89 +++++++++++
 3 files changed, 271 insertions(+)
 create mode 100644 meta-networking/recipes-protocols/mdns/files/build.patch
 create mode 100644 meta-networking/recipes-protocols/mdns/files/mdns.service
 create mode 100644 meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb

diff --git a/meta-networking/recipes-protocols/mdns/files/build.patch b/meta-networking/recipes-protocols/mdns/files/build.patch
new file mode 100644
index 0000000..4ab9d23
--- /dev/null
+++ b/meta-networking/recipes-protocols/mdns/files/build.patch
@@ -0,0 +1,167 @@
+From 43b6e98c9c37afd0d914949dcff4eab81f5a995f Mon Sep 17 00:00:00 2001
+From: Brendan Le Foll <brendan.le.foll@intel.com>
+Date: Tue, 3 Mar 2015 11:42:57 +0000
+
+Upstream-Status: Inappropriate [OE-specific]
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+
+---
+ mDNSPosix/Makefile | 54 +++++++++++++++++++++++++-----------------------------
+ 1 file changed, 25 insertions(+), 29 deletions(-)
+
+diff --git a/mDNSPosix/Makefile b/mDNSPosix/Makefile
+index 4f98e90..8ac97ad 100755
+--- a/mDNSPosix/Makefile
++++ b/mDNSPosix/Makefile
+@@ -50,6 +50,7 @@
+ 
+ LIBVERS = 1
+ 
++POSIXDIR = ../mDNSPosix
+ COREDIR = ../mDNSCore
+ SHAREDDIR ?= ../mDNSShared
+ JDK = /usr/jdk
+@@ -58,11 +59,11 @@ CC = @cc
+ BISON = @bison
+ FLEX = @flex
+ ST = @strip
+-LD = ld -shared
++LD =@LD
+ CP = cp
+ RM = rm
+ LN = ln -s -f
+-CFLAGS_COMMON = -I$(COREDIR) -I$(SHAREDDIR) -I$(OBJDIR) -fwrapv -W -Wall -DPID_FILE=\"/var/run/mdnsd.pid\" -DMDNS_UDS_SERVERPATH=\"/var/run/mdnsd\"
++CFLAGS_COMMON = -I$(POSIXDIR) -I$(COREDIR) -I$(SHAREDDIR) -I$(OBJDIR) -fwrapv -W -Wall -DPID_FILE=\"/var/run/mdnsd.pid\" -DMDNS_UDS_SERVERPATH=\"/var/run/mdnsd\"
+ CFLAGS_PTHREAD =
+ LINKOPTS =
+ LINKOPTS_PTHREAD = -lpthread
+@@ -70,7 +71,7 @@ LDSUFFIX = so
+ JAVACFLAGS_OS = -fPIC -shared -ldns_sd
+ 
+ # Set up diverging paths for debug vs. prod builds
+-DEBUG=0
++DEBUG?=1
+ ifeq ($(DEBUG),1)
+ CFLAGS_DEBUG = -g -DMDNS_DEBUGMSGS=2
+ OBJDIR = objects/debug
+@@ -213,7 +214,7 @@ endif
+ endif
+ endif
+ 
+-CFLAGS = $(CFLAGS_COMMON) $(CFLAGS_OS) $(CFLAGS_DEBUG)
++CFLAGS_BUILD = $(CFLAGS) $(CFLAGS_COMMON) $(CFLAGS_OS) $(CFLAGS_DEBUG)
+ 
+ #############################################################################
+ 
+@@ -249,8 +250,7 @@ Daemon: setup $(BUILDDIR)/mdnsd
+ 	@echo "Responder daemon done"
+ 
+ $(BUILDDIR)/mdnsd: $(DAEMONOBJS)
+-	$(CC) -o $@ $+ $(LINKOPTS)
+-	@$(STRIP) $@
++	$(CC) -o $@ $+
+ 
+ # libdns_sd target builds the client library
+ libdns_sd: setup $(BUILDDIR)/libdns_sd.$(LDSUFFIX)
+@@ -259,22 +259,18 @@ libdns_sd: setup $(BUILDDIR)/libdns_sd.$(LDSUFFIX)
+ CLIENTLIBOBJS = $(OBJDIR)/dnssd_clientlib.c.so.o $(OBJDIR)/dnssd_clientstub.c.so.o $(OBJDIR)/dnssd_ipc.c.so.o
+ 
+ $(BUILDDIR)/libdns_sd.$(LDSUFFIX): $(CLIENTLIBOBJS)
+-	@$(LD) $(LINKOPTS) -o $@ $+
+-	@$(STRIP) $@
++	$(LD) -shared $(LINKOPTS) -Wl,-soname,libdns_sd.$(LDSUFFIX).1 -o $@ $+
+ 
+-Clients: setup libdns_sd ../Clients/build/dns-sd
++Clients: setup libdns_sd
++	@$(MAKE) -C ../Clients DEBUG=${DEBUG}
+ 	@echo "Clients done"
+ 
+-../Clients/build/dns-sd:
+-	@$(MAKE) -C ../Clients
+-
+ # nss_mdns target builds the Name Service Switch module
+ nss_mdns: setup $(BUILDDIR)/$(NSSLIBFILE)
+ 	@echo "Name Service Switch module done"
+ 
+ $(BUILDDIR)/$(NSSLIBFILE): $(CLIENTLIBOBJS) $(OBJDIR)/nss_mdns.c.so.o
+-	@$(LD) $(LINKOPTS) -o $@ $+
+-	@$(STRIP) $@
++	$(LD) -shared $(LINKOPTS) -o $@ $+
+ 
+ #############################################################################
+ 
+@@ -470,55 +466,55 @@ dnsextd: setup $(BUILDDIR)/dnsextd
+ 	@echo "dnsextd done"
+ 
+ $(BUILDDIR)/mDNSClientPosix:         $(APPOBJ)     $(OBJDIR)/Client.c.o
+-	$(CC) $+ -o $@ $(LINKOPTS)
++	$(CC) $+ -o $@
+ 
+ $(BUILDDIR)/mDNSResponderPosix:      $(COMMONOBJ)  $(OBJDIR)/Responder.c.o
+-	$(CC) $+ -o $@ $(LINKOPTS)
++	$(CC) $+ -o $@
+ 
+ $(BUILDDIR)/mDNSProxyResponderPosix: $(COMMONOBJ)  $(OBJDIR)/ProxyResponder.c.o
+-	$(CC) $+ -o $@ $(LINKOPTS)
++	$(CC) $+ -o $@
+ 
+ $(BUILDDIR)/mDNSIdentify:            $(SPECIALOBJ) $(OBJDIR)/Identify.c.o
+-	$(CC) $+ -o $@ $(LINKOPTS)
++	$(CC) $+ -o $@
+ 
+ $(OBJDIR)/Identify.c.o:              $(COREDIR)/mDNS.c # Note: Identify.c textually imports mDNS.c
+ 
+ $(BUILDDIR)/mDNSNetMonitor:          $(SPECIALOBJ) $(OBJDIR)/NetMonitor.c.o
+-	$(CC) $+ -o $@ $(LINKOPTS)
++	$(CC) $+ -o $@
+ 
+ $(OBJDIR)/NetMonitor.c.o:            $(COREDIR)/mDNS.c # Note: NetMonitor.c textually imports mDNS.c
+ 
+ $(BUILDDIR)/dnsextd:                 $(DNSEXTDOBJ) $(OBJDIR)/dnsextd.c.threadsafe.o
+-	$(CC) $+ -o $@ $(LINKOPTS) $(LINKOPTS_PTHREAD)
++	$(CC) $+ -o $@ $(LINKOPTS_PTHREAD)
+ 
+ #############################################################################
+ 
+ # Implicit rules
+ $(OBJDIR)/%.c.o:	%.c
+-	$(CC) $(CFLAGS) -c -o $@ $<
++	$(CC) $(CFLAGS_BUILD) -c -o $@ $<
+ 
+ $(OBJDIR)/%.c.o:	$(COREDIR)/%.c
+-	$(CC) $(CFLAGS) -c -o $@ $<
++	$(CC) $(CFLAGS_BUILD) -c -o $@ $<
+ 
+ $(OBJDIR)/%.c.o:	$(SHAREDDIR)/%.c
+-	$(CC) $(CFLAGS) -c -o $@ $<
++	$(CC) $(CFLAGS_BUILD) -c -o $@ $<
+ 
+ $(OBJDIR)/%.c.threadsafe.o:	%.c
+-	$(CC) $(CFLAGS) $(CFLAGS_PTHREAD) -D_REENTRANT -c -o $@ $<
++	$(CC) $(CFLAGS_BUILD) $(CFLAGS_PTHREAD) -D_REENTRANT -c -o $@ $<
+ 
+ $(OBJDIR)/%.c.threadsafe.o:	$(SHAREDDIR)/%.c
+-	$(CC) $(CFLAGS) $(CFLAGS_PTHREAD) -D_REENTRANT -c -o $@ $<
++	$(CC) $(CFLAGS_BUILD) $(CFLAGS_PTHREAD) -D_REENTRANT -c -o $@ $<
+ 
+ $(OBJDIR)/%.c.so.o:	%.c
+-	$(CC) $(CFLAGS) -c -fPIC -o $@ $<
++	$(CC) $(CFLAGS_BUILD) -c -fPIC -o $@ $<
+ 
+ $(OBJDIR)/%.c.so.o:	$(SHAREDDIR)/%.c
+-	$(CC) $(CFLAGS) -c -fPIC -o $@ $<
++	$(CC) $(CFLAGS_BUILD) -c -fPIC -o $@ $<
+ 
+ $(OBJDIR)/%.y.o: $(SHAREDDIR)/%.y
+ 	$(BISON)              -o $(OBJDIR)/$*.c -d $<
+-	$(CC) $(CFLAGS) -c -o $@ $(OBJDIR)/$*.c
++	$(CC) $(CFLAGS_BUILD) -c -o $@ $(OBJDIR)/$*.c
+ 
+ $(OBJDIR)/%.l.o: $(SHAREDDIR)/%.l
+ 	$(FLEX) $(FLEXFLAGS_OS) -i             -o$(OBJDIR)/$*.l.c $<
+-	$(CC) $(CFLAGS) -Wno-error -c -o $@ $(OBJDIR)/$*.l.c
++	$(CC) $(CFLAGS_BUILD) -Wno-error -c -o $@ $(OBJDIR)/$*.l.c
+-- 
+2.9.5
+
diff --git a/meta-networking/recipes-protocols/mdns/files/mdns.service b/meta-networking/recipes-protocols/mdns/files/mdns.service
new file mode 100644
index 0000000..531d142
--- /dev/null
+++ b/meta-networking/recipes-protocols/mdns/files/mdns.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Zero-configuration networking
+After=network.target
+
+[Service]
+Type=forking
+ExecStartPre=/bin/rm -f /var/run/mdnsd.pid
+ExecStart=/usr/sbin/mdnsd
+ExecReload=/bin/kill -HUP $MAINPID
+PIDFile=/var/run/mdnsd.pid
+Restart=always
+RestartSec=10s
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb b/meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb
new file mode 100644
index 0000000..1a80f7a
--- /dev/null
+++ b/meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb
@@ -0,0 +1,89 @@
+SUMMARY = "Publishes & browses available services on a link according to the Zeroconf / Bonjour protocol"
+DESCRIPTION = "Bonjour, also known as zero-configuration networking, enables automatic discovery of computers, devices, and services on IP networks."
+HOMEPAGE = "http://developer.apple.com/networking/bonjour/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://../LICENSE;md5=31c50371921e0fb731003bbc665f29bf"
+
+RPROVIDES_${PN} += "libdns_sd.so"
+
+SRC_URI = "http://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-${PV}.tar.gz \
+           file://build.patch;patchdir=.. \
+           file://mdns.service \
+           "
+
+SRC_URI[md5sum] = "4a6bc1628851002634ea3833a4dca317"
+SRC_URI[sha256sum] = "de61dd0034357aa50c60806726fb1f70fa8e953ff9cb62eccfb73efad10dba0a"
+
+PARALLEL_MAKE = ""
+
+S = "${WORKDIR}/mDNSResponder-${PV}/mDNSPosix"
+
+EXTRA_OEMAKE += "os=linux DEBUG=0 'CC=${CC}' 'LD=${CCLD} ${LDFLAGS}'"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_install () {
+    install -d ${D}${sbindir}
+    install -m 0755 build/prod/mdnsd ${D}${sbindir}
+
+    install -d ${D}${libdir}
+    cp build/prod/libdns_sd.so ${D}${libdir}/libdns_sd.so.1
+    chmod 0644 ${D}${libdir}/libdns_sd.so.1
+    ln -s libdns_sd.so.1 ${D}${libdir}/libdns_sd.so
+
+    install -d ${D}${includedir}
+    install -m 0644 ../mDNSShared/dns_sd.h ${D}${includedir}
+
+    install -d ${D}${mandir}/man8
+    install -m 0644 ../mDNSShared/mDNSResponder.8 ${D}${mandir}/man8/mdnsd.8
+
+    install -d ${D}${bindir}
+    install -m 0755 ../Clients/build/dns-sd ${D}${bindir}
+
+    install -d ${D}${libdir}
+    oe_libinstall -C build/prod -so libnss_mdns-0.2 ${D}${libdir}
+    ln -s libnss_mdns-0.2.so ${D}${libdir}/libnss_mdns.so.2
+
+    install -d ${D}${sysconfdir}
+    install -m 0644 nss_mdns.conf ${D}${sysconfdir}
+
+    install -d ${D}${mandir}/man5
+    install -m 0644 nss_mdns.conf.5 ${D}${mandir}/man5
+
+    install -d ${D}${mandir}/man8
+    install -m 0644 libnss_mdns.8 ${D}${mandir}/man8
+
+    install -d ${D}${systemd_unitdir}/system/
+    install -m 0644 ${WORKDIR}/mdns.service ${D}${systemd_unitdir}/system/
+}
+
+pkg_postinst_${PN} () {
+    sed -e '/^hosts:/s/\s*\<mdns\>//' \
+        -e 's/\(^hosts:.*\)\(\<files\>\)\(.*\)\(\<dns\>\)\(.*\)/\1\2 mdns\3\4\5/' \
+        -i $D/etc/nsswitch.conf
+}
+
+pkg_prerm_${PN} () {
+    sed -e '/^hosts:/s/\s*\<mdns\>//' \
+        -e '/^hosts:/s/\s*mdns//' \
+        -i $D/etc/nsswitch.conf
+}
+
+inherit systemd
+
+SYSTEMD_SERVICE_${PN} = "mdns.service"
+
+FILES_${PN} += "${systemd_unitdir}/system/mdns.service"
+FILES_${PN} += "${libdir}/libdns_sd.so.1 \
+                ${bindir}/dns-sd \
+                ${libdir}/libnss_mdns-0.2.so \
+                ${sysconfdir}/nss_mdns.conf"
+
+FILES_${PN}-dev += "${libdir}/libdns_sd.so \
+                    ${includedir}/dns_sd.h "
+
+FILES_${PN}-man += "${mandir}/man8/mdnsd.8 \
+                    ${mandir}/man5/nss_mdns.conf.5 \
+                    ${mandir}/man8/libnss_mdns.8"
+
+PACKAGES = "${PN} ${PN}-dev ${PN}-man ${PN}-dbg"
-- 
2.9.5



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [meta-networking][PATCH 1/1] mdns: move from meta-intel-iot-middleware
  2017-10-04 20:20 ` [meta-networking][PATCH 1/1] " Paul Eggleton
@ 2017-10-17  4:19   ` Khem Raj
  2017-10-17  5:11     ` Denys Dmytriyenko
  0 siblings, 1 reply; 14+ messages in thread
From: Khem Raj @ 2017-10-17  4:19 UTC (permalink / raw)
  To: Paul Eggleton; +Cc: openembeded-devel

On Wed, Oct 4, 2017 at 1:20 PM, Paul Eggleton
<paul.eggleton@linux.intel.com> wrote:
> The following improvements have been made over the recipe that was in
> meta-intel-iot-middleware (a layer which is no longer actively
> maintained):
>
> * Upgrade to latest upstream version (765.50.9)
> * Fix compilation failures by passing CC and LD
> * Fix "no GNU hash in the ELF binary" issue
> * Point S at the correct source subdirectory so that "make clean" works
> * Fix lack of soname on libdns_sd.so leading to missing RDEPENDS QA error
> * Add SUMMARY
>


This has been accepted into master but it fails to build with musl

| nss_mdns.c:382:17: fatal error: nss.h: No such file or directory
|  #include <nss.h>
|                  ^
| compilation terminated.
| ERROR: oe_runmake failed
| make: *** [Makefile:509: objects/prod/nss_mdns.c.so.o] Error 1
| WARNING: /mnt/a/oe/build/tmp/work/mips32r2-bec-linux-musl/mdns/765.50.9-r0/temp/run.do_compile.10028:1
exit 1 from 'exit 1'


> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
> ---
>  .../recipes-protocols/mdns/files/build.patch       | 167 +++++++++++++++++++++
>  .../recipes-protocols/mdns/files/mdns.service      |  15 ++
>  .../recipes-protocols/mdns/mdns_765.50.9.bb        |  89 +++++++++++
>  3 files changed, 271 insertions(+)
>  create mode 100644 meta-networking/recipes-protocols/mdns/files/build.patch
>  create mode 100644 meta-networking/recipes-protocols/mdns/files/mdns.service
>  create mode 100644 meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb
>
> diff --git a/meta-networking/recipes-protocols/mdns/files/build.patch b/meta-networking/recipes-protocols/mdns/files/build.patch
> new file mode 100644
> index 0000000..4ab9d23
> --- /dev/null
> +++ b/meta-networking/recipes-protocols/mdns/files/build.patch
> @@ -0,0 +1,167 @@
> +From 43b6e98c9c37afd0d914949dcff4eab81f5a995f Mon Sep 17 00:00:00 2001
> +From: Brendan Le Foll <brendan.le.foll@intel.com>
> +Date: Tue, 3 Mar 2015 11:42:57 +0000
> +
> +Upstream-Status: Inappropriate [OE-specific]
> +
> +Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
> +
> +---
> + mDNSPosix/Makefile | 54 +++++++++++++++++++++++++-----------------------------
> + 1 file changed, 25 insertions(+), 29 deletions(-)
> +
> +diff --git a/mDNSPosix/Makefile b/mDNSPosix/Makefile
> +index 4f98e90..8ac97ad 100755
> +--- a/mDNSPosix/Makefile
> ++++ b/mDNSPosix/Makefile
> +@@ -50,6 +50,7 @@
> +
> + LIBVERS = 1
> +
> ++POSIXDIR = ../mDNSPosix
> + COREDIR = ../mDNSCore
> + SHAREDDIR ?= ../mDNSShared
> + JDK = /usr/jdk
> +@@ -58,11 +59,11 @@ CC = @cc
> + BISON = @bison
> + FLEX = @flex
> + ST = @strip
> +-LD = ld -shared
> ++LD =@LD
> + CP = cp
> + RM = rm
> + LN = ln -s -f
> +-CFLAGS_COMMON = -I$(COREDIR) -I$(SHAREDDIR) -I$(OBJDIR) -fwrapv -W -Wall -DPID_FILE=\"/var/run/mdnsd.pid\" -DMDNS_UDS_SERVERPATH=\"/var/run/mdnsd\"
> ++CFLAGS_COMMON = -I$(POSIXDIR) -I$(COREDIR) -I$(SHAREDDIR) -I$(OBJDIR) -fwrapv -W -Wall -DPID_FILE=\"/var/run/mdnsd.pid\" -DMDNS_UDS_SERVERPATH=\"/var/run/mdnsd\"
> + CFLAGS_PTHREAD =
> + LINKOPTS =
> + LINKOPTS_PTHREAD = -lpthread
> +@@ -70,7 +71,7 @@ LDSUFFIX = so
> + JAVACFLAGS_OS = -fPIC -shared -ldns_sd
> +
> + # Set up diverging paths for debug vs. prod builds
> +-DEBUG=0
> ++DEBUG?=1
> + ifeq ($(DEBUG),1)
> + CFLAGS_DEBUG = -g -DMDNS_DEBUGMSGS=2
> + OBJDIR = objects/debug
> +@@ -213,7 +214,7 @@ endif
> + endif
> + endif
> +
> +-CFLAGS = $(CFLAGS_COMMON) $(CFLAGS_OS) $(CFLAGS_DEBUG)
> ++CFLAGS_BUILD = $(CFLAGS) $(CFLAGS_COMMON) $(CFLAGS_OS) $(CFLAGS_DEBUG)
> +
> + #############################################################################
> +
> +@@ -249,8 +250,7 @@ Daemon: setup $(BUILDDIR)/mdnsd
> +       @echo "Responder daemon done"
> +
> + $(BUILDDIR)/mdnsd: $(DAEMONOBJS)
> +-      $(CC) -o $@ $+ $(LINKOPTS)
> +-      @$(STRIP) $@
> ++      $(CC) -o $@ $+
> +
> + # libdns_sd target builds the client library
> + libdns_sd: setup $(BUILDDIR)/libdns_sd.$(LDSUFFIX)
> +@@ -259,22 +259,18 @@ libdns_sd: setup $(BUILDDIR)/libdns_sd.$(LDSUFFIX)
> + CLIENTLIBOBJS = $(OBJDIR)/dnssd_clientlib.c.so.o $(OBJDIR)/dnssd_clientstub.c.so.o $(OBJDIR)/dnssd_ipc.c.so.o
> +
> + $(BUILDDIR)/libdns_sd.$(LDSUFFIX): $(CLIENTLIBOBJS)
> +-      @$(LD) $(LINKOPTS) -o $@ $+
> +-      @$(STRIP) $@
> ++      $(LD) -shared $(LINKOPTS) -Wl,-soname,libdns_sd.$(LDSUFFIX).1 -o $@ $+
> +
> +-Clients: setup libdns_sd ../Clients/build/dns-sd
> ++Clients: setup libdns_sd
> ++      @$(MAKE) -C ../Clients DEBUG=${DEBUG}
> +       @echo "Clients done"
> +
> +-../Clients/build/dns-sd:
> +-      @$(MAKE) -C ../Clients
> +-
> + # nss_mdns target builds the Name Service Switch module
> + nss_mdns: setup $(BUILDDIR)/$(NSSLIBFILE)
> +       @echo "Name Service Switch module done"
> +
> + $(BUILDDIR)/$(NSSLIBFILE): $(CLIENTLIBOBJS) $(OBJDIR)/nss_mdns.c.so.o
> +-      @$(LD) $(LINKOPTS) -o $@ $+
> +-      @$(STRIP) $@
> ++      $(LD) -shared $(LINKOPTS) -o $@ $+
> +
> + #############################################################################
> +
> +@@ -470,55 +466,55 @@ dnsextd: setup $(BUILDDIR)/dnsextd
> +       @echo "dnsextd done"
> +
> + $(BUILDDIR)/mDNSClientPosix:         $(APPOBJ)     $(OBJDIR)/Client.c.o
> +-      $(CC) $+ -o $@ $(LINKOPTS)
> ++      $(CC) $+ -o $@
> +
> + $(BUILDDIR)/mDNSResponderPosix:      $(COMMONOBJ)  $(OBJDIR)/Responder.c.o
> +-      $(CC) $+ -o $@ $(LINKOPTS)
> ++      $(CC) $+ -o $@
> +
> + $(BUILDDIR)/mDNSProxyResponderPosix: $(COMMONOBJ)  $(OBJDIR)/ProxyResponder.c.o
> +-      $(CC) $+ -o $@ $(LINKOPTS)
> ++      $(CC) $+ -o $@
> +
> + $(BUILDDIR)/mDNSIdentify:            $(SPECIALOBJ) $(OBJDIR)/Identify.c.o
> +-      $(CC) $+ -o $@ $(LINKOPTS)
> ++      $(CC) $+ -o $@
> +
> + $(OBJDIR)/Identify.c.o:              $(COREDIR)/mDNS.c # Note: Identify.c textually imports mDNS.c
> +
> + $(BUILDDIR)/mDNSNetMonitor:          $(SPECIALOBJ) $(OBJDIR)/NetMonitor.c.o
> +-      $(CC) $+ -o $@ $(LINKOPTS)
> ++      $(CC) $+ -o $@
> +
> + $(OBJDIR)/NetMonitor.c.o:            $(COREDIR)/mDNS.c # Note: NetMonitor.c textually imports mDNS.c
> +
> + $(BUILDDIR)/dnsextd:                 $(DNSEXTDOBJ) $(OBJDIR)/dnsextd.c.threadsafe.o
> +-      $(CC) $+ -o $@ $(LINKOPTS) $(LINKOPTS_PTHREAD)
> ++      $(CC) $+ -o $@ $(LINKOPTS_PTHREAD)
> +
> + #############################################################################
> +
> + # Implicit rules
> + $(OBJDIR)/%.c.o:      %.c
> +-      $(CC) $(CFLAGS) -c -o $@ $<
> ++      $(CC) $(CFLAGS_BUILD) -c -o $@ $<
> +
> + $(OBJDIR)/%.c.o:      $(COREDIR)/%.c
> +-      $(CC) $(CFLAGS) -c -o $@ $<
> ++      $(CC) $(CFLAGS_BUILD) -c -o $@ $<
> +
> + $(OBJDIR)/%.c.o:      $(SHAREDDIR)/%.c
> +-      $(CC) $(CFLAGS) -c -o $@ $<
> ++      $(CC) $(CFLAGS_BUILD) -c -o $@ $<
> +
> + $(OBJDIR)/%.c.threadsafe.o:   %.c
> +-      $(CC) $(CFLAGS) $(CFLAGS_PTHREAD) -D_REENTRANT -c -o $@ $<
> ++      $(CC) $(CFLAGS_BUILD) $(CFLAGS_PTHREAD) -D_REENTRANT -c -o $@ $<
> +
> + $(OBJDIR)/%.c.threadsafe.o:   $(SHAREDDIR)/%.c
> +-      $(CC) $(CFLAGS) $(CFLAGS_PTHREAD) -D_REENTRANT -c -o $@ $<
> ++      $(CC) $(CFLAGS_BUILD) $(CFLAGS_PTHREAD) -D_REENTRANT -c -o $@ $<
> +
> + $(OBJDIR)/%.c.so.o:   %.c
> +-      $(CC) $(CFLAGS) -c -fPIC -o $@ $<
> ++      $(CC) $(CFLAGS_BUILD) -c -fPIC -o $@ $<
> +
> + $(OBJDIR)/%.c.so.o:   $(SHAREDDIR)/%.c
> +-      $(CC) $(CFLAGS) -c -fPIC -o $@ $<
> ++      $(CC) $(CFLAGS_BUILD) -c -fPIC -o $@ $<
> +
> + $(OBJDIR)/%.y.o: $(SHAREDDIR)/%.y
> +       $(BISON)              -o $(OBJDIR)/$*.c -d $<
> +-      $(CC) $(CFLAGS) -c -o $@ $(OBJDIR)/$*.c
> ++      $(CC) $(CFLAGS_BUILD) -c -o $@ $(OBJDIR)/$*.c
> +
> + $(OBJDIR)/%.l.o: $(SHAREDDIR)/%.l
> +       $(FLEX) $(FLEXFLAGS_OS) -i             -o$(OBJDIR)/$*.l.c $<
> +-      $(CC) $(CFLAGS) -Wno-error -c -o $@ $(OBJDIR)/$*.l.c
> ++      $(CC) $(CFLAGS_BUILD) -Wno-error -c -o $@ $(OBJDIR)/$*.l.c
> +--
> +2.9.5
> +
> diff --git a/meta-networking/recipes-protocols/mdns/files/mdns.service b/meta-networking/recipes-protocols/mdns/files/mdns.service
> new file mode 100644
> index 0000000..531d142
> --- /dev/null
> +++ b/meta-networking/recipes-protocols/mdns/files/mdns.service
> @@ -0,0 +1,15 @@
> +[Unit]
> +Description=Zero-configuration networking
> +After=network.target
> +
> +[Service]
> +Type=forking
> +ExecStartPre=/bin/rm -f /var/run/mdnsd.pid
> +ExecStart=/usr/sbin/mdnsd
> +ExecReload=/bin/kill -HUP $MAINPID
> +PIDFile=/var/run/mdnsd.pid
> +Restart=always
> +RestartSec=10s
> +
> +[Install]
> +WantedBy=multi-user.target
> diff --git a/meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb b/meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb
> new file mode 100644
> index 0000000..1a80f7a
> --- /dev/null
> +++ b/meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb
> @@ -0,0 +1,89 @@
> +SUMMARY = "Publishes & browses available services on a link according to the Zeroconf / Bonjour protocol"
> +DESCRIPTION = "Bonjour, also known as zero-configuration networking, enables automatic discovery of computers, devices, and services on IP networks."
> +HOMEPAGE = "http://developer.apple.com/networking/bonjour/"
> +LICENSE = "Apache-2.0"
> +LIC_FILES_CHKSUM = "file://../LICENSE;md5=31c50371921e0fb731003bbc665f29bf"
> +
> +RPROVIDES_${PN} += "libdns_sd.so"
> +
> +SRC_URI = "http://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-${PV}.tar.gz \
> +           file://build.patch;patchdir=.. \
> +           file://mdns.service \
> +           "
> +
> +SRC_URI[md5sum] = "4a6bc1628851002634ea3833a4dca317"
> +SRC_URI[sha256sum] = "de61dd0034357aa50c60806726fb1f70fa8e953ff9cb62eccfb73efad10dba0a"
> +
> +PARALLEL_MAKE = ""
> +
> +S = "${WORKDIR}/mDNSResponder-${PV}/mDNSPosix"
> +
> +EXTRA_OEMAKE += "os=linux DEBUG=0 'CC=${CC}' 'LD=${CCLD} ${LDFLAGS}'"
> +
> +TARGET_CC_ARCH += "${LDFLAGS}"
> +
> +do_install () {
> +    install -d ${D}${sbindir}
> +    install -m 0755 build/prod/mdnsd ${D}${sbindir}
> +
> +    install -d ${D}${libdir}
> +    cp build/prod/libdns_sd.so ${D}${libdir}/libdns_sd.so.1
> +    chmod 0644 ${D}${libdir}/libdns_sd.so.1
> +    ln -s libdns_sd.so.1 ${D}${libdir}/libdns_sd.so
> +
> +    install -d ${D}${includedir}
> +    install -m 0644 ../mDNSShared/dns_sd.h ${D}${includedir}
> +
> +    install -d ${D}${mandir}/man8
> +    install -m 0644 ../mDNSShared/mDNSResponder.8 ${D}${mandir}/man8/mdnsd.8
> +
> +    install -d ${D}${bindir}
> +    install -m 0755 ../Clients/build/dns-sd ${D}${bindir}
> +
> +    install -d ${D}${libdir}
> +    oe_libinstall -C build/prod -so libnss_mdns-0.2 ${D}${libdir}
> +    ln -s libnss_mdns-0.2.so ${D}${libdir}/libnss_mdns.so.2
> +
> +    install -d ${D}${sysconfdir}
> +    install -m 0644 nss_mdns.conf ${D}${sysconfdir}
> +
> +    install -d ${D}${mandir}/man5
> +    install -m 0644 nss_mdns.conf.5 ${D}${mandir}/man5
> +
> +    install -d ${D}${mandir}/man8
> +    install -m 0644 libnss_mdns.8 ${D}${mandir}/man8
> +
> +    install -d ${D}${systemd_unitdir}/system/
> +    install -m 0644 ${WORKDIR}/mdns.service ${D}${systemd_unitdir}/system/
> +}
> +
> +pkg_postinst_${PN} () {
> +    sed -e '/^hosts:/s/\s*\<mdns\>//' \
> +        -e 's/\(^hosts:.*\)\(\<files\>\)\(.*\)\(\<dns\>\)\(.*\)/\1\2 mdns\3\4\5/' \
> +        -i $D/etc/nsswitch.conf
> +}
> +
> +pkg_prerm_${PN} () {
> +    sed -e '/^hosts:/s/\s*\<mdns\>//' \
> +        -e '/^hosts:/s/\s*mdns//' \
> +        -i $D/etc/nsswitch.conf
> +}
> +
> +inherit systemd
> +
> +SYSTEMD_SERVICE_${PN} = "mdns.service"
> +
> +FILES_${PN} += "${systemd_unitdir}/system/mdns.service"
> +FILES_${PN} += "${libdir}/libdns_sd.so.1 \
> +                ${bindir}/dns-sd \
> +                ${libdir}/libnss_mdns-0.2.so \
> +                ${sysconfdir}/nss_mdns.conf"
> +
> +FILES_${PN}-dev += "${libdir}/libdns_sd.so \
> +                    ${includedir}/dns_sd.h "
> +
> +FILES_${PN}-man += "${mandir}/man8/mdnsd.8 \
> +                    ${mandir}/man5/nss_mdns.conf.5 \
> +                    ${mandir}/man8/libnss_mdns.8"
> +
> +PACKAGES = "${PN} ${PN}-dev ${PN}-man ${PN}-dbg"
> --
> 2.9.5
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [meta-networking][PATCH 1/1] mdns: move from meta-intel-iot-middleware
  2017-10-17  4:19   ` Khem Raj
@ 2017-10-17  5:11     ` Denys Dmytriyenko
  2017-10-17 16:23       ` Khem Raj
  0 siblings, 1 reply; 14+ messages in thread
From: Denys Dmytriyenko @ 2017-10-17  5:11 UTC (permalink / raw)
  To: Khem Raj; +Cc: Paul Eggleton, openembeded-devel

On Mon, Oct 16, 2017 at 09:19:25PM -0700, Khem Raj wrote:
> On Wed, Oct 4, 2017 at 1:20 PM, Paul Eggleton
> <paul.eggleton@linux.intel.com> wrote:
> > The following improvements have been made over the recipe that was in
> > meta-intel-iot-middleware (a layer which is no longer actively
> > maintained):
> >
> > * Upgrade to latest upstream version (765.50.9)
> > * Fix compilation failures by passing CC and LD
> > * Fix "no GNU hash in the ELF binary" issue
> > * Point S at the correct source subdirectory so that "make clean" works
> > * Fix lack of soname on libdns_sd.so leading to missing RDEPENDS QA error
> > * Add SUMMARY
> >
> 
> 
> This has been accepted into master but it fails to build with musl

Is musl a requirement for meta-oe?


> | nss_mdns.c:382:17: fatal error: nss.h: No such file or directory
> |  #include <nss.h>
> |                  ^
> | compilation terminated.
> | ERROR: oe_runmake failed
> | make: *** [Makefile:509: objects/prod/nss_mdns.c.so.o] Error 1
> | WARNING: /mnt/a/oe/build/tmp/work/mips32r2-bec-linux-musl/mdns/765.50.9-r0/temp/run.do_compile.10028:1
> exit 1 from 'exit 1'
> 
> 
> > Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
> > ---
> >  .../recipes-protocols/mdns/files/build.patch       | 167 +++++++++++++++++++++
> >  .../recipes-protocols/mdns/files/mdns.service      |  15 ++
> >  .../recipes-protocols/mdns/mdns_765.50.9.bb        |  89 +++++++++++
> >  3 files changed, 271 insertions(+)
> >  create mode 100644 meta-networking/recipes-protocols/mdns/files/build.patch
> >  create mode 100644 meta-networking/recipes-protocols/mdns/files/mdns.service
> >  create mode 100644 meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb
> >
> > diff --git a/meta-networking/recipes-protocols/mdns/files/build.patch b/meta-networking/recipes-protocols/mdns/files/build.patch
> > new file mode 100644
> > index 0000000..4ab9d23
> > --- /dev/null
> > +++ b/meta-networking/recipes-protocols/mdns/files/build.patch
> > @@ -0,0 +1,167 @@
> > +From 43b6e98c9c37afd0d914949dcff4eab81f5a995f Mon Sep 17 00:00:00 2001
> > +From: Brendan Le Foll <brendan.le.foll@intel.com>
> > +Date: Tue, 3 Mar 2015 11:42:57 +0000
> > +
> > +Upstream-Status: Inappropriate [OE-specific]
> > +
> > +Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
> > +
> > +---
> > + mDNSPosix/Makefile | 54 +++++++++++++++++++++++++-----------------------------
> > + 1 file changed, 25 insertions(+), 29 deletions(-)
> > +
> > +diff --git a/mDNSPosix/Makefile b/mDNSPosix/Makefile
> > +index 4f98e90..8ac97ad 100755
> > +--- a/mDNSPosix/Makefile
> > ++++ b/mDNSPosix/Makefile
> > +@@ -50,6 +50,7 @@
> > +
> > + LIBVERS = 1
> > +
> > ++POSIXDIR = ../mDNSPosix
> > + COREDIR = ../mDNSCore
> > + SHAREDDIR ?= ../mDNSShared
> > + JDK = /usr/jdk
> > +@@ -58,11 +59,11 @@ CC = @cc
> > + BISON = @bison
> > + FLEX = @flex
> > + ST = @strip
> > +-LD = ld -shared
> > ++LD =@LD
> > + CP = cp
> > + RM = rm
> > + LN = ln -s -f
> > +-CFLAGS_COMMON = -I$(COREDIR) -I$(SHAREDDIR) -I$(OBJDIR) -fwrapv -W -Wall -DPID_FILE=\"/var/run/mdnsd.pid\" -DMDNS_UDS_SERVERPATH=\"/var/run/mdnsd\"
> > ++CFLAGS_COMMON = -I$(POSIXDIR) -I$(COREDIR) -I$(SHAREDDIR) -I$(OBJDIR) -fwrapv -W -Wall -DPID_FILE=\"/var/run/mdnsd.pid\" -DMDNS_UDS_SERVERPATH=\"/var/run/mdnsd\"
> > + CFLAGS_PTHREAD =
> > + LINKOPTS =
> > + LINKOPTS_PTHREAD = -lpthread
> > +@@ -70,7 +71,7 @@ LDSUFFIX = so
> > + JAVACFLAGS_OS = -fPIC -shared -ldns_sd
> > +
> > + # Set up diverging paths for debug vs. prod builds
> > +-DEBUG=0
> > ++DEBUG?=1
> > + ifeq ($(DEBUG),1)
> > + CFLAGS_DEBUG = -g -DMDNS_DEBUGMSGS=2
> > + OBJDIR = objects/debug
> > +@@ -213,7 +214,7 @@ endif
> > + endif
> > + endif
> > +
> > +-CFLAGS = $(CFLAGS_COMMON) $(CFLAGS_OS) $(CFLAGS_DEBUG)
> > ++CFLAGS_BUILD = $(CFLAGS) $(CFLAGS_COMMON) $(CFLAGS_OS) $(CFLAGS_DEBUG)
> > +
> > + #############################################################################
> > +
> > +@@ -249,8 +250,7 @@ Daemon: setup $(BUILDDIR)/mdnsd
> > +       @echo "Responder daemon done"
> > +
> > + $(BUILDDIR)/mdnsd: $(DAEMONOBJS)
> > +-      $(CC) -o $@ $+ $(LINKOPTS)
> > +-      @$(STRIP) $@
> > ++      $(CC) -o $@ $+
> > +
> > + # libdns_sd target builds the client library
> > + libdns_sd: setup $(BUILDDIR)/libdns_sd.$(LDSUFFIX)
> > +@@ -259,22 +259,18 @@ libdns_sd: setup $(BUILDDIR)/libdns_sd.$(LDSUFFIX)
> > + CLIENTLIBOBJS = $(OBJDIR)/dnssd_clientlib.c.so.o $(OBJDIR)/dnssd_clientstub.c.so.o $(OBJDIR)/dnssd_ipc.c.so.o
> > +
> > + $(BUILDDIR)/libdns_sd.$(LDSUFFIX): $(CLIENTLIBOBJS)
> > +-      @$(LD) $(LINKOPTS) -o $@ $+
> > +-      @$(STRIP) $@
> > ++      $(LD) -shared $(LINKOPTS) -Wl,-soname,libdns_sd.$(LDSUFFIX).1 -o $@ $+
> > +
> > +-Clients: setup libdns_sd ../Clients/build/dns-sd
> > ++Clients: setup libdns_sd
> > ++      @$(MAKE) -C ../Clients DEBUG=${DEBUG}
> > +       @echo "Clients done"
> > +
> > +-../Clients/build/dns-sd:
> > +-      @$(MAKE) -C ../Clients
> > +-
> > + # nss_mdns target builds the Name Service Switch module
> > + nss_mdns: setup $(BUILDDIR)/$(NSSLIBFILE)
> > +       @echo "Name Service Switch module done"
> > +
> > + $(BUILDDIR)/$(NSSLIBFILE): $(CLIENTLIBOBJS) $(OBJDIR)/nss_mdns.c.so.o
> > +-      @$(LD) $(LINKOPTS) -o $@ $+
> > +-      @$(STRIP) $@
> > ++      $(LD) -shared $(LINKOPTS) -o $@ $+
> > +
> > + #############################################################################
> > +
> > +@@ -470,55 +466,55 @@ dnsextd: setup $(BUILDDIR)/dnsextd
> > +       @echo "dnsextd done"
> > +
> > + $(BUILDDIR)/mDNSClientPosix:         $(APPOBJ)     $(OBJDIR)/Client.c.o
> > +-      $(CC) $+ -o $@ $(LINKOPTS)
> > ++      $(CC) $+ -o $@
> > +
> > + $(BUILDDIR)/mDNSResponderPosix:      $(COMMONOBJ)  $(OBJDIR)/Responder.c.o
> > +-      $(CC) $+ -o $@ $(LINKOPTS)
> > ++      $(CC) $+ -o $@
> > +
> > + $(BUILDDIR)/mDNSProxyResponderPosix: $(COMMONOBJ)  $(OBJDIR)/ProxyResponder.c.o
> > +-      $(CC) $+ -o $@ $(LINKOPTS)
> > ++      $(CC) $+ -o $@
> > +
> > + $(BUILDDIR)/mDNSIdentify:            $(SPECIALOBJ) $(OBJDIR)/Identify.c.o
> > +-      $(CC) $+ -o $@ $(LINKOPTS)
> > ++      $(CC) $+ -o $@
> > +
> > + $(OBJDIR)/Identify.c.o:              $(COREDIR)/mDNS.c # Note: Identify.c textually imports mDNS.c
> > +
> > + $(BUILDDIR)/mDNSNetMonitor:          $(SPECIALOBJ) $(OBJDIR)/NetMonitor.c.o
> > +-      $(CC) $+ -o $@ $(LINKOPTS)
> > ++      $(CC) $+ -o $@
> > +
> > + $(OBJDIR)/NetMonitor.c.o:            $(COREDIR)/mDNS.c # Note: NetMonitor.c textually imports mDNS.c
> > +
> > + $(BUILDDIR)/dnsextd:                 $(DNSEXTDOBJ) $(OBJDIR)/dnsextd.c.threadsafe.o
> > +-      $(CC) $+ -o $@ $(LINKOPTS) $(LINKOPTS_PTHREAD)
> > ++      $(CC) $+ -o $@ $(LINKOPTS_PTHREAD)
> > +
> > + #############################################################################
> > +
> > + # Implicit rules
> > + $(OBJDIR)/%.c.o:      %.c
> > +-      $(CC) $(CFLAGS) -c -o $@ $<
> > ++      $(CC) $(CFLAGS_BUILD) -c -o $@ $<
> > +
> > + $(OBJDIR)/%.c.o:      $(COREDIR)/%.c
> > +-      $(CC) $(CFLAGS) -c -o $@ $<
> > ++      $(CC) $(CFLAGS_BUILD) -c -o $@ $<
> > +
> > + $(OBJDIR)/%.c.o:      $(SHAREDDIR)/%.c
> > +-      $(CC) $(CFLAGS) -c -o $@ $<
> > ++      $(CC) $(CFLAGS_BUILD) -c -o $@ $<
> > +
> > + $(OBJDIR)/%.c.threadsafe.o:   %.c
> > +-      $(CC) $(CFLAGS) $(CFLAGS_PTHREAD) -D_REENTRANT -c -o $@ $<
> > ++      $(CC) $(CFLAGS_BUILD) $(CFLAGS_PTHREAD) -D_REENTRANT -c -o $@ $<
> > +
> > + $(OBJDIR)/%.c.threadsafe.o:   $(SHAREDDIR)/%.c
> > +-      $(CC) $(CFLAGS) $(CFLAGS_PTHREAD) -D_REENTRANT -c -o $@ $<
> > ++      $(CC) $(CFLAGS_BUILD) $(CFLAGS_PTHREAD) -D_REENTRANT -c -o $@ $<
> > +
> > + $(OBJDIR)/%.c.so.o:   %.c
> > +-      $(CC) $(CFLAGS) -c -fPIC -o $@ $<
> > ++      $(CC) $(CFLAGS_BUILD) -c -fPIC -o $@ $<
> > +
> > + $(OBJDIR)/%.c.so.o:   $(SHAREDDIR)/%.c
> > +-      $(CC) $(CFLAGS) -c -fPIC -o $@ $<
> > ++      $(CC) $(CFLAGS_BUILD) -c -fPIC -o $@ $<
> > +
> > + $(OBJDIR)/%.y.o: $(SHAREDDIR)/%.y
> > +       $(BISON)              -o $(OBJDIR)/$*.c -d $<
> > +-      $(CC) $(CFLAGS) -c -o $@ $(OBJDIR)/$*.c
> > ++      $(CC) $(CFLAGS_BUILD) -c -o $@ $(OBJDIR)/$*.c
> > +
> > + $(OBJDIR)/%.l.o: $(SHAREDDIR)/%.l
> > +       $(FLEX) $(FLEXFLAGS_OS) -i             -o$(OBJDIR)/$*.l.c $<
> > +-      $(CC) $(CFLAGS) -Wno-error -c -o $@ $(OBJDIR)/$*.l.c
> > ++      $(CC) $(CFLAGS_BUILD) -Wno-error -c -o $@ $(OBJDIR)/$*.l.c
> > +--
> > +2.9.5
> > +
> > diff --git a/meta-networking/recipes-protocols/mdns/files/mdns.service b/meta-networking/recipes-protocols/mdns/files/mdns.service
> > new file mode 100644
> > index 0000000..531d142
> > --- /dev/null
> > +++ b/meta-networking/recipes-protocols/mdns/files/mdns.service
> > @@ -0,0 +1,15 @@
> > +[Unit]
> > +Description=Zero-configuration networking
> > +After=network.target
> > +
> > +[Service]
> > +Type=forking
> > +ExecStartPre=/bin/rm -f /var/run/mdnsd.pid
> > +ExecStart=/usr/sbin/mdnsd
> > +ExecReload=/bin/kill -HUP $MAINPID
> > +PIDFile=/var/run/mdnsd.pid
> > +Restart=always
> > +RestartSec=10s
> > +
> > +[Install]
> > +WantedBy=multi-user.target
> > diff --git a/meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb b/meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb
> > new file mode 100644
> > index 0000000..1a80f7a
> > --- /dev/null
> > +++ b/meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb
> > @@ -0,0 +1,89 @@
> > +SUMMARY = "Publishes & browses available services on a link according to the Zeroconf / Bonjour protocol"
> > +DESCRIPTION = "Bonjour, also known as zero-configuration networking, enables automatic discovery of computers, devices, and services on IP networks."
> > +HOMEPAGE = "http://developer.apple.com/networking/bonjour/"
> > +LICENSE = "Apache-2.0"
> > +LIC_FILES_CHKSUM = "file://../LICENSE;md5=31c50371921e0fb731003bbc665f29bf"
> > +
> > +RPROVIDES_${PN} += "libdns_sd.so"
> > +
> > +SRC_URI = "http://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-${PV}.tar.gz \
> > +           file://build.patch;patchdir=.. \
> > +           file://mdns.service \
> > +           "
> > +
> > +SRC_URI[md5sum] = "4a6bc1628851002634ea3833a4dca317"
> > +SRC_URI[sha256sum] = "de61dd0034357aa50c60806726fb1f70fa8e953ff9cb62eccfb73efad10dba0a"
> > +
> > +PARALLEL_MAKE = ""
> > +
> > +S = "${WORKDIR}/mDNSResponder-${PV}/mDNSPosix"
> > +
> > +EXTRA_OEMAKE += "os=linux DEBUG=0 'CC=${CC}' 'LD=${CCLD} ${LDFLAGS}'"
> > +
> > +TARGET_CC_ARCH += "${LDFLAGS}"
> > +
> > +do_install () {
> > +    install -d ${D}${sbindir}
> > +    install -m 0755 build/prod/mdnsd ${D}${sbindir}
> > +
> > +    install -d ${D}${libdir}
> > +    cp build/prod/libdns_sd.so ${D}${libdir}/libdns_sd.so.1
> > +    chmod 0644 ${D}${libdir}/libdns_sd.so.1
> > +    ln -s libdns_sd.so.1 ${D}${libdir}/libdns_sd.so
> > +
> > +    install -d ${D}${includedir}
> > +    install -m 0644 ../mDNSShared/dns_sd.h ${D}${includedir}
> > +
> > +    install -d ${D}${mandir}/man8
> > +    install -m 0644 ../mDNSShared/mDNSResponder.8 ${D}${mandir}/man8/mdnsd.8
> > +
> > +    install -d ${D}${bindir}
> > +    install -m 0755 ../Clients/build/dns-sd ${D}${bindir}
> > +
> > +    install -d ${D}${libdir}
> > +    oe_libinstall -C build/prod -so libnss_mdns-0.2 ${D}${libdir}
> > +    ln -s libnss_mdns-0.2.so ${D}${libdir}/libnss_mdns.so.2
> > +
> > +    install -d ${D}${sysconfdir}
> > +    install -m 0644 nss_mdns.conf ${D}${sysconfdir}
> > +
> > +    install -d ${D}${mandir}/man5
> > +    install -m 0644 nss_mdns.conf.5 ${D}${mandir}/man5
> > +
> > +    install -d ${D}${mandir}/man8
> > +    install -m 0644 libnss_mdns.8 ${D}${mandir}/man8
> > +
> > +    install -d ${D}${systemd_unitdir}/system/
> > +    install -m 0644 ${WORKDIR}/mdns.service ${D}${systemd_unitdir}/system/
> > +}
> > +
> > +pkg_postinst_${PN} () {
> > +    sed -e '/^hosts:/s/\s*\<mdns\>//' \
> > +        -e 's/\(^hosts:.*\)\(\<files\>\)\(.*\)\(\<dns\>\)\(.*\)/\1\2 mdns\3\4\5/' \
> > +        -i $D/etc/nsswitch.conf
> > +}
> > +
> > +pkg_prerm_${PN} () {
> > +    sed -e '/^hosts:/s/\s*\<mdns\>//' \
> > +        -e '/^hosts:/s/\s*mdns//' \
> > +        -i $D/etc/nsswitch.conf
> > +}
> > +
> > +inherit systemd
> > +
> > +SYSTEMD_SERVICE_${PN} = "mdns.service"
> > +
> > +FILES_${PN} += "${systemd_unitdir}/system/mdns.service"
> > +FILES_${PN} += "${libdir}/libdns_sd.so.1 \
> > +                ${bindir}/dns-sd \
> > +                ${libdir}/libnss_mdns-0.2.so \
> > +                ${sysconfdir}/nss_mdns.conf"
> > +
> > +FILES_${PN}-dev += "${libdir}/libdns_sd.so \
> > +                    ${includedir}/dns_sd.h "
> > +
> > +FILES_${PN}-man += "${mandir}/man8/mdnsd.8 \
> > +                    ${mandir}/man5/nss_mdns.conf.5 \
> > +                    ${mandir}/man8/libnss_mdns.8"
> > +
> > +PACKAGES = "${PN} ${PN}-dev ${PN}-man ${PN}-dbg"
> > --
> > 2.9.5
> >
> > --
> > _______________________________________________
> > Openembedded-devel mailing list
> > Openembedded-devel@lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-devel
> -- 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [meta-networking][PATCH 1/1] mdns: move from meta-intel-iot-middleware
  2017-10-17  5:11     ` Denys Dmytriyenko
@ 2017-10-17 16:23       ` Khem Raj
  2017-10-17 16:58         ` Martin Jansa
  0 siblings, 1 reply; 14+ messages in thread
From: Khem Raj @ 2017-10-17 16:23 UTC (permalink / raw)
  To: Denys Dmytriyenko; +Cc: Paul Eggleton, openembeded-devel

On Mon, Oct 16, 2017 at 10:11 PM, Denys Dmytriyenko <denis@denix.org> wrote:
> On Mon, Oct 16, 2017 at 09:19:25PM -0700, Khem Raj wrote:
>> On Wed, Oct 4, 2017 at 1:20 PM, Paul Eggleton
>> <paul.eggleton@linux.intel.com> wrote:
>> > The following improvements have been made over the recipe that was in
>> > meta-intel-iot-middleware (a layer which is no longer actively
>> > maintained):
>> >
>> > * Upgrade to latest upstream version (765.50.9)
>> > * Fix compilation failures by passing CC and LD
>> > * Fix "no GNU hash in the ELF binary" issue
>> > * Point S at the correct source subdirectory so that "make clean" works
>> > * Fix lack of soname on libdns_sd.so leading to missing RDEPENDS QA error
>> > * Add SUMMARY
>> >
>>
>>
>> This has been accepted into master but it fails to build with musl
>
> Is musl a requirement for meta-oe?

We have fixed it to a point where we have around 10-12 recipes which
don't compile
with musl, and it would be better to keep this level as such and
especially when we
know its failing. its a requirement for oe-core


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [meta-networking][PATCH 1/1] mdns: move from meta-intel-iot-middleware
  2017-10-17 16:23       ` Khem Raj
@ 2017-10-17 16:58         ` Martin Jansa
  2017-10-17 17:01           ` Khem Raj
  0 siblings, 1 reply; 14+ messages in thread
From: Martin Jansa @ 2017-10-17 16:58 UTC (permalink / raw)
  To: Khem Raj; +Cc: Paul Eggleton, openembeded-devel

I agree with Khem, I've merged oprofile even when it fails with musl,
because that was the main reason for moving it from oe-core to meta-oe, but
we don't want to burden Khem with more new musl issues when they are
detected soon enough (my world builds don't use musl, so I depend on Khem
to provide feedback when he can) .

On Tue, Oct 17, 2017 at 6:23 PM, Khem Raj <raj.khem@gmail.com> wrote:

> On Mon, Oct 16, 2017 at 10:11 PM, Denys Dmytriyenko <denis@denix.org>
> wrote:
> > On Mon, Oct 16, 2017 at 09:19:25PM -0700, Khem Raj wrote:
> >> On Wed, Oct 4, 2017 at 1:20 PM, Paul Eggleton
> >> <paul.eggleton@linux.intel.com> wrote:
> >> > The following improvements have been made over the recipe that was in
> >> > meta-intel-iot-middleware (a layer which is no longer actively
> >> > maintained):
> >> >
> >> > * Upgrade to latest upstream version (765.50.9)
> >> > * Fix compilation failures by passing CC and LD
> >> > * Fix "no GNU hash in the ELF binary" issue
> >> > * Point S at the correct source subdirectory so that "make clean"
> works
> >> > * Fix lack of soname on libdns_sd.so leading to missing RDEPENDS QA
> error
> >> > * Add SUMMARY
> >> >
> >>
> >>
> >> This has been accepted into master but it fails to build with musl
> >
> > Is musl a requirement for meta-oe?
>
> We have fixed it to a point where we have around 10-12 recipes which
> don't compile
> with musl, and it would be better to keep this level as such and
> especially when we
> know its failing. its a requirement for oe-core
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [meta-networking][PATCH 1/1] mdns: move from meta-intel-iot-middleware
  2017-10-17 16:58         ` Martin Jansa
@ 2017-10-17 17:01           ` Khem Raj
  2017-10-17 17:23             ` Joe MacDonald
  2017-10-17 18:09             ` Denys Dmytriyenko
  0 siblings, 2 replies; 14+ messages in thread
From: Khem Raj @ 2017-10-17 17:01 UTC (permalink / raw)
  To: Martin Jansa; +Cc: Paul Eggleton, openembeded-devel

On Tue, Oct 17, 2017 at 9:58 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
> I agree with Khem, I've merged oprofile even when it fails with musl,
> because that was the main reason for moving it from oe-core to meta-oe, but
> we don't want to burden Khem with more new musl issues when they are
> detected soon enough (my world builds don't use musl, so I depend on Khem to
> provide feedback when he can) .
>
> On Tue, Oct 17, 2017 at 6:23 PM, Khem Raj <raj.khem@gmail.com> wrote:
>>
>> On Mon, Oct 16, 2017 at 10:11 PM, Denys Dmytriyenko <denis@denix.org>
>> wrote:
>> > On Mon, Oct 16, 2017 at 09:19:25PM -0700, Khem Raj wrote:
>> >> On Wed, Oct 4, 2017 at 1:20 PM, Paul Eggleton
>> >> <paul.eggleton@linux.intel.com> wrote:
>> >> > The following improvements have been made over the recipe that was in
>> >> > meta-intel-iot-middleware (a layer which is no longer actively
>> >> > maintained):
>> >> >
>> >> > * Upgrade to latest upstream version (765.50.9)
>> >> > * Fix compilation failures by passing CC and LD
>> >> > * Fix "no GNU hash in the ELF binary" issue
>> >> > * Point S at the correct source subdirectory so that "make clean"
>> >> > works
>> >> > * Fix lack of soname on libdns_sd.so leading to missing RDEPENDS QA
>> >> > error
>> >> > * Add SUMMARY
>> >> >
>> >>
>> >>
>> >> This has been accepted into master but it fails to build with musl
>> >
>> > Is musl a requirement for meta-oe?
>>
>> We have fixed it to a point where we have around 10-12 recipes which
>> don't compile
>> with musl, and it would be better to keep this level as such and
>> especially when we
>> know its failing. its a requirement for oe-core

I do world builds on master-next with musl on qemumips and rpi3
continuously, with a known set of failures, if a new one shows up
I tend to report.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [meta-networking][PATCH 1/1] mdns: move from meta-intel-iot-middleware
  2017-10-17 17:01           ` Khem Raj
@ 2017-10-17 17:23             ` Joe MacDonald
  2017-10-17 17:41               ` Khem Raj
  2017-10-17 18:09             ` Denys Dmytriyenko
  1 sibling, 1 reply; 14+ messages in thread
From: Joe MacDonald @ 2017-10-17 17:23 UTC (permalink / raw)
  To: Khem Raj; +Cc: Paul Eggleton, openembeded-devel

[-- Attachment #1: Type: text/plain, Size: 2338 bytes --]

[Re: [oe] [meta-networking][PATCH 1/1] mdns: move from meta-intel-iot-middleware] On 17.10.17 (Tue 10:01) Khem Raj wrote:

> On Tue, Oct 17, 2017 at 9:58 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
> > I agree with Khem, I've merged oprofile even when it fails with musl,
> > because that was the main reason for moving it from oe-core to meta-oe, but
> > we don't want to burden Khem with more new musl issues when they are
> > detected soon enough (my world builds don't use musl, so I depend on Khem to
> > provide feedback when he can) .
> >
> > On Tue, Oct 17, 2017 at 6:23 PM, Khem Raj <raj.khem@gmail.com> wrote:
> >>
> >> On Mon, Oct 16, 2017 at 10:11 PM, Denys Dmytriyenko <denis@denix.org>
> >> wrote:
> >> > On Mon, Oct 16, 2017 at 09:19:25PM -0700, Khem Raj wrote:
> >> >> On Wed, Oct 4, 2017 at 1:20 PM, Paul Eggleton
> >> >> <paul.eggleton@linux.intel.com> wrote:
> >> >> > The following improvements have been made over the recipe that was in
> >> >> > meta-intel-iot-middleware (a layer which is no longer actively
> >> >> > maintained):
> >> >> >
> >> >> > * Upgrade to latest upstream version (765.50.9)
> >> >> > * Fix compilation failures by passing CC and LD
> >> >> > * Fix "no GNU hash in the ELF binary" issue
> >> >> > * Point S at the correct source subdirectory so that "make clean"
> >> >> > works
> >> >> > * Fix lack of soname on libdns_sd.so leading to missing RDEPENDS QA
> >> >> > error
> >> >> > * Add SUMMARY
> >> >> >
> >> >>
> >> >>
> >> >> This has been accepted into master but it fails to build with musl
> >> >
> >> > Is musl a requirement for meta-oe?
> >>
> >> We have fixed it to a point where we have around 10-12 recipes which
> >> don't compile
> >> with musl, and it would be better to keep this level as such and
> >> especially when we
> >> know its failing. its a requirement for oe-core
> 
> I do world builds on master-next with musl on qemumips and rpi3
> continuously, with a known set of failures, if a new one shows up
> I tend to report.

I obviously haven't been building with musl either, but if it's not that
difficult to add to my autobuilder configuration, I'd be happy to.  Is
https://github.com/kraj/meta-musl/blob/master/README.md the best source
for how to get started with a musl build?

-- 
-Joe MacDonald.
:wq

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 499 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [meta-networking][PATCH 1/1] mdns: move from meta-intel-iot-middleware
  2017-10-17 17:23             ` Joe MacDonald
@ 2017-10-17 17:41               ` Khem Raj
  2017-10-17 18:01                 ` Andre McCurdy
  0 siblings, 1 reply; 14+ messages in thread
From: Khem Raj @ 2017-10-17 17:41 UTC (permalink / raw)
  To: Joe MacDonald; +Cc: Paul Eggleton, openembeded-devel

On Tue, Oct 17, 2017 at 10:23 AM, Joe MacDonald
<Joe_MacDonald@mentor.com> wrote:
> [Re: [oe] [meta-networking][PATCH 1/1] mdns: move from meta-intel-iot-middleware] On 17.10.17 (Tue 10:01) Khem Raj wrote:
>
>> On Tue, Oct 17, 2017 at 9:58 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
>> > I agree with Khem, I've merged oprofile even when it fails with musl,
>> > because that was the main reason for moving it from oe-core to meta-oe, but
>> > we don't want to burden Khem with more new musl issues when they are
>> > detected soon enough (my world builds don't use musl, so I depend on Khem to
>> > provide feedback when he can) .
>> >
>> > On Tue, Oct 17, 2017 at 6:23 PM, Khem Raj <raj.khem@gmail.com> wrote:
>> >>
>> >> On Mon, Oct 16, 2017 at 10:11 PM, Denys Dmytriyenko <denis@denix.org>
>> >> wrote:
>> >> > On Mon, Oct 16, 2017 at 09:19:25PM -0700, Khem Raj wrote:
>> >> >> On Wed, Oct 4, 2017 at 1:20 PM, Paul Eggleton
>> >> >> <paul.eggleton@linux.intel.com> wrote:
>> >> >> > The following improvements have been made over the recipe that was in
>> >> >> > meta-intel-iot-middleware (a layer which is no longer actively
>> >> >> > maintained):
>> >> >> >
>> >> >> > * Upgrade to latest upstream version (765.50.9)
>> >> >> > * Fix compilation failures by passing CC and LD
>> >> >> > * Fix "no GNU hash in the ELF binary" issue
>> >> >> > * Point S at the correct source subdirectory so that "make clean"
>> >> >> > works
>> >> >> > * Fix lack of soname on libdns_sd.so leading to missing RDEPENDS QA
>> >> >> > error
>> >> >> > * Add SUMMARY
>> >> >> >
>> >> >>
>> >> >>
>> >> >> This has been accepted into master but it fails to build with musl
>> >> >
>> >> > Is musl a requirement for meta-oe?
>> >>
>> >> We have fixed it to a point where we have around 10-12 recipes which
>> >> don't compile
>> >> with musl, and it would be better to keep this level as such and
>> >> especially when we
>> >> know its failing. its a requirement for oe-core
>>
>> I do world builds on master-next with musl on qemumips and rpi3
>> continuously, with a known set of failures, if a new one shows up
>> I tend to report.
>
> I obviously haven't been building with musl either, but if it's not that
> difficult to add to my autobuilder configuration, I'd be happy to.  Is
> https://github.com/kraj/meta-musl/blob/master/README.md the best source
> for how to get started with a musl build?

that layer is not needed anymore since all musl support is in core now
a days. all you need is

TCLIBC="musl" somewhere in your config metadata

>
> --
> -Joe MacDonald.
> :wq


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [meta-networking][PATCH 1/1] mdns: move from meta-intel-iot-middleware
  2017-10-17 17:41               ` Khem Raj
@ 2017-10-17 18:01                 ` Andre McCurdy
  2017-10-17 19:00                   ` Khem Raj
  0 siblings, 1 reply; 14+ messages in thread
From: Andre McCurdy @ 2017-10-17 18:01 UTC (permalink / raw)
  To: Khem Raj; +Cc: Paul Eggleton, openembeded-devel

On Tue, Oct 17, 2017 at 10:23 AM, Joe MacDonald
<Joe_MacDonald@mentor.com> wrote:
> [Re: [oe] [meta-networking][PATCH 1/1] mdns: move from meta-intel-iot-middleware] On 17.10.17 (Tue 10:01) Khem Raj wrote:
>> I do world builds on master-next with musl on qemumips and rpi3
>> continuously, with a known set of failures, if a new one shows up
>> I tend to report.
>
> I obviously haven't been building with musl either, but if it's not that
> difficult to add to my autobuilder configuration, I'd be happy to.  Is
> https://github.com/kraj/meta-musl/blob/master/README.md the best source
> for how to get started with a musl build?

Going slightly off topic, but even though sources can be patched to
fix build issues due to musl's lack of nss.h, it doesn't really make
any sense to build nss modules for musl, since these modules can only
ever be used by glibc.

e.g. we have musl patches in recipes such as nss-myhostname, but the
real fix is probably just to not build the recipe at all for musl.

In this particular case I don't know whether mDNSResponder is tied
tightly to nss or whether the nss module is an optional add-on but
that should probably be determined before coming up with fix.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [meta-networking][PATCH 1/1] mdns: move from meta-intel-iot-middleware
  2017-10-17 17:01           ` Khem Raj
  2017-10-17 17:23             ` Joe MacDonald
@ 2017-10-17 18:09             ` Denys Dmytriyenko
  2017-10-17 19:05               ` Khem Raj
  1 sibling, 1 reply; 14+ messages in thread
From: Denys Dmytriyenko @ 2017-10-17 18:09 UTC (permalink / raw)
  To: Khem Raj; +Cc: Paul Eggleton, openembeded-devel

On Tue, Oct 17, 2017 at 10:01:13AM -0700, Khem Raj wrote:
> On Tue, Oct 17, 2017 at 9:58 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
> > I agree with Khem, I've merged oprofile even when it fails with musl,
> > because that was the main reason for moving it from oe-core to meta-oe, but
> > we don't want to burden Khem with more new musl issues when they are
> > detected soon enough (my world builds don't use musl, so I depend on Khem to
> > provide feedback when he can) .
> >
> > On Tue, Oct 17, 2017 at 6:23 PM, Khem Raj <raj.khem@gmail.com> wrote:
> >>
> >> On Mon, Oct 16, 2017 at 10:11 PM, Denys Dmytriyenko <denis@denix.org>
> >> wrote:
> >> > On Mon, Oct 16, 2017 at 09:19:25PM -0700, Khem Raj wrote:
> >> >> On Wed, Oct 4, 2017 at 1:20 PM, Paul Eggleton
> >> >> <paul.eggleton@linux.intel.com> wrote:
> >> >> > The following improvements have been made over the recipe that was in
> >> >> > meta-intel-iot-middleware (a layer which is no longer actively
> >> >> > maintained):
> >> >> >
> >> >> > * Upgrade to latest upstream version (765.50.9)
> >> >> > * Fix compilation failures by passing CC and LD
> >> >> > * Fix "no GNU hash in the ELF binary" issue
> >> >> > * Point S at the correct source subdirectory so that "make clean"
> >> >> > works
> >> >> > * Fix lack of soname on libdns_sd.so leading to missing RDEPENDS QA
> >> >> > error
> >> >> > * Add SUMMARY
> >> >> >
> >> >>
> >> >>
> >> >> This has been accepted into master but it fails to build with musl
> >> >
> >> > Is musl a requirement for meta-oe?
> >>
> >> We have fixed it to a point where we have around 10-12 recipes which
> >> don't compile
> >> with musl, and it would be better to keep this level as such and
> >> especially when we
> >> know its failing. its a requirement for oe-core
> 
> I do world builds on master-next with musl on qemumips and rpi3
> continuously, with a known set of failures, if a new one shows up
> I tend to report.

Ok, no problem, it's just demanding someone new, submitting a patch/recipe, to 
go fix musl, which they probably never heard of, would result in never hearing 
from them again. :)

Anyway, I'll look into getting some musl coverage for my submission as well...

-- 
Denys


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [meta-networking][PATCH 1/1] mdns: move from meta-intel-iot-middleware
  2017-10-17 18:01                 ` Andre McCurdy
@ 2017-10-17 19:00                   ` Khem Raj
  0 siblings, 0 replies; 14+ messages in thread
From: Khem Raj @ 2017-10-17 19:00 UTC (permalink / raw)
  To: Andre McCurdy; +Cc: Paul Eggleton, openembeded-devel

On Tue, Oct 17, 2017 at 11:01 AM, Andre McCurdy <armccurdy@gmail.com> wrote:
> On Tue, Oct 17, 2017 at 10:23 AM, Joe MacDonald
> <Joe_MacDonald@mentor.com> wrote:
>> [Re: [oe] [meta-networking][PATCH 1/1] mdns: move from meta-intel-iot-middleware] On 17.10.17 (Tue 10:01) Khem Raj wrote:
>>> I do world builds on master-next with musl on qemumips and rpi3
>>> continuously, with a known set of failures, if a new one shows up
>>> I tend to report.
>>
>> I obviously haven't been building with musl either, but if it's not that
>> difficult to add to my autobuilder configuration, I'd be happy to.  Is
>> https://github.com/kraj/meta-musl/blob/master/README.md the best source
>> for how to get started with a musl build?
>
> Going slightly off topic, but even though sources can be patched to
> fix build issues due to musl's lack of nss.h, it doesn't really make
> any sense to build nss modules for musl, since these modules can only
> ever be used by glibc.
>
> e.g. we have musl patches in recipes such as nss-myhostname, but the
> real fix is probably just to not build the recipe at all for musl.
>
> In this particular case I don't know whether mDNSResponder is tied
> tightly to nss or whether the nss module is an optional add-on but
> that should probably be determined before coming up with fix.

yes musl does not have nss and its intentional. Although mDNS can be
implemented external to libc which I believe is a good thing. I would be
happy if the patches to add these recipes relying on nss just added musl
to incompatible hosts for immediate OE concerns. Eventually, it could have
a different fix upstream for the given component, if they want to make
nss support conditional or otherwise, its best left to component


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [meta-networking][PATCH 1/1] mdns: move from meta-intel-iot-middleware
  2017-10-17 18:09             ` Denys Dmytriyenko
@ 2017-10-17 19:05               ` Khem Raj
  2017-10-17 21:01                 ` Denys Dmytriyenko
  0 siblings, 1 reply; 14+ messages in thread
From: Khem Raj @ 2017-10-17 19:05 UTC (permalink / raw)
  To: Denys Dmytriyenko; +Cc: Paul Eggleton, openembeded-devel

On Tue, Oct 17, 2017 at 11:09 AM, Denys Dmytriyenko <denis@denix.org> wrote:
> On Tue, Oct 17, 2017 at 10:01:13AM -0700, Khem Raj wrote:
>> On Tue, Oct 17, 2017 at 9:58 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
>> > I agree with Khem, I've merged oprofile even when it fails with musl,
>> > because that was the main reason for moving it from oe-core to meta-oe, but
>> > we don't want to burden Khem with more new musl issues when they are
>> > detected soon enough (my world builds don't use musl, so I depend on Khem to
>> > provide feedback when he can) .
>> >
>> > On Tue, Oct 17, 2017 at 6:23 PM, Khem Raj <raj.khem@gmail.com> wrote:
>> >>
>> >> On Mon, Oct 16, 2017 at 10:11 PM, Denys Dmytriyenko <denis@denix.org>
>> >> wrote:
>> >> > On Mon, Oct 16, 2017 at 09:19:25PM -0700, Khem Raj wrote:
>> >> >> On Wed, Oct 4, 2017 at 1:20 PM, Paul Eggleton
>> >> >> <paul.eggleton@linux.intel.com> wrote:
>> >> >> > The following improvements have been made over the recipe that was in
>> >> >> > meta-intel-iot-middleware (a layer which is no longer actively
>> >> >> > maintained):
>> >> >> >
>> >> >> > * Upgrade to latest upstream version (765.50.9)
>> >> >> > * Fix compilation failures by passing CC and LD
>> >> >> > * Fix "no GNU hash in the ELF binary" issue
>> >> >> > * Point S at the correct source subdirectory so that "make clean"
>> >> >> > works
>> >> >> > * Fix lack of soname on libdns_sd.so leading to missing RDEPENDS QA
>> >> >> > error
>> >> >> > * Add SUMMARY
>> >> >> >
>> >> >>
>> >> >>
>> >> >> This has been accepted into master but it fails to build with musl
>> >> >
>> >> > Is musl a requirement for meta-oe?
>> >>
>> >> We have fixed it to a point where we have around 10-12 recipes which
>> >> don't compile
>> >> with musl, and it would be better to keep this level as such and
>> >> especially when we
>> >> know its failing. its a requirement for oe-core
>>
>> I do world builds on master-next with musl on qemumips and rpi3
>> continuously, with a known set of failures, if a new one shows up
>> I tend to report.
>
> Ok, no problem, it's just demanding someone new, submitting a patch/recipe, to
> go fix musl, which they probably never heard of, would result in never hearing
> from them again. :)

I think, its fair to expect some responsibility from submitters. I do
not encourage
shoot and scoot approach. Eventually it feels like dumping ground.
I myself have fixed plenty of recipes which were added and
left as it is, orphaned. I had to fix them to work with musl or clang,
realizing that
given package has had several releases ever since it was added to OE, but we
never update the recipe. We probably should pay attention towards such orphaned
packages closely.

>
> Anyway, I'll look into getting some musl coverage for my submission as well...
>
> --
> Denys


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [meta-networking][PATCH 1/1] mdns: move from meta-intel-iot-middleware
  2017-10-17 19:05               ` Khem Raj
@ 2017-10-17 21:01                 ` Denys Dmytriyenko
  0 siblings, 0 replies; 14+ messages in thread
From: Denys Dmytriyenko @ 2017-10-17 21:01 UTC (permalink / raw)
  To: Khem Raj; +Cc: Paul Eggleton, openembeded-devel

On Tue, Oct 17, 2017 at 12:05:55PM -0700, Khem Raj wrote:
> On Tue, Oct 17, 2017 at 11:09 AM, Denys Dmytriyenko <denis@denix.org> wrote:
> > On Tue, Oct 17, 2017 at 10:01:13AM -0700, Khem Raj wrote:
> >> On Tue, Oct 17, 2017 at 9:58 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
> >> > I agree with Khem, I've merged oprofile even when it fails with musl,
> >> > because that was the main reason for moving it from oe-core to meta-oe, but
> >> > we don't want to burden Khem with more new musl issues when they are
> >> > detected soon enough (my world builds don't use musl, so I depend on Khem to
> >> > provide feedback when he can) .
> >> >
> >> > On Tue, Oct 17, 2017 at 6:23 PM, Khem Raj <raj.khem@gmail.com> wrote:
> >> >>
> >> >> On Mon, Oct 16, 2017 at 10:11 PM, Denys Dmytriyenko <denis@denix.org>
> >> >> wrote:
> >> >> > On Mon, Oct 16, 2017 at 09:19:25PM -0700, Khem Raj wrote:
> >> >> >> On Wed, Oct 4, 2017 at 1:20 PM, Paul Eggleton
> >> >> >> <paul.eggleton@linux.intel.com> wrote:
> >> >> >> > The following improvements have been made over the recipe that was in
> >> >> >> > meta-intel-iot-middleware (a layer which is no longer actively
> >> >> >> > maintained):
> >> >> >> >
> >> >> >> > * Upgrade to latest upstream version (765.50.9)
> >> >> >> > * Fix compilation failures by passing CC and LD
> >> >> >> > * Fix "no GNU hash in the ELF binary" issue
> >> >> >> > * Point S at the correct source subdirectory so that "make clean"
> >> >> >> > works
> >> >> >> > * Fix lack of soname on libdns_sd.so leading to missing RDEPENDS QA
> >> >> >> > error
> >> >> >> > * Add SUMMARY
> >> >> >> >
> >> >> >>
> >> >> >>
> >> >> >> This has been accepted into master but it fails to build with musl
> >> >> >
> >> >> > Is musl a requirement for meta-oe?
> >> >>
> >> >> We have fixed it to a point where we have around 10-12 recipes which
> >> >> don't compile
> >> >> with musl, and it would be better to keep this level as such and
> >> >> especially when we
> >> >> know its failing. its a requirement for oe-core
> >>
> >> I do world builds on master-next with musl on qemumips and rpi3
> >> continuously, with a known set of failures, if a new one shows up
> >> I tend to report.
> >
> > Ok, no problem, it's just demanding someone new, submitting a patch/recipe, to
> > go fix musl, which they probably never heard of, would result in never hearing
> > from them again. :)
> 
> I think, its fair to expect some responsibility from submitters. I do
> not encourage
> shoot and scoot approach. Eventually it feels like dumping ground.
> I myself have fixed plenty of recipes which were added and
> left as it is, orphaned. I had to fix them to work with musl or clang,
> realizing that
> given package has had several releases ever since it was added to OE, but we
> never update the recipe.

I agree with your comments in general - striving for quality should be the 
ultimate goal, just don't forget about balance and compromise... :) It all 
boils down to available resources on both sides, but you already know that.


> We probably should pay attention towards such orphaned
> packages closely.

Maybe some sort of automated notification system for aging recipes? On the 
other hand, the state of the world already provides most of that info, it's 
just too overwhelming...


> > Anyway, I'll look into getting some musl coverage for my submission as well...
> >
> > --
> > Denys
> 


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2017-10-17 21:01 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-04 20:20 [meta-networking][PATCH 0/1] mdns: move from meta-intel-iot-middleware Paul Eggleton
2017-10-04 20:20 ` [meta-networking][PATCH 1/1] " Paul Eggleton
2017-10-17  4:19   ` Khem Raj
2017-10-17  5:11     ` Denys Dmytriyenko
2017-10-17 16:23       ` Khem Raj
2017-10-17 16:58         ` Martin Jansa
2017-10-17 17:01           ` Khem Raj
2017-10-17 17:23             ` Joe MacDonald
2017-10-17 17:41               ` Khem Raj
2017-10-17 18:01                 ` Andre McCurdy
2017-10-17 19:00                   ` Khem Raj
2017-10-17 18:09             ` Denys Dmytriyenko
2017-10-17 19:05               ` Khem Raj
2017-10-17 21:01                 ` Denys Dmytriyenko

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.