From owner-freebsd-ports-bugs@FreeBSD.ORG Mon Dec 16 18:10:10 2013 Return-Path: Delivered-To: freebsd-ports-bugs@smarthost.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8446879A for ; Mon, 16 Dec 2013 18:10:10 +0000 (UTC) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 628101948 for ; Mon, 16 Dec 2013 18:10:10 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.7/8.14.7) with ESMTP id rBGIAAXI016091 for ; Mon, 16 Dec 2013 18:10:10 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.7/8.14.7/Submit) id rBGIAAbe016090; Mon, 16 Dec 2013 18:10:10 GMT (envelope-from gnats) Resent-Date: Mon, 16 Dec 2013 18:10:10 GMT Resent-Message-Id: <201312161810.rBGIAAbe016090@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, KATO Tsuguru Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 304AD3E3 for ; Mon, 16 Dec 2013 18:05:30 +0000 (UTC) Received: from omta01.auone-net.jp (mail-or0-f67.auone-net.jp [106.187.230.67]) by mx1.freebsd.org (Postfix) with ESMTP id E3C5A1897 for ; Mon, 16 Dec 2013 18:05:29 +0000 (UTC) Received: from coppermine.my.domain (ZT030106.ppp.dion.ne.jp [59.128.30.106]) by omta01.auone-net.jp (au one net mail) with ESMTP id 974B298017D for ; Tue, 17 Dec 2013 03:05:24 +0900 (JST) Message-Id: <20131217025023.5ce6ac426de871d50126b63e@yahoo.com> Date: Tue, 17 Dec 2013 02:50:23 +0900 From: KATO Tsuguru To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/184839: net/wmnet2: Fix build on -current X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Dec 2013 18:10:10 -0000 >Number: 184839 >Category: ports >Synopsis: net/wmnet2: Fix build on -current >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: Mon Dec 16 18:10:10 UTC 2013 >Closed-Date: >Last-Modified: >Originator: KATO Tsuguru >Release: FreeBSD 8.4-RELEASE-p4 i386 >Organization: >Environment: >Description: - Fix build on -current - Update MASTER_SITES New file: files/patch-Imakefile files/patch-config.h Remove file: files/patch-aa files/patch-ab files/patch-getopt.c >How-To-Repeat: >Fix: diff -urN /usr/ports/net/wmnet2/Makefile net/wmnet2/Makefile --- /usr/ports/net/wmnet2/Makefile 2013-11-06 21:53:51.000000000 +0900 +++ net/wmnet2/Makefile 2013-12-17 00:00:00.000000000 +0900 @@ -5,8 +5,8 @@ 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,9 @@ 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 -NO_STAGE= yes .include diff -urN /usr/ports/net/wmnet2/files/patch-Imakefile net/wmnet2/files/patch-Imakefile --- /usr/ports/net/wmnet2/files/patch-Imakefile 1970-01-01 09:00:00.000000000 +0900 +++ net/wmnet2/files/patch-Imakefile 2013-12-17 00:00:00.000000000 +0900 @@ -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) diff -urN /usr/ports/net/wmnet2/files/patch-aa net/wmnet2/files/patch-aa --- /usr/ports/net/wmnet2/files/patch-aa 2013-11-06 21:53:51.000000000 +0900 +++ net/wmnet2/files/patch-aa 1970-01-01 09:00:00.000000000 +0900 @@ -1,198 +0,0 @@ ---- Imakefile Fri May 5 02:34:29 2000 -+++ Imakefile Tue Nov 11 10:54:42 2003 -@@ -10,9 +10,12 @@ - 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 = -s -m 0755 - #endif - - LINTLIBS = $(LINTXLIB) ---- config.h Fri May 5 02:34:29 2000 -+++ config.h Tue Nov 11 10:59:05 2003 -@@ -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 - ---- drivers.c Fri May 5 02:34:29 2000 -+++ drivers.c Wed Nov 12 11:42:40 2003 -@@ -21,7 +21,7 @@ - #include"config.h" - - --/* For FreeBSD */ -+/* For OpenBSD */ - #ifdef USE_KVM - #include - #include -@@ -37,6 +37,22 @@ - int kvm_updateStats(void); - #endif /* USE_KVM */ - -+#ifdef USE_SYSCTL -+/* system headers */ -+#include -+#include -+#include -+#include -+#include -+#include -+ -+int id = 0; /* interface id */ -+int len = 0; /* sizeof libmibdata */ -+struct ifmibdata *data = NULL; -+ -+int sysctl_test(void); -+int sysctl_updateStats(void); -+#endif - - #ifdef USE_LINUX_PPP - #include -@@ -104,6 +120,9 @@ - #ifdef USE_KVM - {"kmem",kvm_updateStats, kvm_test}, - #endif -+#ifdef USE_SYSCTL -+ {"sysctl",sysctl_updateStats, sysctl_test}, -+#endif - {NULL, NULL} - }; - -@@ -439,6 +458,114 @@ - - - #endif /* linux */ -+ -+/* new FreeBSD driver */ -+#ifdef USE_SYSCTL -+ -+int sysctl_test(void) { -+ struct ifmibdata tempndata; -+ int numifaces, len2; -+ 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) { diff -urN /usr/ports/net/wmnet2/files/patch-ab net/wmnet2/files/patch-ab --- /usr/ports/net/wmnet2/files/patch-ab 2013-11-06 21:53:51.000000000 +0900 +++ net/wmnet2/files/patch-ab 1970-01-01 09:00:00.000000000 +0900 @@ -1,11 +0,0 @@ ---- Imakefile 2001/09/08 12:01:26 1.1 -+++ Imakefile 2001/09/08 12:02:34 -@@ -26,4 +26,7 @@ - #endif - - --ComplexProgramTarget(wmnet) -+ComplexProgramTarget(wmnet2) -+ -+wmnet2.man: wmnet.man -+ ln -sf wmnet.man wmnet2.man diff -urN /usr/ports/net/wmnet2/files/patch-config.h net/wmnet2/files/patch-config.h --- /usr/ports/net/wmnet2/files/patch-config.h 1970-01-01 09:00:00.000000000 +0900 +++ net/wmnet2/files/patch-config.h 2013-12-17 00:00:00.000000000 +0900 @@ -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 + diff -urN /usr/ports/net/wmnet2/files/patch-drivers.c net/wmnet2/files/patch-drivers.c --- /usr/ports/net/wmnet2/files/patch-drivers.c 2013-11-06 21:53:51.000000000 +0900 +++ net/wmnet2/files/patch-drivers.c 2013-12-17 00:00:00.000000000 +0900 @@ -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 +@@ -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 + #include +@@ -37,6 +37,22 @@ + int kvm_updateStats(void); + #endif /* USE_KVM */ + ++#ifdef USE_SYSCTL ++/* system headers */ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++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 +@@ -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) || diff -urN /usr/ports/net/wmnet2/files/patch-getopt.c net/wmnet2/files/patch-getopt.c --- /usr/ports/net/wmnet2/files/patch-getopt.c 2013-11-06 21:53:51.000000000 +0900 +++ net/wmnet2/files/patch-getopt.c 1970-01-01 09:00:00.000000000 +0900 @@ -1,11 +0,0 @@ ---- getopt.c.orig Fri Oct 9 10:59:00 1998 -+++ getopt.c Tue Apr 27 09:57:46 2004 -@@ -209,6 +209,8 @@ - - char *getenv (); - extern int strncmp(const char *s1, const char *s2, size_t len); -+extern int strcmp(const char *, const char *); -+extern size_t strlen(const char *); - - static char * - my_index (str, chr) diff -urN /usr/ports/net/wmnet2/pkg-descr net/wmnet2/pkg-descr --- /usr/ports/net/wmnet2/pkg-descr 2013-11-06 21:53:51.000000000 +0900 +++ net/wmnet2/pkg-descr 2013-12-17 00:00:00.000000000 +0900 @@ -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 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. -WWW: http://www.dockapps.org/file.php/id/77 +WWW: http://linux-bsd-unix.strefa.pl/ >Release-Note: >Audit-Trail: >Unformatted: