blob: f2d0d6f346a0e831137bf7262bd2890f9ed3c27a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
# Created by: Bruce M Simpson <bms@FreeBSD.org>
# $FreeBSD$
PORTNAME= quagga
PORTVERSION= 1.2.1
CATEGORIES= net ipv6
MASTER_SITES= SAVANNAH
MAINTAINER= pi@FreeBSD.org
COMMENT= Free RIPv1, RIPv2, OSPFv2, BGP4, IS-IS route software
LICENSE= GPLv2
BUILD_DEPENDS= gawk:lang/gawk
CONFLICTS= openbgpd-[0-9]* openospfd-[0-9]* zebra-0* quagga-re-[0-9]*
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --enable-exampledir=${PREFIX}/share/examples/quagga
INSTALL_TARGET= install-strip
USES= gmake libtool makeinfo perl5 readline compiler:c11 cpe
USE_LDCONFIG= yes
USE_PERL5= build
INFO= quagga
OPTIONS_DEFINE= ISISD PIMD PAM RTADV SNMP TCPSOCKETS DLMALLOC \
NO_BGP_ANNOUNCE OSPF_NEXTHOP ISIS_TOPOLOGY
# IRDP needs something freebsd does not seem to have:
# configure: error: 'IRDP requires in_pktinfo at the moment!'
OPTIONS_DEFAULT= ISISD PIMD RTADV
OPTIONS_SUB= yes
PIMD_DESC= PIM-SSM multicast routing
IRDP_DESC= Enable IRDP server support
ISISD_DESC= Enable ISIS daemon (beta)
ISIS_TOPOLOGY_DESC= Enable IS-IS topology generator
PAM_DESC= PAM authentication for vtysh
RTADV_DESC= IPv6 Router Advertisements
TCPSOCKETS_DESC= Use TCP/IP sockets for protocol daemons
DLMALLOC_DESC= Use dlmalloc (makes bgpd much faster)
NO_BGP_ANNOUNCE_DESC= Turn off BGP route announcement
OSPF_NEXTHOP_DESC= Set ip next-hop in OSPF route maps
ENABLE_USER?= quagga
ENABLE_GROUP?= quagga
USERS= ${ENABLE_USER}
GROUPS= ${ENABLE_GROUP}
SYSCONF_DIR?= ${ETCDIR}
LOCALSTATE_DIR?=/var/run/quagga
CONFIGURE_ARGS= --enable-user=${ENABLE_USER} \
--enable-group=${ENABLE_GROUP} \
--sysconfdir=${SYSCONF_DIR} \
--localstatedir=${LOCALSTATE_DIR} \
--enable-vtysh
.if defined(ENABLE_VTY_GROUP)
CONFIGURE_ARGS+=--enable-vty-group=${ENABLE_VTY_GROUP}
.endif
ISISD_CONFIGURE_ENABLE= isisd
ISIS_TOPOLOGY_CONFIGURE_ENABLE= isis-topology
PIMD_CONFIGURE_ENABLE= pimd
IRDP_CONFIGURE_ENABLE= irdp
PAM_CONFIGURE_WITH= libpam
RTADV_CONFIGURE_ENABLE= rtadv
SNMP_CONFIGURE_ENABLE= snmp
SNMP_LIB_DEPENDS= libnetsnmp.so:net-mgmt/net-snmp
TCPSOCKETS_CONFIGURE_ENABLE= tcp-zebra
DLMALLOC_LIB_DEPENDS= libdlmalloc.so:devel/libdlmalloc
DLMALLOC_LIBS= -L${LOCALBASE}/lib -ldlmalloc
OSPF_NEXTHOP_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-ospf-nexthop
# inverse option.
NO_BGP_ANNOUNCE_CONFIGURE_ON= --disable-bgp-announce
NO_BGP_ANNOUNCE_CONFIGURE_OFF= --enable-bgp-announce
USE_RC_SUBR= quagga watchquagga
SUB_LIST+= LOCALSTATE_DIR=${LOCALSTATE_DIR} \
SYSCONF_DIR=${SYSCONF_DIR}
PLIST_SUB+= LOCALSTATE_DIR=${LOCALSTATE_DIR} \
SYSCONF_DIR=${SYSCONF_DIR} \
ENABLE_USER=${ENABLE_USER} \
ENABLE_GROUP=${ENABLE_GROUP}
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} "SYSCONF_DIR Specify directory for Quagga configuration files"
@${ECHO} "LOCALSTATE_DIR Specify directory for Quagga runtime files"
post-install:
${MKDIR} ${STAGEDIR}${LOCALSTATE_DIR} ${STAGEDIR}${SYSCONF_DIR} \
${STAGEDIR}${EXAMPLESDIR}
@${MV} ${STAGEDIR}${SYSCONF_DIR}/* ${STAGEDIR}${EXAMPLESDIR}
.include <bsd.port.mk>
|