[arch-commits] Commit in net-snmp/trunk (PKGBUILD libnl32.patch)

Jan Steffens heftig at archlinux.org
Thu Feb 9 19:20:26 UTC 2012


    Date: Thursday, February 9, 2012 @ 14:20:25
  Author: heftig
Revision: 149722

libnl3

Added:
  net-snmp/trunk/libnl32.patch
Modified:
  net-snmp/trunk/PKGBUILD

---------------+
 PKGBUILD      |   15 +++++++---
 libnl32.patch |   80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 91 insertions(+), 4 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2012-02-09 18:49:54 UTC (rev 149721)
+++ PKGBUILD	2012-02-09 19:20:25 UTC (rev 149722)
@@ -4,7 +4,7 @@
 
 pkgname=net-snmp
 pkgver=5.7.1
-pkgrel=1
+pkgrel=2
 pkgdesc="A suite of applications used to implement SNMP v1, SNMP v2c and SNMP v3 using both IPv4 and IPv6"
 arch=('i686' 'x86_64')
 url="http://www.net-snmp.org/"
@@ -18,14 +18,20 @@
 backup=('etc/conf.d/snmpd')
 options=('!libtool' '!makeflags' '!emptydirs')
 source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz{,.asc}
-        snmpd.confd snmpd.rc)
+        snmpd.confd snmpd.rc libnl32.patch)
 sha1sums=('ddb82ce1112ef0642869d3c8d7c7e585f151849a'
           '2bdc2839ce09d7daa608cd54687fa8beb47ed907'
           'cf811da9e57bbca34d8e2a3c358bb3bfc0c2b33b'
-          '90600c0141eed10d6e3ca3ccc97ad8dda15c2112')
+          '90600c0141eed10d6e3ca3ccc97ad8dda15c2112'
+          '74a9848b95f63378eb1753fc309d2b74de5afb0f')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
+
+  # http://sourceforge.net/tracker/index.php?func=detail&aid=3250304&group_id=12694&atid=112694
+  patch -Np1 -i "$srcdir/libnl32.patch"
+  autoreconf -f -i
+
   sed -i -e "s:\(install --basedir=\$\$dir\):\1 --root='${pkgdir}':" Makefile.in
   PYTHONPROG=/usr/bin/python2 ./configure --prefix=/usr \
     --sysconfdir=/etc \
@@ -38,7 +44,8 @@
     --with-sys-location="Unknown" \
     --with-logfile="/var/log/snmpd.log" \
     --with-mib-modules="host misc/ipfwacc ucd-snmp/diskio tunnel ucd-snmp/dlmod" \
-    --with-persistent-directory="/var/net-snmp"
+    --with-persistent-directory="/var/net-snmp" \
+    --disable-static
   make NETSNMP_DONT_CHECK_VERSION=1
 }
 

