From 3675562a4943ba9929765930ed10ba83cd930e21 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Diego=20Elio=20Petten=C3=B2?= Date: Tue, 27 Sep 2011 13:07:50 +0000 Subject: [PATCH] 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. Package-Manager: portage-2.2.0_alpha59/cvs/Linux x86_64 --- net-misc/quagga/ChangeLog | 11 +- net-misc/quagga/Manifest | 17 +-- net-misc/quagga/files/quagga-services.init.2 | 51 ++++++++ net-misc/quagga/files/zebra.init.3 | 55 ++++++++ net-misc/quagga/quagga-0.99.19.ebuild | 125 +++++++++++++++++++ 5 files changed, 251 insertions(+), 8 deletions(-) create mode 100644 net-misc/quagga/files/quagga-services.init.2 create mode 100644 net-misc/quagga/files/zebra.init.3 create mode 100644 net-misc/quagga/quagga-0.99.19.ebuild diff --git a/net-misc/quagga/ChangeLog b/net-misc/quagga/ChangeLog index 05c5956304ad..82ae80398622 100644 --- a/net-misc/quagga/ChangeLog +++ b/net-misc/quagga/ChangeLog @@ -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ò +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ò -quagga-0.99.17-r2.ebuild, -files/quagga-0.99.17-gentoo.patch: diff --git a/net-misc/quagga/Manifest b/net-misc/quagga/Manifest index 77e52768f04e..070d0fa63487 100644 --- a/net-misc/quagga/Manifest +++ b/net-misc/quagga/Manifest @@ -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 index 000000000000..a4096b880955 --- /dev/null +++ b/net-misc/quagga/files/quagga-services.init.2 @@ -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 index 000000000000..a5966e8d66eb --- /dev/null +++ b/net-misc/quagga/files/zebra.init.3 @@ -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 index 000000000000..a5865d978de8 --- /dev/null +++ b/net-misc/quagga/quagga-0.99.19.ebuild @@ -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." +} -- 2.26.2