diff options
author | Amir Guindehi <amir@gentoo.org> | 2005-12-13 14:37:08 +0000 |
---|---|---|
committer | Amir Guindehi <amir@gentoo.org> | 2005-12-13 14:37:08 +0000 |
commit | 699e5dda5e37889960e0ee23f065e6fcd5d35e97 (patch) | |
tree | fef122891948472b96db215034d02d85e6e52d46 /net-misc | |
parent | Append -fno-inline to fix saltuary crashes on -O3 builds. (diff) | |
download | historical-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
Diffstat (limited to 'net-misc')
-rw-r--r-- | net-misc/quagga/ChangeLog | 13 | ||||
-rw-r--r-- | net-misc/quagga/Manifest | 4 | ||||
-rw-r--r-- | net-misc/quagga/files/digest-quagga-0.98.5-r2 | 2 | ||||
-rw-r--r-- | net-misc/quagga/quagga-0.98.5-r2.ebuild | 140 |
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 +} |