Update Quagga to 0.96.4.

- Refresh net-snmp configure.ac fix target.
 - Add ${SYSCONF_DIR} and ${LOCALSTATE_DIR} configuration variables,
   and defaults, so that the vty and zserv.api UNIX domain sockets are
   created in a directory for which the ${ENABLE_USER} has access. This
   was the cause of much pain previously, causing daemons to fail in
   mysterious circumstances.
 - Update zebractl.sh script accordingly.
 - Add USE_SUBMAKE to ensure that the variables set by the interactive
   configure dialog are referenced.

Submitted by:	Boris Kovalenko
This commit is contained in:
Bruce M Simpson 2003-11-05 15:19:55 +00:00
parent a1a662185e
commit 775f08a2d3
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=93146
5 changed files with 114 additions and 27 deletions

View File

@ -6,8 +6,7 @@
#
PORTNAME= quagga
PORTVERSION= 0.96.2
PORTREVISION= 1
PORTVERSION= 0.96.4
CATEGORIES= net ipv6
MASTER_SITES= http://quagga.net/download/
@ -18,30 +17,49 @@ CONFLICTS= zebra-devel-* zebra-0*
GNU_CONFIGURE= yes
USE_GMAKE= yes
USE_SUBMAKE= yes
WANT_AUTOCONF_VER= 253
WANT_AUTOMAKE_VER= 15
AUTOMAKE_ARGS= -a
AUTOMAKE_ARGS= -a -i
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}
pre-fetch:
@${SETENV} ${SCRIPTS_ENV} ${SH} ${SCRIPTDIR}/configure.quagga
.if exists(${WRKDIRPREFIX}${.CURDIR}/Makefile.inc)
.include "${WRKDIRPREFIX}${.CURDIR}/Makefile.inc"
.endif
.if defined(ENABLE_USER)
.if !defined(ENABLE_USER)
ENABLE_USER=quagga
.endif
.if !defined(ENABLE_GROUP)
ENABLE_GROUP=quagga
.endif
CONFIGURE_ARGS+=--enable-user=${ENABLE_USER}
.endif
.if defined(ENABLE_GROUP)
CONFIGURE_ARGS+=--enable-group=${ENABLE_GROUP}
.if !defined(SYSCONF_DIR)
SYSCONF_DIR=${PREFIX}/etc/quagga
.endif
.if !defined(LOCALSTATE_DIR)
LOCALSTATE_DIR=/var/run/quagga
.endif
CONFIGURE_ARGS+=--sysconfdir=${SYSCONF_DIR}
CONFIGURE_ARGS+=--localstatedir=${LOCALSTATE_DIR}
.if defined(ENABLE_VTY_GROUP)
CONFIGURE_ARGS+=--enable-vty-group=${ENABLE_VTY_GROUP}
.endif
CONFIGURE_ARGS+=--enable-vtysh
pre-everything::
@${ECHO} "============================================================="
@${ECHO}
@ -50,6 +68,8 @@ pre-everything::
@${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} "SYSCONF_DIR Specify directory for Quagga configuration files"
@${ECHO} "LOCALSTATE_DIR Specify directory for Quagga runtime files"
@${ECHO}
@${ECHO} "The following options may be configured interactively:"
@${ECHO} "QUAGGA_OPTIONS Specify additional switches, including:"
@ -60,9 +80,6 @@ pre-everything::
@${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
@ -70,14 +87,18 @@ pre-configure:
@(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOMAKE_ENV} ${ACLOCAL} )
@(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOHEADER_ENV} ${AUTOHEADER} \
${AUTOHEADER_ARGS})
@(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOMAKE_ENV} ${AUTOMAKE} \
-@(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOMAKE_ENV} ${AUTOMAKE} \
${AUTOMAKE_ARGS})
@(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOCONF_ENV} ${AUTOCONF} \
${AUTOCONF_ARGS})
post-install:
@${SETENV} SYSCONF_DIR=${SYSCONF_DIR} SYSSTATE_DIR=${SYSSTATE_DIR} \
ENABLE_USER=${ENABLE_USER} ENABLE_GROUP=${ENABLE_GROUP} \
${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
@${ECHO} "===> installing ${PORTNAME} startup file..."
@${SED} -e "s=!!PREFIX!!=${PREFIX}=" \
-e "s=!!SYSCONF_DIR!!=${SYSCONF_DIR}=" \
< ${FILESDIR}/zebractl.sh \
> ${PREFIX}/sbin/zebractl
@${CHMOD} 555 ${PREFIX}/sbin/zebractl

View File

@ -1 +1 @@
MD5 (quagga-0.96.2.tar.gz) = d32a24cd366199b8c4599a46ca46204b
MD5 (quagga-0.96.4.tar.gz) = 55f5a307c453f90d7dfcc13f0dabb83d

View File

@ -1,6 +1,6 @@
#! /bin/sh
#
# $FreeBSD: /tmp/pcvs/ports/net/quagga/files/Attic/zebractl.sh,v 1.1 2003-09-27 23:40:56 bms Exp $
# $FreeBSD: /tmp/pcvs/ports/net/quagga/files/Attic/zebractl.sh,v 1.2 2003-11-05 15:19:55 bms Exp $
#
# zebra start/stop script by "Andreas Klemm <andreas@FreeBSD.ORG>"
#
@ -19,31 +19,31 @@ fi
case $1 in
start)
if [ ! -f !!PREFIX!!/etc/zebra/zebra.conf ]; then
if [ ! -f !!SYSCONF_DIR!!/zebra.conf ]; then
echo "error: zebra.conf config file is mandatory"
exit 1
fi
[ -f !!PREFIX!!/etc/zebra/zebra.conf ] \
[ -f !!SYSCONF_DIR!!/zebra.conf ] \
&& !!PREFIX!!/sbin/zebra -d && echo -n ' zebra'
[ -f !!PREFIX!!/etc/zebra/ripd.conf ] \
[ -f !!SYSCONF_DIR!!/ripd.conf ] \
&& !!PREFIX!!/sbin/ripd -d && echo -n ' ripd'
[ -f !!PREFIX!!/etc/zebra/ripngd.conf ] \
[ -f !!SYSCONF_DIR!!/ripngd.conf ] \
&& !!PREFIX!!/sbin/ripngd -d && echo -n ' ripngd'
[ -f !!PREFIX!!/etc/zebra/ospfd.conf ] \
[ -f !!SYSCONF_DIR!!/ospfd.conf ] \
&& !!PREFIX!!/sbin/ospfd -d && echo -n ' ospfd'
[ -f !!PREFIX!!/etc/zebra/ospf6d.conf ] \
[ -f !!SYSCONF_DIR!!/ospf6d.conf ] \
&& !!PREFIX!!/sbin/ospf6d -d && echo -n ' ospf6d'
[ -f !!PREFIX!!/etc/zebra/bgpd.conf ] \
[ -f !!SYSCONF_DIR!!/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
[ -f !!SYSCONF_DIR!!/ripd.conf ] && killall ripd
[ -f !!SYSCONF_DIR!!/ripngd.conf ] && killall ripngd
[ -f !!SYSCONF_DIR!!/ospfd.conf ] && killall ospfd
[ -f !!SYSCONF_DIR!!/ospf6d.conf ] && killall ospf6d
[ -f !!SYSCONF_DIR!!/bgpd.conf ] && killall bgpd
[ -f !!SYSCONF_DIR!!/zebra.conf ] && killall zebra
;;
restart)
$0 stop

