diff options
Diffstat (limited to 'sys-apps/iproute2')
-rw-r--r-- | sys-apps/iproute2/Manifest | 2 | ||||
-rw-r--r-- | sys-apps/iproute2/iproute2-5.17.0.ebuild | 169 |
2 files changed, 171 insertions, 0 deletions
diff --git a/sys-apps/iproute2/Manifest b/sys-apps/iproute2/Manifest index 33252ee0d24d..5f581b5ef775 100644 --- a/sys-apps/iproute2/Manifest +++ b/sys-apps/iproute2/Manifest @@ -7,9 +7,11 @@ DIST iproute2-5.13.0.tar.xz 845236 BLAKE2B e1c148e2a720236163e7f4d46aa38d244a02a DIST iproute2-5.14.0.tar.xz 853572 BLAKE2B 52544021798f2cb716a57998d98dadc2441142b02d38c7e274bc17a6e5f994bdb5bd3ebf0b896bfd7e327a44f00f92c2af8e67367cdc0aac70769d563082f543 SHA512 e2b9b0a2c3e6fc4c67cb50b0a9bf710e749648b83369a49bf905edd7e519d76c50c2cc818bb63cc605c409c66075d4d371f2371796e5f7a8f9d04101b80ef75c DIST iproute2-5.15.0.tar.xz 858068 BLAKE2B bca20ac53e1b2b3ae06186f655ad5073a0e691ed7b3aab25c4fbc118847b72a8a522175732cd22d8ec27480d1ab142319e80a5c3628434bec21260e585e1591d SHA512 e94918fa10e523224b965c7cb5303a101745e89c90d149d2d9876a002b2a894b1c689c519dc22168f3d334c3ee0810c59ec43223baab3d5f4c56f017d6281f22 DIST iproute2-5.16.0.tar.xz 862504 BLAKE2B 370068ccb02b0f3cb77b662509279872af676f2bdd03b92a01a227ed08d70d8fd0545667a04250c76dbae92ccec094d8b8749e272eb9a0acaccbe421cea6b1d5 SHA512 11ebe1951c97a072d3374d14149e94e44d2f309ff6b00a3f163dae3e174c156ca802ebeeddead069c01ccc6275a65b4396fda78d67144f80cea69297f655de93 +DIST iproute2-5.17.0.tar.xz 870908 BLAKE2B 4310829ebbde7fd21ecc28856deddabfa93f26bf7937b3ef3c0e05e4e0bf925a9b167334efaefe3e275d196e7370a290679739ae8d8397dc6511f4da25dfd459 SHA512 fcffe96fb4819305ddf5c3764b100bd1d204069cf53a6bd776c2716144f574b4fc17963fc231a83ad253cce6a563814556eeb60b211ba9b0b87330186259b34d EBUILD iproute2-5.13.0-r1.ebuild 4864 BLAKE2B e62ccfe102bad1106e0345e5a986090408c8737ec3b96815250c07d54ef96fc14531d21a2389de46f68d64102a97568096038dadf4c899c0f1ad7f5257381d8e SHA512 681689226fda0bdc8947e2c26420cdad6e971eecb9816a562002fa6e2ce673859ee2b648bb83c9be6bfa3f86033314063b214dc36980ffedf9627ff4f5dfe889 EBUILD iproute2-5.14.0.ebuild 5002 BLAKE2B 16e104c4b842b0ac1b0492c3d6f332e8d786f40fa258459b49dba84eb3f8fe278850f56b21deae22a81e5229be13353de8df9c824d15fc5adb635b91320f0049 SHA512 eac1d23f28cbfccdaae9e68a2b003bb62463895e4fa9d0dfa3833a0ed88eecad9433929c36e1e30de0de12dbe2a71ea8b86e585d94c6861939bf46aa015bed01 EBUILD iproute2-5.15.0.ebuild 4994 BLAKE2B bc73ac11db47b0d52926149af6546fe81fd94354ca48aad8f452c5fedeebc1629d847ba653175bdb18172a3d74c9e8c6026ffd8f3436130985929e38f4e0dec6 SHA512 5737c4bd54bc283c1c50c9b2f5e7c87f8b40d2665e15d72a05893d890427d1c389d2f6c857bd8ca0db2d38996dadea810b5a11f061e95830347ff7f864bd7f7e EBUILD iproute2-5.16.0.ebuild 4988 BLAKE2B 6d39aebec3b18e3521a4f7dd430f71133ce51c9d2667f57bd9f48792e4a5dffb3d943d2d3501a545c1c86068e3b79f1e4ebebbd6d69f48d398a039eda643fe6b SHA512 2c69c4795d6a953c7ff177d7cb6f118d366d19a902b34023c26e82d8ebeb12eae906a39d75dfcbc46e04f383aa97591a5a80f72adaa8a9b60cc457e8cdc098ee +EBUILD iproute2-5.17.0.ebuild 4926 BLAKE2B b10bd40a6acb0ca3345a5ca66349e70fb170e53471249021655ca073efb72bf335ad12a9b4ba44c339657e69212083fed886b92f0bc998ffa0f34ffffa68b5e9 SHA512 1a7faee630ec6735e49ddf30bf902f7e781114fbf0ea0f14c61aa7d074a4ef871f9b3f51648f766f27a49d087c2efc314eb054147eb5bc4346c5266851b5853b EBUILD iproute2-9999.ebuild 4926 BLAKE2B b10bd40a6acb0ca3345a5ca66349e70fb170e53471249021655ca073efb72bf335ad12a9b4ba44c339657e69212083fed886b92f0bc998ffa0f34ffffa68b5e9 SHA512 1a7faee630ec6735e49ddf30bf902f7e781114fbf0ea0f14c61aa7d074a4ef871f9b3f51648f766f27a49d087c2efc314eb054147eb5bc4346c5266851b5853b MISC metadata.xml 814 BLAKE2B a74c3bee84fc81acfeee405c22b84ca9a10f2daf4be9d496202cbc5a2595f7222b864f4105f5dd46ec45e7de57b6ffff991f907da6378293267209b9eafe91d5 SHA512 74936295cae7e84f39ea6dd8e6bee613bed9e9716c6a96aa8f497be96b14367a2d8829db3ed108b760afdd196c5dbc9f32b14f29f5a0939e47b15d7a68aeca4a diff --git a/sys-apps/iproute2/iproute2-5.17.0.ebuild b/sys-apps/iproute2/iproute2-5.17.0.ebuild new file mode 100644 index 000000000000..11dfd239d1a7 --- /dev/null +++ b/sys-apps/iproute2/iproute2-5.17.0.ebuild @@ -0,0 +1,169 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit 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 ~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 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 # 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 +) + +doecho() { + echo "${@}" + "${@}" || die +} + +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 + ${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 || die + + # 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, 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_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 + # 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. # bug #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 +} |