aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsobomax <sobomax@FreeBSD.org>2008-04-29 06:33:53 +0800
committersobomax <sobomax@FreeBSD.org>2008-04-29 06:33:53 +0800
commit983c8e9653097cee94f6f4d4768b7211e4102ca0 (patch)
treee1cf8c32a98c8ece4616a154dc088b57cc1978a3
parentc7b11297e4428efec4e01073a528d8f9ddb95c09 (diff)
downloadfreebsd-ports-gnome-983c8e9653097cee94f6f4d4768b7211e4102ca0.tar.gz
freebsd-ports-gnome-983c8e9653097cee94f6f4d4768b7211e4102ca0.tar.zst
freebsd-ports-gnome-983c8e9653097cee94f6f4d4768b7211e4102ca0.zip
o Fix regression in 5.4.1 - the custom FreeBSD vmstat code is not compiled
in making number of popular OIDs unavailable. o Fix issue with retrieving CPU stats in 6.3-STABLE and upper. The problem is that the cp_time symbol is no longer avaliable in the nevest kernels. Use kern.cp_time sysctl which has been around for 8 years or so, so that it should be present virtually in every FreeBSD version that is able to use modern ports tree (4.x and upper). Sysctl is also better from the security standpoint, as you don't need elevated privileges to get the data. One should probably look at converting few others uses of KVM here, but ENOTIME from me. The patch has been submitted to the vendor. Sponsored by: Sippy Software, Inc., http://www.sippysoft.com Approved by: MAINTAINER
-rw-r--r--net-mgmt/net-snmp-devel/Makefile2
-rw-r--r--net-mgmt/net-snmp-devel/files/patch-ucd_snmp.h16
-rw-r--r--net-mgmt/net-snmp-devel/files/patch-vmstat_freebsd2.c22
-rw-r--r--net-mgmt/net-snmp/Makefile2
-rw-r--r--net-mgmt/net-snmp/files/patch-ucd_snmp.h16
-rw-r--r--net-mgmt/net-snmp/files/patch-vmstat_freebsd2.c22
6 files changed, 78 insertions, 2 deletions
diff --git a/net-mgmt/net-snmp-devel/Makefile b/net-mgmt/net-snmp-devel/Makefile
index b6756a0c8e41..1d784c20d766 100644
--- a/net-mgmt/net-snmp-devel/Makefile
+++ b/net-mgmt/net-snmp-devel/Makefile
@@ -7,7 +7,7 @@
PORTNAME= snmp
PORTVERSION= 5.4.1
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= net-mgmt ipv6
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= net-snmp
diff --git a/net-mgmt/net-snmp-devel/files/patch-ucd_snmp.h b/net-mgmt/net-snmp-devel/files/patch-ucd_snmp.h
new file mode 100644
index 000000000000..476951ce818c
--- /dev/null
+++ b/net-mgmt/net-snmp-devel/files/patch-ucd_snmp.h
@@ -0,0 +1,16 @@
+
+$FreeBSD$
+
+--- agent/mibgroup/ucd_snmp.h.orig
++++ agent/mibgroup/ucd_snmp.h
+@@ -13,5 +13,10 @@
+ config_require(ucd-snmp/logmatch)
+ config_require(ucd-snmp/memory)
+ config_require(ucd-snmp/vmstat)
++config_arch_require(freebsd4, ucd-snmp/vmstat_freebsd2)
++config_arch_require(freebsd5, ucd-snmp/vmstat_freebsd2)
++config_arch_require(freebsd6, ucd-snmp/vmstat_freebsd2)
++config_arch_require(freebsd7, ucd-snmp/vmstat_freebsd2)
++config_arch_require(freebsd8, ucd-snmp/vmstat_freebsd2)
+ config_add_mib(UCD-SNMP-MIB)
+ config_add_mib(UCD-DEMO-MIB)
diff --git a/net-mgmt/net-snmp-devel/files/patch-vmstat_freebsd2.c b/net-mgmt/net-snmp-devel/files/patch-vmstat_freebsd2.c
new file mode 100644
index 000000000000..310c0bbf5320
--- /dev/null
+++ b/net-mgmt/net-snmp-devel/files/patch-vmstat_freebsd2.c
@@ -0,0 +1,22 @@
+--- agent/mibgroup/ucd-snmp/vmstat_freebsd2.c.orig 2008-04-25 16:28:53.000000000 +0300
++++ agent/mibgroup/ucd-snmp/vmstat_freebsd2.c 2008-04-25 16:29:01.000000000 +0300
+@@ -174,6 +174,7 @@
+ static long cpu_total;
+ long cpu_sum;
+ double cpu_prc;
++ int mib[2], mib_len, cpu_new_len;
+
+ static struct vmmeter mem_old, mem_new;
+
+@@ -195,7 +196,10 @@
+ /*
+ * CPU usage
+ */
+- auto_nlist(CPTIME_SYMBOL, (char *) cpu_new, sizeof(cpu_new));
++ mib_len = 2;
++ sysctlnametomib("kern.cp_time", mib, &mib_len);
++ cpu_new_len = sizeof(cpu_new);
++ sysctl(mib, mib_len, cpu_new, &cpu_new_len, NULL, 0);
+
+ cpu_total = 0;
+
diff --git a/net-mgmt/net-snmp/Makefile b/net-mgmt/net-snmp/Makefile
index b6756a0c8e41..1d784c20d766 100644
--- a/net-mgmt/net-snmp/Makefile
+++ b/net-mgmt/net-snmp/Makefile
@@ -7,7 +7,7 @@
PORTNAME= snmp
PORTVERSION= 5.4.1
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= net-mgmt ipv6
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= net-snmp
diff --git a/net-mgmt/net-snmp/files/patch-ucd_snmp.h b/net-mgmt/net-snmp/files/patch-ucd_snmp.h
new file mode 100644
index 000000000000..476951ce818c
--- /dev/null
+++ b/net-mgmt/net-snmp/files/patch-ucd_snmp.h
@@ -0,0 +1,16 @@
+
+$FreeBSD$
+
+--- agent/mibgroup/ucd_snmp.h.orig
++++ agent/mibgroup/ucd_snmp.h
+@@ -13,5 +13,10 @@
+ config_require(ucd-snmp/logmatch)
+ config_require(ucd-snmp/memory)
+ config_require(ucd-snmp/vmstat)
++config_arch_require(freebsd4, ucd-snmp/vmstat_freebsd2)
++config_arch_require(freebsd5, ucd-snmp/vmstat_freebsd2)
++config_arch_require(freebsd6, ucd-snmp/vmstat_freebsd2)
++config_arch_require(freebsd7, ucd-snmp/vmstat_freebsd2)
++config_arch_require(freebsd8, ucd-snmp/vmstat_freebsd2)
+ config_add_mib(UCD-SNMP-MIB)
+ config_add_mib(UCD-DEMO-MIB)
diff --git a/net-mgmt/net-snmp/files/patch-vmstat_freebsd2.c b/net-mgmt/net-snmp/files/patch-vmstat_freebsd2.c
new file mode 100644
index 000000000000..310c0bbf5320
--- /dev/null
+++ b/net-mgmt/net-snmp/files/patch-vmstat_freebsd2.c
@@ -0,0 +1,22 @@
+--- agent/mibgroup/ucd-snmp/vmstat_freebsd2.c.orig 2008-04-25 16:28:53.000000000 +0300
++++ agent/mibgroup/ucd-snmp/vmstat_freebsd2.c 2008-04-25 16:29:01.000000000 +0300
+@@ -174,6 +174,7 @@
+ static long cpu_total;
+ long cpu_sum;
+ double cpu_prc;
++ int mib[2], mib_len, cpu_new_len;
+
+ static struct vmmeter mem_old, mem_new;
+
+@@ -195,7 +196,10 @@
+ /*
+ * CPU usage
+ */
+- auto_nlist(CPTIME_SYMBOL, (char *) cpu_new, sizeof(cpu_new));
++ mib_len = 2;
++ sysctlnametomib("kern.cp_time", mib, &mib_len);
++ cpu_new_len = sizeof(cpu_new);
++ sysctl(mib, mib_len, cpu_new, &cpu_new_len, NULL, 0);
+
+ cpu_total = 0;
+