Added the local use flag fix-connected-rt to conditionally add the connected-route...
authorAmir Guindehi <amir@gentoo.org>
Tue, 15 Nov 2005 13:14:03 +0000 (13:14 +0000)
committerAmir Guindehi <amir@gentoo.org>
Tue, 15 Nov 2005 13:14:03 +0000 (13:14 +0000)
Package-Manager: portage-2.0.51.22-r3

net-misc/quagga/ChangeLog
net-misc/quagga/Manifest
net-misc/quagga/files/digest-quagga-0.98.5-r1 [new file with mode: 0644]
net-misc/quagga/quagga-0.98.5-r1.ebuild [new file with mode: 0644]

index 92275923522e5d10db69c7cdd18f35c0742a0f36..8771240c93797a1faee6ebd778c223714d8df843 100644 (file)
@@ -2,7 +2,16 @@
 # Copyright 1999-2005 Gentoo Foundation
 # Copyright 2003-2004 DataCore GmbH
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/quagga/ChangeLog,v 1.24 2005/11/11 23:13:59 hansmi Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/quagga/ChangeLog,v 1.25 2005/11/15 13:14:03 amir Exp $
+
+*quagga-0.98.5-r1 (15 Nov 2005)
+
+  15 Nov 2005; Amir Guindehi <amir@gentoo.org> +quagga-0.98.5-r1.ebuild:
+  Added a local use flag 'fix-connected-rt'. It controls inclusion of the
+  patch amir-connected-route.patch which was causing more trouble than
+  it's worth for most folks. If you run into the kernel bug which routes        
+  packets to interfaces which are downed by link detect add this use flag.
+  Version bump.
 
   11 Nov 2005; Michael Hanselmann <hansmi@gentoo.org> quagga-0.98.4.ebuild:
   Stable on ppc.
index c6099875411f688214df1d0fa735e1bccdb068bd..cdf62ce159b9d7ffe8ebd67755f48385950276cc 100644 (file)
@@ -1,22 +1,24 @@
-MD5 01893b0ab8c7587572ee0ff2a5c57aa7 ChangeLog 9168
+MD5 9927651424dd0548ba520a169d1afa88 quagga-0.98.5-r1.ebuild 4901
+MD5 fa39f9112f11093de5c4588bd571ad14 quagga-0.98.5.ebuild 4441
+MD5 89e7fe5c8a95c1564895e7b5ce057e81 quagga-0.98.2.ebuild 4672
+MD5 5fe7c527a2e968d0de6276ca9d401191 ChangeLog 9590
+MD5 e3212aca12f84a5cd7164e7727020318 quagga-0.98.4.ebuild 4438
+MD5 f0c8f9afaf3bbefcea71ff3b6fa139c4 metadata.xml 1389
+MD5 6f7bbd50a0af9c0e1f2fae5116a8eacf quagga-0.96.5-r1.ebuild 4017
 MD5 cc109a746273bc0d6aee9d758e7524ab files/bgpd.init 900
-MD5 9056b8bd752a672787eacb129ee47535 files/digest-quagga-0.96.5-r1 142
+MD5 44547b687343ebfed7524cebc5626067 files/ospf6d.init 919
 MD5 1a1df9fb95d48001187e1f56dc4ff5e5 files/digest-quagga-0.98.2 66
 MD5 8550c2f78b4c3ba7ba66c6bcb0bf4913 files/digest-quagga-0.98.4 147
 MD5 d043f8666ea0af9633684d58dcef68e6 files/digest-quagga-0.98.5 147
-MD5 44547b687343ebfed7524cebc5626067 files/ospf6d.init 919
-MD5 89b0cf4e70172bfcd195b2869cae28da files/ospfd.init 910
-MD5 7da4097332468741416e156a2e5d35e4 files/patches-0.98.2/amir-connected-route.patch 6336
-MD5 e70bf25e2ca5f76efb2c5704234ccc1f files/patches-0.98.2/ht-20040304-classless-bgp.patch 1581
-MD5 6c9cdbdc237bb8d24dfd26504059464b files/patches-0.98.2/ht-20050110-0.98.0-bgp-md5.patch 14570
-MD5 18c1046db57ea850aabd385058522cc4 files/quagga.env 25
-MD5 0b834e6f9fd5d40f3018fb7e4ba04faa files/quagga.pam 1145
 MD5 39b8cb21b55de53af38c94c2f5d85917 files/ripd.init 900
 MD5 120ab1b53975ec86e78266f31e935ab6 files/ripngd.init 920
