diff options
author | pgollucci <pgollucci@FreeBSD.org> | 2010-02-13 06:19:40 +0000 |
---|---|---|
committer | pgollucci <pgollucci@FreeBSD.org> | 2010-02-13 06:19:40 +0000 |
commit | 6d59485bd63fe1875291b2a5e5057d59d01a138d (patch) | |
tree | 51b8c4103d9d2fcc419a4e8a8fa502278219a602 | |
parent | 02c1f29d7e6c9f50f4c730765978b689c346f646 (diff) | |
download | FreeBSD-ports-6d59485bd63fe1875291b2a5e5057d59d01a138d.zip FreeBSD-ports-6d59485bd63fe1875291b2a5e5057d59d01a138d.tar.gz |
- Resurrect this port
Though long since expired and deprecated, 2 ports
net/gkrellm_snmp
net/ngr
still depend on it and do not work net-mgmt/net-snmp (v5)
BEWARE, dragons be here, rmPort will not catch these deps
and removing this port before they are converted will break
the INDEx
Pointyat to: myself
Reported by: erwin
23 files changed, 835 insertions, 1 deletions
@@ -4322,4 +4322,3 @@ sysutils/lugtools|sysutils/p5-Plugtools|2010-02-04|Superceeded by sysutils/p5-Pl irc/conspire||2010-02-04|Upstream development abandoned x11-toolkits/swt31|x11-toolkits/swt|2010-02-07|Superseded by x11-toolkits/swt sysutils/smartmontools-devel|sysutils/smartmontools|2010-02-10|Removed, use sysutils/smartmontools instead -net-mgmt/net-snmp4|net-snmp|2010-02-13|Has expired: Use net-mgmt/net-snmp port instead diff --git a/net-mgmt/Makefile b/net-mgmt/Makefile index fc41f0d..07c865a 100644 --- a/net-mgmt/Makefile +++ b/net-mgmt/Makefile @@ -140,6 +140,7 @@ SUBDIR += nedi SUBDIR += nefu SUBDIR += net-snmp + SUBDIR += net-snmp4 SUBDIR += netams SUBDIR += netams-front SUBDIR += netdisco diff --git a/net-mgmt/net-snmp4/Makefile b/net-mgmt/net-snmp4/Makefile new file mode 100644 index 0000000..695eecc --- /dev/null +++ b/net-mgmt/net-snmp4/Makefile @@ -0,0 +1,136 @@ +# New ports collection makefile for: ucd-snmp +# Date created: 26 June 1996 +# Whom: gpalmer +# +# $FreeBSD$ +# + +PORTNAME= ucd-snmp +PORTVERSION= 4.2.7.1 +CATEGORIES= net-mgmt ipv6 +MASTER_SITES= SF/net-snmp/${PORTNAME}/${PORTVERSION}%20source%20code + +MAINTAINER= ports@FreeBSD.org +COMMENT= An extendable SNMP implementation + +DEPRECATED= Use net-mgmt/net-snmp port instead +EXPIRATION_DATE=2009-07-01 +GNU_CONFIGURE= yes +USE_PERL5= yes +USE_LDCONFIG= yes +CFLAGS+= -fPIC -Dfreebsd5 +MAKE_JOBS_UNSAFE= yes + +CONFIGURE_ARGS+= --enable-shared \ + --with-mib-modules="host ucd-snmp/diskio" \ + --with-gnu-ld --with-libwrap --with-libs="-ldevstat" +.if defined(BATCH) +CONFIGURE_ARGS+= --with-defaults --with-sys-contact=nobody@no.where +.else +IS_INTERACTIVE= yes +.endif + +MAN1= snmpbulkget.1 snmpbulkwalk.1 snmpcmd.1 snmpconf.1 snmpd.1 \ + snmpdelta.1 snmpdf.1 snmpget.1 snmpgetnext.1 snmpnetstat.1 \ + snmpset.1 snmpstatus.1 snmptable.1 snmptest.1 snmptranslate.1 \ + snmptrap.1 snmpusm.1 snmpwalk.1 +MAN3= default_store.3 mib_api.3 read_config.3 snmp_agent_api.3 \ + snmp_alarm.3 snmp_api.3 snmp_sess_api.3 snmp_trap_api.3 +MAN5= snmp.conf.5 snmp_config.5 snmpd.conf.5 \ + snmptrapd.conf.5 variables.5 +MAN8= snmptrapd.8 +MLINKS= snmptrap.1 snmpinform.1 \ + mib_api.3 add_mibdir.3 \ + mib_api.3 add_module_replacement.3 \ + mib_api.3 get_module_node.3 \ + mib_api.3 init_mib.3 \ + mib_api.3 init_mib_internals.3 \ + mib_api.3 print_description.3 \ + mib_api.3 print_mib.3 \ + mib_api.3 print_objid.3 \ + mib_api.3 print_value.3 \ + mib_api.3 print_variable.3 \ + mib_api.3 read_all_mibs.3 \ + mib_api.3 read_mib.3 \ + mib_api.3 read_module.3 \ + mib_api.3 read_module_node.3 \ + mib_api.3 read_objid.3 \ + mib_api.3 shutdown_mib.3 \ + mib_api.3 snmp_set_mib_warnings.3 \ + mib_api.3 snmp_set_save_descriptions.3 \ + snmp_api.3 snmp_api_errstring.3 \ + snmp_api.3 snmp_close.3 \ + snmp_api.3 snmp_error.3 \ + snmp_api.3 snmp_free_pdu.3 \ + snmp_api.3 snmp_open.3 \ + snmp_api.3 snmp_perror.3 \ + snmp_api.3 snmp_read.3 \ + snmp_api.3 snmp_select_info.3 \ + snmp_api.3 snmp_send.3 \ + snmp_api.3 snmp_sess_perror.3 \ + snmp_api.3 snmp_timeout.3 \ + snmp_sess_api.3 snmp_sess_async_send.3 \ + snmp_sess_api.3 snmp_sess_close.3 \ + snmp_sess_api.3 snmp_sess_error.3 \ + snmp_sess_api.3 snmp_sess_init.3 \ + snmp_sess_api.3 snmp_sess_open.3 \ + snmp_sess_api.3 snmp_sess_read.3 \ + snmp_sess_api.3 snmp_sess_select_info.3 \ + snmp_sess_api.3 snmp_sess_send.3 \ + snmp_sess_api.3 snmp_sess_session.3 \ + snmp_sess_api.3 snmp_sess_timeout.3 +BIN= snmpbulkwalk snmpget snmpgetnext snmpnetstat snmpset \ + snmpstatus snmptest snmptranslate snmptrap snmpwalk +SBIN= snmpd snmptrapd + +USE_RC_SUBR= snmpd + +CONFLICTS= net-snmp-5.* + +.if defined(WITHOUT_SSL) +CONFIGURE_ARGS+= --without-openssl +.else +USE_OPENSSL= YES +CONFIGURE_ARGS+= --with-openssl=/usr +CFLAGS+= -DOPENSSL_DES_LIBDES_COMPATIBILITY +.endif + +SHLIB_VERSION= 4 +PLIST_SUB+= shlib=${SHLIB_VERSION} + +OPTIONS= IPV6 "Enable IPv6 support" On + +.include <bsd.port.pre.mk> + +.if ${OSVERSION} >= 800059 +BROKEN= does not build +.endif + +.if defined(WITH_IPV6) +CONFIGURE_ARGS+= --enable-ipv6 +.endif + +pre-everything:: + @${ECHO} "" + @${ECHO} "You may use the following build option(s):" + @${ECHO} "" + @${ECHO} " WITHOUT_SSL=yes Disable the OpenSSL support." + @${ECHO} "" + +post-patch: + @${REINPLACE_CMD} \ + -e 's|%%LTCONFIG%%|${LTCONFIG}|g' \ + -e 's|%%LTMAIN%%|${LTMAIN}|g' \ + ${WRKSRC}/aclocal.m4 + @${REINPLACE_CMD} -e 's|echo aout|echo elf|' ${WRKSRC}/configure + +post-install: + @( cd ${PREFIX}/bin && ${STRIP_CMD} ${BIN} ) + @( cd ${PREFIX}/sbin && ${STRIP_CMD} ${SBIN} ) + @${FIND} ${PREFIX}/include/ucd-snmp ${PREFIX}/share/snmp/mibs -type f \ + | ${XARGS} ${CHMOD} 644 + @${MKDIR} ${PREFIX}/share/examples/ucd-snmp + @for F in ${WRKSRC}/EXAMPLE.conf ${WRKSRC}/agent/mibgroup/examples/ucdDemoPublic.conf; do \ + ${INSTALL_DATA} $$F ${PREFIX}/share/examples/ucd-snmp ; done + +.include <bsd.port.post.mk> diff --git a/net-mgmt/net-snmp4/distinfo b/net-mgmt/net-snmp4/distinfo new file mode 100644 index 0000000..0308d43 --- /dev/null +++ b/net-mgmt/net-snmp4/distinfo @@ -0,0 +1,3 @@ +MD5 (ucd-snmp-4.2.7.1.tar.gz) = 8d55a3a8798951c3c25cd2bc5bd07e4c +SHA256 (ucd-snmp-4.2.7.1.tar.gz) = c3cd3b7949be0c450117c1f9796a2912ceaea47909de35168e72eecd81b5ab9b +SIZE (ucd-snmp-4.2.7.1.tar.gz) = 1818836 diff --git a/net-mgmt/net-snmp4/files/patch-Makefile.top b/net-mgmt/net-snmp4/files/patch-Makefile.top new file mode 100644 index 0000000..7e417a1 --- /dev/null +++ b/net-mgmt/net-snmp4/files/patch-Makefile.top @@ -0,0 +1,11 @@ +--- Makefile.top.orig Sat Feb 16 10:00:19 2002 ++++ Makefile.top Sat Feb 16 23:31:00 2002 +@@ -52,7 +52,7 @@ + # Misc Compiling Stuff + CC = @CC@ + # version number is prefixed by a 0 for a better shared library version number +-LIB_LD_CMD = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -rpath $(libdir) $(SHVFLAGS) -o ++LIB_LD_CMD = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -rpath $(libdir) -version-info 4 -o + LIB_EXTENSION = la + LIB_VERSION = + LIB_LDCONFIG_CMD = $(LIBTOOL) --mode=finish $(libdir) diff --git a/net-mgmt/net-snmp4/files/patch-aa b/net-mgmt/net-snmp4/files/patch-aa new file mode 100644 index 0000000..6c287d1 --- /dev/null +++ b/net-mgmt/net-snmp4/files/patch-aa @@ -0,0 +1,13 @@ +--- snmplib/Makefile.in.orig Mon Oct 2 11:41:46 2000 ++++ snmplib/Makefile.in Wed Jan 17 18:29:44 2001 +@@ -70,6 +70,10 @@ + + libsnmp.$(LIB_EXTENSION)$(LIB_VERSION): ${TOBJS} + $(LIB_LD_CMD) libsnmp.$(LIB_EXTENSION)$(LIB_VERSION) ${TOBJS} ++ ld -Bshareable -soname libsnmp.so.4 \ ++ -o libsnmp.so ${OBJS} ++ ln -f libsnmp.so \ ++ ../libsnmp.so.4 + $(RANLIB) libsnmp.$(LIB_EXTENSION)$(LIB_VERSION) + + installdirs: diff --git a/net-mgmt/net-snmp4/files/patch-agent::mibgroup::ucd_snmp.h b/net-mgmt/net-snmp4/files/patch-agent::mibgroup::ucd_snmp.h new file mode 100644 index 0000000..fb54f01 --- /dev/null +++ b/net-mgmt/net-snmp4/files/patch-agent::mibgroup::ucd_snmp.h @@ -0,0 +1,17 @@ + +$FreeBSD$ + +--- agent/mibgroup/ucd_snmp.h ++++ agent/mibgroup/ucd_snmp.h +@@ -31,7 +31,11 @@ + config_arch_require(freebsd4, ucd-snmp/vmstat_freebsd2) + config_arch_require(freebsd4, ucd-snmp/memory_freebsd2) + config_arch_require(freebsd5, ucd-snmp/vmstat_freebsd2) ++config_arch_require(freebsd6, ucd-snmp/vmstat_freebsd2) ++config_arch_require(freebsd7, ucd-snmp/vmstat_freebsd2) + config_arch_require(freebsd5, ucd-snmp/memory_freebsd2) ++config_arch_require(freebsd6, ucd-snmp/memory_freebsd2) ++config_arch_require(freebsd7, ucd-snmp/memory_freebsd2) + config_arch_require(netbsd1, ucd-snmp/vmstat_netbsd1) + config_arch_require(netbsd1, ucd-snmp/memory_netbsd1) + config_arch_require(openbsd2, ucd-snmp/vmstat_netbsd1) diff --git a/net-mgmt/net-snmp4/files/patch-agent__mibgroup__ucd-snmp__memory_freebsd2.c b/net-mgmt/net-snmp4/files/patch-agent__mibgroup__ucd-snmp__memory_freebsd2.c new file mode 100644 index 0000000..ca33f42 --- /dev/null +++ b/net-mgmt/net-snmp4/files/patch-agent__mibgroup__ucd-snmp__memory_freebsd2.c @@ -0,0 +1,10 @@ +--- agent/mibgroup/ucd-snmp/memory_freebsd2.c.orig 2008-04-30 11:37:04.000000000 +0000 ++++ agent/mibgroup/ucd-snmp/memory_freebsd2.c 2008-04-30 11:36:43.000000000 +0000 +@@ -30,6 +30,7 @@ + #else + #include <vm/vm_param.h> + #endif ++#include <vm/swap_pager.h> + + #include <time.h> + #include <nlist.h> diff --git a/net-mgmt/net-snmp4/files/patch-agent_mibgroup_mibII_tcpTable.c b/net-mgmt/net-snmp4/files/patch-agent_mibgroup_mibII_tcpTable.c new file mode 100644 index 0000000..3fa2daf --- /dev/null +++ b/net-mgmt/net-snmp4/files/patch-agent_mibgroup_mibII_tcpTable.c @@ -0,0 +1,96 @@ +--- agent/mibgroup/mibII/tcpTable.c.orig Fri Jul 18 21:10:09 2003 ++++ agent/mibgroup/mibII/tcpTable.c Fri Jul 18 21:10:12 2003 +@@ -435,11 +435,42 @@ + int TCP_Count_Connections (void) + { + int Established; ++#if !(defined(freebsd2) || defined(netbsd1) || defined(openbsd2)) ++ int mib[4], len; ++ char *p; ++ struct tcpcb *tpcb; ++ struct xtcpcb *tp; ++ struct xinpgen *next; ++ ++ mib[0]=CTL_NET; ++ mib[1]=PF_INET; ++ mib[2]=IPPROTO_TCP; ++ mib[3]=TCPCTL_PCBLIST; ++ ++ if (sysctl(mib, 4, NULL, &len, NULL, 0) != 0) { ++ snmp_log_perror("TCP_Count_Connections - sysctl"); ++ return 0; ++ } ++ if ((p=(char *)malloc(len)) == NULL) { ++ snmp_log_perror("TCP_Count_Connections - malloc"); ++ return 0; ++ } ++ if (sysctl(mib, 4, p, &len, NULL, 0) != 0) { ++ snmp_log_perror("TCP_Count_Connections - sysctl"); ++ free(p); ++ return 0; ++ } ++ Established=0; ++ next=(struct xinpgen *)p; ++ for (next=(struct xinpgen *)((char *)next + next->xig_len); next->xig_len > sizeof(struct xinpgen); next=(struct xinpgen *)((char *)next + next->xig_len)) { ++ tp=(struct xtcpcb *)next; ++ if (tp->xt_tp.t_state == TCPS_ESTABLISHED || tp->xt_tp.t_state == TCPS_CLOSE_WAIT) ++ Established++; ++ } ++ free(p); ++#else + struct inpcb cb; + register struct inpcb *next; +-#if !(defined(freebsd2) || defined(netbsd2) || defined(openbsd2)) +- register struct inpcb *prev; +-#endif + struct inpcb inpcb; + struct tcpcb tcpcb; + +@@ -450,17 +481,10 @@ + + auto_nlist(TCP_SYMBOL, (char *)&cb, sizeof(struct inpcb)); + inpcb = cb; +-#if !(defined(freebsd2) || defined(netbsd1) || defined(openbsd2)) +- prev = (struct inpcb *) auto_nlist_value(TCP_SYMBOL); +-#endif /* !(defined(freebsd2) || defined(netbsd1) || defined(openbsd2)) */ + /* + * Scan the control blocks + */ +-#if defined(freebsd2) || defined(netbsd1) || defined(openbsd2) + while ((inpcb.INP_NEXT_SYMBOL != NULL) && (inpcb.INP_NEXT_SYMBOL != (struct inpcb *) auto_nlist_value(TCP_SYMBOL))) +-#else /* defined(freebsd2) || defined(netbsd1) || defined(openbsd2) */ +- while (inpcb.INP_NEXT_SYMBOL != (struct inpcb *) auto_nlist_value(TCP_SYMBOL)) +-#endif /* defined(freebsd2) || defined(netbsd1) */ + { + next = inpcb.INP_NEXT_SYMBOL; + +@@ -468,16 +492,7 @@ + snmp_log_perror("TCP_Count_Connections - inpcb"); + break; + } +-#if !(defined(freebsd2) || defined(netbsd1) || defined(openbsd2)) +- if (inpcb.INP_PREV_SYMBOL != prev) { /* ??? */ +- sleep(1); +- goto Again; +- } +-#endif /* !(defined(freebsd2) || defined(netbsd1) || defined(openbsd2)) */ + if (inet_lnaof(inpcb.inp_laddr) == INADDR_ANY) { +-#if !(defined(freebsd2) || defined(netbsd1) || defined(openbsd2)) +- prev = next; +-#endif /* !(defined(freebsd2) || defined(netbsd1) || defined(openbsd2)) */ + continue; + } + if(klookup((unsigned long)inpcb.inp_ppcb, (char *)&tcpcb, sizeof (tcpcb)) == 0) { +@@ -488,10 +503,8 @@ + if ((tcpcb.t_state == TCPS_ESTABLISHED) || + (tcpcb.t_state == TCPS_CLOSE_WAIT)) + Established++; +-#if !(defined(freebsd2) || defined(netbsd1) || defined(openbsd2)) +- prev = next; +-#endif /* !(defined(freebsd2) || defined(netbsd1) || defined(openbsd2)) */ + } ++#endif + return(Established); + } + #endif /* !linux && !hpux11 */ + diff --git a/net-mgmt/net-snmp4/files/patch-agent_mibgroup_ucd-snmp_diskio.c b/net-mgmt/net-snmp4/files/patch-agent_mibgroup_ucd-snmp_diskio.c new file mode 100644 index 0000000..e41c703 --- /dev/null +++ b/net-mgmt/net-snmp4/files/patch-agent_mibgroup_ucd-snmp_diskio.c @@ -0,0 +1,59 @@ +--- agent/mibgroup/ucd-snmp/diskio.c.orig Fri Mar 28 12:58:32 2003 ++++ agent/mibgroup/ucd-snmp/diskio.c Fri Mar 28 13:21:04 2003 +@@ -47,7 +47,11 @@ + #endif /* bsdi */ + + #if defined (freebsd4) || defined(freebsd5) ++#include <sys/param.h> ++#if __FreeBSD_version < 500101 + #include <sys/dkstat.h> ++#endif ++#include <sys/resource.h> + #include <devstat.h> + #endif /* freebsd */ + +@@ -318,7 +322,11 @@ + } + memset(stat->dinfo, 0, sizeof(struct devinfo)); + ++#if __FreeBSD_version > 500106 ++ if ((devstat_getdevs(NULL, stat)) == -1){ ++#else + if ((getdevs(stat)) == -1){ ++#endif + fprintf (stderr,"Can't get devices:%s\n", devstat_errbuf); + return 1; + } +@@ -370,16 +378,32 @@ + *var_len = strlen(stat->dinfo->devices[indx].device_name); + return (u_char *) stat->dinfo->devices[indx].device_name; + case DISKIO_NREAD: ++#if __FreeBSD_version > 500106 ++ long_ret = (signed long) stat->dinfo->devices[indx].bytes[DSM_TOTAL_BYTES_READ]; ++#else + long_ret = (signed long) stat->dinfo->devices[indx].bytes_read; ++#endif + return (u_char *) & long_ret; + case DISKIO_NWRITTEN: ++#if __FreeBSD_version > 500106 ++ long_ret = (signed long) stat->dinfo->devices[indx].bytes[DSM_TOTAL_BYTES_WRITE]; ++#else + long_ret = (signed long) stat->dinfo->devices[indx].bytes_written; ++#endif + return (u_char *) & long_ret; + case DISKIO_READS: ++#if __FreeBSD_version > 500106 ++ long_ret = (signed long) stat->dinfo->devices[indx].operations[DSM_TOTAL_TRANSFERS_READ]; ++#else + long_ret = (signed long) stat->dinfo->devices[indx].num_reads; ++#endif + return (u_char *) & long_ret; + case DISKIO_WRITES: ++#if __FreeBSD_version > 500106 ++ long_ret = (signed long) stat->dinfo->devices[indx].operations[DSM_TOTAL_TRANSFERS_WRITE]; ++#else + long_ret = (signed long) stat->dinfo->devices[indx].num_writes; ++#endif + return (u_char *) & long_ret; + + default: diff --git a/net-mgmt/net-snmp4/files/patch-agent_mibgroup_ucd-snmp_vmstat_freebsd2.c b/net-mgmt/net-snmp4/files/patch-agent_mibgroup_ucd-snmp_vmstat_freebsd2.c new file mode 100644 index 0000000..15b1b69 --- /dev/null +++ b/net-mgmt/net-snmp4/files/patch-agent_mibgroup_ucd-snmp_vmstat_freebsd2.c @@ -0,0 +1,17 @@ +--- agent/mibgroup/ucd-snmp/vmstat_freebsd2.c.orig Fri Mar 28 13:15:48 2003 ++++ agent/mibgroup/ucd-snmp/vmstat_freebsd2.c Fri Mar 28 13:16:31 2003 +@@ -8,11 +8,14 @@ + #include <sys/param.h> + #include <sys/time.h> + #include <sys/proc.h> ++#if __FreeBSD_version < 500101 + #include <sys/dkstat.h> ++#endif + #ifdef freebsd5 + #include <sys/bio.h> + #endif + #include <sys/buf.h> ++#include <sys/resource.h> + #include <sys/uio.h> + #include <sys/namei.h> + #include <sys/malloc.h> diff --git a/net-mgmt/net-snmp4/files/patch-ak b/net-mgmt/net-snmp4/files/patch-ak new file mode 100644 index 0000000..8a9d310 --- /dev/null +++ b/net-mgmt/net-snmp4/files/patch-ak @@ -0,0 +1,21 @@ +--- agent/Makefile.in.orig Sun Nov 19 12:58:06 2000 ++++ agent/Makefile.in Wed Jan 17 18:37:02 2001 +@@ -68,10 +68,18 @@ + + libucdagent.$(LIB_EXTENSION)$(LIB_VERSION): ${LLIBAGENTOBJS} libucdmibs.$(LIB_EXTENSION)$(LIB_VERSION) + $(LIB_LD_CMD) libucdagent.$(LIB_EXTENSION)$(LIB_VERSION) ${LLIBAGENTOBJS} $(LIB_LD_LIBS) ++ ld -Bshareable -soname libucdagent.$(LIB_EXTENSION)$(LIB_VERSION) \ ++ -o libucdagent.so ${LIBAGENTOBJS} ++ ln -f libucdagent.so \ ++ ../libucdagent.so.4 + $(RANLIB) libucdmibs.$(LIB_EXTENSION)$(LIB_VERSION) + + libucdmibs.$(LIB_EXTENSION)$(LIB_VERSION): ${LMIBOBJS} + $(LIB_LD_CMD) libucdmibs.$(LIB_EXTENSION)$(LIB_VERSION) ${LMIBOBJS} $(LIB_LD_LIBS) ++ ld -Bshareable -soname libucdmibs.so.4 \ ++ -o libucdmibs.so ${MIBOBJS} ++ ln -f libucdmibs.so \ ++ ../libucdmibs.so.4 + $(RANLIB) libucdmibs.$(LIB_EXTENSION)$(LIB_VERSION) + + clean: diff --git a/net-mgmt/net-snmp4/files/patch-al b/net-mgmt/net-snmp4/files/patch-al new file mode 100644 index 0000000..f60ff72 --- /dev/null +++ b/net-mgmt/net-snmp4/files/patch-al @@ -0,0 +1,29 @@ +--- configure.in.orig 2006-06-19 08:08:48.000000000 +0000 ++++ configure.in 2008-04-30 05:57:39.000000000 +0000 +@@ -1405,6 +1405,26 @@ + AC_CACHE_CHECK(type of rtentry structure,ac_cv_RTENTRY_TYPE, + [ + ++dnl 4.4 compatible but renamed on FreeBSD ++AC_TRY_COMPILE([ ++#include <sys/types.h> ++#define KERNEL ++#define _KERNEL ++#include <sys/socket.h> ++#undef KERNEL ++#undef _KERNEL ++#include <net/route.h> ++],[ ++ ++#ifndef STRUCT_RTENTRY_HAS_RT_DST ++#define rt_dst rt_nodes->rn_key ++#endif ++ ++ struct rtentry rt; ++ rt.rt_nodes[0].rn_bit = 1; ++ rt.rt_dst; ++ ], ac_cv_RTENTRY_TYPE="BSD-4.4") ++ + # 4.4 compat + AC_TRY_COMPILE([ + #ifdef HAVE_SYS_PARAM_H diff --git a/net-mgmt/net-snmp4/files/patch-auto_nlist.c b/net-mgmt/net-snmp4/files/patch-auto_nlist.c new file mode 100644 index 0000000..5a2885b --- /dev/null +++ b/net-mgmt/net-snmp4/files/patch-auto_nlist.c @@ -0,0 +1,18 @@ +--- agent/auto_nlist.c.orig Thu Feb 7 20:42:03 2002 ++++ agent/auto_nlist.c Sun Nov 17 00:40:52 2002 +@@ -31,6 +31,15 @@ + #endif + #endif + ++#if HAVE_SYS_PARAM_H ++#include <sys/param.h> ++#endif ++ ++#if defined(__FreeBSD__) && (__FreeBSD_version >= 500000) ++#include <sys/types.h> ++#include <sys/time.h> ++#endif ++ + #include "auto_nlist.h" + #include "autonlist.h" + #include "kernel.h" diff --git a/net-mgmt/net-snmp4/files/patch-disk.c b/net-mgmt/net-snmp4/files/patch-disk.c new file mode 100644 index 0000000..f5523c2 --- /dev/null +++ b/net-mgmt/net-snmp4/files/patch-disk.c @@ -0,0 +1,41 @@ +--- agent/mibgroup/ucd-snmp/disk.c.orig 2003-05-14 10:17:46.000000000 +0000 ++++ agent/mibgroup/ucd-snmp/disk.c 2008-04-30 06:01:57.000000000 +0000 +@@ -346,7 +346,7 @@ + double totalblks, free, used, avail, availblks; + #else + static long avail; +-#if defined(STRUCT_STATVFS_HAS_F_FILES) || defined(STRUCT_STATFS_HAS_F_FILES) ++#if defined(STRUCT_STATVFS_HAS_F_FILES) || defined(STRUCT_STATFS_HAS_F_FILES) || defined(HAVE_UFS_FFS_FS_H) + int percent_inode; + #endif + #endif +@@ -425,7 +425,7 @@ + iserror = (disks[disknum].minimumspace >= 0 ? + avail < disks[disknum].minimumspace : + 100-percent <= disks[disknum].minpercent) ? 1 : 0; +-#if defined(STRUCT_STATVFS_HAS_F_FILES) || defined(STRUCT_STATFS_HAS_F_AVAIL) ++#if defined(STRUCT_STATVFS_HAS_F_FILES) || defined(STRUCT_STATFS_HAS_F_AVAIL) || defined(HAVE_UFS_FFS_FS_H) + percent_inode = vfs.f_favail <= 0 ? 100 : + (int) ((double) (vfs.f_files - vfs.f_ffree) / + (double) (vfs.f_files - (vfs.f_ffree - vfs.f_favail)) * 100.0 + 0.5); +@@ -436,6 +436,11 @@ + (double) (vfs.f_files) * 100.0 + 0.5); + #endif + #endif ++#if defined(HAVE_UFS_FFS_FS_H) && !defined(STRUCT_STATVFS_HAS_F_FILES) ++ percent_inode = vfs.f_files == 0 ? 100.0 : ++ (int) ((double) (vfs.f_files - vfs.f_ffree) / ++ (double) (vfs.f_files) * 100.0 + 0.5); ++#endif + switch (vp->magic) { + case DISKTOTAL: + long_ret = vfs.f_blocks * (vfs.f_bsize / 1024); +@@ -456,7 +461,7 @@ + case DISKPERCENT: + long_ret = percent; + return ((u_char *) (&long_ret)); +-#if defined(STRUCT_STATVFS_HAS_F_FILES) || defined(STRUCT_STATFS_HAS_F_FILES) ++#if defined(STRUCT_STATVFS_HAS_F_FILES) || defined(STRUCT_STATFS_HAS_F_FILES) || defined(HAVE_UFS_FFS_FS_H) + case DISKPERCENTNODE: + long_ret = percent_inode; + return ((u_char *) (&long_ret)); diff --git a/net-mgmt/net-snmp4/files/patch-hr_disk.c b/net-mgmt/net-snmp4/files/patch-hr_disk.c new file mode 100644 index 0000000..b4f2c66 --- /dev/null +++ b/net-mgmt/net-snmp4/files/patch-hr_disk.c @@ -0,0 +1,11 @@ +--- agent/mibgroup/host/hr_disk.c.orig Tue Feb 26 01:57:26 2002 ++++ agent/mibgroup/host/hr_disk.c Fri Mar 29 16:06:29 2002 +@@ -185,7 +185,7 @@ + #elif defined(solaris2) + Add_HR_Disk_entry ( "/dev/rdsk/c%dt%dd0s%d", 0, 1, 0, 15, "/dev/rdsk/c%dt%dd0s0", 0, 7 ); + Add_HR_Disk_entry ( "/dev/rdsk/c%dd%ds%d", 0, 1, 0, 15, "/dev/rdsk/c%dd%ds0", 0, 7 ); +-#elif defined(freebsd4) ++#elif defined(__FreeBSD__) && __FreeBSD__ >= 4 + Add_HR_Disk_entry ( "/dev/ad%ds%d%c", 0, 1, 1, 4, "/dev/ad%ds%d", 'a', 'h'); + Add_HR_Disk_entry ( "/dev/da%ds%d%c", 0, 1, 1, 4, "/dev/da%ds%d", 'a', 'h'); + #elif defined(freebsd3) diff --git a/net-mgmt/net-snmp4/files/patch-hr_storage.c b/net-mgmt/net-snmp4/files/patch-hr_storage.c new file mode 100644 index 0000000..4fdc202 --- /dev/null +++ b/net-mgmt/net-snmp4/files/patch-hr_storage.c @@ -0,0 +1,73 @@ +--- agent/mibgroup/host/hr_storage.c.orig 2006-06-20 09:29:35.000000000 +0000 ++++ agent/mibgroup/host/hr_storage.c 2008-04-30 06:08:02.000000000 +0000 +@@ -39,7 +39,7 @@ + #else + #if HAVE_VM_VM_H + #include <vm/vm.h> +-#if HAVE_MACHINE_TYPES_H ++#if HAVE_MACHINE_TYPES_H && (!defined(__FreeBSD__) || __FreeBSD_version < 500000) + #include <machine/types.h> + #endif + #if HAVE_SYS_VMMETER_H +@@ -162,7 +162,7 @@ + #define HRFS_statfs statvfs + #define HRFS_mount f_mntonname + +-#elif defined(HAVE_STATVFS) ++#elif defined(HAVE_STATVFS) && defined(HAVE_MNTENT) + + extern struct mntent *HRFS_entry; + extern int fscount; +@@ -568,7 +568,7 @@ + } + case HRSTORE_UNITS: + if ( store_idx < HRS_TYPE_FS_MAX ) +-#if STRUCT_STATVFS_HAS_F_FRSIZE ++#if defined(STRUCT_STATVFS_HAS_F_FRSIZE) && defined(HAVE_MNTENT) + long_return = stat_buf.f_frsize; + #else + long_return = stat_buf.f_bsize; +@@ -649,7 +649,15 @@ + for (i = 0; i < sizeof(mbstat.m_mtypes)/sizeof(mbstat.m_mtypes[0]); i++) + long_return += mbstat.m_mtypes[i]; + #elif defined(MBSTAT_SYMBOL) && defined(STRUCT_MBSTAT_HAS_M_MBUFS) ++#if !defined(__FreeBSD__) || __FreeBSD_version < 500021 + long_return = mbstat.m_mbufs; ++#elif __FreeBSD_version < 500024 ++ /* mbuf stats disabled */ ++ return NULL; ++#else ++ /* XXX TODO: implement new method */ ++ return NULL; ++#endif + #elif defined(NO_DUMMY_VALUES) + return NULL; + #else +@@ -708,7 +716,15 @@ + + (mclpool.pr_nget - mclpool.pr_nput) + * mclpool.pr_size; + #elif defined(MBSTAT_SYMBOL) && defined(STRUCT_MBSTAT_HAS_M_CLUSTERS) ++#if !defined(__FreeBSD__) || __FreeBSD_version < 500021 + long_return = mbstat.m_clusters - mbstat.m_clfree; /* unlikely, but... */ ++#elif __FreeBSD_version < 500024 ++ /* mbuf stats disabled */ ++ return NULL; ++#else ++ /* XXX TODO: implement new method */ ++ return NULL; ++#endif + #elif defined(NO_DUMMY_VALUES) + return NULL; + #else +@@ -738,7 +754,11 @@ + #if !defined(linux) && !defined(solaris2) && !defined(hpux10) && !defined(hpux11) + case HRS_TYPE_MBUF: + #if defined(MBSTAT_SYMBOL) ++#if defined(__FreeBSD__) && __FreeBSD_version >= 502113 ++ long_return = mbstat.m_mcfail + mbstat.m_mpfail; ++#else + long_return = mbstat.m_drops; ++#endif + #elif defined(NO_DUMMY_VALUES) + return NULL; + #else diff --git a/net-mgmt/net-snmp4/files/patch-hr_swrun.c b/net-mgmt/net-snmp4/files/patch-hr_swrun.c new file mode 100644 index 0000000..c5e9239 --- /dev/null +++ b/net-mgmt/net-snmp4/files/patch-hr_swrun.c @@ -0,0 +1,61 @@ +--- agent/mibgroup/host/hr_swrun.c.orig 2006-06-06 08:11:59.000000000 +0000 ++++ agent/mibgroup/host/hr_swrun.c 2008-05-04 07:06:22.000000000 +0000 +@@ -549,7 +549,7 @@ + string[ sizeof(string)-1 ] = 0; + #endif + #elif HAVE_KVM_GETPROCS +- #if defined(freebsd5) ++ #if defined(freebsd5) && __FreeBSD_version >= 500014 + strcpy(string, proc_table[LowProcIndex].ki_comm); + #else + strcpy(string, proc_table[LowProcIndex].kp_proc.p_comm); +@@ -648,7 +648,7 @@ + *cp1 = 0; + #endif + #elif HAVE_KVM_GETPROCS +- #if defined(freebsd5) ++ #if defined(freebsd5) && __FreeBSD_version >= 500014 + strcpy(string, proc_table[LowProcIndex].ki_comm); + #else + strcpy(string, proc_table[LowProcIndex].kp_proc.p_comm); +@@ -827,7 +827,7 @@ + } + #else + #if HAVE_KVM_GETPROCS +- #if defined(freebsd5) ++ #if defined(freebsd5) && __FreeBSD_version >= 500014 + switch ( proc_table[LowProcIndex].ki_stat ) { + #else + switch ( proc_table[LowProcIndex].kp_proc.p_stat ) { +@@ -927,7 +927,7 @@ + proc_buf->p_stime*100; + #endif + #elif HAVE_KVM_GETPROCS +- #if defined(freebsd5) ++ #if defined(freebsd5) && __FreeBSD_version >= 500014 + long_return = proc_table[LowProcIndex].ki_runtime / 100000; + #else + long_return = proc_table[LowProcIndex].kp_proc.p_uticks + +@@ -999,12 +999,8 @@ + long_return = proc_buf->p_swrss; + #endif + #elif HAVE_KVM_GETPROCS +-#if defined(freebsd3) && !defined(darwin) +- #if defined(freebsd5) ++#if defined(freebsd6) || defined(freebsd7) || defined(__FreeBSD_version) + long_return = proc_table[LowProcIndex].ki_size/1024; +- #else +- long_return = proc_table[LowProcIndex].kp_eproc.e_vm.vm_map.size/1024; +- #endif + #else + long_return = proc_table[LowProcIndex].kp_eproc.e_vm.vm_tsize + + proc_table[LowProcIndex].kp_eproc.e_vm.vm_ssize + +@@ -1266,7 +1262,7 @@ + #elif defined(solaris2) + return proc_table[current_proc_entry++]; + #elif HAVE_KVM_GETPROCS +- #if defined(freebsd5) ++ #if defined(freebsd5) && __FreeBSD_version >= 500014 + if ( proc_table[current_proc_entry].ki_stat != 0 ) + return proc_table[current_proc_entry++].ki_pid; + #else diff --git a/net-mgmt/net-snmp4/files/patch-local:Makefile.in b/net-mgmt/net-snmp4/files/patch-local:Makefile.in new file mode 100644 index 0000000..1028734 --- /dev/null +++ b/net-mgmt/net-snmp4/files/patch-local:Makefile.in @@ -0,0 +1,11 @@ +--- local/Makefile.in.orig Thu Apr 4 15:04:11 2002 ++++ local/Makefile.in Thu Apr 4 15:04:17 2002 +@@ -2,7 +2,7 @@ + + SNMPCONFPATH=@SNMPCONFPATH@ + +-SCRIPTS=snmpcheck tkmib mib2c snmpconf ++SCRIPTS=snmpcheck mib2c snmpconf + PERLSCRIPTS=snmpcheck tkmib fixproc ipf-mod.pl rsnmp + SCRIPTSMADEFORPERL=snmpcheck.made tkmib.made mib2c.made fixproc.made \ + ipf-mod.pl.made rsnmp.made snmpconf.made diff --git a/net-mgmt/net-snmp4/files/patch-memory_freebsd2.c b/net-mgmt/net-snmp4/files/patch-memory_freebsd2.c new file mode 100644 index 0000000..e49eb0d --- /dev/null +++ b/net-mgmt/net-snmp4/files/patch-memory_freebsd2.c @@ -0,0 +1,21 @@ +--- agent/mibgroup/ucd-snmp/memory_freebsd2.c.orig Sun Sep 16 17:16:16 2001 ++++ agent/mibgroup/ucd-snmp/memory_freebsd2.c Fri Mar 28 13:18:19 2003 +@@ -9,7 +9,9 @@ + #include <sys/param.h> + #include <sys/time.h> + #include <sys/proc.h> ++#if __FreeBSD_version < 500101 + #include <sys/dkstat.h> ++#endif + #ifdef freebsd5 + #include <sys/bio.h> + #endif +@@ -232,7 +234,7 @@ + size_t total_size = sizeof (total); + int total_mib[] = { CTL_VM, VM_METER }; + +- long phys_mem; ++ u_long phys_mem; + size_t phys_mem_size = sizeof(phys_mem); + int phys_mem_mib[] = { CTL_HW, HW_USERMEM }; + diff --git a/net-mgmt/net-snmp4/files/snmpd.in b/net-mgmt/net-snmp4/files/snmpd.in new file mode 100644 index 0000000..e4fe665 --- /dev/null +++ b/net-mgmt/net-snmp4/files/snmpd.in @@ -0,0 +1,26 @@ +#!/bin/sh +# +# $FreeBSD$ +# +# PROVIDE: snmpd +# REQUIRE: DAEMON +# +# Add the following lines to /etc/rc.conf to enable this service: +# +# snmpd_enable (bool): Set to NO by default. Set it to YES to enable snmpd. +# + +. %%RC_SUBR%% + +name=snmpd +rcvar=`set_rcvar` + +command=/usr/local/sbin/${name} +pidfile=/var/run/${name}.pid + +load_rc_config ${name} + +: ${snmpd_enable="NO"} +: ${snmpd_flags="-P /var/run/${name}.pid"} + +run_rc_command "$1" diff --git a/net-mgmt/net-snmp4/pkg-descr b/net-mgmt/net-snmp4/pkg-descr new file mode 100644 index 0000000..d7c5d86 --- /dev/null +++ b/net-mgmt/net-snmp4/pkg-descr @@ -0,0 +1,12 @@ +This is UCD SNMP, a derivative of CMU's SNMP package. + +Various tools relating to the Simple Network Management Protocol including: + + An extensible agent + An SNMP library + tools to request or set information from SNMP agents + tools to generate and handle SNMP traps + a version of the unix 'netstat' command using SNMP + a Tk/perl mib browser + +WWW: http://net-snmp.sourceforge.net/ diff --git a/net-mgmt/net-snmp4/pkg-plist b/net-mgmt/net-snmp4/pkg-plist new file mode 100644 index 0000000..a6abc09 --- /dev/null +++ b/net-mgmt/net-snmp4/pkg-plist @@ -0,0 +1,148 @@ +bin/encode_keychange +bin/mib2c +bin/snmpbulkget +bin/snmpbulkwalk +bin/snmpcheck +bin/snmpconf +bin/snmpdelta +bin/snmpdf +bin/snmpget +bin/snmpgetnext +bin/snmpinform +bin/snmpnetstat53 +bin/snmpset +bin/snmpstatus +bin/snmptable +bin/snmptest +bin/snmptranslate +bin/snmptrap +bin/snmpusm +bin/snmpvacm +bin/snmpwalk +include/ucd-snmp/agent_index.h +include/ucd-snmp/agent_read_config.h +include/ucd-snmp/agent_registry.h +include/ucd-snmp/agent_trap.h +include/ucd-snmp/asn1.h +include/ucd-snmp/auto_nlist.h +include/ucd-snmp/callback.h +include/ucd-snmp/default_store.h +include/ucd-snmp/ds_agent.h +include/ucd-snmp/header_complex.h +include/ucd-snmp/int64.h +include/ucd-snmp/keytools.h +include/ucd-snmp/mib.h +include/ucd-snmp/mib_module_config.h +include/ucd-snmp/mibincl.h +include/ucd-snmp/parse.h +include/ucd-snmp/read_config.h +include/ucd-snmp/scapi.h +include/ucd-snmp/snmp-tc.h +include/ucd-snmp/snmp.h +include/ucd-snmp/snmp_agent.h +include/ucd-snmp/snmp_alarm.h +include/ucd-snmp/snmp_api.h +include/ucd-snmp/snmp_client.h +include/ucd-snmp/snmp_debug.h +include/ucd-snmp/snmp_impl.h +include/ucd-snmp/snmp_logging.h +include/ucd-snmp/snmp_parse_args.h +include/ucd-snmp/snmp_vars.h +include/ucd-snmp/snmpusm.h +include/ucd-snmp/snmpv3.h +include/ucd-snmp/struct.h +include/ucd-snmp/system.h +include/ucd-snmp/tools.h +include/ucd-snmp/transform_oids.h +include/ucd-snmp/ucd-snmp-agent-includes.h +include/ucd-snmp/ucd-snmp-config.h +include/ucd-snmp/ucd-snmp-includes.h +include/ucd-snmp/util_funcs.h +include/ucd-snmp/var_struct.h +include/ucd-snmp/version.h +@dirrm include/ucd-snmp +lib/libsnmp.a +lib/libsnmp.la +lib/libsnmp.so +lib/libsnmp.so.%%shlib%% +lib/libucdagent.a +lib/libucdagent.la +lib/libucdagent.so +lib/libucdagent.so.%%shlib%% +lib/libucdmibs.a +lib/libucdmibs.la +lib/libucdmibs.so +lib/libucdmibs.so.%%shlib%% +sbin/snmpd +sbin/snmptrapd +%%EXAMPLESDIR%%/EXAMPLE.conf +%%EXAMPLESDIR%%/ucdDemoPublic.conf +@dirrm %%EXAMPLESDIR%% +share/snmp/mib2c.conf +share/snmp/mib2c.storage.conf +share/snmp/mib2c.vartypes.conf +share/snmp/mibs/AGENTX-MIB.txt +share/snmp/mibs/DISMAN-SCHEDULE-MIB.txt +share/snmp/mibs/DISMAN-SCRIPT-MIB.txt +share/snmp/mibs/EtherLike-MIB.txt +share/snmp/mibs/HCNUM-TC.txt +share/snmp/mibs/HOST-RESOURCES-MIB.txt +share/snmp/mibs/HOST-RESOURCES-TYPES.txt +share/snmp/mibs/IANA-ADDRESS-FAMILY-NUMBERS-MIB.txt +share/snmp/mibs/IANA-LANGUAGE-MIB.txt +share/snmp/mibs/IANAifType-MIB.txt +share/snmp/mibs/IF-INVERTED-STACK-MIB.txt +share/snmp/mibs/IF-MIB.txt +share/snmp/mibs/INET-ADDRESS-MIB.txt +share/snmp/mibs/IP-MIB.txt +share/snmp/mibs/IP-FORWARD-MIB.txt +share/snmp/mibs/IPV6-ICMP-MIB.txt +share/snmp/mibs/IPV6-MIB.txt +share/snmp/mibs/IPV6-TC.txt +share/snmp/mibs/IPV6-TCP-MIB.txt +share/snmp/mibs/IPV6-UDP-MIB.txt +share/snmp/mibs/RFC1155-SMI.txt +share/snmp/mibs/RFC1213-MIB.txt +share/snmp/mibs/RFC-1215.txt +share/snmp/mibs/RMON-MIB.txt +share/snmp/mibs/SMUX-MIB.txt +share/snmp/mibs/SNMP-COMMUNITY-MIB.txt +share/snmp/mibs/SNMP-FRAMEWORK-MIB.txt +share/snmp/mibs/SNMP-MPD-MIB.txt +share/snmp/mibs/SNMP-NOTIFICATION-MIB.txt +share/snmp/mibs/SNMP-PROXY-MIB.txt +share/snmp/mibs/SNMP-TARGET-MIB.txt +share/snmp/mibs/SNMP-USER-BASED-SM-MIB.txt +share/snmp/mibs/SNMP-VIEW-BASED-ACM-MIB.txt +share/snmp/mibs/SNMPv2-CONF.txt +share/snmp/mibs/SNMPv2-MIB.txt +share/snmp/mibs/SNMPv2-SMI.txt +share/snmp/mibs/SNMPv2-TC.txt +share/snmp/mibs/SNMPv2-TM.txt +share/snmp/mibs/TCP-MIB.txt +share/snmp/mibs/UCD-DEMO-MIB.txt +share/snmp/mibs/UCD-DISKIO-MIB.txt +share/snmp/mibs/UCD-DLMOD-MIB.txt +share/snmp/mibs/UCD-IPFWACC-MIB.txt +share/snmp/mibs/UCD-SNMP-MIB.txt +share/snmp/mibs/UDP-MIB.txt +share/snmp/snmpconf/snmp.conf/authopts +share/snmp/snmpconf/snmp.conf/debugging +share/snmp/snmpconf/snmp.conf/mibs +share/snmp/snmpconf/snmp.conf/output +share/snmp/snmpconf/snmpd.conf/acl +share/snmp/snmpconf/snmpd.conf/basic_setup +share/snmp/snmpconf/snmpd.conf/extending +share/snmp/snmpconf/snmpd.conf/monitor +share/snmp/snmpconf/snmpd.conf/operation +share/snmp/snmpconf/snmpd.conf/system +share/snmp/snmpconf/snmpd.conf/trapsinks +share/snmp/snmpconf/snmptrapd.conf/formatting +share/snmp/snmpconf/snmptrapd.conf/traphandle +@unexec rm -f %D/share/snmp/mibs/.index +@dirrm share/snmp/mibs +@dirrm share/snmp/snmpconf/snmp.conf +@dirrm share/snmp/snmpconf/snmpd.conf +@dirrm share/snmp/snmpconf/snmptrapd.conf +@dirrm share/snmp/snmpconf +@dirrmtry share/snmp |