From 05177628d7c40145a4cd3ee365ac0f636ef68db5 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 25 Sep 2023 07:15:47 +0000 Subject: [PATCH] sys-apps/iproute2: Sync with Gentoo It's from Gentoo commit 41395a1bb3198b2934b87b665eb217251f59aef2. --- .../portage-stable/sys-apps/iproute2/Manifest | 6 +- .../files/iproute2-4.20.0-no-ipv6.patch | 38 --- ...e2-5.12.0-configure-nomagic-nolibbsd.patch | 242 +++++++++++++++++ .../iproute2-6.1.0-strncpy-overlap.patch | 39 --- ...route2-6.4.0-disable-libbsd-fallback.patch | 25 ++ ...te2-6.5.0-configure-nomagic-nolibbsd.patch | 246 ++++++++++++++++++ .../iproute2/files/iproute2-6.5.0-mtu.patch | 50 ++++ .../files/iproute2-default-color-auto.patch | 7 - .../sys-apps/iproute2/iproute2-5.15.0.ebuild | 175 ------------- .../sys-apps/iproute2/iproute2-6.0.0.ebuild | 215 --------------- .../sys-apps/iproute2/iproute2-6.3.0.ebuild | 220 ---------------- ...1.0-r1.ebuild => iproute2-6.4.0-r1.ebuild} | 21 +- ...-6.2.0-r1.ebuild => iproute2-6.5.0.ebuild} | 16 +- .../sys-apps/iproute2/iproute2-9999.ebuild | 12 +- 14 files changed, 582 insertions(+), 730 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-4.20.0-no-ipv6.patch create mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-5.12.0-configure-nomagic-nolibbsd.patch delete mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-6.1.0-strncpy-overlap.patch create mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-6.4.0-disable-libbsd-fallback.patch create mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-6.5.0-configure-nomagic-nolibbsd.patch create mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-6.5.0-mtu.patch delete mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-default-color-auto.patch delete mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-5.15.0.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.0.0.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.3.0.ebuild rename sdk_container/src/third_party/portage-stable/sys-apps/iproute2/{iproute2-6.1.0-r1.ebuild => iproute2-6.4.0-r1.ebuild} (92%) rename sdk_container/src/third_party/portage-stable/sys-apps/iproute2/{iproute2-6.2.0-r1.ebuild => iproute2-6.5.0.ebuild} (91%) diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/Manifest index d4f10b35a5..8e7ab51425 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/Manifest @@ -1,6 +1,2 @@ -DIST iproute2-5.15.0.tar.xz 858068 BLAKE2B bca20ac53e1b2b3ae06186f655ad5073a0e691ed7b3aab25c4fbc118847b72a8a522175732cd22d8ec27480d1ab142319e80a5c3628434bec21260e585e1591d SHA512 e94918fa10e523224b965c7cb5303a101745e89c90d149d2d9876a002b2a894b1c689c519dc22168f3d334c3ee0810c59ec43223baab3d5f4c56f017d6281f22 -DIST iproute2-6.0.0.tar.xz 900312 BLAKE2B 1cfb9b5a7892dec2b35e0eadbd957083e95fdc5077a1aa193329801ff25f9ed90a1fc4152756547be1fab8fe18d9a399001a4c3a61e951f64946156af6a90bae SHA512 be30362b0df6906aa786f935d5f555b8b86c747fe05314066f4180ab2f7c952ae227b7cf04c15e75d8f99ca17bafb7c8dc0fb1c18f3a9e3222d98716bb449f7a -DIST iproute2-6.1.0.tar.xz 905512 BLAKE2B 38249703e0a9ba74405aebdb97560b286deefa959a9c3f0e0893962b6966f5da2da46199dda6a0f9584bb473f8ba529440643d97f66e9b7619df029e3091d163 SHA512 4e4d3b5e1e1a5444f42671c1e6caee072e80063e34e37386695f76f85a1ab662f4513050814006e5154426cbaadfba1d86b0be14e65978d5e670a16446047b28 -DIST iproute2-6.2.0.tar.xz 911588 BLAKE2B d3bfaecf33ffc7861e983e8db0d6a63f4767b6c01b5346e88f51c65ed6279c4be29412ed18b8f98ed54d60a84455b73fe7745142fd0fc0f3e327a29e8bcce986 SHA512 b24e0fdd0f51b8b78bc3bb681e3829af47d3011e93f3892289eb070b336709a6883728ecc7627ca37f6449720f8ed1349af321c0d04454894a7175b82f7de151 -DIST iproute2-6.3.0.tar.xz 914700 BLAKE2B a7b48c59c8a30f56ca810136f4d9f681fe38359999c260227a6229b972ce70b233d2865a6543cf3f70ed586825f9191c22d459a9fc5cc8c7dbf3ab417064c8a7 SHA512 aec1d8ceb54c8849a075ec1ce079678638e05ccaec093e8b3cbc7243b5fafea2a8c11f10930fced3df82f52d6750aa325178e44f9058e37a556ab108d4a968bf DIST iproute2-6.4.0.tar.xz 922164 BLAKE2B 76369d2a794afd13dba1a34ee9a7425775bb7b43c22164274749c01b18d061669aa5abd51d32a15d68f48e75f4837a887dfc28ea41e34d8e4c36b2ab865628dd SHA512 42330be6e061302694ea301765ff8d3cbfaeca4b1d06e39778861e4390ed211c03cb2d41498190202b659f7f5647b1ca4857410ef8c16fd601a35e7162788d21 +DIST iproute2-6.5.0.tar.xz 925940 BLAKE2B 537a956c2fb59df25e90d7899a981e5408c5ee029df2bb87461b899ecf8fe4424a1db5d1b1b67a67bdb2555f6cc4aaf099b0544a2c92ffc3843adc3d17defb96 SHA512 615ba6924becdf08af3f491d347d84897ff0198426d65b194c87146c4527b0856fc51688b59834abe1cb6f9a70b93c66ff7ade6b7c305c1ece0fd6a29df6bc54 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-4.20.0-no-ipv6.patch b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-4.20.0-no-ipv6.patch deleted file mode 100644 index 31733e99f7..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-4.20.0-no-ipv6.patch +++ /dev/null @@ -1,38 +0,0 @@ ---- iproute2-4.20.0/ip/ipmonitor.c -+++ iproute2-4.20.0/ip/ipmonitor.c -@@ -118,7 +118,6 @@ - - case RTM_NEWPREFIX: - print_headers(fp, "[PREFIX]", ctrl); -- print_prefix(n, arg); - return 0; - - case RTM_NEWRULE: ---- iproute2-4.20.0/ip/iptunnel.c -+++ iproute2-4.20.0/ip/iptunnel.c -@@ -549,13 +549,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.20.0/ip/Makefile -+++ iproute2-4.20.0/ip/Makefile -@@ -1,7 +1,7 @@ - # SPDX-License-Identifier: GPL-2.0 - 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_vxcan.o \ - iplink_vlan.o link_veth.o link_gre.o iplink_can.o iplink_xdp.o \ diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-5.12.0-configure-nomagic-nolibbsd.patch b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-5.12.0-configure-nomagic-nolibbsd.patch new file mode 100644 index 0000000000..4f88da3c20 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-5.12.0-configure-nomagic-nolibbsd.patch @@ -0,0 +1,242 @@ +The hand-rolled configure script, for multiple options (selinux,mnl,elf), sets +a variable as well as modifying CFLAGS & LDLIBS. + +If config.mk is later amended to disable a feature, the CFLAGS/LDLIBS tweaks +are still in place. + +Push the CFLAGS/LDLIBS changes into new conditional Makefile code, so that they +are only passed when correctly needed. + +Prior Gentoo testcase for reproduction: +USE=minimal ebuild ... compile. +- Linking with libbsd, libelf, libmnl & libcap based only on presence. +- Links based on libselinux based only on presence. + +Closes: https://bugs.gentoo.org/643722 +Signed-off-by: Robin H. Johnson + +Forward-ported from v4.14.1 to v4.16.0 by Lars Wendler +Added libcap to v4.17.0 by Lars Wendler +Forward-ported from v4.17.0 to v4.20.0 by Lars Wendler +Forward-ported from v4.20.0 to v5.11.0 by Lars Wendler +Forward-ported from v5.11.0 to v5.12.0 by Lars Wendler + +Update 2023-09-05: Removed libbsd enforcement from config.include for bug #911727 +by Holger Hoffstätte + +--- iproute2-5.12.0/bridge/Makefile ++++ iproute2-5.12.0/bridge/Makefile +@@ -2,6 +2,7 @@ + BROBJ = bridge.o fdb.o monitor.o link.o mdb.o vlan.o + + include ../config.mk ++include ../config.include + + all: bridge + +--- iproute2-5.12.0/config.include ++++ iproute2-5.12.0/config.include +@@ -0,0 +1,26 @@ ++# We can only modify CFLAGS/LDLIBS after all the config options are known. ++ifeq ($(IP_CONFIG_SETNS),y) ++ CFLAGS += $(IP_CONFIG_SETNS_CFLAGS) ++endif ++ifeq ($(HAVE_ELF),y) ++ CFLAGS += $(HAVE_ELF_CFLAGS) ++ LDLIBS += $(HAVE_ELF_LDLIBS) ++endif ++ifeq ($(HAVE_SELINUX),y) ++ CFLAGS += $(HAVE_SELINUX_CFLAGS) ++ LDLIBS += $(HAVE_SELINUX_LDLIBS) ++endif ++ifeq ($(HAVE_MNL),y) ++ CFLAGS += $(HAVE_MNL_CFLAGS) ++ LDLIBS += $(HAVE_MNL_LDLIBS) ++endif ++ifeq ($(HAVE_CAP),y) ++ CFLAGS += $(HAVE_CAP_CFLAGS) ++ LDLIBS += $(HAVE_CAP_LDLIBS) ++endif ++ ++# Rules can only be declared after all variables in them are known. ++%.o: %.c ++ $(QUIET_CC)$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(CPPFLAGS) -c -o $@ $< ++ ++# vim: ft=make: +--- iproute2-5.12.0/configure ++++ iproute2-5.12.0/configure +@@ -195,7 +195,7 @@ + if $CC -I$INCLUDE -o $TMPDIR/setnstest $TMPDIR/setnstest.c >/dev/null 2>&1; then + echo "IP_CONFIG_SETNS:=y" >>$CONFIG + echo "yes" +- echo "CFLAGS += -DHAVE_SETNS" >>$CONFIG ++ echo "IP_CONFIG_SETNS_CFLAGS += -DHAVE_SETNS" >>$CONFIG + else + echo "no" + fi +@@ -238,8 +238,8 @@ + echo "HAVE_ELF:=y" >>$CONFIG + echo "yes" + +- echo 'CFLAGS += -DHAVE_ELF' `${PKG_CONFIG} libelf --cflags` >> $CONFIG +- echo 'LDLIBS += ' `${PKG_CONFIG} libelf --libs` >>$CONFIG ++ echo 'HAVE_ELF_CFLAGS += -DHAVE_ELF' `${PKG_CONFIG} libelf --cflags` >> $CONFIG ++ echo 'HAVE_ELF_LDLIBS += ' `${PKG_CONFIG} libelf --libs` >>$CONFIG + else + echo "no" + fi +@@ -357,8 +357,8 @@ + echo "HAVE_SELINUX:=y" >>$CONFIG + echo "yes" + +- echo 'LDLIBS +=' `${PKG_CONFIG} --libs libselinux` >>$CONFIG +- echo 'CFLAGS += -DHAVE_SELINUX' `${PKG_CONFIG} --cflags libselinux` >>$CONFIG ++ echo 'HAVE_SELINUX_CFLAGS += -DHAVE_SELINUX' `${PKG_CONFIG} --cflags libselinux` >>$CONFIG ++ echo 'HAVE_SELINUX_LDLIBS +=' `${PKG_CONFIG} --libs libselinux` >>$CONFIG + else + echo "no" + fi +@@ -370,8 +370,8 @@ + echo "HAVE_MNL:=y" >>$CONFIG + echo "yes" + +- echo 'CFLAGS += -DHAVE_LIBMNL' `${PKG_CONFIG} libmnl --cflags` >>$CONFIG +- echo 'LDLIBS +=' `${PKG_CONFIG} libmnl --libs` >> $CONFIG ++ echo 'HAVE_MNL_CFLAGS += -DHAVE_LIBMNL' `${PKG_CONFIG} libmnl --cflags` >>$CONFIG ++ echo 'HAVE_MNL_LDLIBS +=' `${PKG_CONFIG} libmnl --libs` >> $CONFIG + else + echo "no" + fi +@@ -411,8 +411,8 @@ + echo "no" + else + if ${PKG_CONFIG} libbsd --exists; then +- echo 'CFLAGS += -DHAVE_LIBBSD' `${PKG_CONFIG} libbsd --cflags` >>$CONFIG +- echo 'LDLIBS +=' `${PKG_CONFIG} libbsd --libs` >> $CONFIG ++ echo 'HAVE_LIBBSD_CFLAGS += -DHAVE_LIBBSD' `${PKG_CONFIG} libbsd --cflags` >>$CONFIG ++ echo 'HAVE_LIBBSD_LDLIBS +=' `${PKG_CONFIG} libbsd --libs` >> $CONFIG + echo "no" + else + echo 'CFLAGS += -DNEED_STRLCPY' >>$CONFIG +@@ -428,8 +428,8 @@ + echo "HAVE_CAP:=y" >>$CONFIG + echo "yes" + +- echo 'CFLAGS += -DHAVE_LIBCAP' `${PKG_CONFIG} libcap --cflags` >>$CONFIG +- echo 'LDLIBS +=' `${PKG_CONFIG} libcap --libs` >> $CONFIG ++ echo 'HAVE_CAP_CFLAGS += -DHAVE_LIBCAP' `${PKG_CONFIG} libcap --cflags` >>$CONFIG ++ echo 'HAVE_CAP_LDLIBS +=' `${PKG_CONFIG} libcap --libs` >> $CONFIG + else + echo "no" + fi +@@ -512,7 +512,3 @@ + + echo -n "libcap support: " + check_cap +- +-echo >> $CONFIG +-echo "%.o: %.c" >> $CONFIG +-echo ' $(QUIET_CC)$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(CPPFLAGS) -c -o $@ $<' >> $CONFIG +--- iproute2-5.12.0/dcb/Makefile ++++ iproute2-5.12.0/dcb/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk ++include ../config.include + + TARGETS := + +--- iproute2-5.12.0/devlink/Makefile ++++ iproute2-5.12.0/devlink/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk ++include ../config.include + + TARGETS := + +--- iproute2-5.12.0/genl/Makefile ++++ iproute2-5.12.0/genl/Makefile +@@ -2,6 +2,7 @@ + GENLOBJ=genl.o + + include ../config.mk ++include ../config.include + SHARED_LIBS ?= y + + CFLAGS += -fno-strict-aliasing +--- iproute2-5.12.0/ip/Makefile ++++ iproute2-5.12.0/ip/Makefile +@@ -16,6 +16,7 @@ + RTMONOBJ=rtmon.o + + include ../config.mk ++include ../config.include + + ALLOBJ=$(IPOBJ) $(RTMONOBJ) + SCRIPTS=ifcfg rtpr routel routef +--- iproute2-5.12.0/lib/Makefile ++++ iproute2-5.12.0/lib/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk ++include ../config.include + + CFLAGS += -fPIC + +--- iproute2-5.12.0/misc/Makefile ++++ iproute2-5.12.0/misc/Makefile +@@ -5,6 +5,7 @@ + TARGETS=ss nstat ifstat rtacct lnstat + + include ../config.mk ++include ../config.include + + ifeq ($(HAVE_BERKELEY_DB),y) + TARGETS += arpd +--- iproute2-5.12.0/netem/Makefile ++++ iproute2-5.12.0/netem/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk ++include ../config.include + + DISTGEN = maketable normal pareto paretonormal + DISTDATA = normal.dist pareto.dist paretonormal.dist experimental.dist +--- iproute2-5.12.0/rdma/Makefile ++++ iproute2-5.12.0/rdma/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB + include ../config.mk ++include ../config.include + + TARGETS := + +--- iproute2-5.12.0/tc/Makefile ++++ iproute2-5.12.0/tc/Makefile +@@ -4,6 +4,7 @@ + emp_ematch.tab.o emp_ematch.lex.o + + include ../config.mk ++include ../config.include + + SHARED_LIBS ?= y + +--- iproute2-5.12.0/tipc/Makefile ++++ iproute2-5.12.0/tipc/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk ++include ../config.include + + TARGETS := + +--- iproute2-5.12.0/vdpa/Makefile ++++ iproute2-5.12.0/vdpa/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk ++include ../config.include + + TARGETS := + diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-6.1.0-strncpy-overlap.patch b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-6.1.0-strncpy-overlap.patch deleted file mode 100644 index 8b4b0abbbc..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-6.1.0-strncpy-overlap.patch +++ /dev/null @@ -1,39 +0,0 @@ -fix UB in strncpy (e.g. truncated ip route output) - -Fix overlapping buffers passed to strncpy which is UB. format_host_rta_r writes -to the buffer passed to it, so hostname (derived from b1) & b1 partly overlap. - -This gets worse with sys-libs/glibc-2.37 where the ip route output can be truncated, -but it was UB anyway and you can see it occurring w/ glibc-2.36. - -Bug: https://lore.kernel.org/netdev/0011AC38-4823-4D0A-8580-B108D08959C2@gentoo.org/T/#u -Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30112 -Thanks-to: Doug Freed ---- a/ip/iproute.c -+++ b/ip/iproute.c -@@ -753,6 +753,7 @@ int print_route(struct nlmsghdr *n, void *arg) - int ret; - - SPRINT_BUF(b1); -+ SPRINT_BUF(b2); - - if (n->nlmsg_type != RTM_NEWROUTE && n->nlmsg_type != RTM_DELROUTE) { - fprintf(stderr, "Not a route: %08x %08x %08x\n", -@@ -814,7 +815,7 @@ int print_route(struct nlmsghdr *n, void *arg) - r->rtm_dst_len); - } else { - const char *hostname = format_host_rta_r(family, tb[RTA_DST], -- b1, sizeof(b1)); -+ b2, sizeof(b2)); - if (hostname) - strncpy(b1, hostname, sizeof(b1) - 1); - } -@@ -837,7 +838,7 @@ int print_route(struct nlmsghdr *n, void *arg) - r->rtm_src_len); - } else { - const char *hostname = format_host_rta_r(family, tb[RTA_SRC], -- b1, sizeof(b1)); -+ b2, sizeof(b2)); - if (hostname) - strncpy(b1, hostname, sizeof(b1) - 1); - } diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-6.4.0-disable-libbsd-fallback.patch b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-6.4.0-disable-libbsd-fallback.patch new file mode 100644 index 0000000000..888091387f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-6.4.0-disable-libbsd-fallback.patch @@ -0,0 +1,25 @@ + +Disable the optional libbsd fallback in favor of iproute2's own +strlcat/strlcpy routines. This prevents automagic linking and +all sorts of other related problems. + +Bug: https://bugs.gentoo.org/911727 +Signed-off-by: Holger Hoffstätte + +--- a/configure 2023-09-05 16:20:48.000000000 +0200 ++++ b/configure 2023-09-05 16:29:15.850347415 +0200 +@@ -454,14 +454,8 @@ EOF + if $CC -I$INCLUDE -o $TMPDIR/strtest $TMPDIR/strtest.c >/dev/null 2>&1; then + echo "no" + else +- if ${PKG_CONFIG} libbsd --exists; then +- echo 'HAVE_LIBBSD_CFLAGS += -DHAVE_LIBBSD' `${PKG_CONFIG} libbsd --cflags` >>$CONFIG +- echo 'HAVE_LIBBSD_LDLIBS +=' `${PKG_CONFIG} libbsd --libs` >> $CONFIG +- echo "no" +- else + echo 'CFLAGS += -DNEED_STRLCPY' >>$CONFIG + echo "yes" +- fi + fi + rm -f $TMPDIR/strtest.c $TMPDIR/strtest + } diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-6.5.0-configure-nomagic-nolibbsd.patch b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-6.5.0-configure-nomagic-nolibbsd.patch new file mode 100644 index 0000000000..4618fb9c94 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-6.5.0-configure-nomagic-nolibbsd.patch @@ -0,0 +1,246 @@ +The hand-rolled configure script, for multiple options (selinux,mnl,elf), sets +a variable as well as modifying CFLAGS & LDLIBS. + +If config.mk is later amended to disable a feature, the CFLAGS/LDLIBS tweaks +are still in place. + +Push the CFLAGS/LDLIBS changes into new conditional Makefile code, so that they +are only passed when correctly needed. + +Prior Gentoo testcase for reproduction: +USE=minimal ebuild ... compile. +- Linking with libbsd, libelf, libmnl & libcap based only on presence. +- Links based on libselinux based only on presence. + +Closes: https://bugs.gentoo.org/643722 +Signed-off-by: Robin H. Johnson + +Forward-ported from v4.14.1 to v4.16.0 by Lars Wendler +Added libcap to v4.17.0 by Lars Wendler +Forward-ported from v4.17.0 to v4.20.0 by Lars Wendler +Forward-ported from v4.20.0 to v5.11.0 by Lars Wendler +Forward-ported from v5.11.0 to v5.12.0 by Lars Wendler + +Update 2023-09-05: Removed libbsd enforcement from config.include for bug #911727 +by Holger Hoffstätte + +--- a/config.include ++++ b/config.include +@@ -0,0 +1,26 @@ ++# We can only modify CFLAGS/LDLIBS after all the config options are known. ++ifeq ($(IP_CONFIG_SETNS),y) ++ CFLAGS += $(IP_CONFIG_SETNS_CFLAGS) ++endif ++ifeq ($(HAVE_ELF),y) ++ CFLAGS += $(HAVE_ELF_CFLAGS) ++ LDLIBS += $(HAVE_ELF_LDLIBS) ++endif ++ifeq ($(HAVE_SELINUX),y) ++ CFLAGS += $(HAVE_SELINUX_CFLAGS) ++ LDLIBS += $(HAVE_SELINUX_LDLIBS) ++endif ++ifeq ($(HAVE_MNL),y) ++ CFLAGS += $(HAVE_MNL_CFLAGS) ++ LDLIBS += $(HAVE_MNL_LDLIBS) ++endif ++ifeq ($(HAVE_CAP),y) ++ CFLAGS += $(HAVE_CAP_CFLAGS) ++ LDLIBS += $(HAVE_CAP_LDLIBS) ++endif ++ ++# Rules can only be declared after all variables in them are known. ++%.o: %.c ++ $(QUIET_CC)$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(CPPFLAGS) -c -o $@ $< ++ ++# vim: ft=make: + +--- a/bridge/Makefile ++++ b/bridge/Makefile +@@ -2,6 +2,7 @@ + BROBJ = bridge.o fdb.o monitor.o link.o mdb.o vlan.o vni.o + + include ../config.mk ++include ../config.include + + all: bridge + +--- a/configure ++++ b/configure +@@ -202,7 +202,7 @@ EOF + if $CC -I$INCLUDE -o $TMPDIR/setnstest $TMPDIR/setnstest.c >/dev/null 2>&1; then + echo "IP_CONFIG_SETNS:=y" >>$CONFIG + echo "yes" +- echo "CFLAGS += -DHAVE_SETNS" >>$CONFIG ++ echo "IP_CONFIG_SETNS_CFLAGS += -DHAVE_SETNS" >>$CONFIG + else + echo "no" + fi +@@ -269,8 +269,8 @@ check_elf() + echo "HAVE_ELF:=y" >>$CONFIG + echo "yes" + +- echo 'CFLAGS += -DHAVE_ELF' `${PKG_CONFIG} libelf --cflags` >> $CONFIG +- echo 'LDLIBS += ' `${PKG_CONFIG} libelf --libs` >>$CONFIG ++ echo 'HAVE_ELF_CFLAGS += -DHAVE_ELF' `${PKG_CONFIG} libelf --cflags` >> $CONFIG ++ echo 'HAVE_ELF_LDLIBS += ' `${PKG_CONFIG} libelf --libs` >>$CONFIG + else + echo "no" + fi +@@ -388,8 +388,8 @@ check_selinux() + echo "HAVE_SELINUX:=y" >>$CONFIG + echo "yes" + +- echo 'LDLIBS +=' `${PKG_CONFIG} --libs libselinux` >>$CONFIG +- echo 'CFLAGS += -DHAVE_SELINUX' `${PKG_CONFIG} --cflags libselinux` >>$CONFIG ++ echo 'HAVE_SELINUX_CFLAGS += -DHAVE_SELINUX' `${PKG_CONFIG} --cflags libselinux` >>$CONFIG ++ echo 'HAVE_SELINUX_LDLIBS +=' `${PKG_CONFIG} --libs libselinux` >>$CONFIG + else + echo "no" + fi +@@ -414,8 +414,8 @@ check_mnl() + echo "HAVE_MNL:=y" >>$CONFIG + echo "yes" + +- echo 'CFLAGS += -DHAVE_LIBMNL' `${PKG_CONFIG} libmnl --cflags` >>$CONFIG +- echo 'LDLIBS +=' `${PKG_CONFIG} libmnl --libs` >> $CONFIG ++ echo 'HAVE_MNL_CFLAGS += -DHAVE_LIBMNL' `${PKG_CONFIG} libmnl --cflags` >>$CONFIG ++ echo 'HAVE_MNL_LDLIBS +=' `${PKG_CONFIG} libmnl --libs` >> $CONFIG + else + echo "no" + fi +@@ -455,8 +455,8 @@ EOF + echo "no" + else + if ${PKG_CONFIG} libbsd --exists; then +- echo 'CFLAGS += -DHAVE_LIBBSD' `${PKG_CONFIG} libbsd --cflags` >>$CONFIG +- echo 'LDLIBS +=' `${PKG_CONFIG} libbsd --libs` >> $CONFIG ++ echo 'HAVE_LIBBSD_CFLAGS += -DHAVE_LIBBSD' `${PKG_CONFIG} libbsd --cflags` >>$CONFIG ++ echo 'HAVE_LIBBSD_LDLIBS +=' `${PKG_CONFIG} libbsd --libs` >> $CONFIG + echo "no" + else + echo 'CFLAGS += -DNEED_STRLCPY' >>$CONFIG +@@ -472,8 +472,8 @@ check_cap() + echo "HAVE_CAP:=y" >>$CONFIG + echo "yes" + +- echo 'CFLAGS += -DHAVE_LIBCAP' `${PKG_CONFIG} libcap --cflags` >>$CONFIG +- echo 'LDLIBS +=' `${PKG_CONFIG} libcap --libs` >> $CONFIG ++ echo 'HAVE_CAP_CFLAGS += -DHAVE_LIBCAP' `${PKG_CONFIG} libcap --cflags` >>$CONFIG ++ echo 'HAVE_CAP_LDLIBS +=' `${PKG_CONFIG} libcap --libs` >> $CONFIG + else + echo "no" + fi +@@ -633,7 +633,3 @@ check_strlcpy + + echo -n "libcap support: " + check_cap +- +-echo >> $CONFIG +-echo "%.o: %.c" >> $CONFIG +-echo ' $(QUIET_CC)$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(CPPFLAGS) -c -o $@ $<' >> $CONFIG +--- a/dcb/Makefile ++++ b/dcb/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk ++include ../config.include + + DCBOBJ = dcb.o \ + dcb_app.o \ +--- a/devlink/Makefile ++++ b/devlink/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk ++include ../config.include + + DEVLINKOBJ = devlink.o mnlg.o + TARGETS += devlink +--- a/genl/Makefile ++++ b/genl/Makefile +@@ -2,6 +2,7 @@ + GENLOBJ=genl.o + + include ../config.mk ++include ../config.include + SHARED_LIBS ?= y + + CFLAGS += -fno-strict-aliasing +--- a/ip/Makefile ++++ b/ip/Makefile +@@ -18,6 +18,7 @@ IPOBJ=ip.o ipaddress.o ipaddrlabel.o iproute.o iprule.o ipnetns.o \ + RTMONOBJ=rtmon.o + + include ../config.mk ++include ../config.include + + ALLOBJ=$(IPOBJ) $(RTMONOBJ) + SCRIPTS=routel +--- a/lib/Makefile ++++ b/lib/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk ++include ../config.include + + CFLAGS += -fPIC + +--- a/misc/Makefile ++++ b/misc/Makefile +@@ -5,6 +5,7 @@ LNSTATOBJ=lnstat.o lnstat_util.o + TARGETS=ss nstat ifstat rtacct lnstat + + include ../config.mk ++include ../config.include + + ifeq ($(HAVE_BERKELEY_DB),y) + TARGETS += arpd +--- a/netem/Makefile ++++ b/netem/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk ++include ../config.include + + DISTGEN = maketable normal pareto paretonormal + DISTDATA = normal.dist pareto.dist paretonormal.dist experimental.dist +--- a/rdma/Makefile ++++ b/rdma/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB + include ../config.mk ++include ../config.include + + CFLAGS += -I./include/uapi/ + +--- a/tc/Makefile ++++ b/tc/Makefile +@@ -4,6 +4,7 @@ TCOBJ= tc.o tc_qdisc.o tc_class.o tc_filter.o tc_util.o tc_monitor.o \ + emp_ematch.tab.o emp_ematch.lex.o + + include ../config.mk ++include ../config.include + + SHARED_LIBS ?= y + +--- a/tipc/Makefile ++++ b/tipc/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk ++include ../config.include + + TIPCOBJ=bearer.o \ + cmdl.o link.o \ +--- a/vdpa/Makefile ++++ b/vdpa/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + include ../config.mk ++include ../config.include + + CFLAGS += -I./include/uapi/ + VDPAOBJ = vdpa.o +-- +2.42.0 + diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-6.5.0-mtu.patch b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-6.5.0-mtu.patch new file mode 100644 index 0000000000..f2895021eb --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-6.5.0-mtu.patch @@ -0,0 +1,50 @@ +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. +--- a/tc/tc_core.c ++++ b/tc/tc_core.c +@@ -197,12 +197,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)); +--- 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" +-- +2.42.0 + diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-default-color-auto.patch b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-default-color-auto.patch deleted file mode 100644 index eb017ecd61..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/files/iproute2-default-color-auto.patch +++ /dev/null @@ -1,7 +0,0 @@ -diff --git a/ip/ip.c b/ip/ip.c -index 40d2998a..454da1a3 100644 ---- a/ip/ip.c -+++ b/ip/ip.c -@@ -169 +169 @@ int main(int argc, char **argv) -- int color = 0; -+ int color = COLOR_OPT_AUTO; diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-5.15.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-5.15.0.ebuild deleted file mode 100644 index 0ba17bb9fd..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-5.15.0.ebuild +++ /dev/null @@ -1,175 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit toolchain-funcs flag-o-matic multilib - -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 ~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 ipv6 libbsd minimal selinux" - -# 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:= ) - libbsd? ( dev-libs/libbsd ) - selinux? ( sys-libs/libselinux ) -" -# We require newer linux-headers for ipset support #549948 and some defines #553876 -DEPEND=" - ${RDEPEND} - >=sys-kernel/linux-headers-3.16 -" -BDEPEND=" - app-arch/xz-utils - >=sys-devel/bison-2.4 - sys-devel/flex - virtual/pkgconfig -" - -PATCHES=( - "${FILESDIR}"/${PN}-3.1.0-mtu.patch #291907 - "${FILESDIR}"/${PN}-5.12.0-configure-nomagic.patch # bug 643722 - #"${FILESDIR}"/${PN}-5.1.0-portability.patch - "${FILESDIR}"/${PN}-5.7.0-mix-signal.h-include.patch -) - -doecho() { - echo "${@}" - "${@}" || die -} - -src_prepare() { - if ! use ipv6 ; then - PATCHES+=( - "${FILESDIR}"/${PN}-4.20.0-no-ipv6.patch #326849 - ) - fi - - default - - # Fix version if necessary - local versionfile="include/version.h" - if [[ "${PV}" != 9999 ]] && ! grep -Fq "${PV}" ${versionfile} ; then - einfo "Fixing version string" - sed "s@\"[[:digit:]\.]\+\"@\"${PV}\"@" \ - -i ${versionfile} || die - fi - - # echo -n is not POSIX compliant - sed 's@echo -n@printf@' -i 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 - printf '#include \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 - - # run "configure" script first which will create "config.mk"... - # Using econf breaks since 5.14.0 (a9c3d70d902a0473ee5c13336317006a52ce8242) - doecho ./configure --libbpf_force $(usex bpf on off) - - # ...now switch on/off requested features via USE flags - # this is only useful if the test did not set other things, per bug #643722 - 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 #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_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) - HAVE_LIBBSD := $(usex libbsd y n) - EOF -} - -src_compile() { - emake V=1 NETNS_RUN_DIR=/run/netns -} - -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 #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 - 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 -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.0.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.0.0.ebuild deleted file mode 100644 index b1a064050f..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.0.0.ebuild +++ /dev/null @@ -1,215 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit edo toolchain-funcs - -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 libbsd minimal nfs selinux split-usr" - -# 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:= ) - libbsd? ( dev-libs/libbsd ) - 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 - sys-devel/flex - virtual/pkgconfig -" - -PATCHES=( - "${FILESDIR}"/${PN}-3.1.0-mtu.patch # bug #291907 - "${FILESDIR}"/${PN}-5.12.0-configure-nomagic.patch # bug #643722 - #"${FILESDIR}"/${PN}-5.1.0-portability.patch - "${FILESDIR}"/${PN}-5.7.0-mix-signal.h-include.patch - "${FILESDIR}"/${PN}-default-color-auto.patch -) - -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 "s@\"[[:digit:]\.]\+\"@\"${PV}\"@" \ - -i ${versionfile} || die - fi - - # echo -n is not POSIX compliant - sed 's@echo -n@printf@' -i 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 \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 - - # run "configure" script first which will create "config.mk"... - # Using econf breaks since 5.14.0 (a9c3d70d902a0473ee5c13336317006a52ce8242) - edo ./configure --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 - - if ! use libbsd ; then - sed -i -e '/HAVE_LIBBSD/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) - HAVE_LIBBSD := $(usex libbsd y n) - EOF -} - -src_compile() { - emake V=1 NETNS_RUN_DIR=/run/netns -} - -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 - - 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 split-usr ; then - # Can remove compatibility symlink in a year: 2023-05-28. - # bug #547264 - mv "${ED}"/sbin/ss "${ED}"/bin/ss || die - dosym -r /bin/ss /sbin/ss - fi - - 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 -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.3.0.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.3.0.ebuild deleted file mode 100644 index dc076ef7f9..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.3.0.ebuild +++ /dev/null @@ -1,220 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit edo toolchain-funcs - -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 libbsd minimal nfs selinux split-usr" -# 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:= ) - libbsd? ( dev-libs/libbsd ) - 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 - sys-devel/flex - virtual/pkgconfig -" - -PATCHES=( - "${FILESDIR}"/${PN}-3.1.0-mtu.patch # bug #291907 - "${FILESDIR}"/${PN}-5.12.0-configure-nomagic.patch # bug #643722 - #"${FILESDIR}"/${PN}-5.1.0-portability.patch - "${FILESDIR}"/${PN}-5.7.0-mix-signal.h-include.patch -) - -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 "s@\"[[:digit:]\.]\+\"@\"${PV}\"@" \ - -i ${versionfile} || die - fi - - # echo -n is not POSIX compliant - sed 's@echo -n@printf@' -i 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 \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 - - # run "configure" script first which will create "config.mk"... - # Using econf breaks since 5.14.0 (a9c3d70d902a0473ee5c13336317006a52ce8242) - edo ./configure --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 - - if ! use libbsd ; then - sed -i -e '/HAVE_LIBBSD/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) - HAVE_LIBBSD := $(usex libbsd y n) - 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 - - 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 split-usr ; then - # Can remove compatibility symlink in a year: 2023-05-28. - # bug #547264 - mv "${ED}"/sbin/ss "${ED}"/bin/ss || die - dosym -r /bin/ss /sbin/ss - fi - - 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 -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.1.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.4.0-r1.ebuild similarity index 92% rename from sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.1.0-r1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.4.0-r1.ebuild index 72f3265dd8..f03d49fa17 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.1.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.4.0-r1.ebuild @@ -18,7 +18,9 @@ HOMEPAGE="https://wiki.linuxfoundation.org/networking/iproute2" LICENSE="GPL-2" SLOT="0" -IUSE="atm berkdb bpf caps elf +iptables libbsd minimal nfs selinux split-usr" +IUSE="atm berkdb bpf caps elf +iptables minimal nfs selinux split-usr" +# Needs root +RESTRICT="test" # We could make libmnl optional, but it's tiny, so eh RDEPEND=" @@ -30,7 +32,6 @@ RDEPEND=" caps? ( sys-libs/libcap ) elf? ( virtual/libelf:= ) iptables? ( >=net-firewall/iptables-1.4.20:= ) - libbsd? ( dev-libs/libbsd ) nfs? ( net-libs/libtirpc:= ) selinux? ( sys-libs/libselinux ) " @@ -48,11 +49,10 @@ BDEPEND=" PATCHES=( "${FILESDIR}"/${PN}-3.1.0-mtu.patch # bug #291907 - "${FILESDIR}"/${PN}-5.12.0-configure-nomagic.patch # bug #643722 - #"${FILESDIR}"/${PN}-5.1.0-portability.patch + "${FILESDIR}"/${PN}-5.12.0-configure-nomagic-nolibbsd.patch # bug #643722 & #911727 "${FILESDIR}"/${PN}-5.7.0-mix-signal.h-include.patch - "${FILESDIR}"/${PN}-default-color-auto.patch - "${FILESDIR}"/${PN}-6.1.0-strncpy-overlap.patch + "${FILESDIR}"/${PN}-6.4.0-add-missing-limits.h-include.patch + "${FILESDIR}"/${PN}-6.4.0-disable-libbsd-fallback.patch # bug #911727 ) src_prepare() { @@ -138,10 +138,6 @@ src_configure() { sed -i -e '/HAVE_SELINUX/d' config.mk || die fi - if ! use libbsd ; then - sed -i -e '/HAVE_LIBBSD/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. @@ -160,7 +156,6 @@ src_configure() { IP_CONFIG_SETNS := ${setns} # Use correct iptables dir, bug #144265, bug #293709 IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir) - HAVE_LIBBSD := $(usex libbsd y n) EOF } @@ -168,6 +163,10 @@ src_compile() { emake V=1 NETNS_RUN_DIR=/run/netns } +src_test() { + emake check +} + src_install() { if use minimal ; then into / diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.2.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.5.0.ebuild similarity index 91% rename from sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.2.0-r1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.5.0.ebuild index dc076ef7f9..92b9a7188d 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.2.0-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-6.5.0.ebuild @@ -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" @@ -18,7 +18,7 @@ HOMEPAGE="https://wiki.linuxfoundation.org/networking/iproute2" LICENSE="GPL-2" SLOT="0" -IUSE="atm berkdb bpf caps elf +iptables libbsd minimal nfs selinux split-usr" +IUSE="atm berkdb bpf caps elf +iptables minimal nfs selinux split-usr" # Needs root RESTRICT="test" @@ -32,7 +32,6 @@ RDEPEND=" caps? ( sys-libs/libcap ) elf? ( virtual/libelf:= ) iptables? ( >=net-firewall/iptables-1.4.20:= ) - libbsd? ( dev-libs/libbsd ) nfs? ( net-libs/libtirpc:= ) selinux? ( sys-libs/libselinux ) " @@ -49,10 +48,10 @@ BDEPEND=" " PATCHES=( - "${FILESDIR}"/${PN}-3.1.0-mtu.patch # bug #291907 - "${FILESDIR}"/${PN}-5.12.0-configure-nomagic.patch # bug #643722 - #"${FILESDIR}"/${PN}-5.1.0-portability.patch + "${FILESDIR}"/${PN}-6.5.0-mtu.patch # bug #291907 + "${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 ) src_prepare() { @@ -138,10 +137,6 @@ src_configure() { sed -i -e '/HAVE_SELINUX/d' config.mk || die fi - if ! use libbsd ; then - sed -i -e '/HAVE_LIBBSD/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. @@ -160,7 +155,6 @@ src_configure() { IP_CONFIG_SETNS := ${setns} # Use correct iptables dir, bug #144265, bug #293709 IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir) - HAVE_LIBBSD := $(usex libbsd y n) EOF } diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-9999.ebuild index 32423402a1..04c74af7ff 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/iproute2/iproute2-9999.ebuild @@ -18,7 +18,7 @@ HOMEPAGE="https://wiki.linuxfoundation.org/networking/iproute2" LICENSE="GPL-2" SLOT="0" -IUSE="atm berkdb bpf caps elf +iptables libbsd minimal nfs selinux split-usr" +IUSE="atm berkdb bpf caps elf +iptables minimal nfs selinux split-usr" # Needs root RESTRICT="test" @@ -32,7 +32,6 @@ RDEPEND=" caps? ( sys-libs/libcap ) elf? ( virtual/libelf:= ) iptables? ( >=net-firewall/iptables-1.4.20:= ) - libbsd? ( dev-libs/libbsd ) nfs? ( net-libs/libtirpc:= ) selinux? ( sys-libs/libselinux ) " @@ -50,9 +49,9 @@ BDEPEND=" PATCHES=( "${FILESDIR}"/${PN}-3.1.0-mtu.patch # bug #291907 - "${FILESDIR}"/${PN}-5.12.0-configure-nomagic.patch # bug #643722 - #"${FILESDIR}"/${PN}-5.1.0-portability.patch + "${FILESDIR}"/${PN}-5.12.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 ) src_prepare() { @@ -138,10 +137,6 @@ src_configure() { sed -i -e '/HAVE_SELINUX/d' config.mk || die fi - if ! use libbsd ; then - sed -i -e '/HAVE_LIBBSD/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. @@ -160,7 +155,6 @@ src_configure() { IP_CONFIG_SETNS := ${setns} # Use correct iptables dir, bug #144265, bug #293709 IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir) - HAVE_LIBBSD := $(usex libbsd y n) EOF }