svn commit: r336990 - in branches/2014Q1/net/wmnet2: . files

Baptiste Daroussin bapt at FreeBSD.org
Fri Dec 20 08:10:52 UTC 2013


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 at 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 at 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/


More information about the svn-ports-branches mailing list