include $(TOPDIR)/rules.mk
PKG_NAME:=iproute2
-PKG_VERSION:=6.1.0
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_VERSION:=6.2.0
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/linux/utils/net/iproute2
-PKG_HASH:=5ce12a0fec6b212725ef218735941b2dab76244db7e72646a76021b0537b43ab
+PKG_HASH:=4d72730200ec5b2aabaa1a2f20553c6748292f065d9a154c7d5e22559df9fd62
PKG_BUILD_PARALLEL:=1
PKG_BUILD_DEPENDS:=iptables
PKG_LICENSE:=GPL-2.0
--- a/netem/maketable.c
+++ b/netem/maketable.c
-@@ -10,7 +10,9 @@
+@@ -11,7 +11,9 @@
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <sys/stat.h>
--- a/netem/normal.c
+++ b/netem/normal.c
-@@ -8,8 +8,12 @@
+@@ -9,8 +9,12 @@
#include <string.h>
#include <limits.h>
#define TABLEFACTOR NETEM_DIST_SCALE
--- a/netem/pareto.c
+++ b/netem/pareto.c
-@@ -7,8 +7,12 @@
+@@ -8,8 +8,12 @@
#include <math.h>
#include <limits.h>
#define TABLESIZE 16384
--- a/netem/paretonormal.c
+++ b/netem/paretonormal.c
-@@ -14,10 +14,13 @@
+@@ -15,10 +15,13 @@
#include <string.h>
#include <math.h>
#include <limits.h>
--- a/tc/Makefile
+++ b/tc/Makefile
-@@ -128,6 +128,9 @@ CFLAGS += -DCONFIG_GACT -DCONFIG_GACT_PR
+@@ -127,6 +127,9 @@ CFLAGS += -DCONFIG_GACT -DCONFIG_GACT_PR
ifneq ($(IPT_LIB_DIR),)
CFLAGS += -DIPT_LIB_DIR=\"$(IPT_LIB_DIR)\"
endif
--- a/tc/q_fifo.c
+++ b/tc/q_fifo.c
-@@ -95,5 +95,6 @@ struct qdisc_util pfifo_head_drop_qdisc_
+@@ -90,5 +90,6 @@ struct qdisc_util pfifo_head_drop_qdisc_
struct qdisc_util pfifo_fast_qdisc_util = {
.id = "pfifo_fast",
--- a/configure
+++ b/configure
-@@ -412,7 +412,7 @@ check_tirpc()
+@@ -411,7 +411,7 @@ check_tirpc()
check_mnl()
{
--- a/configure
+++ b/configure
-@@ -267,7 +267,7 @@ EOF
+@@ -266,7 +266,7 @@ EOF
check_elf()
{
--- a/configure
+++ b/configure
-@@ -470,7 +470,7 @@ EOF
+@@ -469,7 +469,7 @@ EOF
check_cap()
{
--- a/configure
+++ b/configure
-@@ -399,7 +399,7 @@ check_selinux()
+@@ -398,7 +398,7 @@ check_selinux()
check_tirpc()
{
sed -n '/'$$s'[^ ]* =/{s:.* \([^ ]*'$$s'[^ ]*\) .*:extern char \1[] __attribute__((weak)); if (!strcmp(sym, "\1")) return \1;:;p}' $$files ; \
--- a/ip/ip.c
+++ b/ip/ip.c
-@@ -65,11 +65,17 @@ static void usage(void)
+@@ -61,11 +61,17 @@ static void usage(void)
fprintf(stderr,
"Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }\n"
" ip [ -force ] -batch filename\n"
" OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |\n"
" -h[uman-readable] | -iec | -j[son] | -p[retty] |\n"
" -f[amily] { inet | inet6 | mpls | bridge | link } |\n"
-@@ -92,37 +98,49 @@ static const struct cmd {
+@@ -88,37 +94,49 @@ static const struct cmd {
int (*func)(int argc, char **argv);
} cmds[] = {
{ "address", do_ipaddr },
--- a/tc/Makefile
+++ b/tc/Makefile
-@@ -114,7 +114,7 @@ LDLIBS += -L. -lm
+@@ -113,7 +113,7 @@ LDLIBS += -L. -lm
ifeq ($(SHARED_LIBS),y)
LDLIBS += -ldl
endif
TCLIB := tc_core.o
-@@ -144,7 +144,7 @@ MODDESTDIR := $(DESTDIR)$(LIBDIR)/tc
+@@ -143,7 +143,7 @@ MODDESTDIR := $(DESTDIR)$(LIBDIR)/tc
all: tc $(TCSO)
tc: $(TCOBJ) $(LIBNETLINK) libtc.a
libtc.a: $(TCLIB)
$(QUIET_AR)$(AR) rcs $@ $^
-@@ -166,6 +166,7 @@ install: all
+@@ -165,6 +165,7 @@ install: all
clean:
rm -f $(TCOBJ) $(TCLIB) libtc.a tc *.so emp_ematch.tab.h; \
rm -f emp_ematch.tab.*
q_atm.so: q_atm.c
$(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fpic -o q_atm.so q_atm.c -latm
-@@ -205,4 +206,16 @@ static-syms.h: $(wildcard *.c)
+@@ -204,4 +205,16 @@ static-syms.h: $(wildcard *.c)
sed -n '/'$$s'[^ ]* =/{s:.* \([^ ]*'$$s'[^ ]*\) .*:extern char \1[] __attribute__((weak)); if (!strcmp(sym, "\1")) return \1;:;p}' $$files ; \
done > $@
--- a/ip/rtm_map.c
+++ b/ip/rtm_map.c
-@@ -54,6 +54,8 @@ char *rtnl_rtntype_n2a(int id, char *buf
+@@ -49,6 +49,8 @@ char *rtnl_rtntype_n2a(int id, char *buf
return "nat";
case RTN_XRESOLVE:
return "xresolve";
default:
snprintf(buf, len, "%d", id);
return buf;
-@@ -89,6 +91,8 @@ int rtnl_rtntype_a2n(int *id, char *arg)
+@@ -84,6 +86,8 @@ int rtnl_rtntype_a2n(int *id, char *arg)
res = RTN_UNICAST;
else if (strcmp(arg, "throw") == 0)
res = RTN_THROW;
--- a/configure
+++ b/configure
-@@ -291,7 +291,7 @@ int main(int argc, char **argv) {
+@@ -290,7 +290,7 @@ int main(int argc, char **argv) {
}
EOF
local ret=$?
rm -f $TMPDIR/libbpf_test.c $TMPDIR/libbpf_test
-@@ -309,7 +309,7 @@ int main(int argc, char **argv) {
+@@ -308,7 +308,7 @@ int main(int argc, char **argv) {
}
EOF
--- a/tc/Makefile
+++ b/tc/Makefile
-@@ -141,7 +141,7 @@ MODDESTDIR := $(DESTDIR)$(LIBDIR)/tc
+@@ -140,7 +140,7 @@ MODDESTDIR := $(DESTDIR)$(LIBDIR)/tc
$(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fpic $< -o $@
--- a/configure
+++ b/configure
-@@ -456,14 +456,8 @@ EOF
+@@ -455,14 +455,8 @@ EOF
if $CC -I$INCLUDE -o $TMPDIR/strtest $TMPDIR/strtest.c >/dev/null 2>&1; then
echo "no"
else
--- a/configure
+++ b/configure
-@@ -386,7 +386,7 @@ check_libbpf()
+@@ -385,7 +385,7 @@ check_libbpf()
check_selinux()
# SELinux is a compile time option in the ss utility
{
+++ /dev/null
-From 3a3a2f6be704c970938eb8dac4eb0118f1c2fb06 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Wed, 21 Dec 2022 23:26:28 +0100
-Subject: [PATCH iproute2 v2] configure: Remove include <sys/stat.h>
-
-The check_name_to_handle_at() function in the configure script is
-including sys/stat.h. This include fails with glibc 2.36 like this:
-````
-In file included from /linux-5.15.84/include/uapi/linux/stat.h:5,
- from /toolchain-x86_64_gcc-12.2.0_glibc/include/bits/statx.h:31,
- from /toolchain-x86_64_gcc-12.2.0_glibc/include/sys/stat.h:465,
- from config.YExfMc/name_to_handle_at_test.c:3:
-/linux-5.15.84/include/uapi/linux/types.h:10:2: warning: #warning "Attempt to use kernel headers from user space, see https://kernelnewbies.org/KernelHeaders" [-Wcpp]
- 10 | #warning "Attempt to use kernel headers from user space, see https://kernelnewbies.org/KernelHeaders"
- | ^~~~~~~
-In file included from /linux-5.15.84/include/uapi/linux/posix_types.h:5,
- from /linux-5.15.84/include/uapi/linux/types.h:14:
-/linux-5.15.84/include/uapi/linux/stddef.h:5:10: fatal error: linux/compiler_types.h: No such file or directory
- 5 | #include <linux/compiler_types.h>
- | ^~~~~~~~~~~~~~~~~~~~~~~~
-compilation terminated.
-````
-
-Just removing the include works, the manpage of name_to_handle_at() says
-only fcntl.h is needed.
-
-Fixes: c5b72cc56bf8 ("lib/fs: fix issue when {name,open}_to_handle_at() is not implemented")
-Tested-by: Heiko Thiery <heiko.thiery@gmail.com>
-Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
----
- configure | 1 -
- 1 file changed, 1 deletion(-)
-
---- a/configure
-+++ b/configure
-@@ -215,7 +215,6 @@ check_name_to_handle_at()
- cat >$TMPDIR/name_to_handle_at_test.c <<EOF
- #define _GNU_SOURCE
- #include <sys/types.h>
--#include <sys/stat.h>
- #include <fcntl.h>
- int main(int argc, char **argv)
- {