buildroot/support/testing/tests/package/test_opkg/post-build.sh

48 lines
1.4 KiB
Bash
Executable File

#!/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}