Version bump (security fixes); use EAPI=4; use OpenRC's proper init scripts with...
authorDiego Elio Pettenò <flameeyes@gentoo.org>
Tue, 27 Sep 2011 13:07:50 +0000 (13:07 +0000)
committerDiego Elio Pettenò <flameeyes@gentoo.org>
Tue, 27 Sep 2011 13:07:50 +0000 (13:07 +0000)
Package-Manager: portage-2.2.0_alpha59/cvs/Linux x86_64

net-misc/quagga/ChangeLog
net-misc/quagga/Manifest
net-misc/quagga/files/quagga-services.init.2 [new file with mode: 0644]
net-misc/quagga/files/zebra.init.3 [new file with mode: 0644]
net-misc/quagga/quagga-0.99.19.ebuild [new file with mode: 0644]

index 05c5956304ad8d40a628246d83eb6abcb0e910bd..82ae80398622bfc4ee8a6f607e0eacdbc52ce421 100644 (file)
@@ -1,6 +1,15 @@
 # ChangeLog for net-misc/quagga
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/quagga/ChangeLog,v 1.112 2011/09/06 11:11:07 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/quagga/ChangeLog,v 1.113 2011/09/27 13:07:50 flameeyes Exp $
+
+*quagga-0.99.19 (27 Sep 2011)
+
+  27 Sep 2011; Diego E. Pettenò <flameeyes@gentoo.org> +quagga-0.99.19.ebuild,
+  +files/quagga-services.init.2, +files/zebra.init.3:
+  Version bump (security fixes); use EAPI=4; use OpenRC's proper init scripts
+  with check whether to use syslog or not; disable strict aliasing since way
+  too many warnings are thrown right now and this could be mission-critical for
+  many.
 
   06 Sep 2011; Diego E. Pettenò <flameeyes@gentoo.org>
   -quagga-0.99.17-r2.ebuild, -files/quagga-0.99.17-gentoo.patch:
index 77e52768f04e5a89bfcd5c5f39352a21a98b5f27..070d0fa63487355b1e163ea1124e53bcb67568b8 100644 (file)
@@ -1,21 +1,24 @@
 -----BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA256
+Hash: SHA1
 
 AUX quagga-services.init 1287 RMD160 7342eac8f86c4f56442866ebef23df2a54b98fd7 SHA1 512eef0c490226a3165e1743e30ccea7334e18bc SHA256 32bb9f40533ee38394fffadf33ca4bf94535be7aecf3f856bd83f0b526651773
+AUX quagga-services.init.2 1350 RMD160 44fd30c6ffd115fc7543f8dfc6142b2fc0459d31 SHA1 a258333b0300d041338d0e10ff0b04d00fdf55ba SHA256 0bfa55d4172af3531c1843c84d1c780564ab6f52f8ca2e0df36ab1c2e95609c8
 AUX quagga.pam 975 RMD160 df2433b76a16f2c8747f9569e88ed90c9c1f2bae SHA1 bfcd1bbbd4162fd70541f0d754a0e5a818025bc9 SHA256 aa68ac97d7a951324bc3c4124a1c70f6fa88a45da860f636ac01cbcbfa36db70
 AUX zebra.init.2 1368 RMD160 d08432138577f2b7870d7a439a9a86698cf858f7 SHA1 8d5ff01382f68b6c7c9ca5ac494fff7f09ca9d92 SHA256 9dfc72ca3d8480a99d7d5c63512d8b84de6b71b64d73966a81092dcb9ad2176b
+AUX zebra.init.3 1429 RMD160 885d29a65a7c90cdbe60a92138781adafbb61a37 SHA1 407cd8b55f50567f4b715aa8a5f60128432d3e41 SHA256 43b8e4da587e624ed866bd095fa4f06437328b746c97567633afb3a9cdfd91d7
 DIST ht-20040304-classless-bgp.patch 1581 RMD160 e08f18b725d2f899f0c4abe7df37dc6608e88baf SHA1 5216bfbcb0f0c42846d56afe7ab778895197a039 SHA256 39993890f9e31d662ed0564c732fb22392a901beb45b64261ffeadd9edf27887
 DIST quagga-0.99.18-backports-2.tar.bz2 3938 RMD160 f4bb30a568676088b40c08a1e5e1e6417eeb2308 SHA1 91c2956b4e5f17d3f48d7b8fad2b6668322cace8 SHA256 0f53235e3a4456cbde5e0ab79951f0dd740d6075d7d1c14931f77bfe8d0a2001
 DIST quagga-0.99.18.tar.gz 2199014 RMD160 8c13de87ec9b73b4897e4387a7faebdbcb6cb826 SHA1 3486a8452212515f429dfae2cad5ed541b3d88d8 SHA256 0cdbe4b90075f4997ca6ecc71ef683a07b4a8ca3c718080fe83f4bcadbcc4d93
