# This file is part of the OpenADK project. OpenADK is copyrighted
# material, please see the LICENCE file in the top-level directory.

include ${TOPDIR}/rules.mk

PKG_NAME:=		net-snmp
PKG_VERSION:=		5.6.1
PKG_RELEASE:=		1
PKG_MD5SUM:=		b4e30ead5783b0bb1d280172c6095ea4
PKG_DESCR:=		SNMP Agent
PKG_SECTION:=		net/misc
PKG_DEPENDS:=		libnetsnmp libelf libnl
PKG_BUILDDEP:=		libelf libnl
PKG_URL:=		http://www.net-snmp.org/
PKG_SITES:=		${MASTER_SITE_SOURCEFORGE:=net-snmp/}
PKG_NOPARALLEL:=	1

PKG_SUBPKGS:=		SNMPD SNMP_UTILS LIBNETSNMP
PKGSD_SNMP_UTILS:=	SNMP utilities
PKGSS_SNMP_UTILS:=	libnetsnmp libelf
PKGSD_LIBNETSNMP:=	SNMP library
PKGSS_LIBNETSNMP:=	libelf
PKGSC_LIBNETSNMP:=	libs

PKG_FLAVOURS_SNMPD:=	WITH_IPV6
PKGFD_WITH_IPV6:=	enable IPv6 support

include ${TOPDIR}/mk/package.mk

$(eval $(call PKG_template,SNMPD,snmpd,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,SNMP_UTILS,snmp-utils,${PKG_VERSION}-${PKG_RELEASE},${PKGSS_SNMP_UTILS},${PKGSD_SNMP_UTILS},${PKG_SECTION}))
$(eval $(call PKG_template,LIBNETSNMP,libnetsnmp,${PKG_VERSION}-${PKG_RELEASE},${PKGSS_LIBNETSNMP},${PKGSD_LIBNETSNMP},${PKGSC_LIBNETSNMP}))

SNMP_TRANSPORTS_INCLUDED:=	UDP TCP Callback Unix
SNMP_TRANSPORTS_EXCLUDED:=	Alias
ifneq (${ADK_PACKAGE_SNMPD_WITH_IPV6},)
SNMP_TRANSPORTS_INCLUDED+=	TCPIPv6 UDPIPv6
else
SNMP_TRANSPORTS_EXCLUDED:=	TCPIPv6 UDPIPv6
endif

TARGET_LDFLAGS+=	-pthread
CONFIGURE_ARGS+=	--with-defaults \
			--with-persistent-directory=/etc/snmp \
			--with-default-snmp-version=3 \
			--with-sys-contact=root@localhost \
			--with-sys-location=Unknown \
			--enable-applications \
			--disable-embedded-perl \
			--without-perl-modules \
			--disable-debugging \
			--disable-manuals \
			--disable-mib-loading \
			--disable-mibs \
			--disable-scripts \
			--with-transports="${SNMP_TRANSPORTS_INCLUDED}" \
			--with-out-transports="${SNMP_TRANSPORTS_EXCLUDED}" \
			--with-opaque-special-types \
			--without-openssl \
			--without-libwrap \
			--without-rpm \
			--without-zlib

ifneq (${ADK_PACKAGE_SNMPD_WITH_IPV6},)
CONFIGURE_ARGS+=	--enable-ipv6
else
CONFIGURE_ARGS+=	--disable-ipv6
endif

FAKE_FLAGS+=		INSTALL_PREFIX="${WRKINST}"

libnetsnmp-install:
	${INSTALL_DIR} ${IDIR_LIBNETSNMP}/usr/lib
	${CP} ${WRKINST}/usr/lib/libnetsnmp*.so* ${IDIR_LIBNETSNMP}/usr/lib/

snmpd-install:
	${INSTALL_DIR} ${IDIR_SNMPD}/etc/snmp
	${INSTALL_DIR} ${IDIR_SNMPD}/usr/sbin
	${INSTALL_DATA} ./files/snmpd.conf ${IDIR_SNMPD}/etc/snmp/snmpd.conf
	${INSTALL_BIN} ${WRKINST}/usr/sbin/snmpd ${IDIR_SNMPD}/usr/sbin/snmpd

snmp-utils-install:
	${INSTALL_DIR} ${IDIR_SNMP_UTILS}/usr/bin
	${CP} ${WRKINST}/usr/bin/snmp{get,set,status,test,trap,walk} \
		${IDIR_SNMP_UTILS}/usr/bin/

include ${TOPDIR}/mk/pkg-bottom.mk
