From 5b80bfd7bffd4c20d80b7c70a7130529e9a755dd Mon Sep 17 00:00:00 2001 From: ToshikazuOhiwa Date: Mon, 30 Mar 2020 09:24:26 +0900 Subject: agl-basesystem --- .../networkmanager-openvpn_1.2.10.bb | 40 ++++++ ...clude-net-ethernet.h-and-linux-if_ether.h.patch | 53 ++++++++ ...emove-net-ethernet.h-seems-to-be-over-spe.patch | 39 ++++++ ...figure.ac-Fix-pkgconfig-sysroot-locations.patch | 25 ++++ ...te-settings-settings-property-documentati.patch | 80 ++++++++++++ .../networkmanager/musl/0001-musl-basic.patch | 54 ++++++++ .../musl/0002-musl-dlopen-configure-ac.patch | 35 +++++ .../musl/0003-musl-network-support.patch | 72 +++++++++++ .../musl/0004-musl-process-util.patch | 62 +++++++++ ...further-conflicts-by-including-net-ethern.patch | 77 +++++++++++ .../0006-Add-a-strndupa-replacement-for-musl.patch | 47 +++++++ .../networkmanager/networkmanager_1.14.4.bb | 144 +++++++++++++++++++++ 12 files changed, 728 insertions(+) create mode 100644 external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.10.bb create mode 100644 external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Do-not-include-net-ethernet.h-and-linux-if_ether.h.patch create mode 100644 external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch create mode 100644 external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch create mode 100644 external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Do-not-create-settings-settings-property-documentati.patch create mode 100644 external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-musl-basic.patch create mode 100644 external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-musl-dlopen-configure-ac.patch create mode 100644 external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-network-support.patch create mode 100644 external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-process-util.patch create mode 100644 external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch create mode 100644 external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch create mode 100644 external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.14.4.bb (limited to 'external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager') diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.10.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.10.bb new file mode 100644 index 00000000..9159fcbf --- /dev/null +++ b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.2.10.bb @@ -0,0 +1,40 @@ +SUMMARY = "NetworkManager-openvpn-plugin" +SECTION = "net/misc" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=100d5a599bead70ddcd70dcd73f2e29c" + +DEPENDS = "dbus dbus-glib networkmanager openvpn intltool-native glib-2.0-native" + +inherit gnomebase useradd gettext systemd + +SRC_URI = "${GNOME_MIRROR}/NetworkManager-openvpn/${@gnome_verdir("${PV}")}/NetworkManager-openvpn-${PV}.tar.xz" + +SRC_URI[md5sum] = "f118226ed2bfbacfd64ac4d1e0bd0383" +SRC_URI[sha256sum] = "ac86a7a539d78df90095676e9183f2d422fb93dbfe4b3afef22f81825d303d61" + +S = "${WORKDIR}/NetworkManager-openvpn-${PV}" + +PACKAGECONFIG[gnome] = "--with-gnome,--without-gnome" + +do_install_append () { + rm -rf ${D}${libdir}/NetworkManager/*.la +} + +# Create user and group nm-openvpn that are needed since version 1.0.6 +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system nm-openvpn" + +FILES_${PN} += " \ + ${libdir}/NetworkManager/*.so \ + ${nonarch_libdir}/NetworkManager/VPN/nm-openvpn-service.name \ +" + +FILES_${PN}-staticdev += " \ + ${libdir}/NetworkManager/*.a \ +" + +RDEPENDS_${PN} = " \ + networkmanager \ + openvpn \ +" diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Do-not-include-net-ethernet.h-and-linux-if_ether.h.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Do-not-include-net-ethernet.h-and-linux-if_ether.h.patch new file mode 100644 index 00000000..0c415bce --- /dev/null +++ b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-Do-not-include-net-ethernet.h-and-linux-if_ether.h.patch @@ -0,0 +1,53 @@ +From 3f4b6319701834182304c4079119780f4ae5b49b Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 7 Nov 2018 11:30:44 -0800 +Subject: [PATCH] Do not include net/ethernet.h and linux/if_ether.h + +They conflict when used together especially with musl +removing them still keeps it working so it seems they are redundant + +Signed-off-by: Khem Raj +--- + shared/n-acd/src/n-acd.c | 1 - + src/platform/wpan/nm-wpan-utils.h | 2 -- + src/settings/nm-settings-connection.h | 2 -- + 3 files changed, 5 deletions(-) + +diff --git a/shared/n-acd/src/n-acd.c b/shared/n-acd/src/n-acd.c +index 9164f95..9538e50 100644 +--- a/shared/n-acd/src/n-acd.c ++++ b/shared/n-acd/src/n-acd.c +@@ -23,7 +23,6 @@ + #include + #include + #include +-#include + #include + #include + #include +diff --git a/src/platform/wpan/nm-wpan-utils.h b/src/platform/wpan/nm-wpan-utils.h +index f7d0c03..e1c81f5 100644 +--- a/src/platform/wpan/nm-wpan-utils.h ++++ b/src/platform/wpan/nm-wpan-utils.h +@@ -20,8 +20,6 @@ + #ifndef __WPAN_UTILS_H__ + #define __WPAN_UTILS_H__ + +-#include +- + #include "nm-dbus-interface.h" + #include "platform/nm-netlink.h" + +diff --git a/src/settings/nm-settings-connection.h b/src/settings/nm-settings-connection.h +index e796b71..c01fef6 100644 +--- a/src/settings/nm-settings-connection.h ++++ b/src/settings/nm-settings-connection.h +@@ -22,8 +22,6 @@ + #ifndef __NETWORKMANAGER_SETTINGS_CONNECTION_H__ + #define __NETWORKMANAGER_SETTINGS_CONNECTION_H__ + +-#include +- + #include "nm-dbus-object.h" + #include "nm-connection.h" + diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch new file mode 100644 index 00000000..49a07353 --- /dev/null +++ b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch @@ -0,0 +1,39 @@ +From 18f71c1b48730b8602826517f2b5b088283ae948 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 31 Mar 2017 16:48:00 -0700 +Subject: [PATCH] sd-lldp.h: Remove net/ethernet.h seems to be over specified + +Signed-off-by: Khem Raj +--- + src/systemd/src/libsystemd-network/sd-lldp.c | 1 + + src/systemd/src/systemd/sd-lldp.h | 2 +- + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/systemd/src/libsystemd-network/sd-lldp.c b/src/systemd/src/libsystemd-network/sd-lldp.c +index 31e2448..7721cc2 100644 +--- a/src/systemd/src/libsystemd-network/sd-lldp.c ++++ b/src/systemd/src/libsystemd-network/sd-lldp.c +@@ -3,6 +3,7 @@ + #include "nm-sd-adapt.h" + + #include ++#include + #include + + #include "sd-lldp.h" +diff --git a/src/systemd/src/systemd/sd-lldp.h b/src/systemd/src/systemd/sd-lldp.h +index 3f35eeb..61b0e45 100644 +--- a/src/systemd/src/systemd/sd-lldp.h ++++ b/src/systemd/src/systemd/sd-lldp.h +@@ -18,7 +18,7 @@ + ***/ + + #include +-#include ++//#include + #include + + #include "sd-event.h" +-- +2.14.1 + diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch new file mode 100644 index 00000000..351f264c --- /dev/null +++ b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch @@ -0,0 +1,25 @@ +From 583f0448fb7e9aba2b410c06eec6f420b41a6a0c Mon Sep 17 00:00:00 2001 +From: Pablo Saavedra +Date: Tue, 13 Mar 2018 17:36:20 +0100 +Subject: [PATCH] Fixed configure.ac: Fix pkgconfig sysroot locations + +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 51e5eb6..c9d3e56 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -572,7 +572,7 @@ if test "$have_jansson" = "yes"; then + AC_DEFINE(WITH_JANSSON, 1, [Define if JANSSON is enabled]) + + AC_CHECK_TOOLS(READELF, [eu-readelf readelf]) +- JANSSON_LIBDIR=`$PKG_CONFIG --variable=libdir jansson` ++ JANSSON_LIBDIR=${PKG_CONFIG_SYSROOT_DIR}`$PKG_CONFIG --variable=libdir jansson` + JANSSON_SONAME=`$READELF -d $JANSSON_LIBDIR/libjansson.so |sed -n 's/.*SONAME.*\[[\([^]]*\)]]/\1/p'` + + if test "$JANSSON_SONAME" = ""; then +-- +2.14.1 + diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Do-not-create-settings-settings-property-documentati.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Do-not-create-settings-settings-property-documentati.patch new file mode 100644 index 00000000..c50293c0 --- /dev/null +++ b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0003-Do-not-create-settings-settings-property-documentati.patch @@ -0,0 +1,80 @@ +From 4f000a4a19975d6aba71427e693cd1ed080abda9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Thu, 22 Mar 2018 11:08:30 +0100 +Subject: [PATCH] Do not create settings settings/property documentation +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +It was tried to get this work but gi / GirRepository could not be found by +python. Anyway it is not necessary for us to have the settings/property docs. + +Upstream-Status: Inappropriate [OE specific] + +Signed-off-by: Andreas Müller +--- + Makefile.am | 20 -------------------- + configure.ac | 5 ----- + 2 files changed, 25 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 1e100f6..d31e3c1 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1115,9 +1115,7 @@ EXTRA_DIST += \ + if HAVE_INTROSPECTION + + libnm_noinst_data = \ +- libnm/nm-property-docs.xml \ + libnm/nm-settings-docs-overrides.xml \ +- libnm/nm-settings-docs.xml \ + libnm/nm-settings-keyfile-docs.xml \ + libnm/nm-settings-ifcfg-rh-docs.xml + +@@ -3692,27 +3690,9 @@ $(clients_common_libnmc_base_la_OBJECTS): $(libnm_lib_h_pub_mkenums) + $(clients_common_libnmc_base_la_OBJECTS): clients/common/.dirstamp + + clients_common_settings_doc_h = clients/common/settings-docs.h +-if HAVE_INTROSPECTION +-$(clients_common_settings_doc_h): clients/common/settings-docs.xsl libnm/nm-property-docs.xml clients/common/.dirstamp +- $(AM_V_GEN) $(XSLTPROC) --output $@ $< $(word 2,$^) +-DISTCLEANFILES += $(clients_common_settings_doc_h) +-check-local-settings-docs: $(clients_common_settings_doc_h) +- @if test -z "$$NMTST_NO_CHECK_SETTINGS_DOCS" ; then \ +- if ! cmp -s "$(srcdir)/$(clients_common_settings_doc_h).in" "$(builddir)/$(clients_common_settings_doc_h)" ; then \ +- if test "$$NM_TEST_REGENERATE" == 1 ; then \ +- cp -f "$(builddir)/$(clients_common_settings_doc_h)" "$(srcdir)/$(clients_common_settings_doc_h).in"; \ +- else \ +- echo "The generated file \"$(builddir)/$(clients_common_settings_doc_h)\" differs from the source file \"$(srcdir)/$(clients_common_settings_doc_h).in\". You probably should copy the generated file over to the source file. You can skip this test by setting \$$NMTST_NO_CHECK_SETTINGS_DOCS=yes". You can also automatically copy the file by rerunning the test with \$$NM_TEST_REGENERATE=1 ; \ +- false; \ +- fi; \ +- fi;\ +- fi +-check_local += check-local-settings-docs +-else + $(clients_common_settings_doc_h): $(clients_common_settings_doc_h).in clients/common/.dirstamp + $(AM_V_GEN) cp "$(srcdir)/$(clients_common_settings_doc_h).in" "$(builddir)/$(clients_common_settings_doc_h)" + check-local-settings-docs: +-endif + EXTRA_DIST += \ + $(clients_common_settings_doc_h) \ + $(clients_common_settings_doc_h).in +diff --git a/configure.ac b/configure.ac +index 79dc3b9..23d14a6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1195,11 +1195,6 @@ GTK_DOC_CHECK(1.0) + # check if we can build setting property documentation + build_docs=no + if test -n "$INTROSPECTION_MAKEFILE"; then +- # If g-i is installed we know we have python, but we might not have pygobject +- if ! "$PYTHON" -c 'from gi.repository import GObject' >& /dev/null; then +- AC_MSG_ERROR(["--enable-introspection aims to build the settings documentation. This requires GObject introspection for python (pygobject)]) +- fi +- + AC_PATH_PROG(PERL, perl) + if test -z "$PERL"; then + AC_MSG_ERROR([--enable-introspection requires perl]) +-- +2.14.5 + diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-musl-basic.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-musl-basic.patch new file mode 100644 index 00000000..00dda5b1 --- /dev/null +++ b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0001-musl-basic.patch @@ -0,0 +1,54 @@ +From e92de7409a3e107f90d108a9c5d49bd0418296dd Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Thu, 22 Mar 2018 17:54:10 +0100 +Subject: [PATCH] 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 + +--- + 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 73c0327..e1ce64f 100644 +--- a/src/systemd/src/basic/stdio-util.h ++++ b/src/systemd/src/basic/stdio-util.h +@@ -1,7 +1,9 @@ + /* SPDX-License-Identifier: LGPL-2.1+ */ + #pragma once + ++#if defined(__GLIBC__) + #include ++#endif + #include + #include + #include +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 +@@ -28,6 +28,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/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-musl-dlopen-configure-ac.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0002-musl-dlopen-configure-ac.patch new file mode 100644 index 00000000..c162c1df --- /dev/null +++ b/external/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?= +Date: Thu, 22 Mar 2018 18:18:06 +0100 +Subject: [PATCH] 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 +--- + 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 +@@ -235,6 +235,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/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-network-support.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0003-musl-network-support.patch new file mode 100644 index 00000000..9a58c0e3 --- /dev/null +++ b/external/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?= +Date: Thu, 22 Mar 2018 18:24:07 +0100 +Subject: [PATCH] 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 +--- + libnm-core/nm-utils.h | 4 ++++ + src/platform/wifi/nm-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 + + /* For ETH_ALEN and INFINIBAND_ALEN */ ++#if defined(__GLIBC__) + #include ++#else ++#define ETH_ALEN 6 /* Octets in one ethernet addr */ ++#endif + #include + + #include "nm-core-enum-types.h" +diff --git a/src/platform/wifi/nm-wifi-utils.h b/src/platform/wifi/nm-wifi-utils.h +index 705717b..da3edc4 100644 +--- a/src/platform/wifi/nm-wifi-utils.h ++++ b/src/platform/wifi/nm-wifi-utils.h +@@ -22,7 +22,11 @@ + #ifndef __WIFI_UTILS_H__ + #define __WIFI_UTILS_H__ + ++#if defined(__GLIBC__) + #include ++#else /* musl libc */ ++#define ETH_ALEN 6 /* Octets in one ethernet addr */ ++#endif + + #include "nm-dbus-interface.h" + #include "nm-setting-wireless.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 +@@ -11,6 +11,11 @@ + #include + #include + #include ++#if !defined(__GLIBC__) ++/* SIOCGSTAMPNS from linux/asm-generic.h ++ * for src/systemd/src/libsystemd-network/sd-lldp.c */ ++#include ++#endif + + #include "macro.h" + #include "missing.h" +-- +2.14.3 + diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-process-util.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0004-musl-process-util.patch new file mode 100644 index 00000000..9e5c9433 --- /dev/null +++ b/external/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?= +Date: Thu, 25 Oct 2018 09:57:07 +0200 +Subject: [PATCH] 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 +--- + 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 1412f03..45f5049 100644 +--- a/src/systemd/src/basic/process-util.c ++++ b/src/systemd/src/basic/process-util.c +@@ -21,6 +21,9 @@ + #include + #include + #include ++#ifndef __GLIBC__ ++#include ++#endif + #if 0 /* NM_IGNORED */ + #if HAVE_VALGRIND_VALGRIND_H + #include +@@ -1153,11 +1156,13 @@ 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) { + static bool installed = false; +@@ -1186,7 +1191,11 @@ pid_t getpid_cached(void) { + * only half-documented (glibc doesn't document it but LSB does — though only superficially) + * we'll check for errors only in the most generic fashion possible. */ + ++#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.5 + diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch new file mode 100644 index 00000000..6bca95e1 --- /dev/null +++ b/external/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?= +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 e388552..9c4dde8 100644 +--- a/src/systemd/src/systemd/sd-dhcp-client.h ++++ b/src/systemd/src/systemd/sd-dhcp-client.h +@@ -20,7 +20,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 2a60145..19d1814 100644 +--- a/src/systemd/src/systemd/sd-dhcp-lease.h ++++ b/src/systemd/src/systemd/sd-dhcp-lease.h +@@ -19,7 +19,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 fa36dca..2d25010 100644 +--- a/src/systemd/src/systemd/sd-dhcp6-client.h ++++ b/src/systemd/src/systemd/sd-dhcp6-client.h +@@ -20,7 +20,9 @@ + ***/ + + #include ++#if defined(__GLIBC__) + #include ++#endif + #include + #include + +diff --git a/src/systemd/src/systemd/sd-ipv4ll.h b/src/systemd/src/systemd/sd-ipv4ll.h +index 71bd4cf..1c667ba 100644 +--- a/src/systemd/src/systemd/sd-ipv4ll.h ++++ b/src/systemd/src/systemd/sd-ipv4ll.h +@@ -19,7 +19,9 @@ + along with systemd; If not, see . + ***/ + ++#if defined(__GLIBC__) + #include ++#endif + #include + + #include "sd-event.h" +-- +2.14.5 + diff --git a/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/musl/0006-Add-a-strndupa-replacement-for-musl.patch new file mode 100644 index 00000000..023a4d9a --- /dev/null +++ b/external/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?= +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 +@@ -13,6 +13,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 +@@ -26,6 +26,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/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.14.4.bb b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.14.4.bb new file mode 100644 index 00000000..f21600ed --- /dev/null +++ b/external/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.14.4.bb @@ -0,0 +1,144 @@ +SUMMARY = "NetworkManager" +HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager" +SECTION = "net/misc" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=cbbffd568227ada506640fe950a4823b \ + file://libnm-util/COPYING;md5=1c4fa765d6eb3cd2fbd84344a1b816cd \ + file://docs/api/html/license.html;md5=2d56a1b0c42e388aa86aef59b154e8c3 \ +" + +DEPENDS = " \ + intltool-native \ + libxslt-native \ + libnl \ + libgudev \ + util-linux \ + libndp \ + libnewt \ + polkit \ + jansson \ + curl \ +" + +inherit gnomebase gettext systemd bluetooth bash-completion vala gobject-introspection gtk-doc + +SRC_URI = " \ + ${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \ + file://0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch \ + file://0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch \ + file://0003-Do-not-create-settings-settings-property-documentati.patch \ + file://0001-Do-not-include-net-ethernet.h-and-linux-if_ether.h.patch \ + file://musl/0001-musl-basic.patch \ + 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] = "54ce62f0aa18ef6c5e754eaac47494ac" +SRC_URI[sha256sum] = "35a3ede4c7d12d6212033c9e44cb82b7692f38063b53a067567f02f5937c8c18" + +UPSTREAM_CHECK_URI = "${GNOME_MIRROR}/NetworkManager/1.10/" +UPSTREAM_CHECK_REGEX = "NetworkManager\-(?P1\.10(\.\d+)+).tar.xz" + +S = "${WORKDIR}/NetworkManager-${PV}" + +EXTRA_OECONF = " \ + --disable-ifcfg-rh \ + --disable-more-warnings \ + --with-iptables=${sbindir}/iptables \ + --with-tests \ + --with-nmtui=yes \ + --with-udev-dir=${nonarch_base_libdir}/udev \ +" + +# 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 dhclient dnsmasq \ + ${@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.filter('DISTRO_FEATURES', 'wifi', d)} \ +" +PACKAGECONFIG[systemd] = " \ + --with-systemdsystemunitdir=${systemd_unitdir}/system --with-session-tracking=systemd --enable-polkit, \ + --without-systemdsystemunitdir, \ + polkit \ +" +PACKAGECONFIG[bluez5] = "--enable-bluez5-dun,--disable-bluez5-dun,bluez5" +# consolekit is not picked by shlibs, so add it to RDEPENDS too +PACKAGECONFIG[consolekit] = "--with-session-tracking=consolekit,,consolekit,consolekit" +PACKAGECONFIG[modemmanager] = "--with-modem-manager-1=yes,--with-modem-manager-1=no,modemmanager" +PACKAGECONFIG[ppp] = "--enable-ppp,--disable-ppp,ppp,ppp" +# Use full featured dhcp client instead of internal one +PACKAGECONFIG[dhclient] = "--with-dhclient=${base_sbindir}/dhclient,,,dhcp-client" +PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq" +PACKAGECONFIG[nss] = "--with-crypto=nss,,nss" +PACKAGECONFIG[glib] = "--with-libnm-glib,,dbus-glib-native dbus-glib" +PACKAGECONFIG[gnutls] = "--with-crypto=gnutls,,gnutls" +PACKAGECONFIG[wifi] = "--enable-wifi=yes,--enable-wifi=no,,wpa-supplicant" +PACKAGECONFIG[ifupdown] = "--enable-ifupdown,--disable-ifupdown" +PACKAGECONFIG[qt4-x11-free] = "--enable-qt,--disable-qt,qt4-x11-free" + +PACKAGES =+ "libnmutil libnmglib libnmglib-vpn \ + ${PN}-nmtui ${PN}-nmtui-doc \ + ${PN}-adsl \ +" + +FILES_libnmutil += "${libdir}/libnm-util.so.*" +FILES_libnmglib += "${libdir}/libnm-glib.so.*" +FILES_libnmglib-vpn += "${libdir}/libnm-glib-vpn.so.*" + +FILES_${PN}-adsl = "${libdir}/NetworkManager/libnm-device-plugin-adsl.so" + +FILES_${PN} += " \ + ${libexecdir} \ + ${libdir}/NetworkManager/${PV}/*.so \ + ${nonarch_libdir}/NetworkManager/VPN \ + ${nonarch_libdir}/NetworkManager/conf.d \ + ${datadir}/polkit-1 \ + ${datadir}/dbus-1 \ + ${noarch_base_libdir}/udev/* \ + ${systemd_unitdir}/system \ + ${libdir}/pppd \ +" + +RRECOMMENDS_${PN} += "iptables \ + ${@bb.utils.filter('PACKAGECONFIG', 'dnsmasq', d)} \ +" +RCONFLICTS_${PN} = "connman" + +FILES_${PN}-dev += " \ + ${datadir}/NetworkManager/gdb-cmd \ + ${libdir}/pppd/*/*.la \ + ${libdir}/NetworkManager/*.la \ + ${libdir}/NetworkManager/${PV}/*.la \ +" + +FILES_${PN}-nmtui = " \ + ${bindir}/nmtui \ + ${bindir}/nmtui-edit \ + ${bindir}/nmtui-connect \ + ${bindir}/nmtui-hostname \ +" + +FILES_${PN}-nmtui-doc = " \ + ${mandir}/man1/nmtui* \ +" + +SYSTEMD_SERVICE_${PN} = "NetworkManager.service NetworkManager-dispatcher.service" + +do_install_append() { + rm -rf ${D}/run ${D}${localstatedir}/run +} -- cgit 1.2.3-korg