Added: libnl32.patch
===================================================================
--- libnl32.patch	                        (rev 0)
+++ libnl32.patch	2012-02-09 19:20:25 UTC (rev 149722)
@@ -0,0 +1,80 @@
+diff -u -r net-snmp-5.7.1/agent/mibgroup/mibII/tcpTable.c net-snmp-5.7.1-libnl32/agent/mibgroup/mibII/tcpTable.c
+--- net-snmp-5.7.1/agent/mibgroup/mibII/tcpTable.c	2011-09-28 06:53:47.000000000 +0200
++++ net-snmp-5.7.1-libnl32/agent/mibgroup/mibII/tcpTable.c	2012-02-09 20:02:49.136022132 +0100
+@@ -566,8 +566,9 @@
+ static int
+ tcpTable_load_netlink(void)
+ {
++	int err;
+ 	/*  TODO: perhaps use permanent nl handle? */
+-	struct nl_handle *nl = nl_handle_alloc();
++	struct nl_sock *nl = nl_socket_alloc();
+ 
+ 	if (nl == NULL) {
+ 		DEBUGMSGTL(("mibII/tcpTable", "Failed to allocate netlink handle\n"));
+@@ -575,10 +576,10 @@
+ 		return -1;
+ 	}
+ 
+-	if (nl_connect(nl, NETLINK_INET_DIAG) < 0) {
+-		DEBUGMSGTL(("mibII/tcpTable", "Failed to connect to netlink: %s\n", nl_geterror()));
+-		snmp_log(LOG_ERR, "snmpd: Couldn't connect to netlink: %s\n", nl_geterror());
+-		nl_handle_destroy(nl);
++	if ((err = nl_connect(nl, NETLINK_INET_DIAG)) < 0) {
++		DEBUGMSGTL(("mibII/tcpTable", "Failed to connect to netlink: %s\n", nl_geterror(err)));
++		snmp_log(LOG_ERR, "snmpd: Couldn't connect to netlink: %s\n", nl_geterror(err));
++		nl_socket_free(nl);
+ 		return -1;
+ 	}
+ 
+@@ -590,10 +591,10 @@
+ 	struct nl_msg *nm = nlmsg_alloc_simple(TCPDIAG_GETSOCK, NLM_F_ROOT|NLM_F_MATCH|NLM_F_REQUEST);
+ 	nlmsg_append(nm, &req, sizeof(struct inet_diag_req), 0);
+ 
+-	if (nl_send_auto_complete(nl, nm) < 0) {
+-		DEBUGMSGTL(("mibII/tcpTable", "nl_send_autocomplete(): %s\n", nl_geterror()));
+-		snmp_log(LOG_ERR, "snmpd: nl_send_autocomplete(): %s\n", nl_geterror());
+-		nl_handle_destroy(nl);
++	if ((err = nl_send_auto_complete(nl, nm)) < 0) {
++		DEBUGMSGTL(("mibII/tcpTable", "nl_send_autocomplete(): %s\n", nl_geterror(err)));
++		snmp_log(LOG_ERR, "snmpd: nl_send_autocomplete(): %s\n", nl_geterror(err));
++		nl_socket_free(nl);
+ 		return -1;
+ 	}
+ 	nlmsg_free(nm);
+@@ -604,9 +605,9 @@
+ 
+ 	while (running) {
+ 		if ((len = nl_recv(nl, &peer, &buf, NULL)) <= 0) {
+-			DEBUGMSGTL(("mibII/tcpTable", "nl_recv(): %s\n", nl_geterror()));
+-			snmp_log(LOG_ERR, "snmpd: nl_recv(): %s\n", nl_geterror());
+-			nl_handle_destroy(nl);
++			DEBUGMSGTL(("mibII/tcpTable", "nl_recv(): %s\n", nl_geterror(len)));
++			snmp_log(LOG_ERR, "snmpd: nl_recv(): %s\n", nl_geterror(len));
++			nl_socket_free(nl);
+ 			return -1;
+ 		}
+ 
+@@ -655,7 +656,7 @@
+ 		free(buf);
+ 	}
+ 
+-	nl_handle_destroy(nl);
++	nl_socket_free(nl);
+ 
+ 	if (tcp_head) {
+ 		DEBUGMSGTL(("mibII/tcpTable", "Loaded TCP Table using netlink\n"));
+diff -u -r net-snmp-5.7.1/configure.d/config_os_libs2 net-snmp-5.7.1-libnl32/configure.d/config_os_libs2
+--- net-snmp-5.7.1/configure.d/config_os_libs2	2011-09-28 06:53:47.000000000 +0200
++++ net-snmp-5.7.1-libnl32/configure.d/config_os_libs2	2012-02-09 20:10:44.282165275 +0100
+@@ -224,8 +224,9 @@
+ if test "x$with_nl" != "xno"; then
+     case $target_os in
+     linux*) # Check for libnl (linux)
++	CPPFLAGS="$CPPFLAGS $(pkg-config --cflags-only-I libnl-3.0)"
+ 	NETSNMP_SEARCH_LIBS(
+-	    nl_connect, nl,
++	    nl_connect, nl-3,
+ 	    [AC_CHECK_HEADERS(netlink/netlink.h)],,, LMIBLIBS)
+     ;;
+     esac




More information about the arch-commits mailing list