48 lines
1.4 KiB
Bash
48 lines
1.4 KiB
Bash
|
#!/usr/bin/env bash
|
||
|
|
||
|
IPK_BUILD=${BUILD_DIR}/ipk-build
|
||
|
|
||
|
# Pull the files for the snmpd service out of the target to create a install archive
|
||
|
# and setup a basic configuration so that the startup script works.
|
||
|
mkdir -p ${IPK_BUILD}/CONTROL \
|
||
|
${IPK_BUILD}/etc/init.d/ \
|
||
|
${IPK_BUILD}/usr/sbin \
|
||
|
${IPK_BUILD}/etc/snmp \
|
||
|
${IPK_BUILD}/etc/default
|
||
|
mv -f ${TARGET_DIR}/etc/init.d/S59snmpd ${IPK_BUILD}/etc/init.d/
|
||
|
mv -f ${TARGET_DIR}/usr/sbin/snmpd ${IPK_BUILD}/usr/sbin/
|
||
|
echo "agentuser nobody" > ${IPK_BUILD}/etc/snmp/snmpd.conf
|
||
|
echo "SNMPDRUN=yes" > ${IPK_BUILD}/etc/default/snmpd
|
||
|
|
||
|
# build the control file
|
||
|
cat <<EOM >${IPK_BUILD}/CONTROL/control
|
||
|
Package: example-snmpd-package
|
||
|
Version: 1.0
|
||
|
Architecture: arm
|
||
|
Maintainer: user@domain.tld
|
||
|
Section: extras
|
||
|
Priority: optional
|
||
|
Source: http://example.com
|
||
|
Description: This is an example IPK package for installing snmpd
|
||
|
EOM
|
||
|
|
||
|
# preinst script is not created to run before the install for this test example
|
||
|
|
||
|
# postinst script is ran after install completes to start the services
|
||
|
cat <<EOM >${IPK_BUILD}/CONTROL/postinst
|
||
|
#!/bin/sh
|
||
|
/etc/init.d/S59snmpd start
|
||
|
EOM
|
||
|
chmod +x ${IPK_BUILD}/CONTROL/postinst
|
||
|
|
||
|
# prerm script is ran before removal so that the services isn't in use
|
||
|
cat <<EOM >${IPK_BUILD}/CONTROL/prerm
|
||
|
#!/bin/sh
|
||
|
/etc/init.d/S59snmpd stop
|
||
|
EOM
|
||
|
chmod +x ${IPK_BUILD}/CONTROL/prerm
|
||
|
|
||
|
# build the archive from template and pkg files
|
||
|
${HOST_DIR}/bin/opkg-build -Z gzip ${IPK_BUILD} ${TARGET_DIR}/root/
|
||
|
rm -fr ${IPK_BUILD}
|