blob: 4cf5743e270418742d1f58cdf4ea5f57c7f9e306 (
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-misc/zebra/zebra-0.93b-r1.ebuild,v 1.9 2004/06/25 00:22:04 agriffis Exp $
inherit eutils
S=${WORKDIR}/${P}
IUSE="pam snmp ipv6 ospfapi"
DESCRIPTION="Multithreaded TCP/IP Routing Software that supports BGP-4, RIPv1, RIPv2 and OSPFv2. Includes OSPFAPI"
SRC_URI="ftp://ftp.zebra.org/pub/zebra/${P}.tar.gz \
ospfapi? ( http://www.tik.ee.ethz.ch/~keller/ospfapi/src/ospfapi-release_0_93b-2003-01-25.tar.gz )"
HOMEPAGE="http://www.zebra.org"
# Homepage for ospfapi
HOMEPAGE="${HOMEPAGE} http://www.tik.ee.ethz.ch/~keller/ospfapi"
KEYWORDS="x86 ~sparc"
LICENSE="GPL-2"
SLOT="0"
DEPEND="virtual/glibc
sys-devel/binutils
pam? ( >=pam-0.75-r11 )
snmp? ( virtual/snmp )"
RDEPEND="virtual/glibc sys-devel/binutils"
src_unpack() {
unpack ${A} || die
cd ${WORKDIR}
ln -s ${S} zebra
use ospfapi &&
epatch ospfapi-release_*-200[3-9]-[0-9][0-9]-[0-9][0-9].patch
##################################
# This fix is for zebra-0.93b only
##################################
cd ${S}/ospfd || die
epatch ${FILESDIR}/${P}/ospfd-assert-fix.patch
epatch ${FILESDIR}/${P}/ospfd-nbr-fix.patch
##################################
}
src_compile() {
local myconf="--enable-vtysh --enable-tcp-zebra"
# use libpam for PAM support in vtysh
use pam && myconf="${myconf} --with-libpam" || myconf="${myconf} --disable-pam"
use snmp && myconf="${myconf} --enable-snmp" || myconf="${myconf} --disable-snmp"
use ipv6 && myconf="${myconf} --enable-ipv6" || myconf="${myconf} --disable-ipv6"
use ospfapi && myconf="${myconf} --enable-opaque-lsa --enable-ospf-te \
--enable-nssa"
use ospfapi && ./update-autotools
econf --prefix=/usr --sysconfdir=/etc/zebra ${myconf} || \
die "econf failed"
emake || die "emake failed"
if use ospfapi ; then
cd apiclient
econf --prefix=/usr --sysconfdir=/etc/zebra ${myconf} || \
die "econf failed in ospsapi-apiclient"
emake || die "emake failed in ospsapi-apiclient"
cd ..
fi
}
src_install() {
make \
prefix=${D}/usr \
sysconfdir=${D}/etc/zebra \
localstatedir=${D}/var \
infodir=${D}/usr/share/info \
mandir=${D}/usr/share/man \
install || die "zebra installation failed"
mkdir -p ${D}/etc/zebra/sample
# dodir ${D}/etc/ {D}/etc/zebra/ ${D}/etc/zebra/sample
cp */*.conf.sample* ${D}/etc/zebra/
mv ${D}/etc/zebra/*.conf.sample* ${D}/etc/zebra/sample
for proto in zebra bgpd ospfd ripd; do
insinto /etc/conf.d
newins ${FILESDIR}/conf.d/${proto}.confd ${proto}
exeinto /etc/init.d
newexe ${FILESDIR}/init.d/${proto}.initd ${proto}
done
# second loop for ipv6
use ipv6 && for proto in ospf6d ripngd; do
insinto /etc/conf.d
newins ${FILESDIR}/conf.d/${proto}.confd ${proto}
exeinto /etc/init.d
newexe ${FILESDIR}/init.d/${proto}.initd ${proto}
done
dodoc AUTHORS COPYING ChangeLog INSTALL NEWS README REPORTING-BUGS SERVICES TODO
}
pkg_postinst() {
einfo "Sample configuration files can be found in /etc/zebra/sample"
einfo "You have to create config files in /etc/zebra before"
einfo "starting any one of the daemons."
}
|