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  | 
