From aedf26e08ad0dd5244c2bc49181bc77df18ebd08 Mon Sep 17 00:00:00 2001 From: Andreas Müller Date: Thu, 26 Apr 2018 00:05:05 +0200 Subject: networkmanager: fix prevous commits MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The wrong patches were applied: commit c5a04600817e0d34dfa151d46073a76b506b4c3d Author: Armin Kuster Date: Fri Mar 30 19:56:03 2018 -0700 networkmanager: Fix many typos in DISTRO_FEATURES PACKAGECONFIG decodes commit 575c14ded56e1e97582a6df0921d19b4da630961 Author: Andreas Müller Date: Thu Mar 22 18:40:52 2018 +0100 networkmanager: fix gobject-introspection/musl and cleanup * musl fixed (tested) * PACKAGECONFIG systemd: Logic was broken by c5a046. To avoid further confusion, the expression was put into one line. * PACKAGECONFIG wifi: The expression 'bb.utils.filter.. ' was perfectly fine. Signed-off-by: Andreas Müller Signed-off-by: Armin Kuster --- ...further-conflicts-by-including-net-ethern.patch | 77 ++++++++++++++++++++++ .../0006-Add-a-strndupa-replacement-for-musl.patch | 47 +++++++++++++ .../networkmanager/networkmanager_1.10.6.bb | 14 ++-- 3 files changed, 134 insertions(+), 4 deletions(-) create mode 100644 meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch create mode 100644 meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch b/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch new file mode 100644 index 0000000000..752fe4f581 --- /dev/null +++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch @@ -0,0 +1,77 @@ +From b3b4fe35018c98ad176719b2d9ffb867974fc7c3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Mon, 16 Apr 2018 14:45:44 +0200 +Subject: [PATCH] musl: avoid further conflicts by including net/ethernet.h +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Pending + +Signed-off-by: Andreas Müller +--- + src/systemd/src/systemd/sd-dhcp-client.h | 2 ++ + src/systemd/src/systemd/sd-dhcp-lease.h | 2 ++ + src/systemd/src/systemd/sd-dhcp6-client.h | 2 ++ + src/systemd/src/systemd/sd-ipv4ll.h | 2 ++ + 4 files changed, 8 insertions(+) + +diff --git a/src/systemd/src/systemd/sd-dhcp-client.h b/src/systemd/src/systemd/sd-dhcp-client.h +index 5e46d8d..18a613f 100644 +--- a/src/systemd/src/systemd/sd-dhcp-client.h ++++ b/src/systemd/src/systemd/sd-dhcp-client.h +@@ -21,7 +21,9 @@ + ***/ + + #include ++#if defined(__GLIBC__) + #include ++#endif + #include + #include + +diff --git a/src/systemd/src/systemd/sd-dhcp-lease.h b/src/systemd/src/systemd/sd-dhcp-lease.h +index 7ab99cc..85acdf2 100644 +--- a/src/systemd/src/systemd/sd-dhcp-lease.h ++++ b/src/systemd/src/systemd/sd-dhcp-lease.h +@@ -22,7 +22,9 @@ + ***/ + + #include ++#if defined(__GLIBC__) + #include ++#endif + #include + #include + +diff --git a/src/systemd/src/systemd/sd-dhcp6-client.h b/src/systemd/src/systemd/sd-dhcp6-client.h +index 7819f0d..35f30ee 100644 +--- a/src/systemd/src/systemd/sd-dhcp6-client.h ++++ b/src/systemd/src/systemd/sd-dhcp6-client.h +@@ -21,7 +21,9 @@ + ***/ + + #include ++#if defined(__GLIBC__) + #include ++#endif + #include + + #include "sd-dhcp6-lease.h" +diff --git a/src/systemd/src/systemd/sd-ipv4ll.h b/src/systemd/src/systemd/sd-ipv4ll.h +index 5ba9208..c90eca6 100644 +--- a/src/systemd/src/systemd/sd-ipv4ll.h ++++ b/src/systemd/src/systemd/sd-ipv4ll.h +@@ -20,7 +20,9 @@ + along with systemd; If not, see . + ***/ + ++#if defined(__GLIBC__) + #include ++#endif + #include + + #include "sd-event.h" +-- +2.14.3 + diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch b/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch new file mode 100644 index 0000000000..8ed7ee64fb --- /dev/null +++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch @@ -0,0 +1,47 @@ +From 6db6596e450062601d18b2ae812a4a58d2e03a53 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Mon, 16 Apr 2018 15:07:20 +0200 +Subject: [PATCH] Add a strndupa replacement for musl +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Pending + +Signed-off-by: Andreas Müller +--- + src/systemd/src/basic/in-addr-util.c | 1 + + src/systemd/src/basic/string-util.h | 5 +++++ + 2 files changed, 6 insertions(+) + +diff --git a/src/systemd/src/basic/in-addr-util.c b/src/systemd/src/basic/in-addr-util.c +index 2a02d90..a57c360 100644 +--- a/src/systemd/src/basic/in-addr-util.c ++++ b/src/systemd/src/basic/in-addr-util.c +@@ -30,6 +30,7 @@ + #include "in-addr-util.h" + #include "macro.h" + #include "parse-util.h" ++#include "string-util.h" + #include "util.h" + + bool in4_addr_is_null(const struct in_addr *a) { +diff --git a/src/systemd/src/basic/string-util.h b/src/systemd/src/basic/string-util.h +index 4c94b18..a6dc446 100644 +--- a/src/systemd/src/basic/string-util.h ++++ b/src/systemd/src/basic/string-util.h +@@ -44,6 +44,11 @@ + #define strcaseeq(a,b) (strcasecmp((a),(b)) == 0) + #define strncaseeq(a, b, n) (strncasecmp((a), (b), (n)) == 0) + ++/* musl does not know strndupa */ ++#if !defined(__GLIBC__) ++#define strndupa(x,s) strncpy(alloca(strlen(x)+1),x,s) ++#endif ++ + int strcmp_ptr(const char *a, const char *b) _pure_; + + static inline bool streq_ptr(const char *a, const char *b) { +-- +2.14.3 + diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.10.6.bb b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.10.6.bb index d90b782682..31fa132416 100644 --- a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.10.6.bb +++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.10.6.bb @@ -35,6 +35,8 @@ SRC_URI = " \ file://musl/0002-musl-dlopen-configure-ac.patch \ file://musl/0003-musl-network-support.patch \ file://musl/0004-musl-process-util.patch \ + file://musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch \ + file://musl/0006-Add-a-strndupa-replacement-for-musl.patch \ " SRC_URI[md5sum] = "de3c7147a693da6f80eb22f126086a14" SRC_URI[sha256sum] = "6af0b1e856a3725f88791f55c4fbb04105dc0b20dbf182aaec8aad16481fac76" @@ -54,17 +56,21 @@ EXTRA_OECONF = " \ # gobject-introspection related GI_DATA_ENABLED_libc-musl = "False" +# stolen from https://github.com/voidlinux/void-packages/blob/master/srcpkgs/NetworkManager/template +CFLAGS_libc-musl_append = " \ + -DHAVE_SECURE_GETENV -Dsecure_getenv=getenv \ + -D__USE_POSIX199309 -DRTLD_DEEPBIND=0 \ +" + do_compile_prepend() { export GIR_EXTRA_LIBS_PATH="${B}/libnm/.libs:${B}/libnm-glib/.libs:${B}/libnm-util/.libs" } PACKAGECONFIG ??= "nss ifupdown netconfig dhclient dnsmasq \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'wifi', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'wifi', d)} \ " - PACKAGECONFIG[systemd] = " \ --with-systemdsystemunitdir=${systemd_unitdir}/system --with-session-tracking=systemd --enable-polkit, \ --without-systemdsystemunitdir, \ -- cgit 1.2.3-korg