This commit should largele be a NOOP as it only adds support for DESTDIR undefined. This does allow us to start testing ports with DESTDIR set, but this is as of yet not supported. Although this has been extensively tested on pointyhat, this is a very intrusive change and some cases may have been overlooked. Please contact Gabor and me if you find any. PR: 100555 Submitted by: gabor Sponsored by: Google Summer of Code 2006
263 lines
8.8 KiB
Makefile
263 lines
8.8 KiB
Makefile
# New ports collection makefile for: ucd-snmp
|
|
# Date created: 26 June 1996
|
|
# Whom: gpalmer
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
PORTNAME= snmp
|
|
PORTVERSION= 5.2.3
|
|
PORTREVISION= 1
|
|
CATEGORIES= net-mgmt ipv6
|
|
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
|
|
MASTER_SITE_SUBDIR= net-snmp
|
|
PKGNAMEPREFIX= net-
|
|
DISTNAME= ${PKGNAMEPREFIX}${PORTNAME}-${PORTVERSION}
|
|
|
|
MAINTAINER= kuriyama@FreeBSD.org
|
|
COMMENT= An extendable SNMP implementation
|
|
|
|
.if !defined(WITH_TKMIB)
|
|
EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-local:Makefile.in
|
|
.endif
|
|
|
|
.if defined(WITH_TKMIB)
|
|
RUN_DEPEND= ${SITE_PERL}/${PERL_ARCH}/Tk.pm:${PORTSDIR}/x11-toolkits/p5-Tk
|
|
.endif
|
|
PATCH_DEPENDS= ${LIBTOOL_DEPENDS}
|
|
|
|
USE_AUTOTOOLS= autoconf:259 libtool:15
|
|
USE_RC_SUBR= snmpd.sh snmptrapd.sh
|
|
USE_OPENSSL= yes
|
|
INSTALLS_SHLIB= yes
|
|
.if !defined(WITHOUT_PERL)
|
|
USE_PERL5= yes
|
|
.endif
|
|
|
|
CONFIGURE_ENV+= PERLPROG="${PERL}" PSPROG="${PS_CMD}" SED="${SED}"
|
|
CONFIGURE_ARGS+=--enable-shared --enable-internal-md5 \
|
|
--with-mib-modules="${_NET_SNMP_MIB_MODULES}" \
|
|
--with-default-snmp-version="${DEFAULT_SNMP_VERSION}" \
|
|
--with-sys-contact="${NET_SNMP_SYS_CONTACT}" \
|
|
--with-sys-location="${NET_SNMP_SYS_LOCATION}" \
|
|
--with-logfile="${NET_SNMP_LOGFILE}" \
|
|
--with-persistent-directory="${NET_SNMP_PERSISTENTDIR}" \
|
|
--with-gnu-ld --with-libwrap --with-libs="-lkvm -ldevstat"
|
|
|
|
.if defined(BATCH)
|
|
CONFIGURE_ARGS+=--with-defaults
|
|
.endif
|
|
|
|
.if !defined(WITHOUT_DUMMY_VALUES)
|
|
CONFIGURE_ARGS+=--with-dummy-values
|
|
.endif
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
.if defined(WITHOUT_PERL)
|
|
PLIST_SUB+= WITH_PERL="@comment "
|
|
CONFIGURE_ARGS+=--disable-embedded-perl --without-perl-modules
|
|
.else
|
|
CONFIGURE_ARGS+=--enable-embedded-perl --with-perl-modules
|
|
PLIST_SUB+= WITH_PERL=""
|
|
.endif
|
|
|
|
.if defined(WITH_TKMIB)
|
|
PLIST_SUB+= WITH_TKMIB=""
|
|
.else
|
|
PLIST_SUB+= WITH_TKMIB="@comment "
|
|
.endif
|
|
|
|
.if defined(WITH_DMALLOC)
|
|
LIB_DEPEND+= dmalloc:${PORTSDIR}/devel/dmalloc
|
|
CONFIGURE_ARGS+=--with-dmalloc=${LOCALBASE}
|
|
.endif
|
|
|
|
.if ${OSVERSION} >= 400014 && !defined(WITHOUT_IPV6)
|
|
CONFIGURE_ARGS+=--enable-ipv6
|
|
# --with-transport="UDPIPv6 TCPIPv6" --with-modules=mibII/ipv6"
|
|
PLIST_SUB+= WITH_IPV6=""
|
|
.else
|
|
PLIST_SUB+= WITH_IPV6="@comment "
|
|
.endif
|
|
|
|
SHLIB_VERSION= 9
|
|
PLIST_SUB+= SHLIB_VERSION=${SHLIB_VERSION}
|
|
SCRIPTS_SUB= PREFIX=${PREFIX} PERL=${PERL}
|
|
|
|
DEFAULT_SNMP_VERSION?= 3
|
|
NET_SNMP_SYS_CONTACT?= nobody@nowhere.invalid
|
|
NET_SNMP_SYS_LOCATION?= somewhere
|
|
NET_SNMP_LOGFILE?= /var/log/snmpd.log
|
|
NET_SNMP_PERSISTENTDIR?=/var/net-snmp
|
|
NET_SNMP_MIB_MODULES?= ${NET_SNMP_MIB_MODULE_LIST}
|
|
|
|
NET_SNMP_MIB_MODULE_LIST=host disman/event-mib smux mibII/mta_sendmail mibII/tcpTable ucd-snmp/diskio
|
|
_NET_SNMP_MIB_MODULES=
|
|
.for module1 in ${NET_SNMP_MIB_MODULE_LIST}
|
|
_module1=${module1}
|
|
_define=false
|
|
. for module2 in ${NET_SNMP_MIB_MODULES}
|
|
_module2=${module2}
|
|
. if ${_module1} == ${_module2}
|
|
_define=true
|
|
. endif
|
|
. endfor
|
|
. if ${_define} == true
|
|
_NET_SNMP_MIB_MODULES+=${module1}
|
|
PLIST_SUB+= WITH_${module1:C|.*/||:U}=""
|
|
. else
|
|
PLIST_SUB+= WITH_${module1:C|.*/||:U}="@comment "
|
|
. endif
|
|
.endfor
|
|
|
|
MAN1= mib2c.1 \
|
|
snmpbulkget.1 snmpbulkwalk.1 snmpcmd.1 snmpconf.1 \
|
|
snmpdelta.1 snmpdf.1 snmpget.1 snmpgetnext.1 snmpinform.1 \
|
|
snmpnetstat.1 snmpset.1 snmpstatus.1 snmptable.1 snmptest.1 \
|
|
snmptranslate.1 snmptrap.1 snmpusm.1 snmpvacm.1 snmpwalk.1
|
|
MAN3= add_mibdir.3 add_module_replacement.3 default_store.3 \
|
|
get_module_node.3 init_mib.3 init_mib_internals.3 mib_api.3 \
|
|
netsnmp_agent.3 netsnmp_bulk_to_next.3 netsnmp_debug.3 \
|
|
netsnmp_example_scalar_int.3 netsnmp_handler.3 \
|
|
netsnmp_instance.3 netsnmp_library.3 \
|
|
netsnmp_mib_handler_methods.3 netsnmp_mib_utilities.3 \
|
|
netsnmp_mode_end_call.3 netsnmp_multiplexer.3 \
|
|
netsnmp_old_api.3 netsnmp_read_only.3 netsnmp_scalar.3 \
|
|
netsnmp_serialize.3 netsnmp_table.3 netsnmp_table_array.3 \
|
|
netsnmp_table_data.3 netsnmp_table_dataset.3 \
|
|
netsnmp_table_iterator.3 netsnmp_watcher.3 \
|
|
print_description.3 print_mib.3 print_objid.3 print_value.3 \
|
|
print_variable.3 read_all_mibs.3 read_config.3 read_mib.3 \
|
|
read_module.3 read_module_node.3 read_objid.3 shutdown_mib.3 \
|
|
snmp_agent_api.3 snmp_alarm.3 snmp_api.3 \
|
|
snmp_api_errstring.3 snmp_close.3 \
|
|
snmp_error.3 snmp_free_pdu.3 snmp_open.3 snmp_perror.3 \
|
|
snmp_read.3 snmp_select_info.3 \
|
|
snmp_send.3 snmp_sess_api.3 snmp_sess_async_send.3 \
|
|
snmp_sess_close.3 snmp_sess_error.3 snmp_sess_init.3 \
|
|
snmp_sess_open.3 snmp_sess_perror.3 \
|
|
snmp_sess_read.3 snmp_sess_select_info.3 \
|
|
snmp_sess_send.3 snmp_sess_session.3 snmp_sess_timeout.3 \
|
|
snmp_set_mib_warnings.3 snmp_set_save_descriptions.3 \
|
|
snmp_timeout.3 snmp_trap_api.3 \
|
|
netsnmp_Container_iterator.3 \
|
|
netsnmp_baby_steps.3 \
|
|
netsnmp_cache_handler.3 netsnmp_container.3 \
|
|
netsnmp_iterator_info_s.3 \
|
|
netsnmp_leaf.3 \
|
|
netsnmp_row_merge.3 netsnmp_scalar_group_group.3 \
|
|
netsnmp_stash_cache.3 netsnmp_utilities.3
|
|
|
|
.if !defined(WITHOUT_PERL)
|
|
MAN3PERL= NetSNMP::ASN.3 NetSNMP::OID.3 NetSNMP::agent.3 \
|
|
NetSNMP::TrapReceiver.3 \
|
|
NetSNMP::agent::default_store.3 \
|
|
NetSNMP::default_store.3 \
|
|
NetSNMP::netsnmp_request_infoPtr.3 SNMP.3
|
|
MAN3PERLPREFIX= ${TARGETDIR}/lib/perl5/${PERL_VERSION}
|
|
_MANPAGES+= ${MAN3PERL:S%^%${MAN3PERLPREFIX}/man/man3/%}
|
|
.endif
|
|
|
|
MAN5= mib2c.conf.5 snmp.conf.5 snmp_config.5 snmpd.conf.5 \
|
|
snmptrapd.conf.5 variables.5
|
|
MAN8= snmpd.8 snmptrapd.8
|
|
|
|
BIN_FILES= snmpbulkwalk snmpget snmpgetnext snmpnetstat53 snmpset \
|
|
snmpstatus snmptest snmptranslate snmptrap snmpwalk
|
|
SBIN_FILES= snmpd snmptrapd
|
|
STARTUP_DIR= ${PREFIX}/etc/rc.d
|
|
SCRIPT_FILES= snmpcheck.def mib2c fixproc ipf-mod.pl snmpconf \
|
|
traptoemail
|
|
.if defined(WITH_TKMIB)
|
|
SCRIPT_FILES+= tkmib
|
|
.endif
|
|
DOC_FILES= AGENT.txt COPYING FAQ NEWS README \
|
|
README.agentx README.krb5 README.snmpv3 README.thread \
|
|
agent/mibgroup/README.smux
|
|
|
|
PS_CMD?= /bin/ps
|
|
|
|
pre-everything::
|
|
@${ECHO_MSG}
|
|
@${ECHO_MSG} "You may use the following build options:"
|
|
@${ECHO_MSG}
|
|
@${ECHO_MSG} "WITH_INETADDRESS_HACK=yes builds with the inetaddress hack"
|
|
@${ECHO_MSG} "WITH_TKMIB=yes Install a graphical Perl/Tk/SNMP based mib browser"
|
|
@${ECHO_MSG} "WITHOUT_DUMMY_VALUES=yes Provide 'placeholder' dummy values where"
|
|
@${ECHO_MSG} " the necessary information is not available."
|
|
@${ECHO_MSG} "WITHOUT_PERL=yes Do not install the perl modules along with the rest"
|
|
@${ECHO_MSG} " of the net-snmp toolkit."
|
|
@${ECHO_MSG} "WITHOUT_IPV6=yes Disable IPv6."
|
|
@${ECHO_MSG}
|
|
@${ECHO_MSG} "DEFAULT_SNMP_VERSION=\"3\" Default version of SNMP to use."
|
|
@${ECHO_MSG} "NET_SNMP_SYS_CONTACT=\"${NET_SNMP_SYS_CONTACT}\""
|
|
@${ECHO_MSG} " Default system contact."
|
|
@${ECHO_MSG} "NET_SNMP_SYS_LOCATION=\"${NET_SNMP_SYS_LOCATION}\""
|
|
@${ECHO_MSG} " Default system location."
|
|
@${ECHO_MSG} "NET_SNMP_LOGFILE=\"${NET_SNMP_LOGFILE}\""
|
|
@${ECHO_MSG} " Default log file location for snmpd."
|
|
@${ECHO_MSG} "NET_SNMP_PERSISTENTDIR=\"${NET_SNMP_PERSISTENTDIR}\""
|
|
@${ECHO_MSG} " Default directory for persistent data storage."
|
|
@${ECHO_MSG} "NET_SNMP_MIB_MODULES=\"${NET_SNMP_MIB_MODULE_LIST}\""
|
|
@${ECHO_MSG} " Optional mib modules that can be built into the"
|
|
@${ECHO_MSG} " agent"
|
|
@${ECHO_MSG}
|
|
|
|
post-patch: patch-autoconf patch-script-files
|
|
|
|
patch-autoconf:
|
|
@${AWK} '/@synopsis/,/taken from libtool.m4/' ${WRKSRC}/aclocal.m4 > ${WRKSRC}/aclocal.m4.tmp
|
|
@${CAT} ${LIBTOOL_M4} >> ${WRKSRC}/aclocal.m4.tmp
|
|
@${CP} ${LTMAIN} ${WRKSRC}
|
|
@${MV} ${WRKSRC}/aclocal.m4.tmp ${WRKSRC}/aclocal.m4
|
|
|
|
patch-script-files:
|
|
.for filename in ${SCRIPT_FILES}
|
|
@${REINPLACE_CMD} ${SCRIPTS_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
|
|
${WRKSRC}/local/${filename}
|
|
.endfor
|
|
|
|
post-configure:
|
|
@${FIND} ${WRKSRC} -name Makefile | \
|
|
${XARGS} ${REINPLACE_CMD} -E -e '/^INSTALL[ ]+=/s|$$| -m 755|'
|
|
|
|
post-build:
|
|
.if !defined(WITHOUT_PERL)
|
|
${FIND} ${WRKSRC}/perl -name Makefile | \
|
|
${XARGS} ${REINPLACE_CMD} -E -e '\
|
|
s!^(PREFIX) = .*!\1 = ${PREFIX}!; \
|
|
s!^(INSTALLMAN3DIR|INSTALLSITEMAN3DIR) = .*!\1 = ${MAN3PERLPREFIX}/man/man3!; \
|
|
s!^(INSTALLSITELIB|INSTALLSITEARCH) = /usr/local/(.*)!\1 = ${PREFIX}/\2!; \
|
|
s! doc_(perl|site|\$$\(INSTALLDIRS\))_install$$!!; \
|
|
'
|
|
.else
|
|
${REINPLACE_CMD} -e 's| perlinstall||' ${WRKSRC}/Makefile
|
|
.endif
|
|
|
|
post-install: strip-files install-config-files install-doc-files display-message
|
|
|
|
strip-files:
|
|
@cd ${PREFIX}/bin; ${STRIP_CMD} ${BIN_FILES}
|
|
@cd ${PREFIX}/sbin; ${STRIP_CMD} ${SBIN_FILES}
|
|
|
|
install-config-files:
|
|
@${INSTALL_DATA} ${WRKSRC}/EXAMPLE.conf ${DATADIR}/snmpd.conf.example
|
|
|
|
install-doc-files:
|
|
.if !defined(NOPORTDOCS)
|
|
@${MKDIR} ${DOCSDIR}
|
|
. for filename in ${DOC_FILES}
|
|
@${INSTALL_DATA} ${WRKSRC}/${filename} ${DOCSDIR}
|
|
. endfor
|
|
.endif
|
|
|
|
display-message:
|
|
@${ECHO_MSG}
|
|
@${CAT} ${PKGMESSAGE}
|
|
|
|
# Maintainer's note:
|
|
# Don't forget to bump library version in these ports.
|
|
# french/plgrenouille,graphics/hpoj,lang/php4,lang/php5,mail/cyrus-imapd22,misc/kdeutils3,net-mgmt/braa,net-mgmt/docsis,net-mgmt/mbrowse,net-mgmt/nagios-snmp-plugins,net-mgmt/p5-SNMP-Info,net-mgmt/py-yapsnmp,net-mgmt/sdig,net-mgmt/zabbix,net/cactid,net/ethereal,net/ifstat,net/quagga,net/rtg,net/tethereal,security/libfwbuilder,sysutils/apcupsd,sysutils/jailadmin,sysutils/nut
|
|
|
|
.include <bsd.port.post.mk>
|