From fc2f1018fc323ef2c6572734a9b130427cba76a6 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 3 Nov 2021 06:47:15 +0000 Subject: gentoo resync : 03.11.2021 --- sys-apps/iproute2/Manifest | 2 + sys-apps/iproute2/iproute2-5.15.0.ebuild | 175 +++++++++++++++++++++++++++++++ 2 files changed, 177 insertions(+) create mode 100644 sys-apps/iproute2/iproute2-5.15.0.ebuild (limited to 'sys-apps/iproute2') diff --git a/sys-apps/iproute2/Manifest b/sys-apps/iproute2/Manifest index ea70bb331529..827eeea13e65 100644 --- a/sys-apps/iproute2/Manifest +++ b/sys-apps/iproute2/Manifest @@ -4,7 +4,9 @@ AUX iproute2-5.12.0-configure-nomagic.patch 6967 BLAKE2B 8707ace3766d2bb79790188 AUX iproute2-5.7.0-mix-signal.h-include.patch 213 BLAKE2B ad6def6d017ff1d78587d1bfb9d92379983d989d9d4a396e773f02c655ac14c57cc25c5d4e37fbdb0e0d1cb1d35fc94ee70077b81d1285ac2d58cb1b19fa69db SHA512 09a9d450179b06c434a41b7bdd8d4a47b8ca2303de3d08b2b101e8695aec28e5d1e454a8c62e1b71d66b6e776dc6975f2837acc0a0f8a2a3f1e31b1eb56b71e3 DIST iproute2-5.13.0.tar.xz 845236 BLAKE2B e1c148e2a720236163e7f4d46aa38d244a02ae36ad86571c5606d54c9ccfd8d0363e2fb793d48cf39aae322b3c36b9f8a43eaf570dbdb8243092926cef3d2786 SHA512 a3286639fb303a7c3c553cb5df0a7336c4c67e53eb05e872d2776b771dbfa36ffdf2df140f570275db6785c882992f469f8eb34a5b506aac876216df7dde245d DIST iproute2-5.14.0.tar.xz 853572 BLAKE2B 52544021798f2cb716a57998d98dadc2441142b02d38c7e274bc17a6e5f994bdb5bd3ebf0b896bfd7e327a44f00f92c2af8e67367cdc0aac70769d563082f543 SHA512 e2b9b0a2c3e6fc4c67cb50b0a9bf710e749648b83369a49bf905edd7e519d76c50c2cc818bb63cc605c409c66075d4d371f2371796e5f7a8f9d04101b80ef75c +DIST iproute2-5.15.0.tar.xz 858068 BLAKE2B bca20ac53e1b2b3ae06186f655ad5073a0e691ed7b3aab25c4fbc118847b72a8a522175732cd22d8ec27480d1ab142319e80a5c3628434bec21260e585e1591d SHA512 e94918fa10e523224b965c7cb5303a101745e89c90d149d2d9876a002b2a894b1c689c519dc22168f3d334c3ee0810c59ec43223baab3d5f4c56f017d6281f22 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 5002 BLAKE2B 16e104c4b842b0ac1b0492c3d6f332e8d786f40fa258459b49dba84eb3f8fe278850f56b21deae22a81e5229be13353de8df9c824d15fc5adb635b91320f0049 SHA512 eac1d23f28cbfccdaae9e68a2b003bb62463895e4fa9d0dfa3833a0ed88eecad9433929c36e1e30de0de12dbe2a71ea8b86e585d94c6861939bf46aa015bed01 EBUILD iproute2-9999.ebuild 5002 BLAKE2B 16e104c4b842b0ac1b0492c3d6f332e8d786f40fa258459b49dba84eb3f8fe278850f56b21deae22a81e5229be13353de8df9c824d15fc5adb635b91320f0049 SHA512 eac1d23f28cbfccdaae9e68a2b003bb62463895e4fa9d0dfa3833a0ed88eecad9433929c36e1e30de0de12dbe2a71ea8b86e585d94c6861939bf46aa015bed01 MISC metadata.xml 814 BLAKE2B a74c3bee84fc81acfeee405c22b84ca9a10f2daf4be9d496202cbc5a2595f7222b864f4105f5dd46ec45e7de57b6ffff991f907da6378293267209b9eafe91d5 SHA512 74936295cae7e84f39ea6dd8e6bee613bed9e9716c6a96aa8f497be96b14367a2d8829db3ed108b760afdd196c5dbc9f32b14f29f5a0939e47b15d7a68aeca4a diff --git a/sys-apps/iproute2/iproute2-5.15.0.ebuild b/sys-apps/iproute2/iproute2-5.15.0.ebuild new file mode 100644 index 000000000000..367b3541cbfe --- /dev/null +++ b/sys-apps/iproute2/iproute2-5.15.0.ebuild @@ -0,0 +1,175 @@ +# 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 +} -- cgit v1.2.3