Date: Wed, 21 Sep 2005 13:19:22 +0400 (MSD) From: "Andrey V. Elsukov" <bu7cher@yandex.ru> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/86400: new port net-mgmt/bsnmpd - mini SNMP daemon Message-ID: <200509210919.j8L9JMgk018536@rdu.kirov.ru> Resent-Message-ID: <200509210920.j8L9K4ZY090121@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 86400 >Category: ports >Synopsis: new port net-mgmt/bsnmpd - mini SNMP daemon >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Wed Sep 21 09:20:04 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Andrey V. Elsukov >Release: FreeBSD >Organization: >Environment: Tested on FreeBSD 4.8-RELEASE, 4.11-STABLE, 6.0-BETA4 >Description: This is mini SNMP daemon, that is already included in RELENG_5 and later. With this port we can install this daemon onto older FreeBSD releases. >How-To-Repeat: >Fix: Older systems don't have definitions of some macros and I has make several patches to sources, please look it. --- bsnmpd.shar begins here --- # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # bsnmpd # bsnmpd/Makefile # bsnmpd/distinfo # bsnmpd/pkg-descr # bsnmpd/files # bsnmpd/files/patch-lib-asn1.h # bsnmpd/files/patch-gensnmptree-Makefile.in # bsnmpd/files/patch-lib-Makefile.in # bsnmpd/files/patch-snmp_mibII-Makefile.in # bsnmpd/files/patch-snmpd-Makefile.in # bsnmpd/files/bsnmpd.sh.in # bsnmpd/files/patch-snmpd-config.c # bsnmpd/files/patch-snmpd-trap.c # bsnmpd/files/patch-configure.ac # bsnmpd/files/patch-snmp_mibII-mibII.c # bsnmpd/files/patch-config-Makefile.pre # bsnmpd/files/patch-snmpd-snmpd.config # bsnmpd/files/patch-snmp_mibII-mibII_ipaddr.c # bsnmpd/pkg-plist # echo c - bsnmpd mkdir -p bsnmpd > /dev/null 2>&1 echo x - bsnmpd/Makefile sed 's/^X//' >bsnmpd/Makefile << 'END-of-bsnmpd/Makefile' X# New ports collection makefile for: bsnmpd X# Date created: Sep 17 2005 X# Whom: Andrey V. Elsukov <bu7cher@yandex.ru> X# X# $FreeBSD$ X# X XPORTNAME= bsnmpd XPORTVERSION= 1.5 XCATEGORIES= net-mgmt XMASTER_SITES= http://people.freebsd.org/~harti/bsnmp/ XDISTNAME= bsnmp-${PORTVERSION} X XMAINTAINER= bu7cher@yandex.ru XCOMMENT= A mini-SNMP daemon X XLIB_DEPENDS= begemot.1:${PORTSDIR}/devel/libbegemot X XUSE_GMAKE= yes XGNU_CONFIGURE= yes XCONFIGURE_ARGS+= --with-libbegemot=${LOCALBASE} X XWANT_AUTOCONF_VER=259 XWANT_AUTOMAKE_VER=19 X XUSE_GCC= 3.2+ XUSE_RC_SUBR= bsnmpd.sh X XMAN1= bsnmpd.1 gensnmptree.1 XMAN3= asn1.3 bsnmplib.3 bsnmpclient.3 bsnmpagent.3 snmpmod.3 \ X snmp_mibII.3 X Xrun-autotools: X @(cd ${CONFIGURE_WRKSRC} && ${LOCALBASE}/bin/aclocal19 ) X @(cd ${CONFIGURE_WRKSRC} && ${LOCALBASE}/bin/autoconf259 ) X Xpost-install: X @${MKDIR} ${PREFIX}/etc X @${INSTALL_DATA} ${BUILD_WRKSRC}/snmpd/snmpd.config ${PREFIX}/etc/bsnmpd.config.example X X.include <bsd.port.mk> END-of-bsnmpd/Makefile echo x - bsnmpd/distinfo sed 's/^X//' >bsnmpd/distinfo << 'END-of-bsnmpd/distinfo' XMD5 (bsnmp-1.5.tar.gz) = 787756a41701dad6dfbdb0e1339baa3b XSIZE (bsnmp-1.5.tar.gz) = 366237 END-of-bsnmpd/distinfo echo x - bsnmpd/pkg-descr sed 's/^X//' >bsnmpd/pkg-descr << 'END-of-bsnmpd/pkg-descr' XThis is a mini-SNMP daemon. The basic daemon implements the system group Xand a number of private extensions to manage the UDP transport mapping, Xcommunities, trap destinations and loadable modules. In this form it can Xbe used to provide remote access to arbitrary data that can be described in Xthe form as required by the SMI. The daemon speaks both SNMPv1 and SNMPv2c. X XWWW: http://people.freebsd.org/~harti/bsnmp/ X X- Andrey V. Elsukov Xbu7cher@yandex.ru END-of-bsnmpd/pkg-descr echo c - bsnmpd/files mkdir -p bsnmpd/files > /dev/null 2>&1 echo x - bsnmpd/files/patch-lib-asn1.h sed 's/^X//' >bsnmpd/files/patch-lib-asn1.h << 'END-of-bsnmpd/files/patch-lib-asn1.h' X--- lib/asn1.h.orig Tue Dec 2 18:52:37 2003 X+++ lib/asn1.h Wed Sep 21 09:53:04 2005 X@@ -183,4 +183,10 @@ X ASN_EXCEPT_ENDOFMIBVIEW = 0x02, X }; X X+#if !defined(__STDC_LIMIT_MACROS) X+#define INT32_MIN (-0x7fffffff-1) X+#define INT32_MAX 0x7fffffff X+#define UINT32_MAX 0xffffffffU X+#endif X+ X #endif END-of-bsnmpd/files/patch-lib-asn1.h echo x - bsnmpd/files/patch-gensnmptree-Makefile.in sed 's/^X//' >bsnmpd/files/patch-gensnmptree-Makefile.in << 'END-of-bsnmpd/files/patch-gensnmptree-Makefile.in' X--- gensnmptree/Makefile.in.orig Tue Dec 2 18:40:55 2003 X+++ gensnmptree/Makefile.in Mon Sep 19 21:52:53 2005 X@@ -9,6 +9,7 @@ X X PROG= gensnmptree X SRCS= gensnmptree.c X+MAN1= gensnmptree.1 X X CFLAGS+= -I$(srcdir)/../lib X X@@ -18,5 +19,7 @@ X $(LIBTOOL) --mode=link $(CC) $(LDLAGS) -o $@ $(SRCS:.c=.lo) X X install: X- @$(srcdir)/../config/mkinstalldirs $(bindir) X- $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $(builddir)/$(PROG) $(bindir)/$(PROG) X+ @$(srcdir)/../config/mkinstalldirs $(sbindir) X+ $(BSD_INSTALL_PROGRAM) $(builddir)/$(PROG) $(sbindir)/$(PROG) X+ @$(srcdir)/../config/mkinstalldirs $(mandir)/man1 X+ $(BSD_INSTALL_MAN) $(MAN1) $(mandir)/man1 END-of-bsnmpd/files/patch-gensnmptree-Makefile.in echo x - bsnmpd/files/patch-lib-Makefile.in sed 's/^X//' >bsnmpd/files/patch-lib-Makefile.in << 'END-of-bsnmpd/files/patch-lib-Makefile.in' X--- lib/Makefile.in.orig Tue Dec 2 18:41:00 2003 X+++ lib/Makefile.in Tue Sep 20 18:25:16 2005 X@@ -8,10 +8,9 @@ X # X SRCS= asn1.c snmp.c snmpagent.c snmpclient.c X INCS= asn1.h snmp.h snmpagent.h snmpclient.h X-MAN= asn1.3 bsnmplib.3 bsnmpclient.3 bsnmpagent.3 X+MAN3= asn1.3 bsnmplib.3 bsnmpclient.3 bsnmpagent.3 X X INCDIR= $(includedir)/bsnmp X-MANDIR= $(mandir)/man3 X X LIB= libbsnmp.la X SHLIB_MAJOR= 1 X@@ -26,8 +25,8 @@ X X install: X @$(srcdir)/../config/mkinstalldirs $(libdir) X- $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $(LIB) $(libdir) X+ $(LIBTOOL) --mode=install $(BSD_INSTALL_DATA) $(LIB) $(libdir) X @$(srcdir)/../config/mkinstalldirs $(INCDIR) X- $(INSTALL_DATA) $(INCS) $(INCDIR) X- @$(srcdir)/../config/mkinstalldirs $(MANDIR) X- $(INSTALL_DATA) $(MAN) $(MANDIR) X+ $(BSD_INSTALL_DATA) $(INCS) $(INCDIR) X+ @$(srcdir)/../config/mkinstalldirs $(mandir)/man3 X+ $(BSD_INSTALL_MAN) $(MAN3) $(mandir)/man3 END-of-bsnmpd/files/patch-lib-Makefile.in echo x - bsnmpd/files/patch-snmp_mibII-Makefile.in sed 's/^X//' >bsnmpd/files/patch-snmp_mibII-Makefile.in << 'END-of-bsnmpd/files/patch-snmp_mibII-Makefile.in' X--- snmp_mibII/Makefile.in.orig Tue Dec 2 18:41:00 2003 X+++ snmp_mibII/Makefile.in Tue Sep 20 19:31:52 2005 X@@ -13,8 +13,10 @@ X mibII_route.c X INCS= snmp_${MOD}.h X MAN3= snmp_mibII.3 X+DEFS= ${MOD}_tree.def X X-INCDIR= $(includedir)/bsnmp X+INCSDIR= $(includedir)/bsnmp X+DEFSDIR= $(datadir)/bsnmp/defs X X XSYM= ipAddrTable ifTable ifRcvAddressEntry ifMIB ipMIB tcpMIB udpMIB \ X ipForward ifIndex linkDown linkUp X@@ -37,11 +39,13 @@ X X install: X @$(srcdir)/../config/mkinstalldirs $(libdir) X- $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $(LIB) $(libdir) X- @$(srcdir)/../config/mkinstalldirs $(INCDIR) X- $(INSTALL_DATA) $(INCS) $(INCDIR) X- @$(srcdir)/../config/mkinstalldirs $(mandir) X- $(INSTALL_DATA) $(MAN3) $(mandir)/man3 X+ $(LIBTOOL) --mode=install $(BSD_INSTALL_DATA) $(LIB) $(libdir) X+ @$(srcdir)/../config/mkinstalldirs $(INCSDIR) X+ $(BSD_INSTALL_DATA) $(INCS) $(INCSDIR) X+ @$(srcdir)/../config/mkinstalldirs $(DEFSDIR) X+ $(BSD_INSTALL_DATA) $(DEFS) $(DEFSDIR) X+ @$(srcdir)/../config/mkinstalldirs $(mandir)/man3 X+ $(BSD_INSTALL_MAN) $(MAN3) $(mandir)/man3 X X ${MOD}_oid.h: ${MOD}_tree.def X ${GENSNMPTREE} <${srcdir}/${MOD}_tree.def -e ${XSYM} >$@ END-of-bsnmpd/files/patch-snmp_mibII-Makefile.in echo x - bsnmpd/files/patch-snmpd-Makefile.in sed 's/^X//' >bsnmpd/files/patch-snmpd-Makefile.in << 'END-of-bsnmpd/files/patch-snmpd-Makefile.in' X--- snmpd/Makefile.in.orig Wed Dec 3 14:10:53 2003 X+++ snmpd/Makefile.in Tue Sep 20 18:29:07 2005 X@@ -9,7 +9,7 @@ X X PROG= bsnmpd X SRCS= tree.c main.c action.c config.c export.c trap.c X-MAN1= snmpd.1 X+MAN1= bsnmpd.1 X MAN3= snmpmod.3 X X XSYM= snmpMIB begemotSnmpdModuleTable begemotSnmpd begemotTrapSinkTable \ X@@ -33,18 +33,18 @@ X $(builddir)/../lib/libbsnmp.la $(LIBEV) X X install: X- $(INSTALL_DATA) $(INCS) $(bindir) X- $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $(builddir)/$(PROG) $(bindir)/$(PROG) X+ @$(srcdir)/../config/mkinstalldirs $(sbindir) X+ $(LIBTOOL) --mode=install $(BSD_INSTALL_PROGRAM) $(builddir)/$(PROG) $(sbindir)/$(PROG) X @$(srcdir)/../config/mkinstalldirs $(INCSDIR) X- $(INSTALL_DATA) $(INCS) $(INCSDIR) X+ $(BSD_INSTALL_DATA) $(INCS) $(INCSDIR) X @$(srcdir)/../config/mkinstalldirs $(mandir)/man1 X- $(INSTALL_DATA) $(MAN1) $(mandir)/man1 X+ $(BSD_INSTALL_MAN) $(MAN1) $(mandir)/man1 X @$(srcdir)/../config/mkinstalldirs $(mandir)/man3 X- $(INSTALL_DATA) $(MAN3) $(mandir)/man3 X+ $(BSD_INSTALL_MAN) $(MAN3) $(mandir)/man3 X @$(srcdir)/../config/mkinstalldirs $(MIBSDIR) X- $(INSTALL_DATA) $(MIBS) $(MIBSDIR) X+ $(BSD_INSTALL_DATA) $(MIBS) $(MIBSDIR) X @$(srcdir)/../config/mkinstalldirs $(DEFSDIR) X- $(INSTALL_DATA) $(DEFS) $(DEFSDIR) X+ $(BSD_INSTALL_DATA) $(DEFS) $(DEFSDIR) X X CLEANFILES += tree.c tree.h oid.h X END-of-bsnmpd/files/patch-snmpd-Makefile.in echo x - bsnmpd/files/bsnmpd.sh.in sed 's/^X//' >bsnmpd/files/bsnmpd.sh.in << 'END-of-bsnmpd/files/bsnmpd.sh.in' X#!/bin/sh X# $FreeBSD$ X# X# PROVIDE: bsnmpd X# REQUIRE: NETWORKING syslogd X# KEYWORD: nojail X Xbsnmpd_enable="NO" X X. %%RC_SUBR%% X Xname="bsnmpd" Xrcvar=`set_rcvar` Xrequired_files="%%PREFIX%%/etc/bsnmpd.config" Xpidfile="/var/run/bsnmpd.pid" Xcommand_args="-c ${required_files} -p ${pidfile}" Xcommand="%%PREFIX%%/sbin/${name}" X Xload_rc_config $name Xrun_rc_command "$1" END-of-bsnmpd/files/bsnmpd.sh.in echo x - bsnmpd/files/patch-snmpd-config.c sed 's/^X//' >bsnmpd/files/patch-snmpd-config.c << 'END-of-bsnmpd/files/patch-snmpd-config.c' X--- snmpd/config.c.orig Wed Sep 21 10:10:50 2005 X+++ snmpd/config.c Wed Sep 21 10:12:29 2005 X@@ -824,7 +824,7 @@ X while (token == '.') { X if (gettoken() == TOK_NUM) { X if (numval > ASN_MAXID) X- report("subid too large %#"PRIx64, numval); X+ report("subid too large %#"QUADXFMT, numval); X if (oid->len == ASN_MAXOIDLEN) X report("index too long"); X oid->subs[oid->len++] = numval; X@@ -867,7 +867,7 @@ X if (token != TOK_NUM) X report("bad INTEGER syntax"); X if (numval > 0x7fffffff) X- report("INTEGER too large %"PRIu64, numval); X+ report("INTEGER too large %"QUADFMT"u", numval); X X value->v.integer = numval; X gettoken(); END-of-bsnmpd/files/patch-snmpd-config.c echo x - bsnmpd/files/patch-snmpd-trap.c sed 's/^X//' >bsnmpd/files/patch-snmpd-trap.c << 'END-of-bsnmpd/files/patch-snmpd-trap.c' X--- snmpd/trap.c.orig Wed Sep 21 11:42:50 2005 X+++ snmpd/trap.c Wed Sep 21 11:42:06 2005 X@@ -111,7 +111,7 @@ X X if (connect(t->socket, (struct sockaddr *)&sa, sa.sin_len) == -1) { X syslog(LOG_ERR, "connect(%s,%u): %m", X- inet_ntoa(sa.sin_addr), ntohl(sa.sin_port)); X+ inet_ntoa(sa.sin_addr), ntohs(sa.sin_port)); X (void)close(t->socket); X free(t); X return (SNMP_ERR_GENERR); END-of-bsnmpd/files/patch-snmpd-trap.c echo x - bsnmpd/files/patch-configure.ac sed 's/^X//' >bsnmpd/files/patch-configure.ac << 'END-of-bsnmpd/files/patch-configure.ac' X--- configure.ac.orig Wed Dec 3 14:10:50 2003 X+++ configure.ac Wed Sep 21 10:51:56 2005 X@@ -51,6 +51,47 @@ X AC_SUBST(LIBEV, -lisc) X fi X X+AC_CHECK_HEADER(inttypes.h, X+ [AC_DEFINE(HAVE_INTTYPES_H) X+ ac_have_inttypes_h=yes]) X+AC_CACHE_CHECK([how to print quads], X+ ac_cv_quad_fmt, X+ [if test "$ac_have_inttypes_h" = "yes" ; then X+ AC_EGREP_CPP(yes, X+[ X+# include <inttypes.h> X+# ifdef PRIu64 X+yes X+# endif X+], X+ ac_cv_quad_fmt=PRIu64, X+ AC_TRY_RUN( X+[[ X+# include <stdio.h> X+# include <stdlib.h> X+# include <string.h> X+int X+main() X+{ X+ char buf[100]; X+ X+ sprintf(buf, "%qx", 0x1234567887654321LLU); X+ exit((strcmp(buf, "1234567887654321") == 0) ? 0 : 1); X+} X+]], X+ ac_cv_quad_fmt='"q"', X+ ac_cv_quad_fmt='"ll"', X+ ac_cv_quad_fmt='"ll"') X+ fi ])) X+AC_DEFINE_UNQUOTED(QUADFMT, $ac_cv_quad_fmt) X+ X+if test "$ac_cv_quad_fmt" = "PRIu64" ; then X+ AC_DEFINE(QUADXFMT, PRIx64) X+else X+ AC_DEFINE_UNQUOTED(QUADXFMT, ${ac_cv_quad_fmt}"x") X+fi X+ X+ X AC_CONFIG_FILES([ X Makefile:config/Makefile.pre:Makefile.in X lib/Makefile:config/Makefile.pre:lib/Makefile.in:config/Makefile.post END-of-bsnmpd/files/patch-configure.ac echo x - bsnmpd/files/patch-snmp_mibII-mibII.c sed 's/^X//' >bsnmpd/files/patch-snmp_mibII-mibII.c << 'END-of-bsnmpd/files/patch-snmp_mibII-mibII.c' X--- snmp_mibII/mibII.c.orig Sun Sep 18 13:10:41 2005 X+++ snmp_mibII/mibII.c Sun Sep 18 13:12:24 2005 X@@ -466,7 +466,7 @@ X X if (sdl->sdl_alen == 0) { X /* no address */ X- if (ifp->physaddrlen != NULL) { X+ if (ifp->physaddrlen && ifp->physaddr != NULL) { X if ((rcv = mib_find_rcvaddr(ifp->index, ifp->physaddr, X ifp->physaddrlen)) != NULL) X mib_rcvaddr_delete(rcv); END-of-bsnmpd/files/patch-snmp_mibII-mibII.c echo x - bsnmpd/files/patch-config-Makefile.pre sed 's/^X//' >bsnmpd/files/patch-config-Makefile.pre << 'END-of-bsnmpd/files/patch-config-Makefile.pre' X--- config/Makefile.pre.orig Mon Sep 19 22:07:05 2005 X+++ config/Makefile.pre Mon Sep 19 22:09:02 2005 X@@ -17,6 +17,7 @@ X prefix= @prefix@ X exec_prefix= @exec_prefix@ X bindir= @bindir@ X+sbindir= @sbindir@ X libdir= @libdir@ X includedir= @includedir@ X mandir= @mandir@ X@@ -34,7 +35,7 @@ X X LIBEV= @LIBEV@ X X-SUBMAKE= $(MAKE) -$(MAKEFLAGS) --no-print-directory X+SUBMAKE= $(MAKE) $(MAKEFLAGS) --no-print-directory X X WARNS= -Wsystem-headers -Werror -Wall -Wno-format-y2k -W \ X -Wstrict-prototypes -Wmissing-prototypes \ END-of-bsnmpd/files/patch-config-Makefile.pre echo x - bsnmpd/files/patch-snmpd-snmpd.config sed 's/^X//' >bsnmpd/files/patch-snmpd-snmpd.config << 'END-of-bsnmpd/files/patch-snmpd-snmpd.config' X--- snmpd/snmpd.config.orig Tue Sep 20 20:43:27 2005 X+++ snmpd/snmpd.config Tue Sep 20 20:43:38 2005 X@@ -82,11 +82,3 @@ X # Load MIB-2 module X # X begemotSnmpdModulePath."mibII" = "/usr/local/lib/snmp_mibII.so" X- X-# X-# Netgraph module X-# X-begemotSnmpdModulePath."netgraph" = "/usr/local/lib/snmp_netgraph.so" X- X-%netgraph X-begemotNgControlNodeName = "snmpd" END-of-bsnmpd/files/patch-snmpd-snmpd.config echo x - bsnmpd/files/patch-snmp_mibII-mibII_ipaddr.c sed 's/^X//' >bsnmpd/files/patch-snmp_mibII-mibII_ipaddr.c << 'END-of-bsnmpd/files/patch-snmp_mibII-mibII_ipaddr.c' X--- snmp_mibII/mibII_ipaddr.c.orig Wed Sep 21 12:21:53 2005 X+++ snmp_mibII/mibII_ipaddr.c Wed Sep 21 12:18:56 2005 X@@ -88,8 +88,10 @@ X } X X bcast.s_addr = upd->addr.s_addr & upd->mask.s_addr; X- if (!(upd->set & UPD_BCAST) || upd->bcast) X- bcast.s_addr |= htonl(0xffffffff & ~ntohl(upd->mask.s_addr)); X+ if (!(upd->set & UPD_BCAST) || upd->bcast) { X+ uint32_t tmp = ~ntohl(upd->mask.s_addr); X+ bcast.s_addr |= htonl(0xffffffff & tmp); X+ } X X if ((ifa = mib_create_ifa(upd->ifindex, upd->addr, upd->mask, bcast)) == NULL) X return (SNMP_ERR_GENERR); END-of-bsnmpd/files/patch-snmp_mibII-mibII_ipaddr.c echo x - bsnmpd/pkg-plist sed 's/^X//' >bsnmpd/pkg-plist << 'END-of-bsnmpd/pkg-plist' Xetc/bsnmpd.config.example Xlib/libbsnmp.a Xlib/libbsnmp.so Xlib/libbsnmp.so.1 Xlib/snmp_mibII.so Xlib/snmp_mibII.so.1 Xinclude/bsnmp/asn1.h Xinclude/bsnmp/snmp.h Xinclude/bsnmp/snmpagent.h Xinclude/bsnmp/snmpclient.h Xinclude/bsnmp/snmpmod.h Xinclude/bsnmp/snmp_mibII.h Xsbin/bsnmpd Xsbin/gensnmptree Xshare/bsnmp/defs/mibII_tree.def Xshare/bsnmp/defs/tree.def Xshare/bsnmp/mibs/BEGEMOT-MIB.txt Xshare/bsnmp/mibs/BEGEMOT-SNMPD.txt Xshare/bsnmp/mibs/FOKUS-MIB.txt X@dirrm include/bsnmp X@dirrm share/bsnmp/defs X@dirrm share/bsnmp/mibs X@dirrm share/bsnmp END-of-bsnmpd/pkg-plist exit --- bsnmpd.shar ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200509210919.j8L9JMgk018536>