summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2005-10-07 00:33:45 +0000
committerMike Frysinger <vapier@gentoo.org>2005-10-07 00:33:45 +0000
commitf54c230981b0948e1b677ec87bc6dc3669d8d1b5 (patch)
treebeec2ec526a0c66423510b672c4202233fd61bb1 /sys-apps/iproute2
parent509 added to stable x86. Reverted 510 being x86 stable. (diff)
downloadgentoo-2-f54c230981b0948e1b677ec87bc6dc3669d8d1b5.tar.gz
gentoo-2-f54c230981b0948e1b677ec87bc6dc3669d8d1b5.tar.bz2
gentoo-2-f54c230981b0948e1b677ec87bc6dc3669d8d1b5.zip
Fix segfault when trying to use qdisc_fast #108307 by jens zettelmeyer.
(Portage version: 2.0.53_rc4)
Diffstat (limited to 'sys-apps/iproute2')
-rw-r--r--sys-apps/iproute2/ChangeLog9
-rw-r--r--sys-apps/iproute2/files/digest-iproute2-2.6.11.20050330-r11
-rw-r--r--sys-apps/iproute2/files/iproute2-2.6.11.20050330-tc-check-qdisc-features.patch29
-rw-r--r--sys-apps/iproute2/iproute2-2.6.11.20050330-r1.ebuild78
4 files changed, 116 insertions, 1 deletions
diff --git a/sys-apps/iproute2/ChangeLog b/sys-apps/iproute2/ChangeLog
index 9fd78a3efff2..b964b67ccda1 100644
--- a/sys-apps/iproute2/ChangeLog
+++ b/sys-apps/iproute2/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sys-apps/iproute2
# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/iproute2/ChangeLog,v 1.40 2005/08/09 22:33:50 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/iproute2/ChangeLog,v 1.41 2005/10/07 00:33:45 vapier Exp $
+
+*iproute2-2.6.11.20050330-r1 (07 Oct 2005)
+
+ 07 Oct 2005; Mike Frysinger <vapier@gentoo.org>
+ +files/iproute2-2.6.11.20050330-tc-check-qdisc-features.patch,
+ +iproute2-2.6.11.20050330-r1.ebuild:
+ Fix segfault when trying to use qdisc_fast #108307 by jens zettelmeyer.
09 Aug 2005; Mike Frysinger <vapier@gentoo.org>
+files/iproute2-2.6.11.20050330-stack.patch,
diff --git a/sys-apps/iproute2/files/digest-iproute2-2.6.11.20050330-r1 b/sys-apps/iproute2/files/digest-iproute2-2.6.11.20050330-r1
new file mode 100644
index 000000000000..f938b1ed6874
--- /dev/null
+++ b/sys-apps/iproute2/files/digest-iproute2-2.6.11.20050330-r1
@@ -0,0 +1 @@
+MD5 e705f26b5ae93e0332e46ae3ff15d934 iproute2-2.6.11-050330.tar.gz 347051
diff --git a/sys-apps/iproute2/files/iproute2-2.6.11.20050330-tc-check-qdisc-features.patch b/sys-apps/iproute2/files/iproute2-2.6.11.20050330-tc-check-qdisc-features.patch
new file mode 100644
index 000000000000..2c1c277f071c
--- /dev/null
+++ b/sys-apps/iproute2/files/iproute2-2.6.11.20050330-tc-check-qdisc-features.patch
@@ -0,0 +1,29 @@
+Make sure BODY is initialized before we use it and make sure the specified
+q_disc supports option parsing before calling parse_qopt()
+
+http://bugs.gentoo.org/108307
+
+--- tc/tc.c
++++ tc/tc.c
+@@ -38,7 +38,7 @@
+ int force = 0;
+ struct rtnl_handle rth;
+
+-static void *BODY; /* cached handle dlopen(NULL) */
++static void *BODY = NULL; /* cached handle dlopen(NULL) */
+ static struct qdisc_util * qdisc_list;
+ static struct filter_util * filter_list;
+
+--- tc/tc_qdisc.c
++++ tc/tc_qdisc.c
+@@ -126,6 +126,10 @@
+ addattr_l(&req.n, sizeof(req), TCA_RATE, &est, sizeof(est));
+
+ if (q) {
++ if (!q->parse_qopt) {
++ fprintf(stderr, "qdisc '%s' does not support option parsing\n", k);
++ return -1;
++ }
+ if (q->parse_qopt(q, argc, argv, &req.n))
+ return 1;
+ } else {
diff --git a/sys-apps/iproute2/iproute2-2.6.11.20050330-r1.ebuild b/sys-apps/iproute2/iproute2-2.6.11.20050330-r1.ebuild
new file mode 100644
index 000000000000..ae256117971e
--- /dev/null
+++ b/sys-apps/iproute2/iproute2-2.6.11.20050330-r1.ebuild
@@ -0,0 +1,78 @@
+# 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.20050330-r1.ebuild,v 1.1 2005/10/07 00:33:45 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}-${SNAP}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ sed -i -e "s:-O2:${CFLAGS}:" Makefile || die "sed Makefile failed"
+ epatch "${FILESDIR}"/${P}-stack.patch
+ epatch "${FILESDIR}"/${P}-parallel-build.patch
+ epatch "${FILESDIR}"/${P}-tc-check-qdisc-features.patch
+ #68948 - esfq/wrr patches
+ epatch \
+ "${FILESDIR}"/2.6.12-rc1-esfq.patch \
+ "${FILESDIR}"/${P}-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 netem"
+ 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
+}