From d89ab03409d531d21a791108367ae68d0a1f22a0 Mon Sep 17 00:00:00 2001 From: John Klug Date: Mon, 14 May 2018 18:33:13 -0500 Subject: Have radio-reset install at boot. New package mts-io-radio --- recipes-bsp/multitech/mts-io.inc | 69 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 63 insertions(+), 6 deletions(-) diff --git a/recipes-bsp/multitech/mts-io.inc b/recipes-bsp/multitech/mts-io.inc index 5c9d129..d6384a4 100644 --- a/recipes-bsp/multitech/mts-io.inc +++ b/recipes-bsp/multitech/mts-io.inc @@ -45,16 +45,29 @@ do_compile () { oe_runmake } -PACKAGES = "${PN}-noarch kernel-module-${PN} ${PN}-util ${PN}-util-dbg ${PN}-dev" + +# Note that the opkg post install does not work if the radio-reset package is +# named mts-io-radio-reset. It may be too long for the opkg name to handle. +PACKAGES = "${PN}-noarch kernel-module-${PN} ${PN}-util ${PN}-util-dbg ${PN}-dev ${PN}-radio" FILES_kernel-module-${PN} = "${base_libdir}/modules/${KERNEL_VERSION}/extra/mts_io.ko" -FILES_${PN}-noarch = "${sysconfdir}" + +FILES_${PN}-noarch = "${sysconfdir}/init.d/mts-io \ + ${sysconfdir}/rc5.d/S95led-status_heartbeat_trigger \ + ${sysconfdir}/default/mts-io \ + ${sysconfdir}/init.d/led-status_heartbeat_trigger" + + FILES_${PN}-noarch += "${libdir}/mts-io-sysfs*" FILES_${PN}-noarch += "${sbindir}/mts-io-sysfs" FILES_${PN}-noarch_append_mtcap += "${sbindir}/lora-led-updater" FILES_${PN}-util += "${sbindir}/mts-util-lora2-reset" FILES_${PN}-util-dbg += "/usr/src /usr/sbin/.debug" FILES_${PN}-dev += "/usr/include/linux/mts_eeprom.h" +FILES_${PN}-radio = "${sysconfdir}/init.d/radio-reset \ + ${sysconfdir}/default/radio-reset" +RRECOMMENDS_${PN}-radio = "update-rc.d" + INITSCRIPT_NAME = "mts-io" INITSCRIPT_PARAMS = "start 39 S ." @@ -79,10 +92,6 @@ fakeroot do_install () { install -d ${D}${sysconfdir}/default install -m 0755 ${WORKDIR}/mts-io.conf ${D}${sysconfdir}/default/mts-io - # run radio-reset on reboot - install -d ${D}${sysconfdir}/rc6.d - ln -sf ${sysconfdir}/init.d/radio-reset ${D}/${sysconfdir}/rc6.d/S30radio-reset - # blink status LED after booted install -d ${D}${sysconfdir}/rc5.d ln -sf ${sysconfdir}/init.d/led-status_heartbeat_trigger ${D}/${sysconfdir}/rc5.d/S95led-status_heartbeat_trigger @@ -108,3 +117,51 @@ fakeroot do_install_append_mtcdt() { sed -i 's/STOP="no"/STOP="yes"/' ${D}${sysconfdir}/default/radio-reset } +# Install the radio reset. Not allowed two init script in one recipe. +pkg_postinst_${PN}-radio() { +#!/bin/sh +# Begin section update-rc.d +logger -t opkg.install.radio -p daemon.info 'radio preinstall' +if type update-rc.d >/dev/null 2>/dev/null; then + if [ -n "$D" ]; then + OPT="-r $D" + else + OPT="-s" + fi + update-rc.d $OPT radio-reset start 39 S . +fi +# End section update-rc.d +} + +pkg_preinst_${PN}-radio() { + #!/bin/bash + if type update-rc.d >/dev/null 2>/dev/null; then + if [ -n "$D" ]; then + OPT="-f -r $D" + else + OPT="-f" + fi + update-rc.d $OPT radio-reset remove + fi +} + +pkg_prerm_${PN}-radio() { + #!/bin/bash + if [ -z "$D" ] ; then + logger -t opkg.remove.radio -p daemon.info 'Removing radio-reset' + fi +} + + +pkg_postrm_${PN}-radio() { + #!/bin/bash + if type update-rc.d >/dev/null 2>/dev/null; then + if [ -n "$D" ]; then + OPT="-f -r $D" + else + OPT="-f" + fi + update-rc.d $OPT radio-reset remove + fi +} + -- cgit v1.2.3