mdns: move from meta-intel-iot-middleware
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
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
@@ -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
@@ -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
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
Signed-off-by Paul Eggleton <[email protected]>--- .../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.bbmeta-networking/recipes-protocols/mdns/files/build.patch new file +167
-0@@ -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@@ -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.targetmeta-networking/recipes-protocols/mdns/mdns_765.50.9.bb new file +89
-1@@ -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
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:1exit 1 from 'exit 1'
Quoted 307 lines
Signed-off-by Paul Eggleton <[email protected]>--- .../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.bbmeta-networking/recipes-protocols/mdns/files/build.patch new file +167
-0@@ -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@@ -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.targetmeta-networking/recipes-protocols/mdns/mdns_765.50.9.bb new file +89
-1@@ -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-develSignature · 4 lines
_______________________________________________ Openembedded-devel mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-devel
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
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
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 SUMMARYQuoted 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.
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 SUMMARYQuoted 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
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 SUMMARYQuoted 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
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.
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 SUMMARYQuoted 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
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
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 SUMMARYQuoted 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
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 SUMMARYQuoted 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-coreQuoted 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