From 45c1def9915ead52a5e4b874c33194653b598117 Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Sun, 5 May 2024 17:53:49 +0200 Subject: [PATCH] package/pppd: fix build with kernel < 4.7 Fix the following build failure with kernel < 4.7 raised since bump to version 2.5.0 in commit 0c15169f5ae57d88a77df34cc896044a37c9597b and https://github.com/ppp-project/ppp/commit/81ad945630120cc1c27c8bb00503be42b76ff202: sys-linux.c: In function 'get_ppp_stats_rtnetlink': sys-linux.c:1783:29: error: field 'ifsm' has incomplete type 1783 | struct if_stats_msg ifsm; | ^~~~ Fixes: - http://autobuild.buildroot.org/results/82392df447f650f241f23e59e65131fb4a930010 Signed-off-by: Fabrice Fontaine Signed-off-by: Thomas Petazzoni --- ...pile-with-older-Linux-kernel-headers.patch | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 package/pppd/0005-pppd-sys-linux-Fix-compile-with-older-Linux-kernel-headers.patch diff --git a/package/pppd/0005-pppd-sys-linux-Fix-compile-with-older-Linux-kernel-headers.patch b/package/pppd/0005-pppd-sys-linux-Fix-compile-with-older-Linux-kernel-headers.patch new file mode 100644 index 0000000000..46c293103a --- /dev/null +++ b/package/pppd/0005-pppd-sys-linux-Fix-compile-with-older-Linux-kernel-headers.patch @@ -0,0 +1,66 @@ +From 7a3f478a4b7128d4f70ea64d99fedec766b1c009 Mon Sep 17 00:00:00 2001 +From: Jaco Kroon +Date: Tue, 31 Oct 2023 11:47:21 +0200 +Subject: [PATCH] pppd/sys-linux: Fix compile with older Linux kernel headers + (#452) + +When compiling pppd against kernel headers which don't provide +the definitions for the NETLINK mechanisms, leave out the code +which uses NETLINK, so as to avoid getting compile errors. + +Upstream commit in Linux refers. + +commit 10c9ead9f3c6bb24bddc9a96681f7d58e6623966 +Author: Roopa Prabhu +Date: Wed Apr 20 08:43:43 2016 -0700 +rtnetlink: add new RTM_GETSTATS message to dump link stats + +This commit adds the #defines and structs used, so simply not compiling +this code if the required #defines isn't there should solve the problem. + +Closes: #450 + +Signed-off-by: Jaco Kroon +Upstream: https://github.com/ppp-project/ppp/commit/7a3f478a4b7128d4f70ea64d99fedec766b1c009 +Signed-off-by: Fabrice Fontaine +--- + pppd/sys-linux.c | 12 ++---------- + 1 file changed, 2 insertions(+), 10 deletions(-) + +diff --git a/pppd/sys-linux.c b/pppd/sys-linux.c +index 561b150f2..a8d6cd95b 100644 +--- a/pppd/sys-linux.c ++++ b/pppd/sys-linux.c +@@ -131,16 +131,6 @@ + #include + #include + #include +- +-/* Attempt at retaining compile-support with older than 4.7 kernels, or kernels +- * where RTM_NEWSTATS isn't defined for whatever reason. +- */ +-#ifndef RTM_NEWSTATS +-#define RTM_NEWSTATS 92 +-#define RTM_GETSTATS 94 +-#define IFLA_STATS_LINK_64 1 +-#endif +- + #include + + /* glibc versions prior to 2.24 do not define SOL_NETLINK */ +@@ -1776,6 +1766,7 @@ get_ppp_stats_ioctl(int u, struct pppd_stats *stats) + static int + get_ppp_stats_rtnetlink(int u, struct pppd_stats *stats) + { ++#ifdef RTM_NEWSTATS + static int fd = -1; + + struct { +@@ -1825,6 +1816,7 @@ get_ppp_stats_rtnetlink(int u, struct pppd_stats *stats) + err: + close(fd); + fd = -1; ++#endif + return 0; + } +