+DIST quagga-0.99.19-backports-1.tar.bz2 1898 RMD160 d8c46af2563bef6fb652469275029cbe3cb6e924 SHA1 326fbdadcff94069380c96bb738ffb7873391b00 SHA256 0f256a0bda21e3f31334e1bf45cb01efa34ff6de56f62e73788a2371d719ba00
+DIST quagga-0.99.19.tar.gz 2232051 RMD160 3c82158bdfcc68ede665d649fab7965a6a557979 SHA1 614923aa21415a4d6dc19d4438ccee63548e2a9d SHA256 bc5052d285af6e7aac42984741e74261637c57c4a02032bf05de7a5ea3a1afe0
 EBUILD quagga-0.99.18.ebuild 3471 RMD160 ed97cb9ba7b530679e18d698fcf88cb625e4260a SHA1 dd7fe462d227e075c90a6d9d488108265af4e9c7 SHA256 f91c792c132f5fbd8db0bf3726ec29a4bf041a27bac5422d2614eca10e7356dd
-MISC ChangeLog 19221 RMD160 ce4eb57282abd171b36762b0d06477f45b8956d7 SHA1 af698611ee65e2085d1618d810b4c03eb149e532 SHA256 b055b59921198f1e7f4b7c27e06552a444db080584eb3e92d2adc4d984cae3af
+EBUILD quagga-0.99.19.ebuild 3441 RMD160 5f2cfedb50c245e0ea1a235b361efa3d009a2367 SHA1 68f0ab3e4810c9781cff2eaf8dc7166b79f16413 SHA256 1d03f4948a1072162f43a5172914bea551a3d380df3ebb9869073f7c841e3225
+MISC ChangeLog 19630 RMD160 d795651578544c87a780f41e740e8fd435225c85 SHA1 b0a47d8598bd916e88565db3c612bba379b59a73 SHA256 f27f4bc69f3142d04985c9ec5728e71936d763bca0706cbcf6796472f744e070
 MISC metadata.xml 2554 RMD160 c0e4b7b4034baa76566cbbe7272addaded4bdfb8 SHA1 ca17a953dc1e7e3c0fa3e694c633c040309f0692 SHA256 24a358fa4969f596371ead780b12589ae14c1fd431a9c5e220171a19f5c64751
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.18 (GNU/Linux)
 
-iJwEAQEIAAYFAk59rQ0ACgkQfXuS5UK5QB1UfwQAsafG7G4BIwQ/gqp2UZ+iKL6B
-jfz7fLmMvcl3f7OwB2TE0D5Gx7Zl0WftPnZuhkQgectRJGnd7ezu2uGV/WbHEOsw
-EJvL7gXlq+TdSdk72R9KSE+664j+XRikwVjPXOkicx0jsDgW/E0ooUFvZRh7emc1
-itRuW8KDPJJ93ZuQb2A=
-=Krd+
+iEYEARECAAYFAk6BypsACgkQAiZjviIA2Xj+QQCg6OMu+eQVLT8+wkLaOrVjc+XF
+a2AAn0PruZw1e8RymD97XtfAe0CUAs16
+=suQ2
 -----END PGP SIGNATURE-----
