Package: vnstat Version: 1.10-1 Severity: important Tags: patch Usertags: kfreebsd X-Debbugs-CC: debian-...@lists.debian.org
The package vnstat is completely broken on GNU/kFreeBSD. The executables do not have the intended functionality due to missing preprocessor conditionals. The present patch restores full functionality to GNU/kFreeBSD. Best regards, Mats Erik Andersson, DM
Description: Adapt source to GNU/kFreeBSD Modify some preprocessor conditionals to detect __FreeBSD_kernel__. This suffices. Author: Mats Erik Andersson <deb...@gisladisker.se> Forwarded: no Last-Update: 2011-01-05 --- vnstat-1.10.debian/src/common.h +++ vnstat-1.10/src/common.h @@ -20,7 +20,7 @@ #include <syslog.h> #include <sys/statvfs.h> -#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) +#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) || defined(__FreeBSD_kernel__) #include <sys/param.h> #include <sys/mount.h> #include <sys/socket.h> --- vnstat-1.10.debian/src/ifinfo.c +++ vnstat-1.10/src/ifinfo.c @@ -29,7 +29,7 @@ return 0; } } -#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) +#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) || defined(__FreeBSD_kernel__) if (readifaddrs(inface)!=1) { snprintf(errorstring, 512, "Unable to get interface \"%s\" statistics.", inface); printe(PT_Error); @@ -48,7 +48,7 @@ DIR *dp; struct dirent *di; char procline[512], temp[64]; -#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) +#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) || defined(__FreeBSD_kernel__) struct ifaddrs *ifap, *ifa; #endif @@ -92,7 +92,7 @@ } } -#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) +#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) || defined(__FreeBSD_kernel__) if (getifaddrs(&ifap) >= 0) { /* make list of interfaces */ @@ -399,7 +399,7 @@ } } -#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) +#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) || defined(__FreeBSD_kernel__) int readifaddrs(const char *iface) { struct ifaddrs *ifap, *ifa; --- vnstat-1.10.debian/src/ifinfo.h +++ vnstat-1.10/src/ifinfo.h @@ -7,7 +7,7 @@ int readsysclassnet(const char *iface); void parseifinfo(int newdb); uint64_t countercalc(uint64_t a, uint64_t b); -#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) +#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) || defined(__FreeBSD_kernel__) int readifaddrs(const char *iface); #endif --- vnstat-1.10.debian/src/misc.c +++ vnstat-1.10/src/misc.c @@ -170,7 +170,7 @@ result = strtoul(statline+6, (char **)NULL, 0); fclose(fp); -#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) +#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) || defined(__FreeBSD_kernel__) struct timeval btm; size_t len = sizeof(btm); int mib[2] = {CTL_KERN, KERN_BOOTTIME};
signature.asc
Description: Digital signature