FreeBSD Bugzilla – Attachment 138756 Details for
Bug 184839
net/wmnet2: Fix build on -current
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
file.diff
file.diff (text/plain), 14.89 KB, created by
tkato432
on 2013-12-16 18:10:10 UTC
(
hide
)
Description:
file.diff
Filename:
MIME Type:
Creator:
tkato432
Created:
2013-12-16 18:10:10 UTC
Size:
14.89 KB
patch
obsolete
>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 <bsd.port.mk> >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<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 */ >-+int len = 0; /* sizeof libmibdata */ >-+struct ifmibdata *data = NULL; >-+ >-+int sysctl_test(void); >-+int sysctl_updateStats(void); >-+#endif >- >- #ifdef USE_LINUX_PPP >- #include<net/ppp_defs.h> >-@@ -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 <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) || >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/
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 184839
: 138756