summaryrefslogtreecommitdiffstats
path: root/net/quagga
diff options
context:
space:
mode:
authorbms <bms@FreeBSD.org>2003-11-05 15:19:55 +0000
committerbms <bms@FreeBSD.org>2003-11-05 15:19:55 +0000
commit6fcf6da8e60bdeb014ad7bc82a928fc4885431ee (patch)
tree87cf114d57184ae5f60adc60243edf4bb2c103c6 /net/quagga
parentc2de12e9d4158989d374205c2523a9668210f1fa (diff)
downloadFreeBSD-ports-6fcf6da8e60bdeb014ad7bc82a928fc4885431ee.zip
FreeBSD-ports-6fcf6da8e60bdeb014ad7bc82a928fc4885431ee.tar.gz
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
Diffstat (limited to 'net/quagga')
-rw-r--r--net/quagga/Makefile43
-rw-r--r--net/quagga/distinfo2
-rw-r--r--net/quagga/files/zebractl.sh28
-rw-r--r--net/quagga/pkg-install66
-rw-r--r--net/quagga/scripts/configure.quagga (renamed from net/quagga/scripts/configure)2
5 files changed, 114 insertions, 27 deletions
diff --git a/net/quagga/Makefile b/net/quagga/Makefile
index 8126780..2c8dba9 100644
--- a/net/quagga/Makefile
+++ b/net/quagga/Makefile
@@ -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)
-CONFIGURE_ARGS+=--enable-user=${ENABLE_USER}
+.if !defined(ENABLE_USER)
+ENABLE_USER=quagga
+.endif
+.if !defined(ENABLE_GROUP)
+ENABLE_GROUP=quagga
.endif
-.if defined(ENABLE_GROUP)
+
+CONFIGURE_ARGS+=--enable-user=${ENABLE_USER}
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
diff --git a/net/quagga/distinfo b/net/quagga/distinfo
index 87c4b03..7096b3c 100644
--- a/net/quagga/distinfo
+++ b/net/quagga/distinfo
@@ -1 +1 @@
-MD5 (quagga-0.96.2.tar.gz) = d32a24cd366199b8c4599a46ca46204b
+MD5 (quagga-0.96.4.tar.gz) = 55f5a307c453f90d7dfcc13f0dabb83d
diff --git a/net/quagga/files/zebractl.sh b/net/quagga/files/zebractl.sh
index ecb0a59..bdc597f 100644
--- a/net/quagga/files/zebractl.sh
+++ b/net/quagga/files/zebractl.sh
@@ -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
diff --git a/net/quagga/pkg-install b/net/quagga/pkg-install
new file mode 100644
index 0000000..3860dc0
--- /dev/null
+++ b/net/quagga/pkg-install
@@ -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
diff --git a/net/quagga/scripts/configure b/net/quagga/scripts/configure.quagga
index 879eeaa..3801bd9 100644
--- a/net/quagga/scripts/configure
+++ b/net/quagga/scripts/configure.quagga
@@ -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
OpenPOWER on IntegriCloud