From 2fa92a62c35310df5e2b87cf787fd665e405b620 Mon Sep 17 00:00:00 2001 From: Lars Wendler Date: Tue, 30 Jan 2018 10:08:49 +0100 Subject: [PATCH] sys-apps/iproute2: Bump to version 4.15.0 Package-Manager: Portage-2.3.21, Repoman-2.3.6 --- sys-apps/iproute2/Manifest | 1 + sys-apps/iproute2/iproute2-4.15.0.ebuild | 151 +++++++++++++++++++++++ 2 files changed, 152 insertions(+) create mode 100644 sys-apps/iproute2/iproute2-4.15.0.ebuild diff --git a/sys-apps/iproute2/Manifest b/sys-apps/iproute2/Manifest index ed486c0c47401..6ddffa5d07691 100644 --- a/sys-apps/iproute2/Manifest +++ b/sys-apps/iproute2/Manifest @@ -4,6 +4,7 @@ DIST iproute2-4.12.0.tar.xz 662424 BLAKE2B 6c6608d4a157e46932834c09e91d6a786a04c DIST iproute2-4.13.0.tar.xz 670340 BLAKE2B 379072c0865e8960b46065454e9bdf3a9cb7af45b32a2fff8e89bef8d60e837419bea60df1343b4bb15db624feb3ce4acbe621b4c44405c43fa729e770bb04a3 SHA512 f96d2839aec1f439bfac504c8e3881c063dacbf4c67b15f0e3da9882d2fa013cba33c23602de3eab624e0eecbb911a13967d60bddcdf097f47a580a5a77b5e3a DIST iproute2-4.14.0.tar.xz 636872 BLAKE2B 57fac46b7083a3f6343646b31dd545e98604298f1290913a02cb9c5604ae1454cc3695ffcff6802b91c221681bc436bef4d28cdedad2b054f774dc1bb72f3b17 SHA512 dda8b7881d82d6d38449d69df362bd3eedde6c7f4dd315d6eaf7969673805faf82675e1df04d7dc35a826b0df429a400a3f8ac0e998c1de0d6ca500e722f058e DIST iproute2-4.14.1.tar.xz 636876 BLAKE2B 232dbe29b9af516d8345c86c044359d3b0cfe73fb88a2ba1dcd05534b52dea37c9155d2b273a4a0d40b55fba8b5503a0fbe5bc71f37864c0a2ba9d6f08b6bf41 SHA512 e593b68c46ef5f98bd6911ee7beb38388a14935a29fefabdeccc96aa012593b6f3a49b3bb1baed7d77e54f1f4a857172e058b73407f4070f158b8713f44f5d2c +DIST iproute2-4.15.0.tar.xz 648836 BLAKE2B e7f3a027ec88de7c6ac82c5529b37fdf22311bc9290e71662bc3b1e32d4cb6a1845e2badb961a21b50b5ed1b9d23130e512a011767183f7df1b33eb05101044b SHA512 bcc54b8dc83d7b0e759a2de77eb38fed483d7f7f82698f482e0259000f2f55ba79c556b721730eb999e85c865ad136fd7549304ebe936545e02e848ba7f698bc DIST iproute2-4.4.0.tar.xz 528552 BLAKE2B cad90d2734647a5a5e90b0a8b1337656c6480471caa06beee54fb3abd9c3bc64fc21da349d9b8aa0decf6208de325dd37a9e02fd9e994b024f9142dcd229b87c SHA512 48236fc6103a55d977efa4f93ad7fdfc0944df975ce771d57fd3dcfb13b761b0c05dbe749978ac86c7a471d023bee62a2f1648a6ca75f50da9252acfde174b69 DIST iproute2-4.5.0.tar.xz 554500 BLAKE2B b64933bd0bf572796705ce2559b1c6cf7faf2f9ac11e1a94a09a428b0039216df8b2ce72a9783e84825a12baaa08526f724d385c6c7e5f6a0d86c3d1662ab822 SHA512 d12be24cf7a1102be8e449d1e95fa67b784d505e98fcf2f18caedf0136fb378dc439f74a75bc0d6ef5b2893e5ca1968e122054404c1f4d1a212aeb0fba1c5860 DIST iproute2-4.6.0.tar.xz 570960 BLAKE2B e49dc56615490aa7d7cec20830b2866c3e00b08a25ab92bf94d30cc1d7e60e5f10982aa379502a0e5279748c9504e67603f0b947376b6d2991838516b55ef4c9 SHA512 1e3868ced65012da6724744eb15e6bb8e2c5bf8d7a46cf2b655526de1a9e1224c7b7e9bd4a88e40516b5648955987eb9001600ca5afbd507bc664f92b51ede9f diff --git a/sys-apps/iproute2/iproute2-4.15.0.ebuild b/sys-apps/iproute2/iproute2-4.15.0.ebuild new file mode 100644 index 0000000000000..f38e3db1ff8f3 --- /dev/null +++ b/sys-apps/iproute2/iproute2-4.15.0.ebuild @@ -0,0 +1,151 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit toolchain-funcs flag-o-matic multilib + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git" + inherit git-r3 +else + SRC_URI="mirror://kernel/linux/utils/net/${PN}/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" +fi + +DESCRIPTION="kernel routing and traffic control utilities" +HOMEPAGE="https://wiki.linuxfoundation.org/networking/iproute2" + +LICENSE="GPL-2" +SLOT="0" +IUSE="atm berkdb +iptables ipv6 minimal selinux" + +# We could make libmnl optional, but it's tiny, so eh +RDEPEND=" + !net-misc/arpd + !minimal? ( net-libs/libmnl virtual/libelf ) + iptables? ( >=net-firewall/iptables-1.4.20:= ) + berkdb? ( sys-libs/db:= ) + atm? ( net-dialup/linux-atm ) + selinux? ( sys-libs/libselinux ) +" +# We require newer linux-headers for ipset support #549948 and some defines #553876 +DEPEND=" + ${RDEPEND} + app-arch/xz-utils + iptables? ( virtual/pkgconfig ) + >=sys-devel/bison-2.4 + sys-devel/flex + >=sys-kernel/linux-headers-3.16 + elibc_glibc? ( >=sys-libs/glibc-2.7 ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-3.1.0-mtu.patch #291907 + "${FILESDIR}"/${PN}-4.14.1-configure-nomagic.patch # bug 643722 +) + +src_prepare() { + if ! use ipv6 ; then + PATCHES+=( + "${FILESDIR}"/${PN}-4.11.0-no-ipv6.patch #326849 + ) + fi + + default + + sed -i \ + -e '/^CC :\?=/d' \ + -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \ + -e "s:-O2:${CFLAGS} ${CPPFLAGS}:" \ + -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \ + -e "/^WFLAGS/s:-Werror::" \ + -e "/^DBM_INCLUDE/s:=.*:=${T}:" \ + Makefile || die + + # Use /run instead of /var/run. + sed -i \ + -e 's:/var/run:/run:g' \ + include/namespace.h \ + man/man8/ip-netns.8 || die + + # build against system headers + rm -r include/netinet #include/linux include/ip{,6}tables{,_common}.h include/libiptc + sed -i 's:TCPI_OPT_ECN_SEEN:16:' misc/ss.c || die + + use minimal && sed -i -e '/^SUBDIRS=/s:=.*:=lib tc ip:' Makefile +} + +src_configure() { + tc-export AR CC PKG_CONFIG + + # This sure is ugly. Should probably move into toolchain-funcs at some point. + local setns + pushd "${T}" >/dev/null + printf '#include \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"... + econf + + # ...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_MNL := $(usex minimal n y) + HAVE_ELF := $(usex minimal n y) + HAVE_SELINUX := $(usex selinux y n) + IP_CONFIG_SETNS := ${setns} + # Use correct iptables dir, #144265 #293709 + IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir) + EOF +} + +src_compile() { + emake V=1 +} + +src_install() { + if use minimal ; then + into / + dosbin tc/tc + dobin ip/ip + return 0 + fi + + emake \ + DESTDIR="${D}" \ + LIBDIR="${EPREFIX%/}"/$(get_libdir) \ + SBINDIR="${EPREFIX%/}"/sbin \ + CONFDIR="${EPREFIX%/}"/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 + dodir /var/lib/arpd + # bug 47482, arpd doesn't need to be in /sbin + dodir /usr/bin + mv "${ED%/}"/sbin/arpd "${ED%/}"/usr/bin/ || die + fi +}