Commit b14e4f4c authored by zi's avatar zi
Browse files

- Update to 5.7.3

- Add missing PYTHON files into pkg-plist
parent 215a685e
......@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= snmp
PORTVERSION= 5.7.2
PORTREVISION= 17
PORTVERSION= 5.7.3
CATEGORIES= net-mgmt ipv6
MASTER_SITES= SF/net-${PORTNAME}/net-${PORTNAME}/${PORTVERSION}
PKGNAMEPREFIX= net-
......@@ -16,14 +15,14 @@ LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/COPYING
OPTIONS_DEFINE= IPV6 MFD_REWRITES PERL PERL_EMBEDDED PYTHON DUMMY TKMIB \
DMALLOC MYSQL AX_SOCKONLY UNPRIVILEGED SMUX DOCS
MYSQL AX_SOCKONLY UNPRIVILEGED SMUX DOCS
OPTIONS_DEFAULT=IPV6 PERL PERL_EMBEDDED DUMMY SMUX
MFD_REWRITES_DESC= Build with 64-bit Interface Counters
PERL_EMBEDDED_DESC= Build embedded perl
DUMMY_DESC= Enable dummy values as placeholders
TKMIB_DESC= Install graphical MIB browser
DMALLOC_DESC= Enable dmalloc debug memory allocator
#DMALLOC_DESC= Enable dmalloc debug memory allocator
AX_SOCKONLY_DESC= Disable UDP/TCP transports for agentx
UNPRIVILEGED_DESC= Allow unprivileged users to execute net-snmp
SMUX_DESC= Build with SNMP multiplexing (SMUX) support
......@@ -49,7 +48,7 @@ CONFIGURE_ARGS+=--enable-shared --enable-internal-md5 \
--with-logfile="${NET_SNMP_LOGFILE}" \
--with-persistent-directory="${NET_SNMP_PERSISTENTDIR}" \
--with-gnu-ld --with-libwrap \
--with-ldflags="-lm -lkvm -ldevstat -lpkg -L${LOCALBASE}/lib -L${PKG_PREFIX}/lib ${LCRYPTO}"
--with-ldflags="-lm -lkvm -ldevstat -L${PKG_PREFIX}/lib ${LCRYPTO}"
SUB_FILES= pkg-message
.if defined(BATCH)
......@@ -104,10 +103,12 @@ PLIST_SUB+= WITH_PERL_EMBEDDED="@comment "
PLIST_SUB+= WITH_PERL="@comment "
.endif
.if ${PORT_OPTIONS:MDMALLOC}
LIB_DEPENDS+= libdmalloc.so:${PORTSDIR}/devel/dmalloc
CONFIGURE_ARGS+=--with-dmalloc=${LOCALBASE}
.endif
#.if ${PORT_OPTIONS:MDMALLOC}
#LIB_DEPENDS+= libdmalloc.so:${PORTSDIR}/devel/dmalloc
#CONFIGURE_ARGS+=--with-dmalloc=${LOCALBASE}
#.else
#CONFIGURE_ARGS+=--without-dmalloc
#.endif
.if ${PORT_OPTIONS:MMYSQL}
USE_MYSQL= yes
......@@ -132,7 +133,7 @@ CONFIGURE_ARGS+=--without-root-access
.endif
SHLIB_VERSION= 30
SHLIB_VERSION2= .0.2
SHLIB_VERSION2= .0.3
PLIST_SUB+= SHLIB_VERSION=${SHLIB_VERSION} SHLIB_VERSION2=${SHLIB_VERSION2}
SCRIPTS_SUB= PREFIX=${PREFIX} PERL=${PERL}
......@@ -187,8 +188,7 @@ LIB_FILES= libnetsnmp.so.${SHLIB_VERSION}${SHLIB_VERSION2} \
libnetsnmptrapd.so.${SHLIB_VERSION}${SHLIB_VERSION2}
SBIN_FILES= snmpd snmptrapd
STARTUP_DIR= ${PREFIX}/etc/rc.d
SCRIPT_FILES= snmpcheck.def mib2c fixproc ipf-mod.pl snmpconf \
traptoemail
SCRIPT_FILES= snmpcheck.def mib2c fixproc ipf-mod.pl traptoemail
.if ${PORT_OPTIONS:MTKMIB}
SCRIPT_FILES+= tkmib
.endif
......@@ -237,7 +237,7 @@ post-patch:
post-configure:
@${FIND} ${WRKSRC} -name Makefile | \
${XARGS} ${REINPLACE_CMD} -E -e '/^INSTALL[ ]+=/s|$$| -m 755|'
.for hdr in sys/mbuf.h netinet/in_pcb.h netinet/in_var.h netinet/ip6.h
.for hdr in sys/mbuf.h netinet/in_pcb.h netinet/in_var.h netinet/ip6.h pkg.h
@${REINPLACE_CMD} -E -e '\
s!^.*#undef.*(HAVE_${hdr:tu:S/./_/g:S/\//_/g}).*$$!#define \1 1!g' \
${WRKSRC}/include/net-snmp/net-snmp-config.h
......@@ -283,7 +283,7 @@ install-doc-files:
.if ${PORT_OPTIONS:MDOCS}
@${MKDIR} ${STAGEDIR}${DOCSDIR}
. for filename in ${DOC_FILES}
@${INSTALL_DATA} ${WRKSRC}/${filename} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/${filename} ${STAGEDIR}${DOCSDIR}
. endfor
.endif
......
SHA256 (net-snmp-5.7.2.tar.gz) = 09ed31b4cc1f3c0411ef9a16eff79ef3b30d89c32ca46d5a01a41826c4ceb816
SIZE (net-snmp-5.7.2.tar.gz) = 6281352
SHA256 (net-snmp-5.7.3.tar.gz) = 12ef89613c7707dc96d13335f153c1921efc9d61d3708ef09f3fc4a7014fb4f0
SIZE (net-snmp-5.7.3.tar.gz) = 6382428
--- ./local/Makefile.in.orig 2012-06-12 10:48:43.000000000 -0400
+++ ./local/Makefile.in 2012-06-12 10:48:50.000000000 -0400
@@ -16,7 +16,7 @@
--- local/Makefile.in.orig 2015-01-19 14:37:56 UTC
+++ local/Makefile.in
@@ -16,7 +16,7 @@ OTHERUNINSTALL=localuninstall
#
SNMPCONFPATH=@SNMPCONFPATH@
PERSISTENT_DIRECTORY=@PERSISTENT_DIRECTORY@
......
--- ./Makefile.in.orig 2012-10-10 01:28:58.000000000 +0300
+++ ./Makefile.in 2014-04-10 18:31:37.128627539 +0300
@@ -20,7 +20,7 @@
INCLUDESUBDIRHEADERS= aix.h bsd.h bsdi3.h bsdi4.h bsdi.h cygwin.h \
darwin.h darwin7.h darwin8.h darwin9.h darwin10.h dragonfly.h dynix.h \
freebsd2.h freebsd3.h freebsd4.h freebsd5.h freebsd6.h \
- freebsd7.h freebsd8.h freebsd9.h freebsd10.h freebsd.h \
+ freebsd7.h freebsd8.h freebsd9.h freebsd10.h freebsd11.h freebsd.h \
generic.h \
hpux.h irix.h linux.h mingw32.h mips.h netbsd.h osf5.h \
openbsd.h openbsd5.h openbsd4.h \
@@ -229,7 +229,7 @@
--- Makefile.in.orig 2015-01-19 14:39:40 UTC
+++ Makefile.in
@@ -230,7 +230,7 @@ pythonmodules: subdirs
fi
pythoninstall:
......
--- agent/Makefile.in.orig 2015-01-19 16:46:08 UTC
+++ agent/Makefile.in
@@ -120,7 +120,7 @@ LMIBLIBS = @LMIBLIBS@
VAL_LIBS = @VAL_LIBS@
PERLLDOPTS_FOR_APPS = @PERLLDOPTS_FOR_APPS@
PERLLDOPTS_FOR_LIBS = @PERLLDOPTS_FOR_LIBS@
-LIBS = $(USELIBS) @AGENTLIBS@ $(PERLLDOPTS_FOR_APPS) $(VAL_LIBS)
+LIBS = $(USELIBS) @AGENTLIBS@ $(PERLLDOPTS_FOR_APPS) $(VAL_LIBS) -lpkg
OUR_AGENT_LIBS = $(AGENTLIB) $(MIBLIB) $(LIBS) @DLLIBS@
CPPFLAGS = $(TOP_INCLUDES) -I. $(AGENT_INCLUDES) $(MIBGROUP_INCLUDES) \
$(SNMPLIB_INCLUDES) @CPPFLAGS@
--- ./agent/auto_nlist.c.orig 2012-10-09 18:28:58.000000000 -0400
+++ ./agent/auto_nlist.c 2013-04-10 14:26:21.000000000 -0400
@@ -56,6 +56,7 @@
static char *n_name = NULL;
#endif
*ptr = (struct autonlist *) malloc(sizeof(struct autonlist));
+ bzero(*ptr, sizeof(struct autonlist));
it = *ptr;
it->left = 0;
it->right = 0;
--- ./agent/mibgroup/agent/extend.c.orig 2012-10-09 18:28:58.000000000 -0400
+++ ./agent/mibgroup/agent/extend.c 2012-10-24 07:46:37.000000000 -0400
@@ -34,7 +34,7 @@
size_t oid_len;
long num_entries;
netsnmp_extend *ehead;
- netsnmp_handler_registration *reg[3];
+ netsnmp_handler_registration *reg[4];
struct extend_registration_block_s *next;
} extend_registration_block;
extend_registration_block *ereg_head = NULL;
@@ -222,10 +222,13 @@
rc = netsnmp_register_watched_scalar2( reg, winfo );
if (rc != SNMPERR_SUCCESS)
goto bail;
+ eptr->reg[3] = reg;
return eptr;
bail:
+ if (eptr->reg[3])
+ netsnmp_unregister_handler(eptr->reg[3]);
if (eptr->reg[2])
netsnmp_unregister_handler(eptr->reg[2]);
if (eptr->reg[1])
@@ -267,6 +270,7 @@
netsnmp_unregister_handler( eptr->reg[0] );
netsnmp_unregister_handler( eptr->reg[1] );
netsnmp_unregister_handler( eptr->reg[2] );
+ netsnmp_unregister_handler( eptr->reg[3] );
SNMP_FREE(eptr);
}
ereg_head = NULL;
@@ -550,6 +554,10 @@
}
eptr = _register_extend( oid_buf, oid_len );
+ if (!eptr) {
+ snmp_log(LOG_ERR, "Failed to register extend entry '%s' - possibly duplicate name.\n", exec_name );
+ return;
+ }
extension = _new_extension( exec_name, flags, eptr );
if (extension) {
extension->command = strdup( exec_command );
--- ./agent/mibgroup/host/data_access/swinst_pkginfo.c.orig 2014-04-09 19:21:59.000000000 -0400
+++ ./agent/mibgroup/host/data_access/swinst_pkginfo.c 2014-04-09 19:22:03.000000000 -0400
@@ -32,6 +32,13 @@
#include <pkginfo.h>
#endif
+#define HAVE_LIBPKG
+
+#ifdef HAVE_LIBPKG
+#define restrict
+#include <pkg.h>
+#endif
+
#include <net-snmp/net-snmp-includes.h>
#include <net-snmp/agent/net-snmp-agent-includes.h>
#include <net-snmp/library/container.h>
@@ -97,52 +104,118 @@
size_t date_len;
int i = 1;
netsnmp_swinst_entry *entry;
+#ifdef HAVE_LIBPKG
+ struct pkgdb *db = NULL;
+ struct pkgdb_it *it = NULL;
+ struct pkg *pkg = NULL;
+ char pkgname[ SNMP_MAXPATH ];
+ char pkgdate[ BUFSIZ ];
+ int pkgng = 0;
+#endif
- if ( !pkg_directory[0] ) {
- return 1; /* Can't report installed packages
- if there isn't a list of them! */
+#ifdef HAVE_LIBPKG
+ if (pkg_init(NULL, NULL)) {
+ snmp_log( LOG_ERR, "SWInst: error initializing pkgng db\n" );
+ return 1;
}
- d = opendir( pkg_directory );
- if (!d)
+
+ if (pkgdb_open(&db, PKGDB_DEFAULT) != EPKG_OK) {
+ snmp_log( LOG_ERR, "SWInst: error opening pkgng db\n" );
return 1;
- while ((dp = readdir(d)) != NULL) {
- if ( '.' == dp->d_name[0] )
- continue;
- entry = netsnmp_swinst_entry_create( i++ );
- if (NULL == entry)
- continue; /* error already logged by function */
- CONTAINER_INSERT(container, entry);
+ }
+
+ if (pkg_status(NULL) == PKG_STATUS_ACTIVE) {
+ pkgng = 1;
+ } else {
+ snmp_log( LOG_INFO, "SWInst: not a pkgng system\n" );
+ }
+#endif
+
+#ifdef HAVE_LIBPKG
+ // if we are using FreeBSD's pkgng
+ if (pkgng) {
+ if ((it = pkgdb_query(db, NULL, MATCH_ALL)) == NULL) {
+ snmp_log( LOG_ERR, "SWInst: error querying pkgng db\n" );
+ return 1;
+ }
+
+ while (pkgdb_it_next(it, &pkg, PKG_LOAD_BASIC) == EPKG_OK) {
+ pkg_snprintf(pkgname, sizeof(pkgname), "%n-%v", pkg, pkg);
+ pkg_snprintf(pkgdate, sizeof(pkgdate), "%t", pkg);
+
+ entry = netsnmp_swinst_entry_create( i++ );
+
+ if (NULL == entry)
+ continue; /* error already logged by function */
+
+ CONTAINER_INSERT(container, entry);
+
+ entry->swName_len = snprintf( entry->swName, sizeof(entry->swName),
+ "%s", pkgname );
+ if (entry->swName_len >= sizeof(entry->swName))
+ entry->swName_len = sizeof(entry->swName)-1;
+
+ install_time = atoi(pkgdate);
+ cp = date_n_time( &install_time, &date_len );
+ memcpy( entry->swDate, cp, date_len );
+ entry->swDate_len = date_len;
+ }
+
+ pkgdb_it_free(it);
+ pkgdb_close(db);
+ pkg_shutdown();
+ } else {
+#endif
+ if ( !pkg_directory[0] ) {
+ return 1; /* Can't report installed packages
+ if there isn't a list of them! */
+ }
+
+ d = opendir( pkg_directory );
+ if (!d)
+ return 1;
+
+ while ((dp = readdir(d)) != NULL) {
+ if ( '.' == dp->d_name[0] )
+ continue;
+ entry = netsnmp_swinst_entry_create( i++ );
+ if (NULL == entry)
+ continue; /* error already logged by function */
+ CONTAINER_INSERT(container, entry);
#ifdef HAVE_PKGINFO
- v = pkgparam( dp->d_name, "VERSION" );
- c = pkgparam( dp->d_name, "CATEGORY" );
+ v = pkgparam( dp->d_name, "VERSION" );
+ c = pkgparam( dp->d_name, "CATEGORY" );
- entry->swName_len = snprintf( entry->swName, sizeof(entry->swName),
- "%s-%s", dp->d_name, v );
- if (entry->swName_len >= sizeof(entry->swName))
- entry->swName_len = sizeof(entry->swName)-1;
- entry->swType = (NULL != strstr( c, "system"))
- ? 2 /* operatingSystem */
- : 4; /* application */
+ entry->swName_len = snprintf( entry->swName, sizeof(entry->swName),
+ "%s-%s", dp->d_name, v );
+ if (entry->swName_len >= sizeof(entry->swName))
+ entry->swName_len = sizeof(entry->swName)-1;
+ entry->swType = (NULL != strstr( c, "system"))
+ ? 2 /* operatingSystem */
+ : 4; /* application */
- /* Do we need to free 'v' & 'c' ??? */
+ /* Do we need to free 'v' & 'c' ??? */
#else
- entry->swName_len = snprintf( entry->swName, sizeof(entry->swName),
- "%s", dp->d_name );
- if (entry->swName_len >= sizeof(entry->swName))
- entry->swName_len = sizeof(entry->swName)-1;
+ entry->swName_len = snprintf( entry->swName, sizeof(entry->swName),
+ "%s", dp->d_name );
+ if (entry->swName_len >= sizeof(entry->swName))
+ entry->swName_len = sizeof(entry->swName)-1;
- /* no information about O/S vs application packages ??? */
+ /* no information about O/S vs application packages ??? */
#endif
- snprintf( buf, BUFSIZ, "%s/%s", pkg_directory, dp->d_name );
- stat( buf, &stat_buf );
- install_time = stat_buf.st_mtime;
- cp = date_n_time( &install_time, &date_len );
- memcpy( entry->swDate, cp, date_len );
- entry->swDate_len = date_len;
+ snprintf( buf, BUFSIZ, "%s/%s", pkg_directory, dp->d_name );
+ stat( buf, &stat_buf );
+ install_time = stat_buf.st_mtime;
+ cp = date_n_time( &install_time, &date_len );
+ memcpy( entry->swDate, cp, date_len );
+ entry->swDate_len = date_len;
+ }
+ closedir( d );
+#ifdef HAVE_LIBPKG
}
- closedir( d );
+#endif
DEBUGMSGTL(("swinst:load:arch"," loaded %d entries\n",
(int)CONTAINER_SIZE(container)));
--- ./agent/mibgroup/host/data_access/swrun_kinfo.c.orig 2012-10-09 18:28:58.000000000 -0400
+++ ./agent/mibgroup/host/data_access/swrun_kinfo.c 2014-02-24 14:33:08.000000000 -0500
@@ -186,7 +186,7 @@
#if HAVE_KVM_GETPROC2
argv = kvm_getargv2( kd, &(proc_table[i]), 0);
#else
- argv = kvm_getargv( kd, &(proc_table[i]), 0);
+ argv = kvm_getargv( kd, &(proc_table[i]), BUFSIZ);
#endif
entry->hrSWRunName_len = snprintf(entry->hrSWRunName,
@@ -219,8 +219,8 @@
if (argv)
argv++; /* Skip argv[0] */
while ( argv && *argv ) {
- strcat(buf, " ");
- strcat(buf, *argv);
+ strncat(buf, " ", sizeof(buf) - strlen(buf) - 1);
+ strncat(buf, *argv, sizeof(buf) - strlen(buf) - 1);
argv++;
}
entry->hrSWRunParameters_len = snprintf(entry->hrSWRunParameters,
--- include/net-snmp/system/freebsd9.h.orig
+++ include/net-snmp/system/freebsd9.h
@@ -1,3 +1,3 @@
/* freebsd9 is a superset of freebsd8 */
#include "freebsd8.h"
-#define freebsd9 freebsd9
+#define freebsd8 freebsd8
--- include/net-snmp/system/freebsd10.h.orig
+++ include/net-snmp/system/freebsd10.h
@@ -1,3 +1,3 @@
-/* freebsd9 is a superset of freebsd10 */
+/* freebsd10 is a superset of freebsd9 */
#include "freebsd9.h"
-#define freebsd10 freebsd10
+#define freebsd9 freebsd9
--- include/net-snmp/system/freebsd11.h.orig
+++ include/net-snmp/system/freebsd11.h
@@ -0,0 +1,3 @@
+/* freebsd11 is a superset of freebsd10 */
+#include "freebsd10.h"
+#define freebsd10 freebsd10
......@@ -78,7 +78,7 @@ include/net-snmp/agent/util_funcs.h
include/net-snmp/agent/util_funcs/header_generic.h
include/net-snmp/agent/util_funcs/header_simple_table.h
include/net-snmp/agent/util_funcs/MIB_STATS_CACHE_TIMEOUT.h
@dirrmtry include/net-snmp/agent/util_funcs
@dir include/net-snmp/agent/util_funcs
include/net-snmp/agent/var_struct.h
include/net-snmp/agent/watcher.h
include/net-snmp/config_api.h
......@@ -184,6 +184,7 @@ include/net-snmp/system/freebsd8.h
include/net-snmp/system/freebsd9.h
include/net-snmp/system/freebsd10.h
include/net-snmp/system/freebsd11.h
include/net-snmp/system/freebsd12.h
include/net-snmp/system/generic.h
include/net-snmp/system/hpux.h
include/net-snmp/system/irix.h
......@@ -304,6 +305,7 @@ man/man3/snmp_alarm_register.3.gz
man/man3/snmp_alarm_register_hr.3.gz
man/man3/snmp_alarm_unregister.3.gz
man/man3/snmp_api_errstring.3.gz
man/man3/snmp_async_send.3.gz
man/man3/snmp_clone_pdu.3.gz
man/man3/snmp_clone_varbind.3.gz
man/man3/snmp_close.3.gz
......@@ -330,6 +332,7 @@ man/man3/snmp_sess_read.3.gz
man/man3/snmp_sess_select_info.3.gz
man/man3/snmp_sess_send.3.gz
man/man3/snmp_sess_session.3.gz
man/man3/snmp_sess_synch_response.3.gz
man/man3/snmp_sess_timeout.3.gz
man/man3/snmp_set_mib_errors.3.gz
man/man3/snmp_set_mib_warnings.3.gz
......@@ -338,6 +341,7 @@ man/man3/snmp_set_var_objid.3.gz
man/man3/snmp_set_var_typed_integer.3.gz
man/man3/snmp_set_var_typed_value.3.gz
man/man3/snmp_set_var_value.3.gz
man/man3/snmp_synch_response.3.gz
man/man3/snmp_timeout.3.gz
man/man3/snmp_varlist_add_variable.3.gz
man/man3/snprint_description.3.gz
......@@ -537,6 +541,8 @@ sbin/snmptrapd
%%DATADIR%%/mibs/SNMP-NOTIFICATION-MIB.txt
%%DATADIR%%/mibs/SNMP-PROXY-MIB.txt
%%DATADIR%%/mibs/SNMP-TARGET-MIB.txt
%%DATADIR%%/mibs/SNMP-TLS-TM-MIB.txt
%%DATADIR%%/mibs/SNMP-TSM-MIB.txt
%%DATADIR%%/mibs/SNMP-USER-BASED-SM-MIB.txt
%%DATADIR%%/mibs/SNMP-USM-AES-MIB.txt
%%DATADIR%%/mibs/SNMP-USM-DH-OBJECTS-MIB.txt
......@@ -577,3 +583,20 @@ sbin/snmptrapd
%%DATADIR%%/snmpconf-data/snmptrapd-data/snmpconf-config
%%DATADIR%%/snmpconf-data/snmptrapd-data/traphandle
@dir /var/agentx
%%WITH_PYTHON%%%%PYTHON_SITELIBDIR%%/netsnmp/__init__.py
%%WITH_PYTHON%%%%PYTHON_SITELIBDIR%%/netsnmp/__init__.pyc
%%WITH_PYTHON%%%%PYTHON_SITELIBDIR%%/netsnmp/__init__.pyo
%%WITH_PYTHON%%%%PYTHON_SITELIBDIR%%/netsnmp/client.py
%%WITH_PYTHON%%%%PYTHON_SITELIBDIR%%/netsnmp/client.pyc
%%WITH_PYTHON%%%%PYTHON_SITELIBDIR%%/netsnmp/client.pyo
%%WITH_PYTHON%%%%PYTHON_SITELIBDIR%%/netsnmp/client_intf.so
%%WITH_PYTHON%%%%PYTHON_SITELIBDIR%%/netsnmp/tests/__init__.py
%%WITH_PYTHON%%%%PYTHON_SITELIBDIR%%/netsnmp/tests/__init__.pyc
%%WITH_PYTHON%%%%PYTHON_SITELIBDIR%%/netsnmp/tests/__init__.pyo
%%WITH_PYTHON%%%%PYTHON_SITELIBDIR%%/netsnmp/tests/test.py
%%WITH_PYTHON%%%%PYTHON_SITELIBDIR%%/netsnmp/tests/test.pyc
%%WITH_PYTHON%%%%PYTHON_SITELIBDIR%%/netsnmp/tests/test.pyo
%%WITH_PYTHON%%%%PYTHON_SITELIBDIR%%/netsnmp_python-%%PYDISTUTILS_PKGVERSION%%-py%%PYTHON_VER%%.egg-info/PKG-INFO
%%WITH_PYTHON%%%%PYTHON_SITELIBDIR%%/netsnmp_python-%%PYDISTUTILS_PKGVERSION%%-py%%PYTHON_VER%%.egg-info/SOURCES.txt
%%WITH_PYTHON%%%%PYTHON_SITELIBDIR%%/netsnmp_python-%%PYDISTUTILS_PKGVERSION%%-py%%PYTHON_VER%%.egg-info/dependency_links.txt
%%WITH_PYTHON%%%%PYTHON_SITELIBDIR%%/netsnmp_python-%%PYDISTUTILS_PKGVERSION%%-py%%PYTHON_VER%%.egg-info/top_level.txt
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment