Skip to contentSkip to conversation

mdns: move from meta-intel-iot-middleware

PATCH In review Paul Eggleton 6 participants 14 messages Oct 4, 2017 – Oct 17, 2017

lore
Share & tools
lore
#0 lore raw

cover mdns: move from meta-intel-iot-middleware

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
Signature · 1 line
2.9.5
#1 lore raw

PATCH 1/1 mdns: move from meta-intel-iot-middleware

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

---
 .../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
meta-networking/recipes-protocols/mdns/files/build.patch new file +167 -0
new file mode 100644
index 0000000..4ab9d23
@@ -0,0 +1,167 @@
+From 43b6e98c9c37afd0d914949dcff4eab81f5a995f Mon Sep 17 00:00:00 2001
+From: Brendan Le Foll <[email protected]>
+Date: Tue, 3 Mar 2015 11:42:57 +0000
+
+Upstream-Status: Inappropriate [OE-specific]
+
+Signed-off-by: Paul Eggleton <[email protected]>
+
+---
+ 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
+
meta-networking/recipes-protocols/mdns/files/mdns.service new file +15 -0
new file mode 100644
index 0000000..531d142
@@ -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
meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb new file +89 -0

89 lines not on this page · raw message

Signature · 1 line
2.9.5
#2 lore raw
Quoted 11 lines · Paul Eggleton

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'

Quoted 307 lines
---
 .../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
meta-networking/recipes-protocols/mdns/files/build.patch new file +167 -0
new file mode 100644
index 0000000..4ab9d23
@@ -0,0 +1,167 @@
+From 43b6e98c9c37afd0d914949dcff4eab81f5a995f Mon Sep 17 00:00:00 2001
+From: Brendan Le Foll <[email protected]>
+Date: Tue, 3 Mar 2015 11:42:57 +0000
+
+Upstream-Status: Inappropriate [OE-specific]
+
+Signed-off-by: Paul Eggleton <[email protected]>
+
+---
+ 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
+
meta-networking/recipes-protocols/mdns/files/mdns.service new file +15 -0
new file mode 100644
index 0000000..531d142
@@ -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
meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb new file +89 -1
new file mode 100644
index 0000000..1a80f7a
@@ -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
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

#3 lore raw
Quoted 15 lines · Khem Raj
Quoted 11 lines · Paul Eggleton

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

Quoted 1 line

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

Is musl a requirement for meta-oe?

Quoted 322 lines
| 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'

Quoted 307 lines
---
 .../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
meta-networking/recipes-protocols/mdns/files/build.patch new file +167 -0
new file mode 100644
index 0000000..4ab9d23
@@ -0,0 +1,167 @@
+From 43b6e98c9c37afd0d914949dcff4eab81f5a995f Mon Sep 17 00:00:00 2001
+From: Brendan Le Foll <[email protected]>
+Date: Tue, 3 Mar 2015 11:42:57 +0000
+
+Upstream-Status: Inappropriate [OE-specific]
+
+Signed-off-by: Paul Eggleton <[email protected]>
+
+---
+ 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
+
meta-networking/recipes-protocols/mdns/files/mdns.service new file +15 -0
new file mode 100644
index 0000000..531d142
@@ -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
meta-networking/recipes-protocols/mdns/mdns_765.50.9.bb new file +89 -1
new file mode 100644
index 0000000..1a80f7a
@@ -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
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Signature · 4 lines
_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-devel
#4 lore raw
Quoted 16 lines · Denys Dmytriyenko
Quoted 15 lines · Khem Raj
Quoted 11 lines · Paul Eggleton

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

Quoted 3 lines
Quoted 1 line

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

#5 lore raw

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) .

Quoted 35 lines · Khem Raj
Quoted 11 lines · Denys Dmytriyenko
Quoted 10 lines · Khem Raj
Quoted 8 lines · Paul Eggleton

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

Quoted 1 line
Quoted 1 line
Quoted 1 line

* Fix lack of soname on libdns_sd.so leading to missing RDEPENDS QA

error

Quoted 7 lines
Quoted 5 lines
Quoted 2 lines

* 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 [email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

#6 lore raw
Quoted 6 lines · Martin Jansa

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) .

Quoted 31 lines
Quoted 30 lines · Khem Raj
Quoted 18 lines · Denys Dmytriyenko
Quoted 17 lines · Khem Raj
Quoted 13 lines · Paul Eggleton

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

Quoted 3 lines
Quoted 1 line

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.

#7 lore raw
Quoted 39 lines · [Re: [oe] [meta-networking][PATCH 1/1] mdns: move from…
Quoted 6 lines · Martin Jansa

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) .

Quoted 31 lines
Quoted 30 lines · Khem Raj
Quoted 18 lines · Denys Dmytriyenko
Quoted 17 lines · Khem Raj
Quoted 13 lines · Paul Eggleton

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

Quoted 3 lines
Quoted 1 line

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

Quoted 3 lines

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?

Signature · 2 lines
-Joe MacDonald.
:wq
#8 lore raw
Quoted 41 lines · Joe MacDonald
Quoted 39 lines · [Re: [oe] [meta-networking][PATCH 1/1] mdns: move from…
Quoted 37 lines · Martin Jansa

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) .

Quoted 30 lines · Khem Raj
Quoted 18 lines · Denys Dmytriyenko
Quoted 17 lines · Khem Raj
Quoted 13 lines · Paul Eggleton

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

Quoted 3 lines
Quoted 1 line

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

Quoted 8 lines
Quoted 3 lines

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

Quoted 4 lines

--
-Joe MacDonald.
:wq

#9 lore raw
Quoted 9 lines · Joe MacDonald
Quoted 3 lines · [Re: [oe] [meta-networking][PATCH 1/1] mdns: move from…

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.

#10 lore raw
Quoted 17 lines · Andre McCurdy
Quoted 9 lines · Joe MacDonald
Quoted 3 lines · [Re: [oe] [meta-networking][PATCH 1/1] mdns: move from…

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.

Quoted 6 lines

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

#11 lore raw
In reply to Khem Raj
Quoted 39 lines · Khem Raj
Quoted 6 lines · Martin Jansa

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) .

Quoted 31 lines
Quoted 30 lines · Khem Raj
Quoted 18 lines · Denys Dmytriyenko
Quoted 17 lines · Khem Raj
Quoted 13 lines · Paul Eggleton

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

Quoted 3 lines
Quoted 1 line

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

Quoted 3 lines

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...

Signature · 1 line
Denys
#12 lore raw
Quoted 40 lines · Denys Dmytriyenko
Quoted 39 lines · Khem Raj
Quoted 37 lines · Martin Jansa

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) .

Quoted 30 lines · Khem Raj
Quoted 18 lines · Denys Dmytriyenko
Quoted 17 lines · Khem Raj
Quoted 13 lines · Paul Eggleton

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

Quoted 3 lines
Quoted 1 line

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

Quoted 7 lines
Quoted 3 lines

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.

Quoted 5 lines

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

--
Denys

#13 lore raw
Quoted 49 lines · Khem Raj
Quoted 40 lines · Denys Dmytriyenko
Quoted 39 lines · Khem Raj
Quoted 37 lines · Martin Jansa

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) .

Quoted 30 lines · Khem Raj
Quoted 18 lines · Denys Dmytriyenko
Quoted 17 lines · Khem Raj
Quoted 13 lines · Paul Eggleton

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

Quoted 3 lines
Quoted 1 line

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

Quoted 7 lines
Quoted 3 lines

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. :)

Quoted 8 lines

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.

Quoted 2 lines

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...

Quoted 5 lines
Quoted 4 lines

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

--
Denys