diff --git a/net-misc/quagga/files/quagga-services.init.2 b/net-misc/quagga/files/quagga-services.init.2
new file mode 100644 (file)
index 0000000..a4096b8
--- /dev/null
@@ -0,0 +1,51 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/quagga/files/quagga-services.init.2,v 1.1 2011/09/27 13:07:50 flameeyes Exp $
+
+: CFGFILE=/etc/quagga/${SVCNAME}.conf
+
+get_service_config() {
+       awk '$1 == "'$1'" { s=$2 } END { print s }' "$CFGFILE"
+}
+
+depend() {
+       config "$CFGFILE"
+
+    need zebra
+
+       [ "$(get_service_config log)" = "syslog" ] && \
+               use logger
+}
+
+start() {
+    if [ ! -e "${CFGFILE}" ] ; then
+        eerror "Before starting ${SVCNAME} you have to configure it, by creating"
+        eerror "a ${CFGFILE} file."
+        eerror ""
+        eerror "A sample file has been installed in `ls /usr/share/doc/quagga-*/samples/${SVCNAME}.conf.sample`"
+        return 1
+    fi
+
+    if [ ! -d /var/run/quagga ] ; then
+        mkdir -p /var/run/quagga
+        chown quagga:quagga /var/run/quagga
+        chmod 0750 /var/run/quagga
+    fi
+
+    ebegin "Starting ${SVCNAME}"
+    start-stop-daemon \
+        --start --exec /usr/sbin/${SVCNAME} \
+        --pidfile /var/run/quagga/${SVCNAME}.pid \
+               -- -d -f "${CFGFILE}" ${EXTRA_OPTS} \
+               --pid_file /var/run/quagga/${SVCNAME}.pid
+
+    eend $?
+}
+
+stop() {
+    ebegin "Stopping ${SVCNAME}"
+    start-stop-daemon --stop \
+        --pidfile /var/run/quagga/${SVCNAME}.pid
+    eend $?
+}
diff --git a/net-misc/quagga/files/zebra.init.3 b/net-misc/quagga/files/zebra.init.3
new file mode 100644 (file)
index 0000000..a5966e8
--- /dev/null
@@ -0,0 +1,55 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/quagga/files/zebra.init.3,v 1.1 2011/09/27 13:07:50 flameeyes Exp $
+
+: CFGFILE=/etc/quagga/${SVCNAME}.conf
+
+get_service_config() {
+       awk '$1 == "'$1'" { s=$2 } END { print s }' "$CFGFILE"
+}
+
+depend() {
+       config "$CFGFILE"
+
+    need net
+
+       [ "$(get_service_config log)" = "syslog" ] && \
+               use logger
+}
+
+start() {
+    if [ ! -e "${CFGFILE}" ] ; then
+        eerror "Before starting ${SVCNAME} you have to configure it, by creating"
+        eerror "a ${CFGFILE} file."
+        eerror ""
+        eerror "A sample file has been installed in `ls /usr/share/doc/quagga-*/samples/${SVCNAME}.conf.sample`"
+        return 1
+    fi
+
+    if [ ! -d /var/run/quagga ] ; then
+        mkdir -p /var/run/quagga
+        chown quagga:quagga /var/run/quagga
+        chmod 0750 /var/run/quagga
+    fi
+
+    ebegin "Cleaning up stale zebra routes..."
+    ip route flush proto zebra
+    eend $?
+
+    ebegin "Starting ${SVCNAME}"
+    start-stop-daemon \
+        --start --exec /usr/sbin/${SVCNAME} \
+        --pidfile /var/run/quagga/${SVCNAME}.pid \
+               -- -d -f "${CFGFILE}" ${EXTRA_OPTS} \
+               --pid_file /var/run/quagga/${SVCNAME}.pid
+
+    eend $?
+}
+
+stop() {
+    ebegin "Stopping ${SVCNAME}"
+    start-stop-daemon --stop \
+        --pidfile /var/run/quagga/${SVCNAME}.pid
+    eend $?
+}
diff --git a/net-misc/quagga/quagga-0.99.19.ebuild b/net-misc/quagga/quagga-0.99.19.ebuild
new file mode 100644 (file)
index 0000000..a5865d9
--- /dev/null
@@ -0,0 +1,125 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/quagga/quagga-0.99.19.ebuild,v 1.1 2011/09/27 13:07:50 flameeyes Exp $
+
+EAPI="4"
+
+CLASSLESS_BGP_PATCH=ht-20040304-classless-bgp.patch
+
+BACKPORTS=1
+
+inherit eutils multilib autotools pam flag-o-matic
+
+DESCRIPTION="A free routing daemon replacing Zebra supporting RIP, OSPF and BGP."
+HOMEPAGE="http://quagga.net/"
+SRC_URI="http://www.quagga.net/download/${P}.tar.gz
+       ${BACKPORTS:+
+               http://dev.gentoo.org/~flameeyes/${PN}/${P}-backports-${BACKPORTS}.tar.bz2}
+       bgpclassless? ( http://hasso.linux.ee/stuff/patches/quagga/${CLASSLESS_BGP_PATCH} )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~s390 ~sparc ~x86"
+IUSE="caps doc ipv6 snmp pam bgpclassless ospfapi multipath tcp-zebra elibc_glibc +readline"
+
+COMMON_DEPEND="
+       caps? ( sys-libs/libcap )
+       snmp? ( net-analyzer/net-snmp )
+       readline? (
+               sys-libs/readline
+               pam? ( sys-libs/pam )
+       )
+       !elibc_glibc? ( dev-libs/libpcre )"
+DEPEND="${COMMON_DEPEND}
+       >=sys-devel/libtool-2.2.4"
+RDEPEND="${COMMON_DEPEND}
+       sys-apps/openrc
+       sys-apps/iproute2"
+
+pkg_setup() {
+       enewgroup quagga
+       enewuser quagga -1 -1 /var/empty quagga
+}
+
+src_prepare() {
+       [[ -n ${BACKPORTS} ]] && \
+               EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" \
+                       epatch
+
+       # Classless prefixes for BGP
+       # http://hasso.linux.ee/doku.php/english:network:quagga
+       use bgpclassless && epatch "${DISTDIR}/${CLASSLESS_BGP_PATCH}"
+
+       eautoreconf
+}
+
+src_configure() {
+       local myconf=
+
+       use ospfapi \
+                       && myconf="${myconf} --enable-opaque-lsa --enable-ospf-te --enable-ospfclient"
+
+       use multipath && myconf="${myconf} --enable-multipath=0"
+
+       append-flags -fno-strict-aliasing
+
+       econf \
+               --enable-user=quagga \
+               --enable-group=quagga \
+               --enable-vty-group=quagga \
+               --with-cflags="${CFLAGS}" \
+               --sysconfdir=/etc/quagga \
+               --enable-exampledir=/usr/share/doc/${PF}/samples \
+               --localstatedir=/var/run/quagga \
+               --disable-static \
+               --disable-pie \
+               \
+               $(use_enable caps capabilities) \
+               $(use_enable snmp) \
+               $(use_enable !elibc_glibc pcreposix) \
+               $(use_enable tcp-zebra) \
+               $(use_enable doc) \
+               \
+               $(use_enable readline vtysh) \
+               $(use_with pam libpam) \
+               \
+               $(use_enable ipv6) \
+               $(use_enable ipv6 ripngd) \
+               $(use_enable ipv6 ospf6d) \
+               $(use_enable ipv6 rtadv) \
+               \
+               ${myconf}
+}
+
+src_install() {
+       emake DESTDIR="${D}" install
+       find "${D}" -name '*.la' -delete || die
+
+       keepdir /etc/quagga
+       fowners root:quagga /etc/quagga
+       fperms 0770 /etc/quagga
+
+       newinitd "${FILESDIR}"/zebra.init.3 zebra
+
+       # install ripd as a file, symlink the rest
+       newinitd "${FILESDIR}"/quagga-services.init.2 ripd
+
+       for service in ospfd bgpd $(use ipv6 && echo ripngd ospf6d); do
+               dosym ripd /etc/init.d/${service}
+       done
+
+       use readline && newpamd "${FILESDIR}/quagga.pam" quagga
+}
+
+pkg_postinst() {
+       elog "Sample configuration files can be found in /usr/share/doc/${PF}/samples"
+       elog "You have to create config files in /etc/quagga before"
+       elog "starting one of the daemons."
+       elog ""
+       elog "You can pass additional options to the daemon by setting the EXTRA_OPTS"
+       elog "variable in their respective file in /etc/conf.d"
+       elog ""
+       elog "Starting from version 0.99.18, quagga no longer supports the realms patch."
+       elog "The patch was abandoned upstream and once again didn't apply; it needs a"
+       elog "dedicated maintainer, if it is still necessary."
+}