diff options
-rw-r--r-- | net/Makefile | 1 | ||||
-rw-r--r-- | net/quagga/Makefile | 96 | ||||
-rw-r--r-- | net/quagga/distinfo | 1 | ||||
-rw-r--r-- | net/quagga/files/patch-configure.ac | 20 | ||||
-rw-r--r-- | net/quagga/files/zebractl.sh | 57 | ||||
-rw-r--r-- | net/quagga/pkg-descr | 13 | ||||
-rw-r--r-- | net/quagga/pkg-plist | 36 | ||||
-rw-r--r-- | net/quagga/scripts/configure | 85 |
8 files changed, 309 insertions, 0 deletions
diff --git a/net/Makefile b/net/Makefile index 341b3e736901..77473b0fa753 100644 --- a/net/Makefile +++ b/net/Makefile @@ -543,6 +543,7 @@ SUBDIR += pygopherd SUBDIR += pyslsk SUBDIR += qadsl + SUBDIR += quagga SUBDIR += queso SUBDIR += radiator SUBDIR += radiusclient diff --git a/net/quagga/Makefile b/net/quagga/Makefile new file mode 100644 index 000000000000..06ad536dae72 --- /dev/null +++ b/net/quagga/Makefile @@ -0,0 +1,96 @@ +# New ports collection makefile for: quagga +# Date created: 3 September 2003 +# Whom: Bruce M Simpson <bms@FreeBSD.org> +# +# $FreeBSD$ +# + +PORTNAME= quagga +PORTVERSION= 0.96.2 +PORTREVISION= 1 +CATEGORIES= net ipv6 +MASTER_SITES= http://quagga.net/download/ + +MAINTAINER= fuzzball@ipv6peer.net +COMMENT= Free RIPv1, RIPv2, OSPFv2, BGP4 route software (server/reflector) + +CONFLICTS= zebra-devel-* zebra-pj-* zebra-0* + +GNU_CONFIGURE= yes +USE_GMAKE= yes +WANT_AUTOCONF_VER= 253 +WANT_AUTOMAKE_VER= 15 +AUTOMAKE_ARGS= -a + +MAN1= vtysh.1 +MAN8= bgpd.8 ospf6d.8 ospfd.8 ripd.8 ripngd.8 zebra.8 + +CONFIGURE_ARGS+=--sysconfdir=${PREFIX}/etc/quagga --enable-vtysh +SCRIPTS_ENV= WRKDIRPREFIX=${WRKDIRPREFIX} + +.if exists(${WRKDIRPREFIX}${.CURDIR}/Makefile.inc) +.include "${WRKDIRPREFIX}${.CURDIR}/Makefile.inc" +.endif + +.if defined(ENABLE_USER) +CONFIGURE_ARGS+=--enable-user=${ENABLE_USER} +.endif +.if defined(ENABLE_GROUP) +CONFIGURE_ARGS+=--enable-group=${ENABLE_GROUP} +.endif +.if defined(ENABLE_VTY_GROUP) +CONFIGURE_ARGS+=--enable-vty-group=${ENABLE_VTY_GROUP} +.endif + +pre-everything:: + @${ECHO} "=============================================================" + @${ECHO} + @${ECHO} "You can build ${PORTNAME} with the following options:" + @${ECHO} + @${ECHO} "ENABLE_USER Specify user to run Quagga suite as" + @${ECHO} "ENABLE_GROUP Specify group to run Quagga suite as" + @${ECHO} "ENABLE_VTY_GROUP Specify group for vty socket ownership" + @${ECHO} + @${ECHO} "The following options may be configured interactively:" + @${ECHO} "QUAGGA_OPTIONS Specify additional switches, including:" + @${ECHO} " LIBPAM PAM authentication for vtysh" + @${ECHO} " OSPF_NSSA NSSA support (RFC1587)" + @${ECHO} " OSPF_OPAQUE_LSA OSPF Opaque-LSA with OSPFAPI support (RFC2370)" + @${ECHO} " RTADV IPv6 Router Advertisements" + @${ECHO} " SNMP SNMP support" + @${ECHO} " TCPSOCKETS Use TCP/IP sockets for protocol daemons" + +post-patch: + @( cd ${PATCH_WRKSRC} && ${MV} configure.ac configure.in ) + +pre-configure: +.if !defined(BATCH) + @${RM} -f ${WRKDIRPREFIX}${.CURDIR}/Makefile.inc +.endif + @(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOMAKE_ENV} ${ACLOCAL} ) + @(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOHEADER_ENV} ${AUTOHEADER} \ + ${AUTOHEADER_ARGS}) + @(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOMAKE_ENV} ${AUTOMAKE} \ + ${AUTOMAKE_ARGS}) + @(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOCONF_ENV} ${AUTOCONF} \ + ${AUTOCONF_ARGS}) + +post-install: + @${ECHO} "===> installing ${PORTNAME} startup file..." + @${SED} -e "s=!!PREFIX!!=${PREFIX}=" \ + < ${FILESDIR}/zebractl.sh \ + > ${PREFIX}/sbin/zebractl + @${CHMOD} 555 ${PREFIX}/sbin/zebractl + @${ECHO} "Make these entries in /etc/rc.conf to start ${PORTNAME}:" + @${ECHO} "defaultrouter=\"NO\"" + @${ECHO} "router_enable=\"YES\"" + @${ECHO} "router=\"${PREFIX}/sbin/zebractl\"" + @${ECHO} "router_flags=\"start\"" + @${ECHO} "done." + +.if !defined(BATCH) +post-clean: + @${RM} -f ${WRKDIRPREFIX}${.CURDIR}/Makefile.inc +.endif + +.include <bsd.port.mk> diff --git a/net/quagga/distinfo b/net/quagga/distinfo new file mode 100644 index 000000000000..87c4b03d7ed7 --- /dev/null +++ b/net/quagga/distinfo @@ -0,0 +1 @@ +MD5 (quagga-0.96.2.tar.gz) = d32a24cd366199b8c4599a46ca46204b diff --git a/net/quagga/files/patch-configure.ac b/net/quagga/files/patch-configure.ac new file mode 100644 index 000000000000..aca88e392c0f --- /dev/null +++ b/net/quagga/files/patch-configure.ac @@ -0,0 +1,20 @@ +--- configure.ac.orig Thu Sep 25 21:27:36 2003 ++++ configure.ac Thu Sep 25 21:31:17 2003 +@@ -755,6 +755,17 @@ + LIBS="${LIBS} -lsnmp" + fi + ;; ++ /usr/local/include/net-snmp/*) ++ AC_DEFINE(HAVE_SNMP,,SNMP) ++ AC_DEFINE(HAVE_NET_SNMP,,SNMP) ++ AC_DEFINE(UCD_COMPATIBLE,,SNMP) ++ CFLAGS="${CFLAGS} -I/usr/local/include -I/usr/local/include/net-snmp -I/usr/local/include/net-snmp/library" ++ if test"{HAVE_NETSNMP}" = "yes"; then ++ LIBS="${LIBS} -L/usr/local/lib -lnetsnmp" ++ else ++ LIBS="${LIBS} -L/usr/local/lib -lsnmp" ++ fi ++ ;; + /usr/include/ucd-snmp/*) + AC_DEFINE(HAVE_SNMP,,SNMP) + CFLAGS="${CFLAGS} -I/usr/include/ucd-snmp" diff --git a/net/quagga/files/zebractl.sh b/net/quagga/files/zebractl.sh new file mode 100644 index 000000000000..ecb0a5976fac --- /dev/null +++ b/net/quagga/files/zebractl.sh @@ -0,0 +1,57 @@ +#! /bin/sh +# +# $FreeBSD: /tmp/pcvs/ports/net/quagga/files/Attic/zebractl.sh,v 1.1 2003-09-27 23:40:56 bms Exp $ +# +# zebra start/stop script by "Andreas Klemm <andreas@FreeBSD.ORG>" +# + +usage() +{ + echo "$0: usage: $0 [ start | stop | restart ]" + exit 1 +} + +if [ $# -lt 1 ]; then + echo "$0: error: one argument needed"; usage +elif [ $# -gt 1 ]; then + echo "$0: error: only one argument needed"; usage +fi + +case $1 in + start) + if [ ! -f !!PREFIX!!/etc/zebra/zebra.conf ]; then + echo "error: zebra.conf config file is mandatory" + exit 1 + fi + [ -f !!PREFIX!!/etc/zebra/zebra.conf ] \ + && !!PREFIX!!/sbin/zebra -d && echo -n ' zebra' + [ -f !!PREFIX!!/etc/zebra/ripd.conf ] \ + && !!PREFIX!!/sbin/ripd -d && echo -n ' ripd' + [ -f !!PREFIX!!/etc/zebra/ripngd.conf ] \ + && !!PREFIX!!/sbin/ripngd -d && echo -n ' ripngd' + [ -f !!PREFIX!!/etc/zebra/ospfd.conf ] \ + && !!PREFIX!!/sbin/ospfd -d && echo -n ' ospfd' + [ -f !!PREFIX!!/etc/zebra/ospf6d.conf ] \ + && !!PREFIX!!/sbin/ospf6d -d && echo -n ' ospf6d' + [ -f !!PREFIX!!/etc/zebra/bgpd.conf ] \ + && !!PREFIX!!/sbin/bgpd -d && echo -n ' bgpd' + ;; + + stop) + [ -f !!PREFIX!!/etc/zebra/ripd.conf ] && killall ripd + [ -f !!PREFIX!!/etc/zebra/ripngd.conf ] && killall ripngd + [ -f !!PREFIX!!/etc/zebra/ospfd.conf ] && killall ospfd + [ -f !!PREFIX!!/etc/zebra/ospf6d.conf ] && killall ospf6d + [ -f !!PREFIX!!/etc/zebra/bgpd.conf ] && killall bgpd + [ -f !!PREFIX!!/etc/zebra/zebra.conf ] && killall zebra + ;; + restart) + $0 stop + $0 start + ;; + + *) echo "$0: error: unknown option $1" + usage + ;; +esac +exit 0 diff --git a/net/quagga/pkg-descr b/net/quagga/pkg-descr new file mode 100644 index 000000000000..6ef55de47d0b --- /dev/null +++ b/net/quagga/pkg-descr @@ -0,0 +1,13 @@ +From the website: + +Quagga is a routing software suite, providing implementations of +OSPFv2, OSPFv3, RIP v1 and v2, RIPv3 and BGPv4 for Unix platforms, +particularly FreeBSD and Linux and also NetBSD, to mention a few. +Quagga is a fork of GNU Zebra which was developed by Kunihiro +Ishiguro. The Quagga tree aims to build a more involved community +around Quagga than the current centralised model of GNU Zebra. + +WWW: http://quagga.net/ + +Bruce +bms@freebsd.org diff --git a/net/quagga/pkg-plist b/net/quagga/pkg-plist new file mode 100644 index 000000000000..e75c935fe98b --- /dev/null +++ b/net/quagga/pkg-plist @@ -0,0 +1,36 @@ +sbin/bgpd +sbin/ospf6d +sbin/ospfd +sbin/ripd +sbin/ripngd +sbin/zebra +sbin/zebractl +bin/vtysh +etc/quagga/bgpd.conf.sample +etc/quagga/bgpd.conf.sample2 +etc/quagga/ospf6d.conf.sample +etc/quagga/ospfd.conf.sample +etc/quagga/ripd.conf.sample +etc/quagga/ripngd.conf.sample +etc/quagga/vtysh.conf.sample +etc/quagga/zebra.conf.sample +include/ospfd/ospf_api.h +include/ospfd/ospf_asbr.h +include/ospfd/ospf_dump.h +include/ospfd/ospf_ism.h +include/ospfd/ospf_lsa.h +include/ospfd/ospf_lsdb.h +include/ospfd/ospf_nsm.h +include/ospfd/ospf_opaque.h +include/ospfd/ospfd.h +lib/libospf.a +lib/libzebra.a +@unexec install-info --delete %D/info/quagga.info %D/info/dir +info/quagga.info +info/quagga.info-1 +info/quagga.info-2 +info/quagga.info-3 +info/quagga.info-4 +@exec install-info %D/info/quagga.info %D/info/dir +@dirrm include/ospfd +@dirrm etc/quagga diff --git a/net/quagga/scripts/configure b/net/quagga/scripts/configure new file mode 100644 index 000000000000..879eeaa02c64 --- /dev/null +++ b/net/quagga/scripts/configure @@ -0,0 +1,85 @@ +#!/bin/sh +# +# configure - quagga compile time option configurator +# by Bruce M Simpson <bms@FreeBSD.org> +# +# $FreeBSD$ + +if [ -f ${WRKDIRPREFIX}${CURDIR}/Makefile.inc ]; then + exit +fi + +tempfile=`mktemp -t checklist` + +if [ "${QUAGGA_OPTIONS}" ]; then + set ${QUAGGA_OPTIONS} +fi + +for i; do + eval status_$i=ON +done + +if [ -z "${BATCH}" ]; then + /usr/bin/dialog --title "Quagga configuration options" --clear \ + --checklist "\n\ +Please select desired options:" -1 -1 8 \ +LIBPAM "PAM authentication for vtysh" "$status_LIBPAM" \ +OSPF_NSSA "NSSA support (RFC1587)" "$status_OSPF_NSSA" \ +OSPF_OPAQUE_LSA "OSPF Opaque-LSA with OSPFAPI support (RFC2370)" "$status_OSPF_OPAQUE_LSA" \ +RTADV "IPv6 Router Advertisements" "$status_RTADV" \ +SNMP "SNMP support" "$status_SNMP" \ +TCPSOCKETS "Use TCP/IP sockets for protocol daemons" "$status_TCPSOCKETS" \ +2> $tempfile + + retval=$? + + if [ -s $tempfile ]; then + set `sed 's/"//g' $tempfile` + fi + rm -f $tempfile + + case $retval in + 0) if [ -z "$*" ]; then + echo "Nothing selected" + fi + ;; + 1) echo "Cancel pressed." + exit 1 + ;; + esac +fi + +/bin/mkdir -p ${WRKDIRPREFIX}${CURDIR} +exec > ${WRKDIRPREFIX}${CURDIR}/Makefile.inc + +echo "PREFIX= ${PREFIX}" + +while [ "$1" ]; do + case $1 in + LIBPAM) + echo 'CONFIGURE_ARGS+= --with-libpam' + ;; + OSPF_NSSA) + echo 'CONFIGURE_ARGS+= --enable-nssa' + ;; + OSPF_OPAQUE_LSA) + echo 'CONFIGURE_ARGS+= --enable-opaque-lsa' + ;; + RTADV) + echo 'CONFIGURE_ARGS+= --enable-rtadv' + ;; + SNMP) + echo 'LIB_DEPENDS+= snmp.4:${PORTSDIR}/net/net-snmp:install' + echo 'CONFIGURE_ARGS+= --enable-snmp' + ;; + TCPSOCKETS) + echo 'CONFIGURE_ARGS+= --enable-tcp-zebra' + ;; + *) + echo "Unknown option(s): $*" > /dev/stderr + rm -f ${WRKDIRPREFIX}${CURDIR}/Makefile.inc + exit 1 + ;; + esac + shift +done |