diff options
Diffstat (limited to 'import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl')
6 files changed, 346 insertions, 0 deletions
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-musl-basic.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-musl-basic.patch new file mode 100644 index 000000000..9d208e1fd --- /dev/null +++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-musl-basic.patch @@ -0,0 +1,53 @@ +From e92de7409a3e107f90d108a9c5d49bd0418296dd Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +Date: Thu, 22 Mar 2018 17:54:10 +0100 +Subject: [PATCH 1/4] Usual fix for musl libc +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Pending + +Stolen from [1] and prettyfied slightly + +[1] https://github.com/voidlinux/void-packages/tree/master/srcpkgs/NetworkManager/patches + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> +--- + src/systemd/src/basic/stdio-util.h | 2 ++ + src/systemd/src/basic/util.h | 5 +++++ + 2 files changed, 7 insertions(+) + +diff --git a/src/systemd/src/basic/stdio-util.h b/src/systemd/src/basic/stdio-util.h +index bd1144b..9eafacb 100644 +--- a/src/systemd/src/basic/stdio-util.h ++++ b/src/systemd/src/basic/stdio-util.h +@@ -19,7 +19,9 @@ + along with systemd; If not, see <http://www.gnu.org/licenses/>. + ***/ + ++#if defined(__GLIBC__) + #include <printf.h> ++#endif + #include <stdarg.h> + #include <stdio.h> + #include <sys/types.h> +diff --git a/src/systemd/src/basic/util.h b/src/systemd/src/basic/util.h +index b31dfd1..9b7032c 100644 +--- a/src/systemd/src/basic/util.h ++++ b/src/systemd/src/basic/util.h +@@ -46,6 +46,11 @@ + #include "missing.h" + #include "time-util.h" + ++#if !defined(__GLIBC__) ++typedef int (*__compar_fn_t) (const void*, const void*); ++typedef __compar_fn_t comparison_fn_t; ++#endif ++ + size_t page_size(void) _pure_; + #define PAGE_ALIGN(l) ALIGN_TO((l), page_size()) + +-- +2.14.3 + diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-musl-dlopen-configure-ac.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-musl-dlopen-configure-ac.patch new file mode 100644 index 000000000..548cccb32 --- /dev/null +++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-musl-dlopen-configure-ac.patch @@ -0,0 +1,35 @@ +From 57239fda56b68a8f3e413f7b6af5290ba0d86636 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +Date: Thu, 22 Mar 2018 18:18:06 +0100 +Subject: [PATCH 2/4] musl: dlopen is included so LD_LIBS="" instead of + LD_LIBS="none required" +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Pending + +Stolen from [1] and prettyfied slightly + +[1] https://github.com/voidlinux/void-packages/tree/master/srcpkgs/NetworkManager/patches + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> +--- + configure.ac | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/configure.ac b/configure.ac +index 487a266..96ae4f7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -305,6 +305,7 @@ dnl + dnl Checks for libdl - on certain platforms its part of libc + dnl + AC_SEARCH_LIBS([dlopen], [dl dld], [], [ac_cv_search_dlopen=]) ++AS_IF([test "$ac_cv_search_dlopen" = "none required"],[ac_cv_search_dlopen=""]) + AC_SUBST([DL_LIBS], "$ac_cv_search_dlopen") + + PKG_CHECK_MODULES(GLIB, [gio-unix-2.0 >= 2.37.6 gmodule-2.0], +-- +2.14.3 + diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-network-support.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-network-support.patch new file mode 100644 index 000000000..5dd17b63b --- /dev/null +++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-network-support.patch @@ -0,0 +1,72 @@ +From 714b4731a238653e9c7d885c0dee10677b0a4df3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +Date: Thu, 22 Mar 2018 18:24:07 +0100 +Subject: [PATCH 3/4] musl: network support +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Pending + +Stolen from [1] and prettyfied slightly + +[1] https://github.com/voidlinux/void-packages/tree/master/srcpkgs/NetworkManager/patches + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> +--- + libnm-core/nm-utils.h | 4 ++++ + src/platform/wifi/wifi-utils.h | 4 ++++ + src/systemd/src/basic/socket-util.h | 5 +++++ + 3 files changed, 13 insertions(+) + +diff --git a/libnm-core/nm-utils.h b/libnm-core/nm-utils.h +index df9284b..2bcf4b8 100644 +--- a/libnm-core/nm-utils.h ++++ b/libnm-core/nm-utils.h +@@ -30,7 +30,11 @@ + #include <netinet/in.h> + + /* For ETH_ALEN and INFINIBAND_ALEN */ ++#if defined(__GLIBC__) + #include <linux/if_ether.h> ++#else ++#define ETH_ALEN 6 /* Octets in one ethernet addr */ ++#endif + #include <linux/if_infiniband.h> + + #include "nm-core-enum-types.h" +diff --git a/src/platform/wifi/wifi-utils.h b/src/platform/wifi/wifi-utils.h +index 705717b..da3edc4 100644 +--- a/src/platform/wifi/wifi-utils.h ++++ b/src/platform/wifi/wifi-utils.h +@@ -22,7 +22,11 @@ + #ifndef __WIFI_UTILS_H__ + #define __WIFI_UTILS_H__ + ++#if defined(__GLIBC__) + #include <net/ethernet.h> ++#else /* musl libc */ ++#define ETH_ALEN 6 /* Octets in one ethernet addr */ ++#endif + + #include "nm-dbus-interface.h" + +diff --git a/src/systemd/src/basic/socket-util.h b/src/systemd/src/basic/socket-util.h +index d7e2d85..d109c84 100644 +--- a/src/systemd/src/basic/socket-util.h ++++ b/src/systemd/src/basic/socket-util.h +@@ -29,6 +29,11 @@ + #include <linux/netlink.h> + #include <linux/if_infiniband.h> + #include <linux/if_packet.h> ++#if !defined(__GLIBC__) ++/* SIOCGSTAMPNS from linux/asm-generic.h ++ * for src/systemd/src/libsystemd-network/sd-lldp.c */ ++#include <linux/sockios.h> ++#endif + + #include "macro.h" + #include "missing.h" +-- +2.14.3 + diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-process-util.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-process-util.patch new file mode 100644 index 000000000..fc55ce85f --- /dev/null +++ b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-process-util.patch @@ -0,0 +1,62 @@ +From d513c8bfc982dbd976617178b040c512c95710b6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +Date: Thu, 22 Mar 2018 18:29:00 +0100 +Subject: [PATCH 4/4] musl: process-util +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Pending + +Stolen from [1] and prettyfied slightly + +[1] https://github.com/voidlinux/void-packages/tree/master/srcpkgs/NetworkManager/patches + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> +--- + src/systemd/src/basic/process-util.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/src/systemd/src/basic/process-util.c b/src/systemd/src/basic/process-util.c +index 272030d..485f1db 100644 +--- a/src/systemd/src/basic/process-util.c ++++ b/src/systemd/src/basic/process-util.c +@@ -36,6 +36,9 @@ + #include <sys/wait.h> + #include <syslog.h> + #include <unistd.h> ++#ifndef __GLIBC__ ++#include <pthread.h> ++#endif + #if 0 /* NM_IGNORED */ + #if HAVE_VALGRIND_VALGRIND_H + #include <valgrind/valgrind.h> +@@ -1015,11 +1018,13 @@ static void reset_cached_pid(void) { + cached_pid = CACHED_PID_UNSET; + } + ++#ifdef __GLIBC__ + /* We use glibc __register_atfork() + __dso_handle directly here, as they are not included in the glibc + * headers. __register_atfork() is mostly equivalent to pthread_atfork(), but doesn't require us to link against + * libpthread, as it is part of glibc anyway. */ + extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void * __dso_handle); + extern void* __dso_handle __attribute__ ((__weak__)); ++#endif + + pid_t getpid_cached(void) { + pid_t current_value; +@@ -1042,7 +1047,11 @@ pid_t getpid_cached(void) { + + new_pid = getpid(); + ++#ifdef __GLIBC__ + if (__register_atfork(NULL, NULL, reset_cached_pid, __dso_handle) != 0) { ++#else ++ if (pthread_atfork(NULL, NULL, reset_cached_pid) != 0) { ++#endif + /* OOM? Let's try again later */ + cached_pid = CACHED_PID_UNSET; + return new_pid; +-- +2.14.3 + diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch new file mode 100644 index 000000000..752fe4f58 --- /dev/null +++ b/import-layers/meta-openembedded/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?= <schnitzeltony@gmail.com> +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 <schnitzeltony@gmail.com> +--- + 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 <inttypes.h> ++#if defined(__GLIBC__) + #include <net/ethernet.h> ++#endif + #include <netinet/in.h> + #include <sys/types.h> + +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 <inttypes.h> ++#if defined(__GLIBC__) + #include <net/ethernet.h> ++#endif + #include <netinet/in.h> + #include <sys/types.h> + +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 <inttypes.h> ++#if defined(__GLIBC__) + #include <net/ethernet.h> ++#endif + #include <sys/types.h> + + #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 <http://www.gnu.org/licenses/>. + ***/ + ++#if defined(__GLIBC__) + #include <net/ethernet.h> ++#endif + #include <netinet/in.h> + + #include "sd-event.h" +-- +2.14.3 + diff --git a/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch b/import-layers/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch new file mode 100644 index 000000000..8ed7ee64f --- /dev/null +++ b/import-layers/meta-openembedded/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?= <schnitzeltony@gmail.com> +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 <schnitzeltony@gmail.com> +--- + 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 + |