summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--system/iproute2/0001-f_flower-fix-build-with-musl-libc.patch28
-rw-r--r--system/iproute2/APKBUILD20
-rw-r--r--system/iproute2/musl-fixes.patch214
3 files changed, 38 insertions, 224 deletions
diff --git a/system/iproute2/0001-f_flower-fix-build-with-musl-libc.patch b/system/iproute2/0001-f_flower-fix-build-with-musl-libc.patch
new file mode 100644
index 000000000..8a51affe5
--- /dev/null
+++ b/system/iproute2/0001-f_flower-fix-build-with-musl-libc.patch
@@ -0,0 +1,28 @@
+From 28747146622a49c3e7b5c5b36dc02c6a64124770 Mon Sep 17 00:00:00 2001
+From: Hans Dedecker <dedeckeh@gmail.com>
+Date: Wed, 23 Jan 2019 22:02:31 +0100
+Subject: [PATCH] f_flower: fix build with musl libc
+
+XATTR_SIZE_MAX requires the usage of linux/limits.h; let's include it
+
+Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
+Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
+---
+ tc/f_flower.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tc/f_flower.c b/tc/f_flower.c
+index c5636667..9659e894 100644
+--- a/tc/f_flower.c
++++ b/tc/f_flower.c
+@@ -14,6 +14,7 @@
+ #include <unistd.h>
+ #include <string.h>
+ #include <net/if.h>
++#include <linux/limits.h>
+ #include <linux/if_arp.h>
+ #include <linux/if_ether.h>
+ #include <linux/ip.h>
+--
+2.19.2
+
diff --git a/system/iproute2/APKBUILD b/system/iproute2/APKBUILD
index bf0266e65..500a49f18 100644
--- a/system/iproute2/APKBUILD
+++ b/system/iproute2/APKBUILD
@@ -1,24 +1,25 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Dan Theisen <djt@hxx.in>
pkgname=iproute2
-pkgver=4.19.0
+pkgver=4.20.0
pkgrel=0
pkgdesc="IP configuration, routing, and traffic control utilities"
url="https://wiki.linuxfoundation.org/networking/iproute2"
arch="all"
+# the testsuite in this package seems to be geared towards kernel developers
+options="!check"
license="GPL-2.0-only"
depends=""
-install="$pkgname.post-install"
makedepends="bison flex bash libelf-dev libmnl-dev libcap-dev"
-# the testsuite in this package seems to be geared towards kernel developers
-options="!check"
+install="$pkgname.post-install"
subpackages="$pkgname-doc $pkgname-bash-completion:bashcomp:noarch"
source="https://kernel.org/pub/linux/utils/net/iproute2/iproute2-$pkgver.tar.xz
- fix-uapi-garbage.patch"
+ fix-uapi-garbage.patch
+ 0001-f_flower-fix-build-with-musl-libc.patch
+ "
prepare() {
default_prepare
- cd "$builddir"
sed -i '/^TARGETS=/s: arpd : :' misc/Makefile
sed -i 's:/usr/local:/usr:' tc/m_ipt.c include/iptables.h
@@ -27,7 +28,6 @@ prepare() {
}
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -39,7 +39,6 @@ build() {
}
package() {
- cd "$builddir"
make -j1 DESTDIR="$pkgdir" install
}
@@ -55,5 +54,6 @@ bashcomp() {
rmdir -p "$pkgdir"/usr/share 2>/dev/null || true
}
-sha512sums="47c750da2247705b1b1d1621f58987333e54370d0fff2f24106194022de793ff35dfd67fd1be127ce019008705702092d31dac49abf930a7c0dc5c7e7c0665b8 iproute2-4.19.0.tar.xz
-d9b40539f4ac074f20b0bb10381de9c3b64aadf612f0d599814cdb632fe97c76c9b4730406b08a6e53739670ca51ea0f699862156247cf20c3b7f4c78394fa46 fix-uapi-garbage.patch"
+sha512sums="ed29638c864062e199152c7b3b24b6495987ca6f79cc9ab1b529dab37a8a840fa2b5858d5db2b94eeefa1c0d72ff666a790107e27d11a597b189bfb7a01a4b8b iproute2-4.20.0.tar.xz
+d9b40539f4ac074f20b0bb10381de9c3b64aadf612f0d599814cdb632fe97c76c9b4730406b08a6e53739670ca51ea0f699862156247cf20c3b7f4c78394fa46 fix-uapi-garbage.patch
+b6b5dc65fb4ffff06978c160446bcc79f4f242c94d0ba44890f3b01d86640f56e7cc32efbc0b2bbfce1ae5fd40252ba9ddbb59ff91e54a4de1d4274d48260b2c 0001-f_flower-fix-build-with-musl-libc.patch"
diff --git a/system/iproute2/musl-fixes.patch b/system/iproute2/musl-fixes.patch
deleted file mode 100644
index 0149f6dae..000000000
--- a/system/iproute2/musl-fixes.patch
+++ /dev/null
@@ -1,214 +0,0 @@
---- include/linux/if_ether.h 2017-07-06 11:09:53.305214044 -0700
-+++ include/linux/if_ether.h 2017-07-06 16:30:06.651369931 -0700
-@@ -22,6 +22,7 @@
- #define _LINUX_IF_ETHER_H
-
- #include <linux/types.h>
-+#include <linux/libc-compat.h>
-
- /*
- * IEEE 802.3 Ethernet magic constants. The frame sizes omit the preamble
-@@ -142,11 +143,13 @@
- * This is an Ethernet frame header.
- */
-
-+#if __UAPI_DEF_ETHHDR
- struct ethhdr {
- unsigned char h_dest[ETH_ALEN]; /* destination eth addr */
- unsigned char h_source[ETH_ALEN]; /* source ether addr */
- __be16 h_proto; /* packet type ID field */
- } __attribute__((packed));
-+#endif
-
-
- #endif /* _LINUX_IF_ETHER_H */
---- include/linux/if_tunnel.h 2017-07-06 11:09:53.305214044 -0700
-+++ include/linux/if_tunnel.h 2017-07-06 16:32:23.814172660 -0700
-@@ -2,7 +2,6 @@
- #define _IF_TUNNEL_H_
-
- #include <linux/types.h>
--#include <linux/if.h>
- #include <linux/ip.h>
- #include <linux/in6.h>
- #include <asm/byteorder.h>
---- include/linux/ip6_tunnel.h 2017-07-06 11:09:53.303214021 -0700
-+++ include/linux/ip6_tunnel.h 2017-07-06 16:33:41.630158864 -0700
-@@ -2,7 +2,6 @@
- #define _IP6_TUNNEL_H
-
- #include <linux/types.h>
--#include <linux/if.h> /* For IFNAMSIZ. */
- #include <linux/in6.h> /* For struct in6_addr. */
-
- #define IPV6_TLV_TNL_ENCAP_LIMIT 4
---- include/linux/kernel.h 2017-07-06 11:09:53.303214021 -0700
-+++ include/linux/kernel.h 2017-07-06 16:30:06.650369918 -0700
-@@ -1,7 +1,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
---- include/linux/libc-compat.h 2017-07-06 11:09:53.302214010 -0700
-+++ include/linux/libc-compat.h 2017-07-06 16:30:06.650369918 -0700
-@@ -48,47 +48,57 @@
- #ifndef _LIBC_COMPAT_H
- #define _LIBC_COMPAT_H
-
--/* We have included glibc headers... */
--#if defined(__GLIBC__)
-+/* We're used from userspace... */
-+#if !defined(__KERNEL__)
-
--/* Coordinate with glibc net/if.h header. */
-+/* Coordinate with libc net/if.h header. */
- #if defined(_NET_IF_H) && defined(__USE_MISC)
-
--/* GLIBC headers included first so don't define anything
-+/* libc headers included first so don't define anything
- * that would already be defined. */
-
- #define __UAPI_DEF_IF_IFCONF 0
- #define __UAPI_DEF_IF_IFMAP 0
- #define __UAPI_DEF_IF_IFNAMSIZ 0
- #define __UAPI_DEF_IF_IFREQ 0
--/* Everything up to IFF_DYNAMIC, matches net/if.h until glibc 2.23 */
- #define __UAPI_DEF_IF_NET_DEVICE_FLAGS 0
--/* For the future if glibc adds IFF_LOWER_UP, IFF_DORMANT and IFF_ECHO */
-+/* If libc adds IFF_LOWER_UP, IFF_DORMANT and IFF_ECHO */
-+#if !defined(__GLIBC__)
-+#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 0
-+#else
- #ifndef __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO
- #define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 1
- #endif /* __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO */
-+#endif /* !defined(__GLIBC__) */
-
- #else /* _NET_IF_H */
-
- /* Linux headers included first, and we must define everything
-- * we need. The expectation is that glibc will check the
-+ * we need. The expectation is that libc will check the
- * __UAPI_DEF_* defines and adjust appropriately. */
-
- #define __UAPI_DEF_IF_IFCONF 1
- #define __UAPI_DEF_IF_IFMAP 1
- #define __UAPI_DEF_IF_IFNAMSIZ 1
- #define __UAPI_DEF_IF_IFREQ 1
--/* Everything up to IFF_DYNAMIC, matches net/if.h until glibc 2.23 */
- #define __UAPI_DEF_IF_NET_DEVICE_FLAGS 1
--/* For the future if glibc adds IFF_LOWER_UP, IFF_DORMANT and IFF_ECHO */
-+/* If libc adds IFF_LOWER_UP, IFF_DORMANT and IFF_ECHO */
- #define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 1
-
- #endif /* _NET_IF_H */
-
--/* Coordinate with glibc netinet/in.h header. */
-+/* Coordinate with libc netinet/if_ether.h */
-+#ifdef _NETINET_IF_ETHER_H
-+#define __UAPI_DEF_ETHHDR 0
-+#else
-+/* glibc uses __NETINET_IF_ETHER_H and uses the uapi header */
-+#define __UAPI_DEF_ETHHDR 1
-+#endif /* _NETINET_IF_ETHER_H */
-+
-+/* Coordinate with libc netinet/in.h header. */
- #if defined(_NETINET_IN_H)
-
--/* GLIBC headers included first so don't define anything
-+/* libc headers included first so don't define anything
- * that would already be defined. */
- #define __UAPI_DEF_IN_ADDR 0
- #define __UAPI_DEF_IN_IPPROTO 0
-@@ -98,15 +108,7 @@
- #define __UAPI_DEF_IN_CLASS 0
-
- #define __UAPI_DEF_IN6_ADDR 0
--/* The exception is the in6_addr macros which must be defined
-- * if the glibc code didn't define them. This guard matches
-- * the guard in glibc/inet/netinet/in.h which defines the
-- * additional in6_addr macros e.g. s6_addr16, and s6_addr32. */
--#if defined(__USE_MISC) || defined (__USE_GNU)
- #define __UAPI_DEF_IN6_ADDR_ALT 0
--#else
--#define __UAPI_DEF_IN6_ADDR_ALT 1
--#endif
- #define __UAPI_DEF_SOCKADDR_IN6 0
- #define __UAPI_DEF_IPV6_MREQ 0
- #define __UAPI_DEF_IPPROTO_V6 0
-@@ -117,7 +119,7 @@
- #else
-
- /* Linux headers included first, and we must define everything
-- * we need. The expectation is that glibc will check the
-+ * we need. The expectation is that libc will check the
- * __UAPI_DEF_* defines and adjust appropriately. */
- #define __UAPI_DEF_IN_ADDR 1
- #define __UAPI_DEF_IN_IPPROTO 1
-@@ -127,7 +129,7 @@
- #define __UAPI_DEF_IN_CLASS 1
-
- #define __UAPI_DEF_IN6_ADDR 1
--/* We unconditionally define the in6_addr macros and glibc must
-+/* We unconditionally define the in6_addr macros and libc must
- * coordinate. */
- #define __UAPI_DEF_IN6_ADDR_ALT 1
- #define __UAPI_DEF_SOCKADDR_IN6 1
-@@ -168,18 +170,20 @@
- /* If we did not see any headers from any supported C libraries,
- * or we are being included in the kernel, then define everything
- * that we need. */
--#else /* !defined(__GLIBC__) */
-+#else /* defined(__KERNEL__) */
-
- /* Definitions for if.h */
- #define __UAPI_DEF_IF_IFCONF 1
- #define __UAPI_DEF_IF_IFMAP 1
- #define __UAPI_DEF_IF_IFNAMSIZ 1
- #define __UAPI_DEF_IF_IFREQ 1
--/* Everything up to IFF_DYNAMIC, matches net/if.h until glibc 2.23 */
- #define __UAPI_DEF_IF_NET_DEVICE_FLAGS 1
--/* For the future if glibc adds IFF_LOWER_UP, IFF_DORMANT and IFF_ECHO */
-+/* If libc adds IFF_LOWER_UP, IFF_DORMANT and IFF_ECHO */
- #define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 1
-
-+/* Definitions for if/ether.h */
-+#define __UAPI_DEF_ETHHDR 1
-+
- /* Definitions for in.h */
- #define __UAPI_DEF_IN_ADDR 1
- #define __UAPI_DEF_IN_IPPROTO 1
-@@ -208,6 +212,6 @@
- /* Definitions for xattr.h */
- #define __UAPI_DEF_XATTR 1
-
--#endif /* __GLIBC__ */
-+#endif /* defined(__KERNEL__) */
-
- #endif /* _LIBC_COMPAT_H */
---- include/linux/netfilter_ipv4/ip_tables.h 2017-07-06 11:09:53.310214100 -0700
-+++ include/linux/netfilter_ipv4/ip_tables.h 2017-07-06 16:38:57.526211238 -0700
-@@ -17,7 +17,6 @@
-
- #include <linux/types.h>
-
--#include <linux/if.h>
- #include <linux/netfilter_ipv4.h>
-
- #include <linux/netfilter/x_tables.h>
---- tc/f_flower.c 2017-07-06 11:09:53.289213865 -0700
-+++ tc/f_flower.c 2017-07-06 16:36:04.967030780 -0700
-@@ -15,7 +15,7 @@
- #include <syslog.h>
- #include <string.h>
- #include <net/if.h>
--#include <linux/if_arp.h>
-+#include <net/if_arp.h>
- #include <linux/if_ether.h>
- #include <linux/ip.h>
- #include <linux/tc_act/tc_vlan.h>