mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-03-19 00:21:40 +00:00
added extra/net-snmp, fixes #375
This commit is contained in:
parent
797ad8a01a
commit
1845e13bba
5 changed files with 205 additions and 0 deletions
70
extra/net-snmp/PKGBUILD
Normal file
70
extra/net-snmp/PKGBUILD
Normal file
|
@ -0,0 +1,70 @@
|
|||
# $Id: PKGBUILD 176934 2013-02-02 19:39:14Z eric $
|
||||
# Maintainer:
|
||||
# Contributor: Dale Blount <dale@archlinux.org>
|
||||
|
||||
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
# - don't use PCI on v5/v6
|
||||
|
||||
pkgname=net-snmp
|
||||
pkgver=5.7.2
|
||||
pkgrel=1.1
|
||||
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/"
|
||||
license=('BSD')
|
||||
depends=('openssl' 'libnl' 'pciutils')
|
||||
makedepends=('python2-distribute')
|
||||
optdepends=('perl-term-readkey: for snmpcheck application'
|
||||
'perl-tk: for snmpcheck and tkmib applications'
|
||||
'python2: for the python modules')
|
||||
provides=('ucd-snmp')
|
||||
backup=('etc/conf.d/snmpd')
|
||||
options=('!libtool' '!emptydirs')
|
||||
source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz{,.asc}
|
||||
snmpd.confd snmpd.rc snmpd.service libnl32.patch)
|
||||
sha1sums=('c493027907f32400648244d81117a126aecd27ee'
|
||||
'25ee4b2e7b5a1b91122d06e82d41ef5bb5359d6d'
|
||||
'cf811da9e57bbca34d8e2a3c358bb3bfc0c2b33b'
|
||||
'90600c0141eed10d6e3ca3ccc97ad8dda15c2112'
|
||||
'f59ddc049c1c689f04e68c3c7cd8b8e301df3158'
|
||||
'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
|
||||
|
||||
PYTHONPROG=/usr/bin/python2 ./configure --prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--mandir=/usr/share/man \
|
||||
--enable-ucd-snmp-compatibility \
|
||||
--enable-ipv6 \
|
||||
--with-python-modules \
|
||||
--with-default-snmp-version="3" \
|
||||
--with-sys-contact="root@localhost" \
|
||||
--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" \
|
||||
--disable-static
|
||||
|
||||
# ALARM: don't use PCI on v5/v6
|
||||
if [ "$CARCH" = "arm" -o "$CARCH" = "armv6h" ]; then
|
||||
sed -i 's/HAVE_PCI_LOOKUP_NAME 1/HAVE_PCI_LOOKUP_NAME 0/' net-snmp-config.h
|
||||
sed -i 's/HAVE_PCI_PCI_H 1/HAVE_PCI_PCI_H 0/' net-snmp-config.h
|
||||
fi
|
||||
|
||||
make NETSNMP_DONT_CHECK_VERSION=1
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "${srcdir}/${pkgname}-${pkgver}"
|
||||
sed -i -e "s:install --basedir=\$\$dir:install --basedir=\$\$dir --root=${pkgdir}:" Makefile
|
||||
make DESTDIR="${pkgdir}" INSTALL_PREFIX="${pkgdir}" INSTALLDIRS=vendor install
|
||||
install -D -m755 "${srcdir}/snmpd.rc" "${pkgdir}/etc/rc.d/snmpd"
|
||||
install -D -m644 "${srcdir}/snmpd.confd" "${pkgdir}/etc/conf.d/snmpd"
|
||||
install -D -m644 "${srcdir}/snmpd.service" "${pkgdir}/usr/lib/systemd/system/snmpd.service"
|
||||
install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
|
||||
}
|
80
extra/net-snmp/libnl32.patch
Normal file
80
extra/net-snmp/libnl32.patch
Normal file
|
@ -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
|
5
extra/net-snmp/snmpd.confd
Normal file
5
extra/net-snmp/snmpd.confd
Normal file
|
@ -0,0 +1,5 @@
|
|||
#
|
||||
# Parameters to be passed to snmpd
|
||||
#
|
||||
SNMPD_ARGS=""
|
||||
|
39
extra/net-snmp/snmpd.rc
Normal file
39
extra/net-snmp/snmpd.rc
Normal file
|
@ -0,0 +1,39 @@
|
|||
#!/bin/bash
|
||||
|
||||
. /etc/rc.conf
|
||||
. /etc/rc.d/functions
|
||||
. /etc/conf.d/snmpd
|
||||
|
||||
PID=`pidof -o %PPID /usr/sbin/snmpd`
|
||||
case "$1" in
|
||||
start)
|
||||
stat_busy "Starting Net-SNMP"
|
||||
[ -z "$PID" ] && /usr/sbin/snmpd $SNMPD_ARGS
|
||||
if [ $? -gt 0 ]; then
|
||||
stat_fail
|
||||
else
|
||||
echo $PID > /var/run/snmpd.pid
|
||||
add_daemon snmpd
|
||||
stat_done
|
||||
fi
|
||||
;;
|
||||
stop)
|
||||
stat_busy "Stopping Net-SNMP"
|
||||
[ ! -z "$PID" ] && kill $PID &> /dev/null
|
||||
if [ $? -gt 0 ]; then
|
||||
stat_fail
|
||||
else
|
||||
rm /var/run/snmpd.pid
|
||||
rm_daemon snmpd
|
||||
stat_done
|
||||
fi
|
||||
;;
|
||||
restart)
|
||||
$0 stop
|
||||
sleep 2
|
||||
$0 start
|
||||
;;
|
||||
*)
|
||||
echo "usage: $0 {start|stop|restart}"
|
||||
esac
|
||||
exit 0
|
11
extra/net-snmp/snmpd.service
Normal file
11
extra/net-snmp/snmpd.service
Normal file
|
@ -0,0 +1,11 @@
|
|||
[Unit]
|
||||
Description=Simple Network Management Protocol (SNMP) Daemon
|
||||
After=syslog.target network.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
ExecStart=/usr/sbin/snmpd
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
Loading…
Reference in a new issue