blob: 25a67ed63c3e7076f772357656b099e74f24880e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
# 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.7.20040608-r1.ebuild,v 1.8 2005/10/30 04:15:55 vapier Exp $
inherit eutils toolchain-funcs
MY_PV="${PV:0:5}"
SNAP="${PV:${#PV}-6}"
DESCRIPTION="kernel routing and traffic control utilities"
HOMEPAGE="http://linux-net.osdl.org/index.php/Iproute2"
SRC_URI="http://developer.osdl.org/dev/iproute2/download/${PN}-${MY_PV}-ss${SNAP}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 arm hppa ia64 mips ppc ppc64 s390 sparc x86"
IUSE="atm minimal"
RDEPEND="virtual/libc
!minimal? ( sys-libs/db )
atm? ( net-dialup/linux-atm )"
DEPEND="${RDEPEND}
>=virtual/os-headers-2.4.21
>=sys-apps/sed-4"
S=${WORKDIR}/${PN}-${MY_PV}
pkg_setup() {
SUBDIRS="lib ip tc misc"
use minimal && SUBDIRS="lib tc"
}
src_unpack() {
unpack ${A}
cd ${S}
# Enable HFSC scheduler #45274
if [ ! -z "`grep tc_service_curve ${ROOT}/usr/include/linux/pkt_sched.h`" ] ; then
epatch ${FILESDIR}/2.4.7.20020116-hfsc.patch
else
ewarn "Your linux-headers in /usr/include/linux are too old to"
ewarn "support the HFSC scheduler. It has been disabled."
echo
fi
# Disable q_delay if need be
if [ -z "`grep tc_dly_qopt ${ROOT}/usr/include/linux/pkt_sched.h`" ] ; then
ewarn "Your linux-headers in /usr/include/linux are too old to"
ewarn "support the DELAY scheduler. It has been disabled."
echo
sed -i '/q_delay/s:.*::' tc/Makefile
fi
# Add a few debian fixes
epatch ${FILESDIR}/${PV}-misc-deb-fixes.patch
epatch ${FILESDIR}/${PV}-misc-gentoo-fixes.patch
# Fix cflags and db code
sed -i \
-e 's:-I/usr/include/db3::g' \
-e "s:-O2:${CFLAGS}:g" \
Makefile || die "sed Makefile failed"
sed -i 's:-ldb-4\.1:-ldb:' misc/Makefile || die "sed misc/Makefile failed"
sed -i 's:db41/db_185:db_185:' misc/arpd.c || die "sed misc/arpd.c failed"
# Enable diffserv/atm support
if use atm ; then
sed -i 's:=n$:=y:' Config || die "sed Config failed"
fi
}
src_compile() {
emake CC="$(tc-getCC)" KERNEL_INCLUDE=${ROOT}/usr/include SUBDIRS="${SUBDIRS}" || die
}
src_install() {
if use minimal; then
into /
dosbin tc/tc
return 0
fi
make install DESTDIR=${D} DOCDIR=/usr/share/doc/${PF} || die "make install failed"
into /
dosbin ip/{ifcfg,rtpr} || die "dosbin failed"
doman man/*/*
}
|