diff options
author | Mike Frysinger <vapier@gentoo.org> | 2010-09-18 11:33:40 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2010-09-18 11:33:40 +0000 |
commit | 3259feda6c57dcdfd3973c6554470867e18dfd25 (patch) | |
tree | eea1a68cbf89160a1a0f06f6a1dc19615a977f59 /sys-apps | |
parent | Remove unneeded check_dependencies task, fixing bug 332925. (diff) | |
download | gentoo-2-3259feda6c57dcdfd3973c6554470867e18dfd25.tar.gz gentoo-2-3259feda6c57dcdfd3973c6554470867e18dfd25.tar.bz2 gentoo-2-3259feda6c57dcdfd3973c6554470867e18dfd25.zip |
Add fix from upstream for cached route misbehavior #331447 by ByrneG.
(Portage version: 2.2_rc83/cvs/Linux x86_64)
Diffstat (limited to 'sys-apps')
-rw-r--r-- | sys-apps/iproute2/ChangeLog | 8 | ||||
-rw-r--r-- | sys-apps/iproute2/files/iproute2-2.6.35-cached-routes.patch | 34 | ||||
-rw-r--r-- | sys-apps/iproute2/iproute2-2.6.35-r2.ebuild | 106 |
3 files changed, 147 insertions, 1 deletions
diff --git a/sys-apps/iproute2/ChangeLog b/sys-apps/iproute2/ChangeLog index be347623f175..06919ca61928 100644 --- a/sys-apps/iproute2/ChangeLog +++ b/sys-apps/iproute2/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sys-apps/iproute2 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/iproute2/ChangeLog,v 1.160 2010/08/23 02:29:22 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/iproute2/ChangeLog,v 1.161 2010/09/18 11:33:40 vapier Exp $ + +*iproute2-2.6.35-r2 (18 Sep 2010) + + 18 Sep 2010; Mike Frysinger <vapier@gentoo.org> +iproute2-2.6.35-r2.ebuild, + +files/iproute2-2.6.35-cached-routes.patch: + Add fix from upstream for cached route misbehavior #331447 by ByrneG. 23 Aug 2010; Mike Frysinger <vapier@gentoo.org> iproute2-2.6.35-r1.ebuild, +files/iproute2-2.6.35-no-ipv6.patch: diff --git a/sys-apps/iproute2/files/iproute2-2.6.35-cached-routes.patch b/sys-apps/iproute2/files/iproute2-2.6.35-cached-routes.patch new file mode 100644 index 000000000000..821d8c3fae5a --- /dev/null +++ b/sys-apps/iproute2/files/iproute2-2.6.35-cached-routes.patch @@ -0,0 +1,34 @@ +http://bugs.gentoo.org/331447 + +From c73f3e02f8ae25e5daad0367690a3069895dd8a3 Mon Sep 17 00:00:00 2001 +From: Ulrich Weber <uweber@astaro.com> +Date: Thu, 12 Aug 2010 11:05:19 +0200 +Subject: [PATCH] iproute2: dont filter cached routes on iproute_get + +iproute_get will return cloned routes for IPv4 +and cloned as well non-cloned routes for IPv6. + +Therefore RTM_F_CLONED flag should not be checked +for iproute_get routes. Check in print_route will +always fail because valid values are 0 and 1. + +Signed-off-by: Ulrich Weber <uweber@astaro.com> +--- + ip/iproute.c | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/ip/iproute.c b/ip/iproute.c +index 711576e..b43933c 100644 +--- a/ip/iproute.c ++++ b/ip/iproute.c +@@ -1286,6 +1286,7 @@ int iproute_get(int argc, char **argv) + memset(&req, 0, sizeof(req)); + + iproute_reset_filter(); ++ filter.cloned = 2; + + req.n.nlmsg_len = NLMSG_LENGTH(sizeof(struct rtmsg)); + req.n.nlmsg_flags = NLM_F_REQUEST; +-- +1.7.2 + diff --git a/sys-apps/iproute2/iproute2-2.6.35-r2.ebuild b/sys-apps/iproute2/iproute2-2.6.35-r2.ebuild new file mode 100644 index 000000000000..4d96b11dce70 --- /dev/null +++ b/sys-apps/iproute2/iproute2-2.6.35-r2.ebuild @@ -0,0 +1,106 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/iproute2/iproute2-2.6.35-r2.ebuild,v 1.1 2010/09/18 11:33:40 vapier Exp $ + +EAPI="2" + +inherit eutils toolchain-funcs flag-o-matic + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git" + inherit git + SRC_URI="" + #KEYWORDS="" +else + if [[ ${PV} == *.*.*.* ]] ; then + MY_PV=${PV%.*}-${PV##*.} + else + MY_PV=${PV} + fi + MY_P="${PN}-${MY_PV}" + SRC_URI="http://developer.osdl.org/dev/iproute2/download/${MY_P}.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" + S=${WORKDIR}/${MY_P} +fi + +DESCRIPTION="kernel routing and traffic control utilities" +HOMEPAGE="http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2" + +LICENSE="GPL-2" +SLOT="0" +IUSE="atm berkdb ipv6 minimal" + +RDEPEND="!net-misc/arpd + !minimal? ( berkdb? ( sys-libs/db ) ) + atm? ( net-dialup/linux-atm )" +DEPEND="${RDEPEND} + elibc_glibc? ( >=sys-libs/glibc-2.7 ) + sys-devel/flex + >=virtual/os-headers-2.6.27" + +src_prepare() { + sed -i \ + -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \ + -e "s:-O2:${CFLAGS} ${CPPFLAGS}:" \ + Makefile || die + + # build against system headers + rm -r include/netinet #include/linux include/ip{,6}tables{,_common}.h include/libiptc + + epatch "${FILESDIR}"/${PN}-2.6.29.1-hfsc.patch #291907 + epatch "${FILESDIR}"/${P}-cached-routes.patch #331447 + use ipv6 || epatch "${FILESDIR}"/${PN}-2.6.35-no-ipv6.patch #326849 + + epatch_user + + # don't build arpd if USE=-berkdb #81660 + use berkdb || sed -i '/^TARGETS=/s: arpd : :' misc/Makefile + + use minimal && sed -i -e '/^SUBDIRS=/s:=.*:=lib tc:' Makefile +} + +src_configure() { + echo -n 'TC_CONFIG_ATM:=' > Config + use atm \ + && echo 'y' >> Config \ + || echo 'n' >> Config + + # Use correct iptables dir, #144265 #293709 + append-cppflags -DIPT_LIB_DIR=\\\"`$(tc-getPKG_CONFIG) xtables --variable=xtlibdir`\\\" +} + +src_compile() { + emake \ + CC="$(tc-getCC)" \ + HOSTCC="$(tc-getBUILD_CC)" \ + AR="$(tc-getAR)" \ + || die +} + +src_install() { + if use minimal ; then + into / + dosbin tc/tc || die "minimal" + return 0 + fi + + emake \ + DESTDIR="${D}" \ + SBINDIR=/sbin \ + DOCDIR=/usr/share/doc/${PF} \ + MANDIR=/usr/share/man \ + install \ + || die + prepalldocs + + dolib.a lib/libnetlink.a || die + insinto /usr/include + doins include/libnetlink.h || die + + if use berkdb ; then + dodir /var/lib/arpd + # bug 47482, arpd doesn't need to be in /sbin + dodir /usr/sbin + mv "${D}"/sbin/arpd "${D}"/usr/sbin/ + fi +} |