From ff1444133b1a0cf29af67342f2344403d4f885b8 Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Fri, 8 Mar 2019 01:36:47 +0000 Subject: system/iproute2: bump to 4.20.0, backport fix for musl --- .../0001-f_flower-fix-build-with-musl-libc.patch | 28 +++ system/iproute2/APKBUILD | 20 +- system/iproute2/musl-fixes.patch | 214 --------------------- 3 files changed, 38 insertions(+), 224 deletions(-) create mode 100644 system/iproute2/0001-f_flower-fix-build-with-musl-libc.patch delete mode 100644 system/iproute2/musl-fixes.patch 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 +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 +Signed-off-by: Stephen Hemminger +--- + 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 + #include + #include ++#include + #include + #include + #include +-- +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 # Maintainer: Dan Theisen 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 -+#include - - /* - * 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 --#include - #include - #include - #include ---- 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 --#include /* For IFNAMSIZ. */ - #include /* 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 -+#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 - --#include - #include - - #include ---- 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 - #include - #include --#include -+#include - #include - #include - #include -- cgit v1.2.3-60-g2f50