From 6e50f316db897c1d64026b3d21acec7712e4cc09 Mon Sep 17 00:00:00 2001 From: Yi Zhao Date: Fri, 17 Nov 2017 10:18:53 +0800 Subject: ppp: include netinet/in.h before linux/in.h in pppoe.h The patch ppp-fix-building-with-linux-4.8.patch tries to fix build error with 4.8 or newer linux headers, but it would break building with kernel < 4.8. There is a better solution to fix this issue in upstream. Backport the upstream patch and replace the old one. [YOCTO #10457] Signed-off-by: Yi Zhao Signed-off-by: Armin Kuster --- ...oe-include-netinet-in.h-before-linux-in.h.patch | 54 ++++++++++++++++++++++ .../ppp/ppp/ppp-fix-building-with-linux-4.8.patch | 44 ------------------ meta/recipes-connectivity/ppp/ppp_2.4.7.bb | 2 +- 3 files changed, 55 insertions(+), 45 deletions(-) create mode 100644 meta/recipes-connectivity/ppp/ppp/0001-pppoe-include-netinet-in.h-before-linux-in.h.patch delete mode 100644 meta/recipes-connectivity/ppp/ppp/ppp-fix-building-with-linux-4.8.patch diff --git a/meta/recipes-connectivity/ppp/ppp/0001-pppoe-include-netinet-in.h-before-linux-in.h.patch b/meta/recipes-connectivity/ppp/ppp/0001-pppoe-include-netinet-in.h-before-linux-in.h.patch new file mode 100644 index 0000000000..9362d12648 --- /dev/null +++ b/meta/recipes-connectivity/ppp/ppp/0001-pppoe-include-netinet-in.h-before-linux-in.h.patch @@ -0,0 +1,54 @@ +From 50a2997b256e0e0ef7a46fae133f56f60fce539c Mon Sep 17 00:00:00 2001 +From: Lubomir Rintel +Date: Mon, 9 Jan 2017 13:34:23 +0000 +Subject: [PATCH] pppoe: include netinet/in.h before linux/in.h + +This fixes builds with newer kernels. Basically, needs to be +included before otherwise the earlier, unaware of the latter, +tries to redefine symbols and structures. Also, doesn't work +alone anymore, since it pulls the headers in the wrong order, so we better +include early. + +Upstream-Status: Backport +[https://github.com/paulusmack/ppp/commit/50a2997b256e0e0ef7a46fae133f56f60fce539c] + +Signed-off-by: Yi Zhao +--- + pppd/plugins/rp-pppoe/pppoe.h | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/pppd/plugins/rp-pppoe/pppoe.h b/pppd/plugins/rp-pppoe/pppoe.h +index 9ab2eee..c4aaa6e 100644 +--- a/pppd/plugins/rp-pppoe/pppoe.h ++++ b/pppd/plugins/rp-pppoe/pppoe.h +@@ -47,6 +47,10 @@ + #include + #endif + ++/* This has to be included before Linux 4.8's linux/in.h ++ * gets dragged in. */ ++#include ++ + /* Ugly header files on some Linux boxes... */ + #if defined(HAVE_LINUX_IF_H) + #include +@@ -84,8 +88,6 @@ typedef unsigned long UINT32_t; + #include + #endif + +-#include +- + #ifdef HAVE_NETINET_IF_ETHER_H + #include + +@@ -98,7 +100,6 @@ typedef unsigned long UINT32_t; + #endif + + +- + /* Ethernet frame types according to RFC 2516 */ + #define ETH_PPPOE_DISCOVERY 0x8863 + #define ETH_PPPOE_SESSION 0x8864 +-- +2.7.4 + diff --git a/meta/recipes-connectivity/ppp/ppp/ppp-fix-building-with-linux-4.8.patch b/meta/recipes-connectivity/ppp/ppp/ppp-fix-building-with-linux-4.8.patch deleted file mode 100644 index f77b0defc5..0000000000 --- a/meta/recipes-connectivity/ppp/ppp/ppp-fix-building-with-linux-4.8.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 3da19af53e2eee2e77b456cfbb9d633b06656d38 Mon Sep 17 00:00:00 2001 -From: Jackie Huang -Date: Thu, 13 Oct 2016 13:41:43 +0800 -Subject: [PATCH] ppp: fix building with linux-4.8 - -Fix a build error when using the linux-4.8 headers that results in: - -In file included from pppoe.h:87:0, - from plugin.c:29: -../usr/include/netinet/in.h:211:8: note: originally defined here - struct in6_addr - ^~~~~~~~ -In file included from ../usr/include/linux/if_pppol2tp.h:20:0, - from ../usr/include/linux/if_pppox.h:26, - from plugin.c:52: -../usr/include/linux/in6.h:49:8: error: redefinition of 'struct sockaddr_in6' - struct sockaddr_in6 { - ^~~~~~~~~~~~ - -Upstream-Status: Submitted [1] - -[1] https://github.com/paulusmack/ppp/pull/69 - -Signed-off-by: Jackie Huang ---- - pppd/plugins/rp-pppoe/pppoe.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pppd/plugins/rp-pppoe/pppoe.h b/pppd/plugins/rp-pppoe/pppoe.h -index 9ab2eee..96d2794 100644 ---- a/pppd/plugins/rp-pppoe/pppoe.h -+++ b/pppd/plugins/rp-pppoe/pppoe.h -@@ -84,7 +84,7 @@ typedef unsigned long UINT32_t; - #include - #endif - --#include -+#include - - #ifdef HAVE_NETINET_IF_ETHER_H - #include --- -2.8.3 - diff --git a/meta/recipes-connectivity/ppp/ppp_2.4.7.bb b/meta/recipes-connectivity/ppp/ppp_2.4.7.bb index 56dbd98d24..ec9947f776 100644 --- a/meta/recipes-connectivity/ppp/ppp_2.4.7.bb +++ b/meta/recipes-connectivity/ppp/ppp_2.4.7.bb @@ -30,7 +30,7 @@ SRC_URI = "http://ppp.samba.org/ftp/ppp/ppp-${PV}.tar.gz \ file://0001-ppp-Fix-compilation-errors-in-Makefile.patch \ file://ppp@.service \ file://fix-CVE-2015-3310.patch \ - file://ppp-fix-building-with-linux-4.8.patch \ + file://0001-pppoe-include-netinet-in.h-before-linux-in.h.patch \ " SRC_URI_append_libc-musl = "\ -- cgit 1.2.3-korg