summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmir Guindehi <amir@gentoo.org>2005-12-13 14:37:08 +0000
committerAmir Guindehi <amir@gentoo.org>2005-12-13 14:37:08 +0000
commit699e5dda5e37889960e0ee23f065e6fcd5d35e97 (patch)
treefef122891948472b96db215034d02d85e6e52d46
parentAppend -fno-inline to fix saltuary crashes on -O3 builds. (diff)
downloadhistorical-699e5dda5e37889960e0ee23f065e6fcd5d35e97.tar.gz
historical-699e5dda5e37889960e0ee23f065e6fcd5d35e97.tar.bz2
historical-699e5dda5e37889960e0ee23f065e6fcd5d35e97.zip
Added local use flags multipath (enables multipath routes for any number of routes) and tcp-zebra (enables tcp zserv communication between Zebra and protocol-daemons, unix domain sockets are the default now). This closes bugs #114961 and #115208.
Package-Manager: portage-2.0.51.22-r3
-rw-r--r--net-misc/quagga/ChangeLog13
-rw-r--r--net-misc/quagga/Manifest4
-rw-r--r--net-misc/quagga/files/digest-quagga-0.98.5-r22
-rw-r--r--net-misc/quagga/quagga-0.98.5-r2.ebuild140
4 files changed, 157 insertions, 2 deletions
diff --git a/net-misc/quagga/ChangeLog b/net-misc/quagga/ChangeLog
index 8771240c9379..eed9e4840454 100644
--- a/net-misc/quagga/ChangeLog
+++ b/net-misc/quagga/ChangeLog
@@ -2,7 +2,18 @@
# 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.25 2005/11/15 13:14:03 amir Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/quagga/ChangeLog,v 1.26 2005/12/13 14:37:07 amir Exp $
+
+*quagga-0.98.5-r2 (13 Dec 2005)
+
+ 13 Dec 2005; Amir Guindehi <amir@gentoo.org> +quagga-0.98.5-r2.ebuild:
+ Added two new local use flags named 'multipath' and 'tcp-zebra'. If
+ 'multipath' is set, Quagga get's compiled with --enable-multipath=0 which
+ enables multipath routes support for any number of routes. If 'tcp-zebra' is
+ not set, the Zebra/protocol-daemon communication (zserv) will be done over unix
+ domain sockets instad of a tcp socket bound to 127.0.0.1 on port 2600. This
+ is slightly more secure, since otherwise local non-root users are able to
+ inject routes by connecting to the local port 2600.
*quagga-0.98.5-r1 (15 Nov 2005)
diff --git a/net-misc/quagga/Manifest b/net-misc/quagga/Manifest
index cdf62ce159b9..f6318459161c 100644
--- a/net-misc/quagga/Manifest
+++ b/net-misc/quagga/Manifest
@@ -1,7 +1,8 @@
+MD5 2d3296289e42656d7a1f9c313bf1da36 quagga-0.98.5-r2.ebuild 5012
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 c1b0b7088f3799dd558f8b53d96fc3fc ChangeLog 10212
MD5 e3212aca12f84a5cd7164e7727020318 quagga-0.98.4.ebuild 4438
MD5 f0c8f9afaf3bbefcea71ff3b6fa139c4 metadata.xml 1389
MD5 6f7bbd50a0af9c0e1f2fae5116a8eacf quagga-0.96.5-r1.ebuild 4017
@@ -14,6 +15,7 @@ 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 d043f8666ea0af9633684d58dcef68e6 files/digest-quagga-0.98.5-r2 147
MD5 18c1046db57ea850aabd385058522cc4 files/quagga.env 25
MD5 0b834e6f9fd5d40f3018fb7e4ba04faa files/quagga.pam 1145
MD5 89b0cf4e70172bfcd195b2869cae28da files/ospfd.init 910
diff --git a/net-misc/quagga/files/digest-quagga-0.98.5-r2 b/net-misc/quagga/files/digest-quagga-0.98.5-r2
new file mode 100644
index 000000000000..fd9b256cf883
--- /dev/null
+++ b/net-misc/quagga/files/digest-quagga-0.98.5-r2
@@ -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-r2.ebuild b/net-misc/quagga/quagga-0.98.5-r2.ebuild
new file mode 100644
index 000000000000..6b16912fb789
--- /dev/null
+++ b/net-misc/quagga/quagga-0.98.5-r2.ebuild
@@ -0,0 +1,140 @@
+# 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-r2.ebuild,v 1.1 2005/12/13 14:37:07 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 multipath tcp-zebra"
+
+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"
+ use multipath && myconf="${myconf} --enable-multipath=0"
+ use tcp-zebra && myconf="${myconf} --enable-tcp-zebra"
+
+ econf \
+ --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
+}