PKG_NAME:=mini_snmpd
PKG_VERSION:=1.6
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_MAINTAINER:=Marcin Jurkowski <marcin1j@gmail.com>
PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=COPYING
PKG_SOURCE:=mini-snmpd-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/troglobit/mini-snmpd/tar.gz/v$(PKG_VERSION)?
-PKG_BUILD_DIR:=$(BUILD_DIR)/mini-snmpd-$(PKG_VERSION)
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/mini-snmpd-$(PKG_VERSION)
PKG_HASH:=de00c475a3c70c56f3ee97cd683cb71009d3521d60b1f589c5a91b4671ede9f3
PKG_FIXUP:=autoreconf
# openwrt requires init script runtime dependencies be defined for make menuconfig
# (e.g busybox sysntpd)
DEPENDS:=+jsonfilter +ubus +procd +ubox
+ VARIANT:=default
+ CONFLICTS:=mini_snmpd-16 mini_snmpd-52
+endef
+
+define Package/mini_snmpd-16
+ $(call Package/mini_snmpd)
+ TITLE+= (16 ports)
+ PROVIDES:=mini_snmpd
+ VARIANT:=16
+ CONFLICTS:=mini_snmpd-52
+endef
+
+define Package/mini_snmpd-52
+ $(call Package/mini_snmpd)
+ TITLE+= (52 ports)
+ PROVIDES:=mini_snmpd
+ VARIANT:=52
+ CONFLICTS:=
endef
CONFIGURE_ARGS+= \
# --disable-debug \
# --disable-demo - Upstream Github Issue #4 Fixed 20160707
+ifneq ($(BUILD_VARIANT),default)
+ CONFIGURE_ARGS += --with-interfaces=$(BUILD_VARIANT)
+endif
+
define Package/mini_snmpd/install
$(INSTALL_DIR) $(1)/usr/sbin
$(CP) $(PKG_INSTALL_DIR)/usr/sbin/mini-snmpd $(1)/usr/sbin
$(INSTALL_BIN) ./files/mini_snmpd.init $(1)/etc/init.d/mini_snmpd
endef
+Package/mini_snmpd-16/install=$(Package/mini_snmpd/install)
+Package/mini_snmpd-52/install=$(Package/mini_snmpd/install)
+
define Package/mini_snmpd/conffiles
/etc/config/mini_snmpd
endef
+Package/mini_snmpd-16/conffiles=$(Package/mini_snmpd/conffiles)
+Package/mini_snmpd-52/conffiles=$(Package/mini_snmpd/conffiles)
+
$(eval $(call BuildPackage,mini_snmpd))
+$(eval $(call BuildPackage,mini_snmpd-16))
+$(eval $(call BuildPackage,mini_snmpd-52))
--- /dev/null
+From 60e685bd74bca45a4be9528d97f5a2edcc954e7f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Bj=C3=B8rn=20Mork?= <bjorn@mork.no>
+Date: Thu, 22 Sep 2022 11:49:42 +0200
+Subject: [PATCH] make MAX_NR_INTERFACES configurable
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Bjørn Mork <bjorn@mork.no>
+---
+ configure.ac | 9 +++++++++
+ mini-snmpd.h | 1 -
+ 2 files changed, 9 insertions(+), 1 deletion(-)
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -40,6 +40,10 @@ AC_ARG_WITH(systemd,
+ [AS_HELP_STRING([--with-systemd=DIR], [Directory for systemd service files])],,
+ [with_systemd=auto])
+
++AC_ARG_WITH(interfaces,
++ AS_HELP_STRING([--with-interfaces=NUM], [Support NUM interfaces, default: 8]),
++ [with_interfaces=$withval], [with_interfaces="8"])
++
+ AC_ARG_ENABLE(debug,
+ AS_HELP_STRING([--enable-debug], [Enable developer debug mode, disabled by default]),
+ [enable_debug=$enableval], [enable_debug=no])
+@@ -52,6 +56,7 @@ AC_ARG_ENABLE(ipv6,
+ AS_HELP_STRING([--disable-ipv6], [Disable IPv6 support, enabled by default]),
+ [enable_ipv6=$enableval], [enable_ipv6=yes])
+
++
+ ### Enable features ###########################################################################
+ AS_IF([test "x$with_vendor" != "xno"],[
+ AS_IF([test "x$vendor" = "xyes"],[
+@@ -65,6 +70,8 @@ AS_IF([test "x$with_config" != "xno"], [
+ PKG_CHECK_MODULES([confuse], [libconfuse >= 2.7])])
+ AM_CONDITIONAL([HAVE_CONFUSE], [test "x$with_config" != "xno"])
+
++AC_DEFINE_UNQUOTED(MAX_NR_INTERFACES, $with_interfaces, [Max Number of Interfaces])
++
+ AS_IF([test "x$enable_debug" = "xyes"],[
+ AC_DEFINE(DEBUG, 1, [Define to enable debug mode.])])
+
+@@ -74,6 +81,7 @@ AS_IF([test "x$enable_demo" = "xyes"],[
+ AS_IF([test "x$enable_ipv6" != "xno"],[
+ AC_DEFINE(CONFIG_ENABLE_IPV6, 1, [Define to enable IPv6 support.])])
+
++
+ # Check where to install the systemd .service file
+ AS_IF([test "x$with_systemd" = "xyes" -o "x$with_systemd" = "xauto"], [
+ def_systemd=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)
+@@ -122,6 +130,7 @@ cat <<EOF
+ vendor OID........: $vendor
+ ipv6..............: $enable_ipv6
+ mini-snmpd.conf...: $with_config
++ max interfaces....: $with_interfaces
+ demo mode.........: $enable_demo
+ systemd...........: $with_systemd
+
+--- a/mini-snmpd.h
++++ b/mini-snmpd.h
+@@ -38,7 +38,6 @@
+ #define MAX_NR_OIDS 20
+ #define MAX_NR_SUBIDS 20
+ #define MAX_NR_DISKS 4
+-#define MAX_NR_INTERFACES 8
+ #define MAX_NR_VALUES 2048
+
+ #define MAX_PACKET_SIZE 2048