66
net/quagga/pkg-install Normal file
View File

@ -0,0 +1,66 @@
#!/bin/sh
PATH=/bin:/usr/sbin
if [ -z "${SYSCONF_DIR}" ]; then
SYSCONF_DIR=/usr/local/etc/quagga
fi
if [ -z "${LOCALSTATE_DIR}" ]; then
LOCALSTATE_DIR=/var/run/quagga
fi
if [ -z "${ENABLE_USER}" ]; then
ENABLE_USER=quagga
fi
if [ -z "${ENABLE_GROUP}" ]; then
ENABLE_GROUP=quagga
fi
case $2 in
POST-INSTALL)
UID=90
GID=${UID}
if pw group show "${ENABLE_GROUP}" 2>/dev/null; then
echo "You already have a group \"${ENABLE_GROUP}\", so I will use it."
else
if pw groupadd ${ENABLE_GROUP} -g ${GID}; then
echo "Added group \"${ENABLE_GROUP}\."
else
echo "Adding group \"${ENABLE_GROUP}\" failed."
exit 1
fi
fi
if pw user show "${ENABLE_USER}" 2>/dev/null; then
echo "You already have a user \"${ENABLE_USER}\", so I will use it."
if pw usermod ${ENABLE_USER} -d ${SYSCONF_DIR}
then
echo "Changed home directory of \"${ENABLE_USER}\" to \"${SYSCONF_DIR}\""
else
echo "Changing home directory of \"${ENABLE_USER}\" to \"${SYSCONF_DIR}\" failed..."
exit 1
fi
else
if pw useradd ${ENABLE_USER} -u ${UID} -g ${ENABLE_GROUP} -h - \
-d ${SYSCONF_DIR} -s /sbin/nologin -c "Quagga Daemon"
then
echo "Added user \"${ENABLE_USER}\"."
else
echo "Adding user \"${ENABLE_USER}\" failed..."
exit 1
fi
fi
chown -R ${ENABLE_USER}:${ENABLE_GROUP} ${SYSCONF_DIR}
mkdir ${LOCALSTATE_DIR}
if [ ! -d ${LOCALSTATE_DIR} ]; then
echo "Creating \"${LOCALSTATE_DIR}\" failed."
exit 1
fi
chown -R ${ENABLE_USER}:${ENABLE_GROUP} ${LOCALSTATE_DIR}
;;
esac

View File

@ -3,7 +3,7 @@
# configure - quagga compile time option configurator
# by Bruce M Simpson <bms@FreeBSD.org>
#
# $FreeBSD$
# $FreeBSD: /tmp/pcvs/ports/net/quagga/scripts/Attic/configure.quagga,v 1.1 2003-11-05 15:19:55 bms Exp $
if [ -f ${WRKDIRPREFIX}${CURDIR}/Makefile.inc ]; then
exit