+MD5 9056b8bd752a672787eacb129ee47535 files/digest-quagga-0.96.5-r1 142
+MD5 d043f8666ea0af9633684d58dcef68e6 files/digest-quagga-0.98.5-r1 147
+MD5 18c1046db57ea850aabd385058522cc4 files/quagga.env 25
+MD5 0b834e6f9fd5d40f3018fb7e4ba04faa files/quagga.pam 1145
+MD5 89b0cf4e70172bfcd195b2869cae28da files/ospfd.init 910
 MD5 c38e884372406e9e59616e436cd26388 files/zebra.conf 371
 MD5 2c1c5b782f96a74b48ccc496ad7a3865 files/zebra.init 1168
-MD5 f0c8f9afaf3bbefcea71ff3b6fa139c4 metadata.xml 1389
-MD5 6f7bbd50a0af9c0e1f2fae5116a8eacf quagga-0.96.5-r1.ebuild 4017
-MD5 89e7fe5c8a95c1564895e7b5ce057e81 quagga-0.98.2.ebuild 4672
-MD5 e3212aca12f84a5cd7164e7727020318 quagga-0.98.4.ebuild 4438
-MD5 fa39f9112f11093de5c4588bd571ad14 quagga-0.98.5.ebuild 4441
+MD5 7da4097332468741416e156a2e5d35e4 files/patches-0.98.2/amir-connected-route.patch 6336
+MD5 6c9cdbdc237bb8d24dfd26504059464b files/patches-0.98.2/ht-20050110-0.98.0-bgp-md5.patch 14570
+MD5 e70bf25e2ca5f76efb2c5704234ccc1f files/patches-0.98.2/ht-20040304-classless-bgp.patch 1581
diff --git a/net-misc/quagga/files/digest-quagga-0.98.5-r1 b/net-misc/quagga/files/digest-quagga-0.98.5-r1
new file mode 100644 (file)
index 0000000..fd9b256
--- /dev/null
@@ -0,0 +1,2 @@
+MD5 ec09c1ec624aea98e18aa19282666784 quagga-0.98.5.tar.gz 2018058
+MD5 fbf4a396755161c7023540bcccdc52cc quagga-0.98.5-patches-20051105.tar.gz 19206
diff --git a/net-misc/quagga/quagga-0.98.5-r1.ebuild b/net-misc/quagga/quagga-0.98.5-r1.ebuild
new file mode 100644 (file)
index 0000000..c21dcfb
--- /dev/null
@@ -0,0 +1,139 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/quagga/quagga-0.98.5-r1.ebuild,v 1.1 2005/11/15 13:14:03 amir Exp $
+
+inherit eutils multilib
+
+DESCRIPTION="A free routing daemon replacing Zebra supporting RIP, OSPF and BGP. Includes OSPFAPI, NET-SNMP and IPV6 support."
+HOMEPAGE="http://quagga.net/"
+SRC_URI="http://www.quagga.net/download/${P}.tar.gz
+       mirror://gentoo/${P}-patches-20051105.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ppc ~sparc ~x86"
+IUSE="ipv6 snmp pam tcpmd5 bgpclassless ospfapi realms fix-connected-rt"
+
+RDEPEND="sys-apps/iproute2
+       >=sys-libs/libcap-1.10-r5
+       snmp? ( net-analyzer/net-snmp )
+       pam? ( sys-libs/pam )"
+DEPEND="${RDEPEND}
+       virtual/libc
+       sys-devel/binutils
+       sys-devel/autoconf-wrapper
+       sys-devel/libtool"
+
+src_unpack() {
+       unpack ${A} || die "failed to unpack sources"
+
+       cd ${S} || die "source dir not found"
+
+       # TCP MD5 for BGP patch for Linux (RFC 2385) - http://hasso.linux.ee/quagga/ht-20050110-0.98.0-bgp-md5.patch
+       use tcpmd5 && epatch "${WORKDIR}/patch/ht-20050110-0.98.0-bgp-md5.patch"
+
+       # Classless prefixes for BGP - http://hasso.linux.ee/quagga/pending-patches/ht-20040304-classless-bgp.patch
+       use bgpclassless && epatch "${WORKDIR}/patch/ht-20040304-classless-bgp.patch"
+
+       # Connected route fix (Amir Guindehi) - http://voidptr.sboost.org/quagga/amir-connected-route.patch.bz2
+       # Dependant on the use flag 'fix-connected-rt' because it seems that more peoples have troubles 
+       # with this than having a benefit.
+       # This patch fixes a bad behavior of the Linux kernel routing packets to interfaces which are
+       # down. Folks with PtP interfaces and VLans report troubles with this patch. Enable it again
+       # if you get a problem because your kernel routes packets to a downed interface.
+       use fix-connected-rt && epatch "${WORKDIR}/patch/amir-connected-route.patch"
+
+       # Realms support (Calin Velea) - http://vcalinus.gemenii.ro/quaggarealms.html
+       use realms && epatch "${WORKDIR}/patch/${P}-realms.diff"
+}
+
+src_compile() {
+       # regenerate configure and co if we touch .ac or .am files
+       #export WANT_AUTOMAKE=1.7
+       #./update-autotools || die
+       autoreconf
+       libtoolize --copy --force
+
+       local myconf="--disable-static --enable-dynamic"
+
+       use ipv6 \
+                       && myconf="${myconf} --enable-ipv6 --enable-ripng --enable-ospf6d --enable-rtadv" \
+                       || myconf="${myconf} --disable-ipv6 --disable-ripngd --disable-ospf6d"
+       use ospfapi \
+                       && myconf="${myconf} --enable-opaque-lsa --enable-ospf-te --enable-ospfclient"
+       use snmp && myconf="${myconf} --enable-snmp"
+       use pam && myconf="${myconf} --with-libpam"
+       use tcpmd5 && myconf="${myconf} --enable-tcp-md5"
+       use realms && myconf="${myconf} --enable-realms"
+
+       econf \
+               --enable-tcp-zebra \
+               --enable-nssa \
+               --enable-user=quagga \
+               --enable-group=quagga \
+               --enable-vty-group=quagga \
+               --with-cflags="${CFLAGS}" \
+               --enable-vtysh \
+               --sysconfdir=/etc/quagga \
+               --enable-exampledir=/etc/quagga/samples \
+               --localstatedir=/var/run/quagga \
+               --libdir=/usr/$(get_libdir)/quagga \
+               ${myconf} \
+               || die "configure failed"
+       emake || die "make failed"
+}
+
+src_install() {
+       einstall \
+               localstatedir=${D}/var/run/quagga \
+               sysconfdir=${D}/etc/quagga \
+               exampledir=${D}/etc/quagga/samples \
+               libdir=${D}/usr/$(get_libdir)/quagga || die "make install failed"
+
+       keepdir /var/run/quagga || die
+
+       local i MY_SERVICES_LIST="zebra ripd ospfd bgpd"
+       use ipv6 && MY_SERVICES_LIST="${MY_SERVICES_LIST} ripngd ospf6d"
+       for i in ${MY_SERVICES_LIST} ; do
+               newinitd ${FILESDIR}/${i}.init ${i} || die "failed to install ${i} init.d script"
+       done
+       newconfd ${FILESDIR}/zebra.conf zebra || die "failed to install zebra conf.d script"
+
+       if use pam; then
+               insinto /etc/pam.d
+               newins ${FILESDIR}/quagga.pam quagga
+       fi
+
+       newenvd ${FILESDIR}/quagga.env 99quagga
+}
+
+pkg_preinst() {
+       enewgroup quagga
+       enewuser quagga -1 -1 /var/empty quagga
+}
+
+pkg_postinst() {
+       # empty dir for pid files for the new priv separation auth
+       #set proper owner/group/perms even if dir already existed
+       install -d -m0770 -o root -g quagga ${ROOT}/etc/quagga
+       install -d -m0755 -o quagga -g quagga ${ROOT}/var/run/quagga
+
+       einfo "Sample configuration files can be found in /etc/quagga/samples."
+       einfo "You have to create config files in /etc/quagga before"
+       einfo "starting one of the daemons."
+
+       if use tcpmd5; then
+               echo
+               ewarn "TCP MD5 for BGP needs a patched kernel!"
+               einfo "See http://hasso.linux.ee/quagga/bgp-md5.en.php for more info."
+       fi
+
+       if use ipv6; then
+               echo
+               ewarn "This version of quagga contains a netlink race condition fix that triggered a kernel bug"
+               ewarn "which affects IPv6 users who have a kernel version < 2.6.13-rc6."
+               einfo "See following links for more info:"
+               einfo "   http://lists.quagga.net/pipermail/quagga-dev/2005-June/003507.html"
+               einfo "   http://bugzilla.quagga.net/show_bug.cgi?id=196"
+       fi
+}