commit:     6714f9b94f5354a170dbd4b7573ca5e951d13f7d
Author:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 11 21:07:59 2019 +0000
Commit:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
CommitDate: Tue Jun 11 21:07:59 2019 +0000
URL:        https://gitweb.gentoo.org/proj/musl.git/commit/?id=6714f9b9

sys-apps/iproute2: prevent redefinition of sysifo properly

Package-Manager: Portage-2.3.67, Repoman-2.3.14
Signed-off-by: Jory Pratt <anarchy <AT> gentoo.org>

 sys-apps/iproute2/files/iproute2-5.1.0-musl.patch  | 12 --------
 .../files/iproute2-5.1.0-portability.patch         | 33 ++++++++++++++++++++++
 sys-apps/iproute2/iproute2-5.1.0.ebuild            |  2 +-
 3 files changed, 34 insertions(+), 13 deletions(-)

diff --git a/sys-apps/iproute2/files/iproute2-5.1.0-musl.patch 
b/sys-apps/iproute2/files/iproute2-5.1.0-musl.patch
deleted file mode 100644
index d53c76e..0000000
--- a/sys-apps/iproute2/files/iproute2-5.1.0-musl.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur iproute2-5.1.0.orig/devlink/devlink.c 
iproute2-5.1.0/devlink/devlink.c
---- iproute2-5.1.0.orig/devlink/devlink.c      2019-05-10 11:45:14.000000000 
-0400
-+++ iproute2-5.1.0/devlink/devlink.c   2019-06-11 13:46:03.745336706 -0400
-@@ -22,7 +22,7 @@
- #include <linux/devlink.h>
- #include <libmnl/libmnl.h>
- #include <netinet/ether.h>
--#include <sys/sysinfo.h>
-+//#include <sys/sysinfo.h>
- #include <sys/queue.h>
- 
- #include "SNAPSHOT.h"

diff --git a/sys-apps/iproute2/files/iproute2-5.1.0-portability.patch 
b/sys-apps/iproute2/files/iproute2-5.1.0-portability.patch
new file mode 100644
index 0000000..3fdca40
--- /dev/null
+++ b/sys-apps/iproute2/files/iproute2-5.1.0-portability.patch
@@ -0,0 +1,33 @@
+From 202d79fcf4e184818bd074f8c06e94e700670898 Mon Sep 17 00:00:00 2001
+From: Jory Pratt <[email protected]>
+Date: Tue, 11 Jun 2019 01:48:01 -0500
+Subject: [PATCH] including sysinfo.h from kernel.h makes no sense whatsoever,
+ but removing it breaks glibc's userspace header, which includes kernel.h
+ instead of sysinfo.h from their sys/sysinfo.h. this seems to be a historical
+ mistake. on musl, including any header that uses kernel.h directly or
+ indirectly plus sys/sysinfo.h will produce a compile error due to
+ redefinition of struct sysinfo. so for now, only include it on glibc in order
+ not to break their headers.
+
+Signed-off-by: Jory Pratt <[email protected]>
+---
+ include/uapi/linux/kernel.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/include/uapi/linux/kernel.h b/include/uapi/linux/kernel.h
+index d99ffa1..f917115 100644
+--- a/include/uapi/linux/kernel.h
++++ b/include/uapi/linux/kernel.h
+@@ -2,7 +2,9 @@
+ #ifndef _LINUX_KERNEL_H
+ #define _LINUX_KERNEL_H
+ 
++#ifdef __GLIBC__
+ #include <linux/sysinfo.h>
++#endif
+ 
+ /*
+  * 'kernel.h' contains some often-used function prototypes etc
+-- 
+2.22.0
+

diff --git a/sys-apps/iproute2/iproute2-5.1.0.ebuild 
b/sys-apps/iproute2/iproute2-5.1.0.ebuild
index 6e75428..f2771e5 100644
--- a/sys-apps/iproute2/iproute2-5.1.0.ebuild
+++ b/sys-apps/iproute2/iproute2-5.1.0.ebuild
@@ -47,7 +47,7 @@ BDEPEND="
 PATCHES=(
        "${FILESDIR}"/${PN}-3.1.0-mtu.patch #291907
        "${FILESDIR}"/${PN}-4.20.0-configure-nomagic.patch # bug 643722
-       "${FILESDIR}"/${PN}-5.1.0-musl.patch
+       "${FILESDIR}"/${PN}-5.1.0-portability.patch
 )
 
 src_prepare() {

Reply via email to