summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wendler <polynomial-c@gentoo.org>2019-03-19 21:40:52 +0100
committerLars Wendler <polynomial-c@gentoo.org>2019-03-19 21:41:12 +0100
commit1964e0f20e5c2607e70b413f18c0ebdefd1bcf0f (patch)
tree7694987d7998012429308ab30bca3465eed6ef82
parentsys-apps/iproute2: Synced live ebuild. (diff)
downloadgentoo-1964e0f20e5c2607e70b413f18c0ebdefd1bcf0f.tar.gz
gentoo-1964e0f20e5c2607e70b413f18c0ebdefd1bcf0f.tar.bz2
gentoo-1964e0f20e5c2607e70b413f18c0ebdefd1bcf0f.zip
sys-apps/iproute2: Bump to version 5.0.0
Package-Manager: Portage-2.3.62, Repoman-2.3.12 Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
-rw-r--r--sys-apps/iproute2/Manifest1
-rw-r--r--sys-apps/iproute2/iproute2-5.0.0.ebuild157
2 files changed, 158 insertions, 0 deletions
diff --git a/sys-apps/iproute2/Manifest b/sys-apps/iproute2/Manifest
index 683c8dc8668..af93bcdc1ca 100644
--- a/sys-apps/iproute2/Manifest
+++ b/sys-apps/iproute2/Manifest
@@ -2,3 +2,4 @@ DIST iproute2-4.14.1.tar.xz 636876 BLAKE2B 232dbe29b9af516d8345c86c044359d3b0cfe
DIST iproute2-4.17.0.tar.xz 675268 BLAKE2B 3d1455c119c9c56b11a64092c152fcea2b161f571006878215425b95deef779fed523368252ce672a1a70251c019edbe6ff2bdac8c3ee8abab1fb29e2a3c669c SHA512 ccd7fb70afd58f1fcd4e17c38a24607207da853c4d6118fda423efa6e51faad3ad03c4d6d58a579c40ef9c68aaf13b1c455e12b0c36e155712d3d4db3c2ff4b5
DIST iproute2-4.19.0.tar.xz 720408 BLAKE2B 2d0ece5dd8f1beb7912d025c269a9edd2ecd87aea04971a28eca9f9b7ea82d0e4aa397c9338c0cb6cb463887678a541a5407644e82244ffbbae0eb8f6ac088e8 SHA512 47c750da2247705b1b1d1621f58987333e54370d0fff2f24106194022de793ff35dfd67fd1be127ce019008705702092d31dac49abf930a7c0dc5c7e7c0665b8
DIST iproute2-4.20.0.tar.xz 707016 BLAKE2B d62c6b995c4c1f79617e2f8149ff2ed297d741965e81bffebfa475514f5e96f0c9300e65d12bdd14ab492ce66675677eb41af6816876d5e1360218e4f32f4bc8 SHA512 ed29638c864062e199152c7b3b24b6495987ca6f79cc9ab1b529dab37a8a840fa2b5858d5db2b94eeefa1c0d72ff666a790107e27d11a597b189bfb7a01a4b8b
+DIST iproute2-5.0.0.tar.xz 710656 BLAKE2B 0adf7554c4d3d16821297158e025894efdb72834b93caa89521e200c70e287e7d1ebebd22dd91593483ed4e2f3274b370bbb786b9c249263c84b2345a1f5b358 SHA512 4b1649ccdfefbb5eace9d444843492db9d1357b9b3ee1567d6241283cde00ad3c9dbee6b8e507c4e9a5ca0a6378b71ca0c5fbf1e2ed2a9c7d479daf5d49eaed0
diff --git a/sys-apps/iproute2/iproute2-5.0.0.ebuild b/sys-apps/iproute2/iproute2-5.0.0.ebuild
new file mode 100644
index 00000000000..c6720ff8aed
--- /dev/null
+++ b/sys-apps/iproute2/iproute2-5.0.0.ebuild
@@ -0,0 +1,157 @@
+# Copyright 1999-2019 Gentoo Authors
+# 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="https://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 caps elf +iptables ipv6 minimal selinux"
+
+# We could make libmnl optional, but it's tiny, so eh
+RDEPEND="
+ !net-misc/arpd
+ dev-libs/libbsd
+ !minimal? ( net-libs/libmnl )
+ caps? ( sys-libs/libcap )
+ elf? ( 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
+ virtual/pkgconfig
+ elibc_glibc? ( >=sys-libs/glibc-2.7 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.1.0-mtu.patch #291907
+ "${FILESDIR}"/${PN}-4.20.0-configure-nomagic.patch # bug 643722
+)
+
+src_prepare() {
+ if ! use ipv6 ; then
+ PATCHES+=(
+ "${FILESDIR}"/${PN}-4.20.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 "/^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 || 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 <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
+
+ # 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_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)
+ 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
+ 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
+ fi
+}