mirror of
https://github.com/flatcar/scripts.git
synced 2026-05-05 12:16:41 +02:00
sys-apps/iproute2: Sync with Gentoo
It's from Gentoo commit e92c7450b0fa6d97375ce254b34bae656ed3da7f.
This commit is contained in:
parent
fdffbf721f
commit
a9b68016f4
@ -1,2 +1,3 @@
|
||||
DIST iproute2-6.6.0.tar.xz 917964 BLAKE2B 9d20f19c04c2bbde7a3ae53e61e4623b119570c8446f34b93ddadd64677caa432e00ee085498bc277e0842cc2124340c7100925106d0ef2c11dd8002aacac08f SHA512 21c99a3ba8e1d0047933e99b48fb00901eef18899cd5854000ae910d9d84d13aeafa48b32184775531285782909f4d283d0784491691a1f10462dab147de359d
|
||||
DIST iproute2-6.8.0.tar.xz 913512 BLAKE2B d30cdff8522627c27c9165f068f42adbec38f15548a8f2cd31276f283880dc402e10c5989e7227e80cdc891bcc4a574b330d634ae550e689758b849c0506c31f SHA512 54e50340a73c8810d69bfd54704b469149731634a97d94da08b5a305592a812131a441e5b646e32b480d61840e2ade29387e54b934effeee8ded4f06e557a5c0
|
||||
DIST iproute2-6.9.0.tar.xz 918144 BLAKE2B a7434a2537a55b4875db0e3cc35383dfe4d0c8a118a8a1102c4076bfb154c9c2ab0781dcff324fa18ce7cfde798bf332a9e0ff08003ff39acbb8129b597a93a6 SHA512 1cbb234cb8f94213c3529f0b74fed5a575ff1fb838e783b8d2b440643c2e91246eda42e9b26e9775897aadb8b8133d199b2851b8ea0df06a899dc02acf403325
|
||||
|
||||
@ -0,0 +1,75 @@
|
||||
From 12416003e4c691afc732d26f0a07c3890c24b396 Mon Sep 17 00:00:00 2001
|
||||
From: Gabi Falk <gabifalk@gmx.com>
|
||||
Date: Fri, 10 May 2024 14:36:12 +0000
|
||||
Subject: [PATCH] bridge/vlan.c: bridge/vlan.c: fix build with gcc 14 on musl
|
||||
systems
|
||||
|
||||
On glibc based systems the definition of 'struct timeval' is pulled in
|
||||
with inclusion of <stdlib.h> header, but on musl based systems it
|
||||
doesn't work this way. Missing definition triggers an
|
||||
incompatible-pointer-types error with gcc 14 (warning on previous
|
||||
versions of gcc):
|
||||
|
||||
../include/json_print.h:80:30: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration
|
||||
80 | _PRINT_FUNC(tv, const struct timeval *)
|
||||
| ^~~~~~~
|
||||
../include/json_print.h:50:37: note: in definition of macro '_PRINT_FUNC'
|
||||
50 | type value); \
|
||||
| ^~~~
|
||||
../include/json_print.h:80:30: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration
|
||||
80 | _PRINT_FUNC(tv, const struct timeval *)
|
||||
| ^~~~~~~
|
||||
../include/json_print.h:55:45: note: in definition of macro '_PRINT_FUNC'
|
||||
55 | type value) \
|
||||
| ^~~~
|
||||
../include/json_print.h: In function 'print_tv':
|
||||
../include/json_print.h:58:48: error: passing argument 5 of 'print_color_tv' from incompatible pointer type [-Wincompatible-pointer-types]
|
||||
58 | value); \
|
||||
| ^~~~~
|
||||
| |
|
||||
| const struct timeval *
|
||||
|
||||
Link: https://lore.kernel.org/netdev/20240510143613.1531283-1-gabifalk@gmx.com/T/#u
|
||||
Signed-off-by: Gabi Falk <gabifalk@gmx.com>
|
||||
---
|
||||
bridge/vlan.c | 1 +
|
||||
bridge/vni.c | 1 +
|
||||
vdpa/vdpa.c | 1 +
|
||||
3 files changed, 3 insertions(+)
|
||||
|
||||
diff --git a/bridge/vlan.c b/bridge/vlan.c
|
||||
index 5352eb24..0a7e6c45 100644
|
||||
--- a/bridge/vlan.c
|
||||
+++ b/bridge/vlan.c
|
||||
@@ -4,6 +4,7 @@
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
#include <sys/socket.h>
|
||||
+#include <sys/time.h>
|
||||
#include <net/if.h>
|
||||
#include <netinet/in.h>
|
||||
#include <linux/if_bridge.h>
|
||||
diff --git a/bridge/vni.c b/bridge/vni.c
|
||||
index a7abe6de..e1f981fc 100644
|
||||
--- a/bridge/vni.c
|
||||
+++ b/bridge/vni.c
|
||||
@@ -10,6 +10,7 @@
|
||||
#include <string.h>
|
||||
#include <fcntl.h>
|
||||
#include <sys/socket.h>
|
||||
+#include <sys/time.h>
|
||||
#include <net/if.h>
|
||||
#include <netinet/in.h>
|
||||
#include <linux/if_link.h>
|
||||
diff --git a/vdpa/vdpa.c b/vdpa/vdpa.c
|
||||
index 6e4a9c11..43f87824 100644
|
||||
--- a/vdpa/vdpa.c
|
||||
+++ b/vdpa/vdpa.c
|
||||
@@ -3,6 +3,7 @@
|
||||
#include <stdio.h>
|
||||
#include <getopt.h>
|
||||
#include <errno.h>
|
||||
+#include <sys/time.h>
|
||||
#include <linux/genetlink.h>
|
||||
#include <linux/if_ether.h>
|
||||
#include <linux/vdpa.h>
|
||||
32
sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-6.9.0-mtu.patch
vendored
Normal file
32
sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-6.9.0-mtu.patch
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
diff --git a/tc/tc_core.c b/tc/tc_core.c
|
||||
index 37547e9b..58234c9f 100644
|
||||
--- a/tc/tc_core.c
|
||||
+++ b/tc/tc_core.c
|
||||
@@ -188,12 +188,12 @@ int tc_calc_size_table(struct tc_sizespec *s, __u16 **stab)
|
||||
}
|
||||
|
||||
if (s->mtu == 0)
|
||||
- s->mtu = 2047;
|
||||
+ s->mtu = 2048;
|
||||
if (s->tsize == 0)
|
||||
s->tsize = 512;
|
||||
|
||||
s->cell_log = 0;
|
||||
- while ((s->mtu >> s->cell_log) > s->tsize - 1)
|
||||
+ while (((s->mtu - 1) >> s->cell_log) > s->tsize - 1)
|
||||
s->cell_log++;
|
||||
|
||||
*stab = malloc(s->tsize * sizeof(__u16));
|
||||
diff --git a/tc/tc_stab.c b/tc/tc_stab.c
|
||||
index a7733726..f4ffd618 100644
|
||||
--- a/tc/tc_stab.c
|
||||
+++ b/tc/tc_stab.c
|
||||
@@ -27,7 +27,7 @@ static void stab_help(void)
|
||||
fprintf(stderr,
|
||||
"Usage: ... stab [ mtu BYTES ] [ tsize SLOTS ] [ mpu BYTES ]\n"
|
||||
" [ overhead BYTES ] [ linklayer TYPE ] ...\n"
|
||||
- " mtu : max packet size we create rate map for {2047}\n"
|
||||
+ " mtu : max packet size we create size table for {2048}\n"
|
||||
" tsize : how many slots should size table have {512}\n"
|
||||
" mpu : minimum packet size used in rate computations\n"
|
||||
" overhead : per-packet size overhead used in rate computations\n"
|
||||
@ -53,6 +53,7 @@ PATCHES=(
|
||||
"${FILESDIR}"/${PN}-5.7.0-mix-signal.h-include.patch
|
||||
"${FILESDIR}"/${PN}-6.4.0-disable-libbsd-fallback.patch # bug #911727
|
||||
"${FILESDIR}"/${PN}-6.6.0-configure-Add-_GNU_SOURCE-to-strlcpy-configure-test.patch
|
||||
"${FILESDIR}"/${PN}-6.6.0-musl-c99.patch # bug #922622
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
|
||||
@ -55,6 +55,7 @@ PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.6.0-configure-Add-_GNU_SOURCE-to-strlcpy-configure-test.patch
|
||||
"${FILESDIR}"/${PN}-6.6.0-revert-CONF_USR_DIR.patch
|
||||
"${FILESDIR}"/${PN}-6.6.0-makefile-use-usr-share-config.patch
|
||||
"${FILESDIR}"/${PN}-6.6.0-musl-c99.patch # bug #922622
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
|
||||
@ -52,6 +52,7 @@ PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.5.0-configure-nomagic-nolibbsd.patch # bug #643722 & #911727
|
||||
"${FILESDIR}"/${PN}-5.7.0-mix-signal.h-include.patch
|
||||
"${FILESDIR}"/${PN}-6.4.0-disable-libbsd-fallback.patch # bug #911727
|
||||
"${FILESDIR}"/${PN}-6.6.0-musl-c99.patch # bug #922622
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
|
||||
@ -10,7 +10,7 @@ if [[ ${PV} == 9999 ]] ; then
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://www.kernel.org/pub/linux/utils/net/${PN}/${P}.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="kernel routing and traffic control utilities"
|
||||
@ -52,6 +52,7 @@ PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.8.0-configure-nomagic-nolibbsd.patch # bug #643722 & #911727
|
||||
"${FILESDIR}"/${PN}-5.7.0-mix-signal.h-include.patch
|
||||
"${FILESDIR}"/${PN}-6.8.0-disable-libbsd-fallback.patch # bug #911727
|
||||
"${FILESDIR}"/${PN}-6.6.0-musl-c99.patch # bug #922622
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
|
||||
213
sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.9.0.ebuild
vendored
Normal file
213
sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.9.0.ebuild
vendored
Normal file
@ -0,0 +1,213 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit edo toolchain-funcs flag-o-matic
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
EGIT_REPO_URI="https://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://www.kernel.org/pub/linux/utils/net/${PN}/${P}.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="kernel routing and traffic control utilities"
|
||||
HOMEPAGE="https://wiki.linuxfoundation.org/networking/iproute2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="atm berkdb bpf caps elf +iptables minimal nfs selinux"
|
||||
# Needs root
|
||||
RESTRICT="test"
|
||||
|
||||
# We could make libmnl optional, but it's tiny, so eh
|
||||
RDEPEND="
|
||||
!net-misc/arpd
|
||||
!minimal? ( net-libs/libmnl:= )
|
||||
atm? ( net-dialup/linux-atm )
|
||||
berkdb? ( sys-libs/db:= )
|
||||
bpf? ( dev-libs/libbpf:= )
|
||||
caps? ( sys-libs/libcap )
|
||||
elf? ( virtual/libelf:= )
|
||||
iptables? ( >=net-firewall/iptables-1.4.20:= )
|
||||
nfs? ( net-libs/libtirpc:= )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
"
|
||||
# We require newer linux-headers for ipset support (bug #549948) and some defines (bug #553876)
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
>=sys-kernel/linux-headers-3.16
|
||||
"
|
||||
BDEPEND="
|
||||
app-arch/xz-utils
|
||||
>=sys-devel/bison-2.4
|
||||
app-alternatives/lex
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.9.0-mtu.patch # bug #291907
|
||||
"${FILESDIR}"/${PN}-6.8.0-configure-nomagic-nolibbsd.patch # bug #643722 & #911727
|
||||
"${FILESDIR}"/${PN}-6.8.0-disable-libbsd-fallback.patch # bug #911727
|
||||
"${FILESDIR}"/${PN}-6.6.0-musl-c99.patch # bug #922622 & #932617
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Fix version if necessary
|
||||
local versionfile="include/version.h"
|
||||
if [[ ${PV} != 9999 ]] && ! grep -Fq "${PV}" ${versionfile} ; then
|
||||
einfo "Fixing version string"
|
||||
sed -i "s@\"[[:digit:]\.]\+\"@\"${PV}\"@" \
|
||||
${versionfile} || die
|
||||
fi
|
||||
|
||||
# echo -n is not POSIX compliant
|
||||
sed -i 's@echo -n@printf@' configure || die
|
||||
|
||||
sed -i \
|
||||
-e '/^CC :\?=/d' \
|
||||
-e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
|
||||
-e "s|-O2|${CFLAGS} ${CPPFLAGS}|" \
|
||||
-e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \
|
||||
-e "/^DBM_INCLUDE/s:=.*:=${T}:" \
|
||||
Makefile || die
|
||||
|
||||
# Build against system headers
|
||||
rm -r include/netinet || die #include/linux include/ip{,6}tables{,_common}.h include/libiptc
|
||||
sed -i 's:TCPI_OPT_ECN_SEEN:16:' misc/ss.c || die
|
||||
|
||||
if use minimal ; then
|
||||
sed -i -e '/^SUBDIRS=/s:=.*:=lib tc ip:' Makefile || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export AR CC PKG_CONFIG
|
||||
|
||||
# This sure is ugly. Should probably move into toolchain-funcs at some point.
|
||||
local setns
|
||||
pushd "${T}" >/dev/null || die
|
||||
printf '#include <sched.h>\nint main(){return setns(0, 0);}\n' > test.c || die
|
||||
if ${CC} ${CFLAGS} ${CPPFLAGS} -D_GNU_SOURCE ${LDFLAGS} test.c >&/dev/null ; then
|
||||
setns=y
|
||||
else
|
||||
setns=n
|
||||
fi
|
||||
|
||||
echo 'int main(){return 0;}' > test.c || die
|
||||
if ! ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null ; then
|
||||
sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile || die
|
||||
fi
|
||||
popd >/dev/null || die
|
||||
|
||||
# build system does not pass CFLAGS to LDFLAGS, as is recommended by GCC upstream
|
||||
# https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-flto
|
||||
# https://bugs.gentoo.org/929233
|
||||
append-ldflags ${CFLAGS}
|
||||
|
||||
# run "configure" script first which will create "config.mk"...
|
||||
# Using econf breaks since 5.14.0 (a9c3d70d902a0473ee5c13336317006a52ce8242)
|
||||
edo ./configure --color=auto --libbpf_force $(usex bpf on off)
|
||||
|
||||
# Remove the definitions made by configure and allow them to be overridden
|
||||
# by USE flags below.
|
||||
# We have to do the cheesy only-sed-if-disabled because otherwise
|
||||
# the *_FLAGS etc stuff found by configure will be used but result
|
||||
# in a broken build.
|
||||
if ! use berkdb ; then
|
||||
sed -i -e '/HAVE_BERKELEY_DB/d' config.mk || die
|
||||
fi
|
||||
|
||||
if ! use caps ; then
|
||||
sed -i -e '/HAVE_CAP/d' config.mk || die
|
||||
fi
|
||||
|
||||
if use minimal ; then
|
||||
sed -i -e '/HAVE_MNL/d' config.mk || die
|
||||
fi
|
||||
|
||||
if ! use elf ; then
|
||||
sed -i -e '/HAVE_ELF/d' config.mk || die
|
||||
fi
|
||||
|
||||
if ! use nfs ; then
|
||||
sed -i -e '/HAVE_RPC/d' config.mk || die
|
||||
fi
|
||||
|
||||
if ! use selinux ; then
|
||||
sed -i -e '/HAVE_SELINUX/d' config.mk || die
|
||||
fi
|
||||
|
||||
# ...Now switch on/off requested features via USE flags
|
||||
# this is only useful if the test did not set other things, per bug #643722
|
||||
# Keep in sync with ifs above, or refactor to be unified.
|
||||
cat <<-EOF >> config.mk
|
||||
TC_CONFIG_ATM := $(usex atm y n)
|
||||
TC_CONFIG_XT := $(usex iptables y n)
|
||||
TC_CONFIG_NO_XT := $(usex iptables n y)
|
||||
# We've locked in recent enough kernel headers, bug #549948
|
||||
TC_CONFIG_IPSET := y
|
||||
HAVE_BERKELEY_DB := $(usex berkdb y n)
|
||||
HAVE_CAP := $(usex caps y n)
|
||||
HAVE_MNL := $(usex minimal n y)
|
||||
HAVE_ELF := $(usex elf y n)
|
||||
HAVE_RPC := $(usex nfs y n)
|
||||
HAVE_SELINUX := $(usex selinux y n)
|
||||
IP_CONFIG_SETNS := ${setns}
|
||||
# Use correct iptables dir, bug #144265, bug #293709
|
||||
IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir)
|
||||
EOF
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake V=1 NETNS_RUN_DIR=/run/netns
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake check
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use minimal ; then
|
||||
into /
|
||||
dosbin tc/tc
|
||||
dobin ip/ip
|
||||
return 0
|
||||
fi
|
||||
|
||||
emake \
|
||||
DESTDIR="${D}" \
|
||||
PREFIX="${EPREFIX}/usr" \
|
||||
LIBDIR="${EPREFIX}"/$(get_libdir) \
|
||||
SBINDIR="${EPREFIX}"/sbin \
|
||||
CONFDIR="${EPREFIX}"/etc/iproute2 \
|
||||
DOCDIR="${EPREFIX}"/usr/share/doc/${PF} \
|
||||
MANDIR="${EPREFIX}"/usr/share/man \
|
||||
ARPDDIR="${EPREFIX}"/var/lib/arpd \
|
||||
install
|
||||
|
||||
dodir /bin
|
||||
mv "${ED}"/{s,}bin/ip || die # bug #330115
|
||||
mv "${ED}"/{s,}bin/ss || die # bug #547264
|
||||
|
||||
dolib.a lib/libnetlink.a
|
||||
insinto /usr/include
|
||||
doins include/libnetlink.h
|
||||
|
||||
# Collides with net-analyzer/ifstat
|
||||
# https://bugs.gentoo.org/868321
|
||||
mv "${ED}"/sbin/ifstat{,-iproute2} || die
|
||||
|
||||
if use berkdb ; then
|
||||
keepdir /var/lib/arpd
|
||||
# bug #47482, arpd doesn't need to be in /sbin
|
||||
dodir /usr/bin
|
||||
mv "${ED}"/sbin/arpd "${ED}"/usr/bin/ || die
|
||||
elif [[ -d "${ED}"/var/lib/arpd ]]; then
|
||||
rmdir --ignore-fail-on-non-empty -p "${ED}"/var/lib/arpd || die
|
||||
fi
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user