summaryrefslogtreecommitdiff
path: root/net/net-snmp/Makefile
blob: ab975afcaaaff6ac15d01032b5fcd121786b01d9 (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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# $NetBSD: Makefile,v 1.137 2021/09/22 10:35:57 adam Exp $

PKGREVISION= 3
.include "Makefile.common"
CATEGORIES=	net

MAINTAINER=	adam@NetBSD.org
COMMENT=	Extensible SNMP implementation

CONFLICTS=	ucd-snmp-[0-9]*
CONFLICTS+=	nocol-[0-9]*	# bin/snmpget bin/snmpwalk

USE_LIBTOOL=		yes
GNU_CONFIGURE=		yes

MAKE_ENV+=	OPSYS=${OPSYS}
MAKE_JOBS_SAFE=	no

.include "../../mk/bsd.prefs.mk"

.include "options.mk"

# Don't compress manual pages as they include each other.
.undef MANZ

MAKE_ENV.DragonFly+=	MIB_SYSTEM_LIBS=-lkinfo

.if ${OPSYS} == "NetBSD"
OSVERSION_SPECIFIC=	YES
.  if empty(CFLAGS:U:M*-Dnetbsd1*)
CFLAGS+=		-Dnetbsd1
.  endif
CFLAGS+=		-DSOL_IP=IPPROTO_IP
.endif

LDFLAGS.SunOS+=		-lkvm

.if (${OPSYS} == "NetBSD") || !exists(/usr/bin/lpstat)
CONFIGURE_ENV+=		ac_cv_path_LPSTAT_PATH=no
.endif

NET_SNMP_SYS_CONTACT?=		default_user@contact.domain
NET_SNMP_SYS_LOCATION?=		defaultlocation
NET_SNMP_PERSISTENTDIR?=	${VARBASE}/net-snmp
NET_SNMP_MIBDIRS?=		\$$HOME/.snmp/mibs:${PREFIX}/share/snmp/mibs:${PREFIX}/lib/tcl/tnm2.1.10/mibs:/usr/local/share/snmp/mibs

BUILD_DEFS+=		NET_SNMP_SYS_CONTACT
BUILD_DEFS+=		NET_SNMP_SYS_LOCATION
BUILD_DEFS+=		NET_SNMP_PERSISTENTDIR
BUILD_DEFS+=		NET_SNMP_MIBDIRS

CONFIGURE_ARGS+=	--enable-shared
CONFIGURE_ARGS+=	--with-defaults
CONFIGURE_ARGS+=	--sysconfdir=${PKG_SYSCONFDIR}
CONFIGURE_ARGS+=	--with-libwrap=${BUILDLINK_PREFIX.tcp_wrappers}/lib
CONFIGURE_ARGS+=	--with-sys-contact=${NET_SNMP_SYS_CONTACT:Q}
CONFIGURE_ARGS+=	--with-sys-location=${NET_SNMP_SYS_LOCATION:Q}
CONFIGURE_ARGS+=	--with-install-prefix=${DESTDIR}
#
# NOTE:  if you specify a logfile then this file will be written to by
# default and although it can be disabled on the command line, the
# daemon must be stopped to cycle it properly.  Remember rc.d/snmpd
# will use '-s' to enable standard syslog logging anyway.
#
CONFIGURE_ARGS+=	--with-logfile=none
CONFIGURE_ARGS+=	--with-persistent-directory=${NET_SNMP_PERSISTENTDIR}
.if !empty(NET_SNMP_MIBDIRS)
CONFIGURE_ARGS+=	--with-mibdirs=${NET_SNMP_MIBDIRS:Q}
.endif
.if ${OPSYS} == "NetBSD" || ${OPSYS} == "SunOS"
CONFIGURE_ARGS+=	--with-mib-modules="smux host ucd-snmp/diskio"
.else
CONFIGURE_ARGS+=	--with-mib-modules="smux host"
.endif
.if !empty(MACHINE_PLATFORM:MDarwin-[567].*)
CONFIGURE_ARGS+=	--with-out-mib-modules="ucd-snmp/diskio mibII"
.endif
.if !empty(MACHINE_PLATFORM:MDarwin-9.*)
CONFIGURE_ARGS+=	--with-mib-modules="host ucd-snmp/diskio"
CONFIGURE_ARGS+=	--with-out-mib-modules="mibII/icmp host/hr_swrun"
CONFIGURE_ARGS+=	--enable-as-needed
CONFIGURE_ARGS+=	--without-kmem-usage
CONFIGURE_ARGS+=	--without-rpm
.endif
#
# Using "dummy" values is technically not compliant with SNMP specs, but
# otherwise, some tools, e.g. net/tcl-scotty, net/tkined, may ignore results
# when they shouldn't.
#
CONFIGURE_ARGS+=	--with-dummy-values
#
# Install the UCD-SNMP look-alike headers and libraries to ease porting of
# older software to use net-snmp.
#
CONFIGURE_ARGS+=	--enable-ucd-snmp-compatibility

CFLAGS.Darwin+=		-framework ApplicationServices
CFLAGS.Darwin+=		-framework CoreFoundation
CFLAGS.Darwin+=		-framework CoreServices
CFLAGS.Darwin+=		-framework DiskArbitration
CFLAGS.Darwin+=		-framework IOKit

# Handle ${PREFIX}/share/snmp in the DEINSTALL script since it may contain
# leftover config files or pidfiles after deinstallation.
#
REQD_DIRS=	${PREFIX}/share/snmp
RCD_SCRIPTS=	snmpd snmptrapd
SMF_NAME=	snmp
SMF_INSTANCES=	default snmptrapd

USE_TOOLS+=		sh:run
REPLACE_INTERPRETER+=	bash
REPLACE.bash.old=	/bin/bash
REPLACE.bash.new=	${SH}
REPLACE_FILES.bash=	local/mib2c-update

INSTALLATION_DIRS+=	share/examples/net-snmp

post-extract:
.if ${OPSYS} == "DragonFly"
	cp ${FILESDIR}/cpu_dragonfly.c ${WRKSRC}/agent/mibgroup/hardware/cpu/cpu_nlist.c
.elif ${OPSYS} == "Darwin"
	${LN} -s ${WRKSRC}/include/net-snmp/system/darwin17.h ${WRKSRC}/include/net-snmp/system/darwin18.h
	${LN} -s ${WRKSRC}/include/net-snmp/system/darwin17.h ${WRKSRC}/include/net-snmp/system/darwin19.h
	${LN} -s ${WRKSRC}/include/net-snmp/system/darwin17.h ${WRKSRC}/include/net-snmp/system/darwin20.h
	${LN} -s ${WRKSRC}/include/net-snmp/system/darwin17.h ${WRKSRC}/include/net-snmp/system/darwin21.h
.endif

post-wrapper:
.if !empty(MACHINE_PLATFORM:MNetBSD-1.5.[123]*-i386)
	mkdir ${BUILDLINK_DIR}/include/sys
	cp ${FILESDIR}/disklabel.h ${BUILDLINK_DIR}/include/sys
.endif

post-install:
	${INSTALL_DATA} ${WRKSRC}/EXAMPLE.conf	\
		${DESTDIR}${PREFIX}/share/examples/net-snmp/EXAMPLE.conf
	${INSTALL_DATA} ${WRKSRC}/agent/snmp_perl.pl \
		${DESTDIR}${PREFIX}/share/snmp/

.include "../../mk/curses.buildlink3.mk"
.include "../../devel/pcre/buildlink3.mk"
.include "../../net/libpcap/buildlink3.mk"
.include "../../security/tcp_wrappers/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"