Author: ngie
Date: Sat Feb  4 17:10:19 2017
New Revision: 313239
URL: https://svnweb.freebsd.org/changeset/base/313239

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/11/share/mk/bsd.README
  stable/11/share/mk/bsd.snmpmod.mk
  stable/11/usr.sbin/bsnmpd/modules/Makefile
  stable/11/usr.sbin/bsnmpd/modules/snmp_hostres/Makefile
  stable/11/usr.sbin/bsnmpd/modules/snmp_mibII/Makefile
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/share/mk/bsd.README
==============================================================================
--- stable/11/share/mk/bsd.README       Sat Feb  4 17:08:21 2017        
(r313238)
+++ stable/11/share/mk/bsd.README       Sat Feb  4 17:10:19 2017        
(r313239)
@@ -410,6 +410,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/11/share/mk/bsd.snmpmod.mk
==============================================================================
--- stable/11/share/mk/bsd.snmpmod.mk   Sat Feb  4 17:08:21 2017        
(r313238)
+++ stable/11/share/mk/bsd.snmpmod.mk   Sat Feb  4 17:10:19 2017        
(r313239)
@@ -25,4 +25,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/11/usr.sbin/bsnmpd/modules/Makefile
==============================================================================
--- stable/11/usr.sbin/bsnmpd/modules/Makefile  Sat Feb  4 17:08:21 2017        
(r313238)
+++ stable/11/usr.sbin/bsnmpd/modules/Makefile  Sat Feb  4 17:10:19 2017        
(r313239)
@@ -2,7 +2,7 @@
 
 .include <src.opts.mk>
 
-.PATH: ${.CURDIR}/../../../contrib/bsnmp/snmpd
+.PATH: ${SRCTOP}/contrib/bsnmp/snmpd
 
 .if ${MK_ATM} != "no"
 _snmp_atm= snmp_atm
@@ -36,4 +36,6 @@ SUBDIR+=snmp_wlan
 INCS=  snmpmod.h
 INCSDIR= ${INCLUDEDIR}/bsnmp
 
+SUBDIR_TARGETS+=       smilint
+
 .include <bsd.prog.mk>

Modified: stable/11/usr.sbin/bsnmpd/modules/snmp_hostres/Makefile
==============================================================================
--- stable/11/usr.sbin/bsnmpd/modules/snmp_hostres/Makefile     Sat Feb  4 
17:08:21 2017        (r313238)
+++ stable/11/usr.sbin/bsnmpd/modules/snmp_hostres/Makefile     Sat Feb  4 
17:10:19 2017        (r313239)
@@ -75,8 +75,3 @@ LIBADD=       kvm devinfo m geom memstat
 
 printcap.pico: 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/11/usr.sbin/bsnmpd/modules/snmp_mibII/Makefile
==============================================================================
--- stable/11/usr.sbin/bsnmpd/modules/snmp_mibII/Makefile       Sat Feb  4 
17:08:21 2017        (r313238)
+++ stable/11/usr.sbin/bsnmpd/modules/snmp_mibII/Makefile       Sat Feb  4 
17:10:19 2017        (r313239)
@@ -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}
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to