aboutsummaryrefslogtreecommitdiff
path: root/network/snmp/snmp.build
diff options
context:
space:
mode:
Diffstat (limited to 'network/snmp/snmp.build')
-rwxr-xr-xnetwork/snmp/snmp.build106
1 files changed, 106 insertions, 0 deletions
diff --git a/network/snmp/snmp.build b/network/snmp/snmp.build
new file mode 100755
index 0000000..ed85bbc
--- /dev/null
+++ b/network/snmp/snmp.build
@@ -0,0 +1,106 @@
+#!/bin/bash
+#
+# Maintainer: Deposite Pirate <ofni.sknuplatem@etaripd>
+
+source /usr/src/ports/Build/build.sh
+
+NAME=snmp
+VERSION=5.7.2
+BUILD=2
+DEPENDS=('tcpip >= 20130209-1' 'openssl >= 1.0.1d-1' 'pci >= 20130214-1')
+
+# Description
+
+cat > ${PKG}/install/slack-desc <<EOF
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+$(padd)|-----handy-ruler------------------------------------------------------|
+${NAME}: snmp
+${NAME}:
+${NAME}: The Simple Network Management Protocol (SNMP) is a standard protocol
+${NAME}: for managing devices on IP networks. Devices that typically support
+${NAME}: SNMP include routers, switches, servers, workstations, printers,
+${NAME}: modem racks and more. It used mostly in network management systems
+${NAME}: to monitor network-attached devices. It exposes management data in
+${NAME}: the form of variables on the managed systems, which describe the
+${NAME}: system configuration which can be queried (and sometimes set) by
+${NAME}: managing applications.
+${NAME}:
+EOF
+
+cat >> ${PKG}/install/doinst.sh <<EOF
+#!/bin/sh
+
+config() {
+ NEW="\$1"
+ OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r \$OLD ]; then
+ mv \$NEW \$OLD
+ elif [ "\$(cat \$OLD | md5sum)" = "\$(cat \$NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm \$NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+# Keep same perms on rc.snmpd.new:
+if [ -e etc/rc.d/rc.snmpd ]; then
+ cp -a etc/rc.d/rc.snmpd etc/rc.d/rc.snmpd.new.incoming
+ cat etc/rc.d/rc.snmpd.new > etc/rc.d/rc.snmpd.new.incoming
+ mv etc/rc.d/rc.snmpd.new.incoming etc/rc.d/rc.snmpd.new
+fi
+
+config etc/snmp/snmpd.conf.new
+config etc/rc.d/rc.snmpd.new
+EOF
+
+# Sources
+
+SRCNAME[0]=net-snmp
+SRCVERS[0]=${VERSION}
+SRCPACK[0]=${URL[sf]}/net-snmp/${SRCNAME[0]}/${SRCVERS[0]}/${SRCNAME[0]}-${SRCVERS[0]}.tar.gz
+
+build0()
+{
+CFLAGS="${FLAGS}" CXXFLAGS="${FLAGS}" \
+./configure \
+ --build="${ARCH}-slackware-linux" \
+ --disable-debugging \
+ --enable-static=no \
+ --enable-shared=yes \
+ --prefix="${SYS_DIR[usr]}" \
+ --mandir="${SYS_DIR[man]}" \
+ --sysconfdir="${SYS_DIR[etc]}/snmp" \
+ --libdir="${SYS_DIR[lib]}" \
+ --localstatedir="${SYS_DIR[var]}" \
+ --without-rpm \
+ --with-persistent-directory="${SYS_DIR[var]}/lib/snmp" \
+ --with-logfile="${SYS_DIR[var]}/log/snmpd.log" \
+ --with-sys-contact="root@localhost" \
+ --with-sys-location="Unknown" \
+ --with-default-snmp-version=3 \
+ --with-libwrap \
+ --disable-embedded-perl \
+ --enable-ipv6
+make ${JOBS} INSTALLDIRS="vendor" NET_SNMP_DONT_CHECK_VERSION=1
+make install INSTALLDIRS="vendor" DESTDIR="${PKG}"
+doc FAQ README README.snmpv3
+changelog NEWS
+license COPYING
+install.dir ${PKG}${SYS_DIR[etc]}/{rc.d,snmp,tmpfiles.d}
+install.cfg rc.snmpd ${PKG}${SYS_DIR[etc]}/rc.d/rc.snmpd.new
+install.cfg snmpd.conf.tmpfilesd ${PKG}${SYS_DIR[etc]}/tmpfiles.d/snmpd.conf
+install.dir ${PKG}${SYS_DIR[systemdsystemunitdir]}
+install.cfg snmpd.service ${PKG}${SYS_DIR[systemdsystemunitdir]}
+install.cfg snmpd.conf ${PKG}${SYS_DIR[etc]}/snmp/snmpd.conf.new
+install.dir ${PKG}${SYS_DIR[var]}/lib/snmp
+rm -rf \
+ ${PKG}${SYS_DIR[lib]}{,64}/perl5 \
+ ${PKG}${SYS_DIR[man]}/man3/*SNMP*.3
+}