Date: Fri, 20 Dec 2013 08:10:51 +0000 (UTC) From: Baptiste Daroussin <bapt@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-branches@freebsd.org Subject: svn commit: r336990 - in branches/2014Q1/net/wmnet2: . files Message-ID: <201312200810.rBK8Apfl051621@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: bapt Date: Fri Dec 20 08:10:51 2013 New Revision: 336990 URL: http://svnweb.freebsd.org/changeset/ports/336990 Log: MFH: r336964 - Fix build on -current - Update MASTER_SITES PR: ports/184839 Submitted by: KATO Tsuguru <tkato432@yahoo.com> Added: branches/2014Q1/net/wmnet2/files/patch-Imakefile - copied unchanged from r336964, head/net/wmnet2/files/patch-Imakefile branches/2014Q1/net/wmnet2/files/patch-config.h - copied unchanged from r336964, head/net/wmnet2/files/patch-config.h Deleted: branches/2014Q1/net/wmnet2/files/patch-aa branches/2014Q1/net/wmnet2/files/patch-ab branches/2014Q1/net/wmnet2/files/patch-getopt.c Modified: branches/2014Q1/net/wmnet2/Makefile (contents, props changed) branches/2014Q1/net/wmnet2/files/patch-drivers.c (contents, props changed) branches/2014Q1/net/wmnet2/pkg-descr (contents, props changed) Directory Properties: branches/2014Q1/ (props changed) Modified: branches/2014Q1/net/wmnet2/Makefile ============================================================================== --- branches/2014Q1/net/wmnet2/Makefile Fri Dec 20 08:10:00 2013 (r336989) +++ branches/2014Q1/net/wmnet2/Makefile Fri Dec 20 08:10:51 2013 (r336990) @@ -5,8 +5,8 @@ PORTNAME= wmnet2 PORTVERSION= 1.06 PORTREVISION= 5 CATEGORIES= net -MASTER_SITES= http://www.dockapps.org/files/77/115/ \ - http://www.katharineosborne.com/wmnet/ +MASTER_SITES= http://fossies.org/linux/misc/old/ \ + http://linux-bsd-unix.strefa.pl/ DISTNAME= wmnet-${PORTVERSION} MAINTAINER= ports@FreeBSD.org @@ -15,8 +15,12 @@ COMMENT= Nice network monitor for Window USES= imake USE_XORG= x11 xext -MAN1= wmnet2.1 -PLIST_FILES= bin/wmnet2 +PLIST_FILES= bin/wmnet2 man/man1/wmnet2.1.gz + +post-extract: + @${LN} -sf wmnet.man ${WRKSRC}/wmnet2.man + +post-install: + @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/wmnet2 -NO_STAGE= yes .include <bsd.port.mk> Copied: branches/2014Q1/net/wmnet2/files/patch-Imakefile (from r336964, head/net/wmnet2/files/patch-Imakefile) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ branches/2014Q1/net/wmnet2/files/patch-Imakefile Fri Dec 20 08:10:51 2013 (r336990, copy of r336964, head/net/wmnet2/files/patch-Imakefile) @@ -0,0 +1,34 @@ +--- Imakefile.orig ++++ Imakefile +@@ -1,5 +1,4 @@ + DEPLIBS = $(DEPXLIB) +-CC = gcc -Wall + + #ifdef LinuxArchitecture + STD_DEFINES = -Dlinux +@@ -10,14 +9,17 @@ + LOCAL_LIBRARIES = $(XLIB) -lm + #endif + +-#if defined (FreeBSDArchitecture) || defined (OpenBSDArchitecture) ++#if defined (OpenBSDArchitecture) + LOCAL_LIBRARIES = $(XLIB) -lm -lkvm + INSTPGMFLAGS = -s -g kmem -m 2755 ++#elif defined (FreeBSDArchitecture) ++LOCAL_LIBRARIES = $(XLIB) -lm ++INSTPGMFLAGS = -m 0755 + #endif + + LINTLIBS = $(LINTXLIB) + +-#if defined (FreeBSDArchitecture) || defined (OpenBSDArchitecture) ++#if defined (OpenBSDArchitecture) + SRCS = wmnet.c drivers.c getopt.c getopt1.c + OBJS = wmnet.o drivers.o getopt.o getopt1.o + #else +@@ -26,4 +28,4 @@ + #endif + + +-ComplexProgramTarget(wmnet) ++ComplexProgramTarget(wmnet2) Copied: branches/2014Q1/net/wmnet2/files/patch-config.h (from r336964, head/net/wmnet2/files/patch-config.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ branches/2014Q1/net/wmnet2/files/patch-config.h Fri Dec 20 08:10:51 2013 (r336990, copy of r336964, head/net/wmnet2/files/patch-config.h) @@ -0,0 +1,23 @@ +--- config.h.orig ++++ config.h +@@ -1,6 +1,6 @@ +-#if defined (__FreeBSD__) || defined (__OpenBSD__) ++#if defined (__OpenBSD__) + +-/* Our only FreeBSD driver, this goes straight into kernel memory ++/* Our only OpenBSD driver(old FreeBSD-4.x driver), this goes straight into kernel memory + * and reads the raw structures from right underneath the kernel using the + * kvm library. This made the code a require a little more thought, but + * the end result is a statistics driver thats faster than the linux ones +@@ -12,7 +12,11 @@ + + #endif + ++#if defined (__FreeBSD__) + ++#define USE_SYSCTL ++ ++#endif + + #ifdef linux + Modified: branches/2014Q1/net/wmnet2/files/patch-drivers.c ============================================================================== --- branches/2014Q1/net/wmnet2/files/patch-drivers.c Fri Dec 20 08:10:00 2013 (r336989) +++ branches/2014Q1/net/wmnet2/files/patch-drivers.c Fri Dec 20 08:10:51 2013 (r336990) @@ -1,15 +1,46 @@ --- drivers.c.orig Tue Apr 27 09:22:02 2004 +++ drivers.c Tue Apr 27 09:32:19 2004 -@@ -47,7 +47,7 @@ - #include <sys/errno.h> +@@ -21,7 +21,7 @@ + #include"config.h" - int id = 0; /* interface id */ --int len = 0; /* sizeof libmibdata */ + +-/* For FreeBSD */ ++/* For OpenBSD */ + #ifdef USE_KVM + #include<net/if.h> + #include<kvm.h> +@@ -37,6 +37,22 @@ + int kvm_updateStats(void); + #endif /* USE_KVM */ + ++#ifdef USE_SYSCTL ++/* system headers */ ++#include <sys/types.h> ++#include <sys/sysctl.h> ++#include <sys/socket.h> ++#include <net/if.h> ++#include <net/if_mib.h> ++#include <sys/errno.h> ++ ++int id = 0; /* interface id */ +size_t len = 0; /* sizeof libmibdata */ - struct ifmibdata *data = NULL; ++struct ifmibdata *data = NULL; ++ ++int sysctl_test(void); ++int sysctl_updateStats(void); ++#endif - int sysctl_test(void); -@@ -128,7 +128,7 @@ + #ifdef USE_LINUX_PPP + #include<net/ppp_defs.h> +@@ -104,12 +120,15 @@ + #ifdef USE_KVM + {"kmem",kvm_updateStats, kvm_test}, + #endif ++#ifdef USE_SYSCTL ++ {"sysctl",sysctl_updateStats, sysctl_test}, ++#endif + {NULL, NULL} + }; char* available_drivers(void) { int ind = 0; @@ -18,13 +49,119 @@ char *string, *ptr; while(drivers[ind].name != NULL) { len += strlen(drivers[ind].name) + 1; -@@ -464,7 +464,8 @@ +@@ -440,6 +459,115 @@ - int sysctl_test(void) { - struct ifmibdata tempndata; -- int numifaces, len2; + #endif /* linux */ + ++/* new FreeBSD driver */ ++#ifdef USE_SYSCTL ++ ++int sysctl_test(void) { ++ struct ifmibdata tempndata; + int numifaces; + size_t len2; - int mib[5], datamib[6]; - int i; - ++ int mib[5], datamib[6]; ++ int i; ++ ++ if(device == NULL) device = "lo0"; ++ ++ mib[0] = CTL_NET; ++ mib[1] = PF_LINK; ++ mib[2] = NETLINK_GENERIC; ++ mib[3] = IFMIB_SYSTEM; ++ mib[4] = IFMIB_IFCOUNT; ++ ++ datamib[0] = CTL_NET; ++ datamib[1] = PF_LINK; ++ datamib[2] = NETLINK_GENERIC; ++ datamib[3] = IFMIB_IFDATA; ++ datamib[4] = 1; ++ datamib[5] = IFDATA_GENERAL; ++ ++ len = sizeof(struct ifmibdata); ++ len2 = sizeof(numifaces); ++ ++ if(sysctl(mib, 5, &numifaces, &len2, NULL, 0) < 0) ++ { ++ fprintf( stderr, "wmnet: failed to perform sysctl" ); ++ return 0; ++ } ++ ++ for(i = 1; i <= numifaces; i++) ++ { ++ datamib[4] = i; ++ if(sysctl(datamib, 6, &tempndata, &len, NULL, 0) < 0) ++ { ++ fprintf( stderr, "wmnet: failed to get device(%d) data", i ); ++ break; ++ } ++ ++ if( strcmp( device, tempndata.ifmd_name ) == 0 ) ++ { ++ id = i; ++ break; ++ } ++ } ++ ++ if ( id == 0 ) { ++ fprintf( stderr, "%s doesn't seem to exist!\n", device ); ++ exit( -1 ); ++ } ++ ++ /* calculate and allocate mem for ifmibdata containing the if stats */ ++ data = malloc(len); ++ ++ fprintf(stderr, "wmnet: using sysctl driver to monitor %s\n", device); ++ return True; ++} ++ ++int sysctl_updateStats(void) { ++ int datamib[6]; ++ ++ datamib[0] = CTL_NET; ++ datamib[1] = PF_LINK; ++ datamib[2] = NETLINK_GENERIC; ++ datamib[3] = IFMIB_IFDATA; ++ datamib[4] = id; ++ datamib[5] = IFDATA_GENERAL; ++ ++ if(sysctl( datamib, 6, data, &len, NULL, 0) < 0 ) { ++ fprintf( stderr, "wmnet: can't monitor %s device\n", device ); ++ exit( -1 ); ++ } ++ ++ // printf( "if name: %s\n", data->ifmd_name ); ++ ++ /* get the stats from the if */ ++ totalpackets_in = data->ifmd_data.ifi_ipackets; ++ totalpackets_out = data->ifmd_data.ifi_opackets; ++ ++ if (totalpackets_in != lastpackets_in) { ++ totalbytes_in = data->ifmd_data.ifi_ibytes; ++ diffpackets_in += totalpackets_in - lastpackets_in; ++ diffbytes_in += totalbytes_in - lastbytes_in; ++ lastpackets_in = totalpackets_in; ++ lastbytes_in = totalbytes_in; ++ rx = True; ++ } else rx = False; ++ ++ if (totalpackets_out != lastpackets_out) { ++ totalbytes_out = data->ifmd_data.ifi_obytes; ++ diffpackets_out += totalpackets_out - lastpackets_out; ++ diffbytes_out += totalbytes_out - lastbytes_out; ++ lastpackets_out = totalpackets_out; ++ lastbytes_out = totalbytes_out; ++ tx = True; ++ } else tx = False; ++ ++ /* return True if no change to tx/rx ++ * return False if display will need to be updated ++ */ ++ return((rx == current_rx) && (tx == current_tx)); ++} ++ ++#endif ++ + #ifdef USE_KVM + int kvm_test(void) { + if (((kvmfd = kvm_open(NULL, NULL, NULL, O_RDONLY, buffer)) == NULL) || Modified: branches/2014Q1/net/wmnet2/pkg-descr ============================================================================== --- branches/2014Q1/net/wmnet2/pkg-descr Fri Dec 20 08:10:00 2013 (r336989) +++ branches/2014Q1/net/wmnet2/pkg-descr Fri Dec 20 08:10:51 2013 (r336990) @@ -1,11 +1,11 @@ -This little program polls network statistics and does a few things with the -data it gets. It has small blinking lights for the rx and tx of IP packets, -a digital speedometer of your polled stat's currentspeed and a bar graph like -xload et. al which has a tx speed graph from bottom-up and rx speed graph -from the top-down. The speedometer keeps track of the current speed per -second and shows it in a color corresponding to which of rx or tx that has -the highest speed at the moment. Also, the graph is drawn in a way that the -highest speed is drawn on top of the other while the other is in the -background. +This little program polls network statistics and does a few things with +the data it gets. It has small blinking lights for the rx and tx of IP +packets, a digital speedometer of your polled stat's current speed and a +bar graph like xload et. al which has a tx speed graph from bottom-up +and rx speed graph from the top-down. The speedometer keeps track of the +current speed per second and shows it in a color corresponding to which +of rx or tx that has the highest speed at the moment. Also, the graph is +drawn in a way that the highest speed is drawn on top of the other while +the other is in the background. -WWW: http://www.dockapps.org/file.php/id/77 +WWW: http://linux-bsd-unix.strefa.pl/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201312200810.rBK8Apfl051621>