summaryrefslogtreecommitdiff
path: root/sys-apps/iproute2
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-12-21 01:52:56 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-12-21 01:52:56 +0000
commitb46782805d0eed36ce9685f7e9abf25671f24d7d (patch)
tree4b7992f7355b710c35a7c4bfff9b57eb64e4c8b5 /sys-apps/iproute2
parentd4d7098dcb2f9dd257109bbcb55fd40beda1b78d (diff)
gentoo auto-resync : 21:12:2022 - 01:52:55
Diffstat (limited to 'sys-apps/iproute2')
-rw-r--r--sys-apps/iproute2/Manifest6
-rw-r--r--sys-apps/iproute2/files/iproute2-5.19.0-musl.patch48
-rw-r--r--sys-apps/iproute2/files/iproute2-5.19.0-setns-check.patch22
-rw-r--r--sys-apps/iproute2/iproute2-5.18.0-r1.ebuild210
-rw-r--r--sys-apps/iproute2/iproute2-5.19.0-r3.ebuild217
5 files changed, 0 insertions, 503 deletions
diff --git a/sys-apps/iproute2/Manifest b/sys-apps/iproute2/Manifest
index 4953c1278d0c..4135dad5852a 100644
--- a/sys-apps/iproute2/Manifest
+++ b/sys-apps/iproute2/Manifest
@@ -1,18 +1,12 @@
AUX iproute2-3.1.0-mtu.patch 1649 BLAKE2B cbecd9770391ca7c7f25b860a95bb5b2783073b333084874b18de85f5a9072ab3922e083f726ab1e6f58f0334b515968b1e3651abcd7fc6f603def0492da79cb SHA512 5479c2085b4aca958a89d3e265ebc3763c9e7cb273bd4046d7b7585209739f75ff04cc9b84d8eb9e3afae821ff788f0f0c7ab443260ab07943b6fad6946403e1
AUX iproute2-4.20.0-no-ipv6.patch 1334 BLAKE2B 612fa64a897fe8c601aca529a09508cc865f2f0fb7cb865ba28f3369748086622b6910f25052047c972f495b5e20014cdf6e9f73b230124f372cfe6301bc0bf2 SHA512 f4b42667d4433225b2e4272b6e629fc43b73ede02ac0e706d2e46d81ffcecd19ca45b8b9789904b4bd6d10d34c82239f9b3c33cfcf3f9e5b309d828a3494c864
AUX iproute2-5.12.0-configure-nomagic.patch 6967 BLAKE2B 8707ace3766d2bb797901886032bbbfc78b3116b548d317038144307a52ba86a01dc49460fa8b4524f03de3abc5b56f4901a9cb24f1f6cacfbd7a5b92cea7145 SHA512 a6184d1fc150717ab40a278c2a6ce439ea04e9967d55f1d10fecc8162452a1a38a6e11c2f736c5aebfe0ffe726bfa80e154169004ccc571b89dcef9c0dbe1242
-AUX iproute2-5.19.0-musl.patch 1418 BLAKE2B 280fdf5b38652320bde967ff22dbd7a27a5829190396c74ba688ed75643162b7c97e62606c747520c8bd57d6a2437a0c35ff267ffe8a70621e773b7bb5d8df99 SHA512 c94f2ad23054fcb98dda7bab770812570c82ace0e961892383f12a0cc7647e85bd452a29119b70e3829ae659c6e492f82782b9194cfb5b924503b778e5ca3e78
-AUX iproute2-5.19.0-setns-check.patch 667 BLAKE2B 876c9425dcd6dad9b1da4a84c4e55703333e745b8b3ef7cdabe82a70ea028eb4ba75d47fbd151c1a5ce6722f6202cc11ee0f1976dcb8d33917afcfe5ffe501bd SHA512 47cefe9bfab5441d8efc633e0409be15727ae5fec207ed5d101fa27c332bd2d3e0bdc21304b8fc49a1e2b27e122d259fcc67f6225b219978f0395de613c1d00c
AUX iproute2-5.7.0-mix-signal.h-include.patch 213 BLAKE2B ad6def6d017ff1d78587d1bfb9d92379983d989d9d4a396e773f02c655ac14c57cc25c5d4e37fbdb0e0d1cb1d35fc94ee70077b81d1285ac2d58cb1b19fa69db SHA512 09a9d450179b06c434a41b7bdd8d4a47b8ca2303de3d08b2b101e8695aec28e5d1e454a8c62e1b71d66b6e776dc6975f2837acc0a0f8a2a3f1e31b1eb56b71e3
AUX iproute2-default-color-auto.patch 186 BLAKE2B 4f751e1292d7f14c8fac68c115c666f51d2494cb6d68d2da18e7fd6f694ea1d01b0731488b9482ed41cff8b985140d4bbee135861209d1a8f90ce26a7d972485 SHA512 d47ea460a1d92504184d9063c0539f69e7807204c17eefbb0342a27f30745ccb80e2f7ff61e516f3086516e66e0e68d361312bd6a0babd840927a57ef2fe9793
DIST iproute2-5.15.0.tar.xz 858068 BLAKE2B bca20ac53e1b2b3ae06186f655ad5073a0e691ed7b3aab25c4fbc118847b72a8a522175732cd22d8ec27480d1ab142319e80a5c3628434bec21260e585e1591d SHA512 e94918fa10e523224b965c7cb5303a101745e89c90d149d2d9876a002b2a894b1c689c519dc22168f3d334c3ee0810c59ec43223baab3d5f4c56f017d6281f22
-DIST iproute2-5.18.0.tar.xz 880456 BLAKE2B 21b15d84b07199d4ddd12cbf14d94806a073f4eda659958a8459ef2ca8becbef8638dac2550cc53893cd147888b6a3b738256dac074307b37ebec8dbb460e600 SHA512 7b43c89741a8ffe8fd529ac4ee19c8eab7dce2f064de494c160c75456ffb960fb5f1e78c868ab98360dafde28d5e2c4d58177135b6d380e80e06eba9e3eaf068
-DIST iproute2-5.19.0.tar.xz 892696 BLAKE2B ee287065d7c33c0fa97f0fc130bb3a4a3ad5ac9417ad74ce8489e64ec146ff97749d79bb6563043c8835eab91a51631576441d450693cb50808ad0d37b2ea648 SHA512 eb0fffb153f7cecc89b5573b7fc211d67fb1c06789fd3b0aec75ba5032521d53c51ccc52db7367e41397993df50244af84763b0b1d5a76d9dfccf013c010131b
DIST iproute2-6.0.0.tar.xz 900312 BLAKE2B 1cfb9b5a7892dec2b35e0eadbd957083e95fdc5077a1aa193329801ff25f9ed90a1fc4152756547be1fab8fe18d9a399001a4c3a61e951f64946156af6a90bae SHA512 be30362b0df6906aa786f935d5f555b8b86c747fe05314066f4180ab2f7c952ae227b7cf04c15e75d8f99ca17bafb7c8dc0fb1c18f3a9e3222d98716bb449f7a
DIST iproute2-6.1.0.tar.xz 905512 BLAKE2B 38249703e0a9ba74405aebdb97560b286deefa959a9c3f0e0893962b6966f5da2da46199dda6a0f9584bb473f8ba529440643d97f66e9b7619df029e3091d163 SHA512 4e4d3b5e1e1a5444f42671c1e6caee072e80063e34e37386695f76f85a1ab662f4513050814006e5154426cbaadfba1d86b0be14e65978d5e670a16446047b28
EBUILD iproute2-5.15.0.ebuild 4994 BLAKE2B bc73ac11db47b0d52926149af6546fe81fd94354ca48aad8f452c5fedeebc1629d847ba653175bdb18172a3d74c9e8c6026ffd8f3436130985929e38f4e0dec6 SHA512 5737c4bd54bc283c1c50c9b2f5e7c87f8b40d2665e15d72a05893d890427d1c389d2f6c857bd8ca0db2d38996dadea810b5a11f061e95830347ff7f864bd7f7e
-EBUILD iproute2-5.18.0-r1.ebuild 5803 BLAKE2B 5be3d8f2c91cb5d1e8d6b13d9a736e75d6066922caacaae94881b37e4cb963ed14eb185a68e745e484ec29fbd66c33a0deeccee75065af8fa292bfea945406fd SHA512 e42d7f42d7cab34838b1cc3984083d143ccf2d02743ed0ad14e091ae0fd4a3c4d8c82113cd813a1e517c527dac7915c5908e2503ddf8fedb2f46eb65675bb266
-EBUILD iproute2-5.19.0-r3.ebuild 6020 BLAKE2B 86761a5001746be00a658445202a5135a448f46b22f7e07ede80be9c870779da16f8677e4c2544bf100e3dd4ff5d7c4fe2714866f8367469cb26aa965d58c4b0 SHA512 2910286974fb7a5630c824b934efb41045fbe361ebd366d0e143a09c648ab332ccb9314e0174409b65f7fbb66a3f7912841f87c875a34858aa8c22bb2f0f2d74
EBUILD iproute2-6.0.0.ebuild 5943 BLAKE2B d85a48405ed9359c187e770afdd7583f54c3905ee5b58488a604369957333a79c9d0f3c3964436116e5799ad9d8e7ade1ad51c02d89cb10983b9d5f11d015297 SHA512 6df97340ce887a0f9a1319c5a4458872cf8157c3131cb8dd27027fd18867571a6b80267974c1c0009996e4fd8fa6431434d5ae61ab2fc0b0c988ba3668c7f84e
EBUILD iproute2-6.1.0.ebuild 5951 BLAKE2B 88d5f8622e202a4fab367d17ad8dd92b1fe5c28acdc525398856f99a943f1058066cc4a61b094a6b997683f4306ec81b34a9c5b8281e4c195e3aa3f50d148ddc SHA512 5734f8baa085cbac1f5793bb8f70d12890dddf8e66748c9fdab68dabd08c21123311d88d49a8dcaf3a0f53147c097483134124124687b337a4a89a1922832014
EBUILD iproute2-9999.ebuild 5951 BLAKE2B 88d5f8622e202a4fab367d17ad8dd92b1fe5c28acdc525398856f99a943f1058066cc4a61b094a6b997683f4306ec81b34a9c5b8281e4c195e3aa3f50d148ddc SHA512 5734f8baa085cbac1f5793bb8f70d12890dddf8e66748c9fdab68dabd08c21123311d88d49a8dcaf3a0f53147c097483134124124687b337a4a89a1922832014
diff --git a/sys-apps/iproute2/files/iproute2-5.19.0-musl.patch b/sys-apps/iproute2/files/iproute2-5.19.0-musl.patch
deleted file mode 100644
index e907ba9454bf..000000000000
--- a/sys-apps/iproute2/files/iproute2-5.19.0-musl.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-https://bugs.gentoo.org/864771
-https://github.com/shemminger/iproute2/commit/cf6b60c504d4be5e1df2b2745e55d677967831d0
-https://github.com/shemminger/iproute2/commit/28c740473510cd911b97cc5d7d23bd809a0f200b
-
-From cf6b60c504d4be5e1df2b2745e55d677967831d0 Mon Sep 17 00:00:00 2001
-From: Changhyeok Bae <changhyeok.bae@gmail.com>
-Date: Tue, 9 Aug 2022 04:01:05 +0000
-Subject: [PATCH] ipstats: Add param.h for musl
-
-Fix build error for musl
-| /usr/src/debug/iproute2/5.19.0-r0/iproute2-5.19.0/ip/ipstats.c:231: undefined reference to `MIN'
-
-Signed-off-by: Changhyeok Bae <changhyeok.bae@gmail.com>
---- a/ip/ipstats.c
-+++ b/ip/ipstats.c
-@@ -1,6 +1,7 @@
- // SPDX-License-Identifier: GPL-2.0+
- #include <assert.h>
- #include <errno.h>
-+#include <sys/param.h>
-
- #include "list.h"
- #include "utils.h"
-
-From 28c740473510cd911b97cc5d7d23bd809a0f200b Mon Sep 17 00:00:00 2001
-From: Stephen Hemminger <stephen@networkplumber.org>
-Date: Tue, 9 Aug 2022 13:27:33 -0700
-Subject: [PATCH] ipstats: add missing headers
-
-IWYU reports several headers are not explicitly
-included by ipstats.
-
-Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---- a/ip/ipstats.c
-+++ b/ip/ipstats.c
-@@ -1,7 +1,11 @@
- // SPDX-License-Identifier: GPL-2.0+
-+#include <alloca.h>
- #include <assert.h>
- #include <errno.h>
-+#include <stdio.h>
-+#include <string.h>
- #include <sys/param.h>
-+#include <sys/socket.h>
-
- #include "list.h"
- #include "utils.h"
-
diff --git a/sys-apps/iproute2/files/iproute2-5.19.0-setns-check.patch b/sys-apps/iproute2/files/iproute2-5.19.0-setns-check.patch
deleted file mode 100644
index ff97d12195e2..000000000000
--- a/sys-apps/iproute2/files/iproute2-5.19.0-setns-check.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-https://github.com/shemminger/iproute2/commit/d5fe96ab70928508f072a47449e9b641e46de323
-
-From d5fe96ab70928508f072a47449e9b641e46de323 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 10 Aug 2022 22:34:40 -0700
-Subject: [PATCH] configure: Define _GNU_SOURCE when checking for setns
-
-glibc defines this function only as gnu extention
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---- a/configure
-+++ b/configure
-@@ -191,6 +191,7 @@ check_ipt_lib_dir()
- check_setns()
- {
- cat >$TMPDIR/setnstest.c <<EOF
-+#define _GNU_SOURCE
- #include <sched.h>
- int main(int argc, char **argv)
- {
-
diff --git a/sys-apps/iproute2/iproute2-5.18.0-r1.ebuild b/sys-apps/iproute2/iproute2-5.18.0-r1.ebuild
deleted file mode 100644
index c0e45a9ec79e..000000000000
--- a/sys-apps/iproute2/iproute2-5.18.0-r1.ebuild
+++ /dev/null
@@ -1,210 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit eapi8-dosym 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
-)
-
-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 <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
-
- # 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
-
- 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
- dosym8 -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/sys-apps/iproute2/iproute2-5.19.0-r3.ebuild b/sys-apps/iproute2/iproute2-5.19.0-r3.ebuild
deleted file mode 100644
index a201d0f68938..000000000000
--- a/sys-apps/iproute2/iproute2-5.19.0-r3.ebuild
+++ /dev/null
@@ -1,217 +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}"/${P}-musl.patch
- "${FILESDIR}"/${P}-setns-check.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 <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
-
- # 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
-}