svn commit: r313223 - in stable/10: share/mk usr.sbin/bsnmpd/modules usr.sbin/bsnmpd/modules/snmp_hostres usr.sbin/bsnmpd/modules/snmp_mibII
Ngie Cooper
ngie at FreeBSD.org
Sat Feb 4 16:40:30 UTC 2017
Author: ngie
Date: Sat Feb 4 16:40:28 2017
New Revision: 313223
URL: https://svnweb.freebsd.org/changeset/base/313223
Log:
MFC r311744,r312328,r312329,r312330:
r311744:
Document bsd.snmpmod.mk from a high-level
r312328:
Add a make target (smilint) for running smilint tool against BMIBS
Running smilint against MIB definitions is useful in finding
functional problems with MIB definitions/descriptions.
This is inspired by the smilint targets defined in
usr.sbin/bsnmpd/modules/{snmp_hostres,snmp_mibII}/Makefile
Document all of the variables that are involved in running the
smilint target, as well as all of the prerequisites to running
it.
r312329:
Remove ad hoc smilint targets made standard in bsd.snmpmod.mk in r312328
r312330:
Add smilint target to subdir targets so "make smilint" here will run
the smilint target in subdirs
While here, convert a path that's .CURDIR relative to SRCTOP
Modified:
stable/10/share/mk/bsd.README
stable/10/share/mk/bsd.snmpmod.mk
stable/10/usr.sbin/bsnmpd/modules/Makefile
stable/10/usr.sbin/bsnmpd/modules/snmp_hostres/Makefile
stable/10/usr.sbin/bsnmpd/modules/snmp_mibII/Makefile
Directory Properties:
stable/10/ (props changed)
Modified: stable/10/share/mk/bsd.README
==============================================================================
--- stable/10/share/mk/bsd.README Sat Feb 4 16:37:43 2017 (r313222)
+++ stable/10/share/mk/bsd.README Sat Feb 4 16:40:28 2017 (r313223)
@@ -350,6 +350,82 @@ If foo has multiple source files, add th
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+The include file, <bsd.snmpmod.mk>, handles building MIB modules for bsnmpd
+from one or more source files, along with their manual pages. It has a
+limited number of suffixes, consistent with the current needs of the BSD
+tree.
+
+bsd.snmpmod.mk leverages bsd.lib.mk for building MIB modules and
+bsd.files.mk for installing MIB description and definition files.
+
+It implements the following additional targets:
+
+ smilint:
+ execute smilint on the MIBs defined by BMIBS.
+
+ The net-mgmt/libsmi package must be installed before
+ executing this target. The net-mgmt/net-snmp package
+ should be installed as well to reduce false positives
+ from smilint.
+
+It sets/uses the following variables:
+
+BMIBS The MIB definitions to install.
+
+BMIBSDIR The directory where the MIB definitions are installed.
+ This defaults to `${SHAREDIR}/snmp/mibs`.
+
+DEFS The MIB description files to install.
+
+DEFSDIR The directory where MIB description files are installed.
+ This defaults to `${SHAREDIR}/snmp/defs`.
+
+EXTRAMIBDEFS Extra MIB description files to use as input when
+ generating ${MOD}_oid.h and ${MOD}_tree.[ch].
+
+EXTRAMIBSYMS Extra MIB definition files used only for extracting
+ symbols.
+
+ EXTRAMIBSYMS are useful when resolving inter-module
+ dependencies and are useful with files containing only
+ enum-definitions.
+
+ See ${MOD}_oid.h for more details.
+
+LOCALBASE The package root where smilint and the net-snmp
+ definitions can be found
+
+MOD The bsnmpd module name.
+
+SMILINT smilint binary to use with the smilint make target.
+
+SMILINT_FLAGS flags to pass to smilint.
+
+SMIPATH A colon-separated directory path where MIBs definitions
+ can be found. See "SMIPATH" in smi_config for more
+ details.
+
+XSYM MIB names to extract symbols for. See ${MOD}_oid.h for
+ more details.
+
+It generates the following files:
+
+${MOD}_tree.c A source file and header which programmatically describes
+${MOD}_tree.h the MIB (type, OID name, ACCESS attributes, etc).
+
+ The files are generated via "gensnmptree -p".
+
+ See gensnmptree(1) for more details.
+
+${MOD}_oid.h A header which programmatically describes the MIB root and
+ MIB tables.
+
+ The files are generated via "gensnmptree -e".
+
+ See gensnmptree(1) for more details.
+
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
The include file <bsd.subdir.mk> contains the default targets for building
subdirectories. It has the same seven targets as <bsd.prog.mk>: all, clean,
cleandir, depend, install, lint, and tags. For all of the directories
Modified: stable/10/share/mk/bsd.snmpmod.mk
==============================================================================
--- stable/10/share/mk/bsd.snmpmod.mk Sat Feb 4 16:37:43 2017 (r313222)
+++ stable/10/share/mk/bsd.snmpmod.mk Sat Feb 4 16:40:28 2017 (r313223)
@@ -24,4 +24,18 @@ FILESGROUPS+= BMIBS
BMIBSDIR= ${SHAREDIR}/snmp/mibs
.endif
+.if !target(smilint) && !empty(BMIBS)
+LOCALBASE?= /usr/local
+
+SMILINT?= ${LOCALBASE}/bin/smilint
+
+SMIPATH?= ${BMIBSDIR}:${LOCALBASE}/share/snmp/mibs
+
+SMILINT_FLAGS?= -c /dev/null -l6 -i group-membership
+
+smilint: ${BMIBS}
+ SMIPATH=${SMIPATH} ${SMILINT} ${SMILINT_FLAGS} ${.ALLSRC}
+.endif
+smilint: .PHONY
+
.include <bsd.lib.mk>
Modified: stable/10/usr.sbin/bsnmpd/modules/Makefile
==============================================================================
--- stable/10/usr.sbin/bsnmpd/modules/Makefile Sat Feb 4 16:37:43 2017 (r313222)
+++ stable/10/usr.sbin/bsnmpd/modules/Makefile Sat Feb 4 16:40:28 2017 (r313223)
@@ -2,7 +2,7 @@
.include <bsd.own.mk>
-.PATH: ${.CURDIR}/../../../contrib/bsnmp/snmpd
+.PATH: ${SRCTOP}/contrib/bsnmp/snmpd
.if ${MK_ATM} != "no"
_snmp_atm= snmp_atm
@@ -35,4 +35,6 @@ SUBDIR+=snmp_wlan
INCS= snmpmod.h
INCSDIR= ${INCLUDEDIR}/bsnmp
+SUBDIR_TARGETS+= smilint
+
.include <bsd.prog.mk>
Modified: stable/10/usr.sbin/bsnmpd/modules/snmp_hostres/Makefile
==============================================================================
--- stable/10/usr.sbin/bsnmpd/modules/snmp_hostres/Makefile Sat Feb 4 16:37:43 2017 (r313222)
+++ stable/10/usr.sbin/bsnmpd/modules/snmp_hostres/Makefile Sat Feb 4 16:40:28 2017 (r313223)
@@ -76,8 +76,3 @@ LDADD= -lkvm -ldevinfo -lm -lgeom -lmems
printcap.So: printcap.c
${CC} ${PICFLAG} -DPIC ${CFLAGS:C/^-W.*//} -c ${.IMPSRC} -o ${.TARGET}
-
-smilint: .PHONY
-smilint: ${BMIBS}
- env SMIPATH=.:/usr/share/snmp/mibs:/usr/local/share/snmp/mibs \
- smilint -c /dev/null -l6 -i group-membership ${.ALLSRC}
Modified: stable/10/usr.sbin/bsnmpd/modules/snmp_mibII/Makefile
==============================================================================
--- stable/10/usr.sbin/bsnmpd/modules/snmp_mibII/Makefile Sat Feb 4 16:37:43 2017 (r313222)
+++ stable/10/usr.sbin/bsnmpd/modules/snmp_mibII/Makefile Sat Feb 4 16:40:28 2017 (r313223)
@@ -21,8 +21,3 @@ INCS= snmp_${MOD}.h
BMIBS= BEGEMOT-IP-MIB.txt BEGEMOT-MIB2-MIB.txt
.include <bsd.snmpmod.mk>
-
-smilint: .PHONY
-smilint: ${BMIBS}
- env SMIPATH=/usr/share/snmp/mibs:/usr/local/share/snmp/mibs \
- smilint -c /dev/null -l6 -i group-membership ${.ALLSRC}
More information about the svn-src-all
mailing list