summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/iproute2/ChangeLog9
-rw-r--r--sys-apps/iproute2/files/digest-iproute2-2.6.11.20050310-r11
-rw-r--r--sys-apps/iproute2/files/iproute2-2.6.11.20050310-dsmark-qdisc.patch45
-rw-r--r--sys-apps/iproute2/iproute2-2.6.11.20050310-r1.ebuild76
4 files changed, 130 insertions, 1 deletions
diff --git a/sys-apps/iproute2/ChangeLog b/sys-apps/iproute2/ChangeLog
index 12b5ea42214a..990746747705 100644
--- a/sys-apps/iproute2/ChangeLog
+++ b/sys-apps/iproute2/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sys-apps/iproute2
# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/iproute2/ChangeLog,v 1.31 2005/03/12 21:52:15 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/iproute2/ChangeLog,v 1.32 2005/03/29 03:10:25 vapier Exp $
+
+*iproute2-2.6.11.20050310-r1 (29 Mar 2005)
+
+ 29 Mar 2005; Mike Frysinger <vapier@gentoo.org>
+ +files/iproute2-2.6.11.20050310-dsmark-qdisc.patch,
+ +iproute2-2.6.11.20050310-r1.ebuild:
+ Add patch from upstream to fix dsmark qdiscs adding #86729.
*iproute2-2.6.11.20050310 (12 Mar 2005)
diff --git a/sys-apps/iproute2/files/digest-iproute2-2.6.11.20050310-r1 b/sys-apps/iproute2/files/digest-iproute2-2.6.11.20050310-r1
new file mode 100644
index 000000000000..a358693ed666
--- /dev/null
+++ b/sys-apps/iproute2/files/digest-iproute2-2.6.11.20050310-r1
@@ -0,0 +1 @@
+MD5 d7ad6748ebf980499ae6b10c2679e99a iproute2-2.6.11-050310.tar.gz 341467
diff --git a/sys-apps/iproute2/files/iproute2-2.6.11.20050310-dsmark-qdisc.patch b/sys-apps/iproute2/files/iproute2-2.6.11.20050310-dsmark-qdisc.patch
new file mode 100644
index 000000000000..8bea13615479
--- /dev/null
+++ b/sys-apps/iproute2/files/iproute2-2.6.11.20050310-dsmark-qdisc.patch
@@ -0,0 +1,45 @@
+# 2005/03/20 17:19:39+01:00 tgraf at suug.ch
+# Fix netlink message alignment when the last routing attribute added
+# has a data length not aligned to RTA_ALIGNTO.
+
+http://mailman.ds9a.nl/pipermail/lartc/2005q1/015295.html
+http://bugs.gentoo.org/show_bug.cgi?id=86729
+
+--- lib/libnetlink.c
++++ lib/libnetlink.c
+@@ -491,7 +491,7 @@
+ int len = RTA_LENGTH(alen);
+ struct rtattr *rta;
+
+- if (NLMSG_ALIGN(n->nlmsg_len) + len > maxlen) {
++ if (NLMSG_ALIGN(n->nlmsg_len) + RTA_ALIGN(len) > maxlen) {
+ fprintf(stderr, "addattr_l ERROR: message exceeded bound of %d\n",maxlen);
+ return -1;
+ }
+@@ -499,7 +499,7 @@
+ rta->rta_type = type;
+ rta->rta_len = len;
+ memcpy(RTA_DATA(rta), data, alen);
+- n->nlmsg_len = NLMSG_ALIGN(n->nlmsg_len) + len;
++ n->nlmsg_len = NLMSG_ALIGN(n->nlmsg_len) + RTA_ALIGN(len);
+ return 0;
+ }
+
+@@ -539,7 +539,7 @@
+ struct rtattr *subrta;
+ int len = RTA_LENGTH(alen);
+
+- if (RTA_ALIGN(rta->rta_len) + len > maxlen) {
++ if (RTA_ALIGN(rta->rta_len) + RTA_ALIGN(len) > maxlen) {
+ fprintf(stderr,"rta_addattr_l: Error! max allowed bound %d exceeded\n",maxlen);
+ return -1;
+ }
+@@ -547,7 +547,7 @@
+ subrta->rta_type = type;
+ subrta->rta_len = len;
+ memcpy(RTA_DATA(subrta), data, alen);
+- rta->rta_len = NLMSG_ALIGN(rta->rta_len) + len;
++ rta->rta_len = NLMSG_ALIGN(rta->rta_len) + RTA_ALIGN(len);
+ return 0;
+ }
+
diff --git a/sys-apps/iproute2/iproute2-2.6.11.20050310-r1.ebuild b/sys-apps/iproute2/iproute2-2.6.11.20050310-r1.ebuild
new file mode 100644
index 000000000000..bcfb999ff324
--- /dev/null
+++ b/sys-apps/iproute2/iproute2-2.6.11.20050310-r1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/iproute2/iproute2-2.6.11.20050310-r1.ebuild,v 1.1 2005/03/29 03:10:25 vapier Exp $
+
+inherit eutils toolchain-funcs
+
+MY_PV=${PV%.*}
+SNAP=${PV##*.}
+SNAP=${SNAP:2}
+DESCRIPTION="kernel routing and traffic control utilities"
+HOMEPAGE="http://developer.osdl.org/dev/iproute2/"
+SRC_URI="http://developer.osdl.org/dev/iproute2/download/${PN}-${MY_PV}-${SNAP}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+IUSE="atm berkdb minimal"
+
+RDEPEND="!minimal? ( berkdb? ( sys-libs/db ) )
+ atm? ( net-dialup/linux-atm )"
+DEPEND="${RDEPEND}
+ >=virtual/os-headers-2.4.21"
+
+S=${WORKDIR}/${PN}-${MY_PV}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-dsmark-qdisc.patch #86729
+ sed -i -e "s:-O2:${CFLAGS}:" Makefile || die "sed Makefile failed"
+ #68948 - esfq/wrr patches
+ epatch \
+ "${FILESDIR}"/2.6.9.20041106-esfq.patch \
+ "${FILESDIR}"/2.6.9.20041019-wrr.patch
+ # don't build arpd if USE=-berkdb #81660
+ use berkdb || sed -i '/^TARGETS=/s: arpd : :' misc/Makefile
+ # Multilib fixes
+ sed -i 's:/usr/local:/usr:' tc/m_ipt.c
+ sed -i "s:/usr/lib/tc:/usr/$(get_libdir)/tc:g" \
+ tc/Makefile tc/tc.c tc/q_netem.c || die
+}
+
+src_compile() {
+ echo -n 'TC_CONFIG_ATM:=' > Config
+ use atm \
+ && echo 'y' >> Config \
+ || echo 'n' >> Config
+
+ local SUBDIRS="lib ip tc misc"
+ use minimal && SUBDIRS="lib tc"
+ emake \
+ CC="$(tc-getCC)" \
+ AR="$(tc-getAR)" \
+ SUBDIRS="${SUBDIRS}" \
+ || die "make"
+}
+
+src_install() {
+ if use minimal; then
+ into /
+ dosbin tc/tc || die "minimal"
+ return 0
+ fi
+
+ make \
+ DESTDIR="${D}" \
+ SBINDIR=/sbin \
+ DOCDIR=/usr/share/doc/${PF} \
+ install \
+ || die "make install failed"
+ if use berkdb ; then
+ # bug 47482, arpd doesn't need to be in /sbin
+ dodir /usr/sbin
+ mv "${D}"/sbin/arpd "${D}"/usr/sbin/
+ fi
+}