mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-21 14:31:02 +02:00
Merge pull request #2853 from ajeddeloh/rm-iproute2
Move iproute2 back to portage-stable
This commit is contained in:
commit
d5ea268c46
@ -75,3 +75,7 @@ dev-util/checkbashisms
|
||||
|
||||
# CVE-2017-1000117
|
||||
=dev-vcs/git-2.14.1
|
||||
|
||||
# iproute2 4.13 includes a patch to avoid leaking netns mounts in rkt
|
||||
# https://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git/commit/?id=d6a4076b6ba6547d7e52c377a7c58c56eb5ea16e
|
||||
=sys-apps/iproute2-4.13 ~amd64 ~arm64
|
||||
|
@ -1 +0,0 @@
|
||||
DIST iproute2-4.12.0.tar.xz 662424 SHA256 2e0a4c4262d9f6c169885a6e16c4c5c5f1ef6fd57b6a0e7b41f42be5bb6ebd7d SHA512 275147f71e7c4698654f0d6d0981ab42f6f108066508c15cfcd5d9e0d3aaf8d33291968d9f06cb03f5494d801cfabf8d53308aaf56fc4fa92c52b137e970a3b0 WHIRLPOOL 590cc191e96ff0b777373603186e4416f064931d529878ec783759f31fd99e1119bb0604e8a89dc98d350f80eca2bfef05a13bca7ce24302408072002c0b17b2
|
@ -1,48 +0,0 @@
|
||||
http://bugs.gentoo.org/291907
|
||||
|
||||
This patch was merged from two patches extracted from this thread:
|
||||
http://markmail.org/thread/qkd76gpdgefpjlfn
|
||||
|
||||
tc_stab.c: small fixes to commandline help
|
||||
|
||||
|
||||
tc_core.c:
|
||||
As kernel part of things relies on cell align which is always set to -1,
|
||||
I also added it to userspace computation stage. This way if someone
|
||||
specified e.g. 2048 and 512 for mtu and tsize respectively, one wouldn't
|
||||
end with tsize supporting mtu 4096 suddenly, New default mtu is also set
|
||||
to 2048 (disregarding weirdness of setting mtu to such values).
|
||||
|
||||
|
||||
Unless I missed something, this is harmless and feels cleaner, but if it's
|
||||
not allowed, documentation will have to be changed back to 2047 + extra
|
||||
explanation as well.
|
||||
|
||||
--- iproute2/tc/tc_core.c
|
||||
+++ iproute2/tc/tc_core.c
|
||||
@@ -155,12 +155,12 @@
|
||||
}
|
||||
|
||||
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));
|
||||
--- iproute2/tc/tc_stab.c
|
||||
+++ iproute2/tc/tc_stab.c
|
||||
@@ -32,7 +32,7 @@
|
||||
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"
|
@ -1,37 +0,0 @@
|
||||
--- iproute2-4.11.0/ip/ipmonitor.c
|
||||
+++ iproute2-4.11.0/ip/ipmonitor.c
|
||||
@@ -114,7 +114,6 @@
|
||||
}
|
||||
if (n->nlmsg_type == RTM_NEWPREFIX) {
|
||||
print_headers(fp, "[PREFIX]", ctrl);
|
||||
- print_prefix(who, n, arg);
|
||||
return 0;
|
||||
}
|
||||
if (n->nlmsg_type == RTM_NEWRULE || n->nlmsg_type == RTM_DELRULE) {
|
||||
--- iproute2-4.11.0/ip/iptunnel.c
|
||||
+++ iproute2-4.11.0/ip/iptunnel.c
|
||||
@@ -589,13 +589,6 @@
|
||||
break;
|
||||
case AF_INET:
|
||||
break;
|
||||
- /*
|
||||
- * This is silly enough but we have no easy way to make it
|
||||
- * protocol-independent because of unarranged structure between
|
||||
- * IPv4 and IPv6.
|
||||
- */
|
||||
- case AF_INET6:
|
||||
- return do_ip6tunnel(argc, argv);
|
||||
default:
|
||||
fprintf(stderr, "Unsupported protocol family: %d\n", preferred_family);
|
||||
exit(-1);
|
||||
--- iproute2-4.11.0/ip/Makefile
|
||||
+++ iproute2-4.11.0/ip/Makefile
|
||||
@@ -1,6 +1,6 @@
|
||||
IPOBJ=ip.o ipaddress.o ipaddrlabel.o iproute.o iprule.o ipnetns.o \
|
||||
- rtm_map.o iptunnel.o ip6tunnel.o tunnel.o ipneigh.o ipntable.o iplink.o \
|
||||
- ipmaddr.o ipmonitor.o ipmroute.o ipprefix.o iptuntap.o iptoken.o \
|
||||
+ rtm_map.o iptunnel.o tunnel.o ipneigh.o ipntable.o iplink.o \
|
||||
+ ipmaddr.o ipmonitor.o ipmroute.o iptuntap.o iptoken.o \
|
||||
ipxfrm.o xfrm_state.o xfrm_policy.o xfrm_monitor.o iplink_dummy.o \
|
||||
iplink_ifb.o iplink_nlmon.o iplink_team.o iplink_vcan.o \
|
||||
iplink_vlan.o link_veth.o link_gre.o iplink_can.o iplink_xdp.o \
|
@ -1,32 +0,0 @@
|
||||
From d6a4076b6ba6547d7e52c377a7c58c56eb5ea16e Mon Sep 17 00:00:00 2001
|
||||
From: Casey Callendrello <casey.callendrello@coreos.com>
|
||||
Date: Tue, 1 Aug 2017 17:46:09 +0200
|
||||
Subject: netns: make /var/run/netns bind-mount recursive
|
||||
|
||||
When ip netns {add|delete} is first run, it bind-mounts /var/run/netns
|
||||
on top of itself, then marks it as shared. However, if there are already
|
||||
bind-mounts in the directory from other tools, these would not be
|
||||
propagated. Fix this by recursively bind-mounting.
|
||||
|
||||
Signed-off-by: Casey Callendrello <casey.callendrello@coreos.com>
|
||||
Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
|
||||
---
|
||||
ip/ipnetns.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/ip/ipnetns.c b/ip/ipnetns.c
|
||||
index 198e9de..9ee1fe6 100644
|
||||
--- a/ip/ipnetns.c
|
||||
+++ b/ip/ipnetns.c
|
||||
@@ -636,7 +636,7 @@ static int netns_add(int argc, char **argv)
|
||||
}
|
||||
|
||||
/* Upgrade NETNS_RUN_DIR to a mount point */
|
||||
- if (mount(NETNS_RUN_DIR, NETNS_RUN_DIR, "none", MS_BIND, NULL)) {
|
||||
+ if (mount(NETNS_RUN_DIR, NETNS_RUN_DIR, "none", MS_BIND | MS_REC, NULL)) {
|
||||
fprintf(stderr, "mount --bind %s %s failed: %s\n",
|
||||
NETNS_RUN_DIR, NETNS_RUN_DIR, strerror(errno));
|
||||
return -1;
|
||||
--
|
||||
cgit v1.1
|
||||
|
@ -1,38 +0,0 @@
|
||||
From 2ac2f416072d9968a9ea2dd9f48168223a1147b0 Mon Sep 17 00:00:00 2001
|
||||
From: Baruch Siach <baruch@tkos.co.il>
|
||||
Date: Tue, 18 Jul 2017 14:09:06 +0300
|
||||
Subject: [PATCH] Fix build with uClibc-ng
|
||||
|
||||
Add a local definition for IPPROTO_MH to fix build with uClibc-ng. As of
|
||||
version 1.0.25, the uClibc-ng netinet/in.h header does not provide this
|
||||
definition. The kernel provided definition is masked by libc-compat.h. Add
|
||||
this local fix until uClibc-ng syncs netinet/in.h with glibc.
|
||||
|
||||
This partially reverts upstream commit a9ae195a2169 (xfrm: get #define's from
|
||||
linux includes)
|
||||
|
||||
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
|
||||
---
|
||||
Upstream status: non upstreamable; local uClibc-ng compatibility fix
|
||||
---
|
||||
ip/xfrm.h | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/ip/xfrm.h b/ip/xfrm.h
|
||||
index 54d80ce5e949..50b85550fb45 100644
|
||||
--- a/ip/xfrm.h
|
||||
+++ b/ip/xfrm.h
|
||||
@@ -30,6 +30,10 @@
|
||||
#include <linux/xfrm.h>
|
||||
#include <linux/ipsec.h>
|
||||
|
||||
+#ifndef IPPROTO_MH
|
||||
+# define IPPROTO_MH 135
|
||||
+#endif
|
||||
+
|
||||
#define XFRMS_RTA(x) ((struct rtattr*)(((char*)(x)) + NLMSG_ALIGN(sizeof(struct xfrm_usersa_info))))
|
||||
#define XFRMS_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct xfrm_usersa_info))
|
||||
|
||||
--
|
||||
2.13.2
|
||||
|
@ -1,151 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils toolchain-funcs flag-o-matic multilib
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git"
|
||||
inherit git-2
|
||||
else
|
||||
SRC_URI="mirror://kernel/linux/utils/net/${PN}/${P}.tar.xz"
|
||||
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~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 +iptables ipv6 minimal selinux"
|
||||
|
||||
# We could make libmnl optional, but it's tiny, so eh
|
||||
RDEPEND="
|
||||
!net-misc/arpd
|
||||
!minimal? ( net-libs/libmnl )
|
||||
iptables? ( >=net-firewall/iptables-1.4.20:= )
|
||||
berkdb? ( sys-libs/db:= )
|
||||
atm? ( net-dialup/linux-atm )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
"
|
||||
# We require newer linux-headers for ipset support #549948 and some defines #553876
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
app-arch/xz-utils
|
||||
iptables? ( virtual/pkgconfig )
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
>=sys-kernel/linux-headers-3.16
|
||||
elibc_glibc? ( >=sys-libs/glibc-2.7 )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-3.1.0-mtu.patch #291907
|
||||
"${FILESDIR}"/${PN}-4.12.0-recursive-mount-netns.patch # rkt/rkt#3761
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
if ! use ipv6 ; then
|
||||
PATCHES+=(
|
||||
"${FILESDIR}"/${PN}-4.11.0-no-ipv6.patch #326849
|
||||
)
|
||||
fi
|
||||
|
||||
# Local uclibc-ng compat fix until uclibc-ng upstream can sync
|
||||
# netinet/in.h with glibc. Resolves #626546.
|
||||
if use elibc_uclibc ; then
|
||||
PATCHES+=(
|
||||
"${FILESDIR}"/${PN}-4.12.0-uclibc-ng-add-ipproto_mh.patch
|
||||
)
|
||||
fi
|
||||
|
||||
epatch "${PATCHES[@]}"
|
||||
|
||||
sed -i \
|
||||
-e '/^CC :=/d' \
|
||||
-e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
|
||||
-e "s:-O2:${CFLAGS} ${CPPFLAGS}:" \
|
||||
-e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \
|
||||
-e "/^WFLAGS/s:-Werror::" \
|
||||
-e "/^DBM_INCLUDE/s:=.*:=${T}:" \
|
||||
Makefile || die
|
||||
|
||||
# Use /run instead of /var/run.
|
||||
sed -i \
|
||||
-e 's:/var/run:/run:g' \
|
||||
include/namespace.h \
|
||||
man/man8/ip-netns.8 || die
|
||||
|
||||
# build against system headers
|
||||
rm -r include/netinet #include/linux include/ip{,6}tables{,_common}.h include/libiptc
|
||||
sed -i 's:TCPI_OPT_ECN_SEEN:16:' misc/ss.c || die
|
||||
|
||||
use minimal && sed -i -e '/^SUBDIRS=/s:=.*:=lib tc ip:' Makefile
|
||||
}
|
||||
|
||||
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
|
||||
printf '#include <sched.h>\nint main(){return setns(0, 0);}\n' > test.c
|
||||
${CC} ${CFLAGS} ${CPPFLAGS} -D_GNU_SOURCE ${LDFLAGS} test.c >&/dev/null && setns=y || setns=n
|
||||
echo 'int main(){return 0;}' > test.c
|
||||
${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null || sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile
|
||||
popd >/dev/null
|
||||
|
||||
cat <<-EOF > Config
|
||||
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 #549948
|
||||
TC_CONFIG_IPSET := y
|
||||
HAVE_BERKELEY_DB := $(usex berkdb y n)
|
||||
HAVE_MNL := $(usex minimal n y)
|
||||
HAVE_SELINUX := $(usex selinux y n)
|
||||
IP_CONFIG_SETNS := ${setns}
|
||||
# Use correct iptables dir, #144265 #293709
|
||||
IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir)
|
||||
EOF
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use minimal ; then
|
||||
into /
|
||||
dosbin tc/tc
|
||||
dobin ip/ip
|
||||
return 0
|
||||
fi
|
||||
|
||||
emake \
|
||||
DESTDIR="${D}" \
|
||||
LIBDIR="${EPREFIX}"/$(get_libdir) \
|
||||
SBINDIR="${EPREFIX}"/sbin \
|
||||
CONFDIR="${EPREFIX}"/usr/share/iproute2 \
|
||||
DOCDIR="${EPREFIX}"/usr/share/doc/${PF} \
|
||||
MANDIR="${EPREFIX}"/usr/share/man \
|
||||
ARPDDIR="${EPREFIX}"/var/lib/arpd \
|
||||
install
|
||||
|
||||
rm "${ED}"/usr/share/doc/${PF}/*.{sgml,tex} || die #455988
|
||||
|
||||
dodir /bin
|
||||
mv "${ED}"/{s,}bin/ip || die #330115
|
||||
|
||||
dolib.a lib/libnetlink.a
|
||||
insinto /usr/include
|
||||
doins include/libnetlink.h
|
||||
# This local header pulls in a lot of linux headers it
|
||||
# doesn't directly need. Delete this header that requires
|
||||
# linux-headers-3.8 until that goes stable. #467716
|
||||
sed -i '/linux\/netconf.h/d' "${ED}"/usr/include/libnetlink.h || die
|
||||
|
||||
if use berkdb ; then
|
||||
dodir /var/lib/arpd
|
||||
# bug 47482, arpd doesn't need to be in /sbin
|
||||
dodir /usr/bin
|
||||
mv "${ED}"/sbin/arpd "${ED}"/usr/bin/ || die
|
||||
fi
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>base-system@gentoo.org</email>
|
||||
<name>Gentoo Base System</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="berkdb">build programs that use berkdb (just arpd)</flag>
|
||||
<flag name="iptables">include support for iptables filtering</flag>
|
||||
<flag name="minimal">only install ip and tc programs</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
Loading…
x
Reference in New Issue
Block a user