diff --git a/br-ext-chip-ingenic/configs/t10_lite_defconfig b/br-ext-chip-ingenic/configs/t10_lite_defconfig index 307fa9ad..d4013569 100644 --- a/br-ext-chip-ingenic/configs/t10_lite_defconfig +++ b/br-ext-chip-ingenic/configs/t10_lite_defconfig @@ -111,7 +111,6 @@ BR2_PACKAGE_INGENIC_PWM=y BR2_PACKAGE_LOGCAT_OPENIPC=y # BR2_PACKAGE_HOST_GDB is not set # BR2_PACKAGE_GDB is not set -BR2_PACKAGE_INGENIC_LIBIMP_CONTROL=y # CCACHE BR2_CCACHE=y diff --git a/br-ext-chip-ingenic/configs/t20_lite_defconfig b/br-ext-chip-ingenic/configs/t20_lite_defconfig index 808b8b7a..23a1e124 100644 --- a/br-ext-chip-ingenic/configs/t20_lite_defconfig +++ b/br-ext-chip-ingenic/configs/t20_lite_defconfig @@ -91,7 +91,6 @@ BR2_PACKAGE_VTUND_OPENIPC=y BR2_PACKAGE_YAML_CLI=y BR2_PACKAGE_QUIRC_OPENIPC=y # BR2_PACKAGE_AUTONIGHT is not set -BR2_PACKAGE_INGENIC_LIBIMP_CONTROL=y # WiFi BR2_PACKAGE_WIRELESS_TOOLS=y diff --git a/br-ext-chip-ingenic/configs/t20_ultimate_defconfig b/br-ext-chip-ingenic/configs/t20_ultimate_defconfig index 1b1f506d..dc78b1e6 100644 --- a/br-ext-chip-ingenic/configs/t20_ultimate_defconfig +++ b/br-ext-chip-ingenic/configs/t20_ultimate_defconfig @@ -93,7 +93,6 @@ BR2_PACKAGE_VTUND_OPENIPC=y BR2_PACKAGE_YAML_CLI=y BR2_PACKAGE_QUIRC_OPENIPC=y # BR2_PACKAGE_AUTONIGHT is not set -BR2_PACKAGE_INGENIC_LIBIMP_CONTROL=y # WiFi BR2_PACKAGE_WIRELESS_TOOLS=y diff --git a/br-ext-chip-ingenic/configs/t21_lite_defconfig b/br-ext-chip-ingenic/configs/t21_lite_defconfig index 72c154f5..3c6aff77 100644 --- a/br-ext-chip-ingenic/configs/t21_lite_defconfig +++ b/br-ext-chip-ingenic/configs/t21_lite_defconfig @@ -91,7 +91,6 @@ BR2_PACKAGE_VTUND_OPENIPC=y BR2_PACKAGE_YAML_CLI=y BR2_PACKAGE_QUIRC_OPENIPC=y # BR2_PACKAGE_AUTONIGHT is not set -BR2_PACKAGE_INGENIC_LIBIMP_CONTROL=y # WiFi BR2_PACKAGE_WIRELESS_TOOLS=y diff --git a/br-ext-chip-ingenic/configs/t21_ultimate_defconfig b/br-ext-chip-ingenic/configs/t21_ultimate_defconfig index 24a2a7ae..9c36a30f 100644 --- a/br-ext-chip-ingenic/configs/t21_ultimate_defconfig +++ b/br-ext-chip-ingenic/configs/t21_ultimate_defconfig @@ -92,7 +92,6 @@ BR2_PACKAGE_VTUND_OPENIPC=y BR2_PACKAGE_YAML_CLI=y BR2_PACKAGE_QUIRC_OPENIPC=y # BR2_PACKAGE_AUTONIGHT is not set -BR2_PACKAGE_INGENIC_LIBIMP_CONTROL=y # WiFi BR2_PACKAGE_WIRELESS_TOOLS=y diff --git a/br-ext-chip-ingenic/configs/t30_lite_defconfig b/br-ext-chip-ingenic/configs/t30_lite_defconfig index 669bf742..2232dca0 100644 --- a/br-ext-chip-ingenic/configs/t30_lite_defconfig +++ b/br-ext-chip-ingenic/configs/t30_lite_defconfig @@ -91,7 +91,6 @@ BR2_PACKAGE_VTUND_OPENIPC=y BR2_PACKAGE_YAML_CLI=y BR2_PACKAGE_QUIRC_OPENIPC=y # BR2_PACKAGE_AUTONIGHT is not set -BR2_PACKAGE_INGENIC_LIBIMP_CONTROL=y # WiFi BR2_PACKAGE_WIRELESS_TOOLS=y diff --git a/br-ext-chip-ingenic/configs/t31_lite_defconfig b/br-ext-chip-ingenic/configs/t31_lite_defconfig index 43a1d325..97df6e79 100644 --- a/br-ext-chip-ingenic/configs/t31_lite_defconfig +++ b/br-ext-chip-ingenic/configs/t31_lite_defconfig @@ -91,7 +91,6 @@ BR2_PACKAGE_VTUND_OPENIPC=y BR2_PACKAGE_YAML_CLI=y BR2_PACKAGE_QUIRC_OPENIPC=y # BR2_PACKAGE_AUTONIGHT is not set -BR2_PACKAGE_INGENIC_LIBIMP_CONTROL=y # WiFi BR2_PACKAGE_WIRELESS_TOOLS=y diff --git a/br-ext-chip-ingenic/configs/t31_ultimate_defconfig b/br-ext-chip-ingenic/configs/t31_ultimate_defconfig index 510c550f..506ac26f 100644 --- a/br-ext-chip-ingenic/configs/t31_ultimate_defconfig +++ b/br-ext-chip-ingenic/configs/t31_ultimate_defconfig @@ -93,7 +93,6 @@ BR2_PACKAGE_VTUND_OPENIPC=y BR2_PACKAGE_YAML_CLI=y BR2_PACKAGE_QUIRC_OPENIPC=y # BR2_PACKAGE_AUTONIGHT is not set -BR2_PACKAGE_INGENIC_LIBIMP_CONTROL=y # WiFi BR2_PACKAGE_WIRELESS_TOOLS=y diff --git a/br-ext-chip-ingenic/configs/t40_lite_defconfig b/br-ext-chip-ingenic/configs/t40_lite_defconfig index 3d725319..34ef53fc 100644 --- a/br-ext-chip-ingenic/configs/t40_lite_defconfig +++ b/br-ext-chip-ingenic/configs/t40_lite_defconfig @@ -91,7 +91,6 @@ BR2_PACKAGE_VTUND_OPENIPC=y BR2_PACKAGE_YAML_CLI=y BR2_PACKAGE_QUIRC_OPENIPC=y # BR2_PACKAGE_AUTONIGHT is not set -BR2_PACKAGE_INGENIC_LIBIMP_CONTROL=y # WiFi BR2_PACKAGE_WIRELESS_TOOLS=y diff --git a/br-ext-chip-ingenic/configs/t40_ultimate_defconfig b/br-ext-chip-ingenic/configs/t40_ultimate_defconfig index 87637268..68d3c066 100644 --- a/br-ext-chip-ingenic/configs/t40_ultimate_defconfig +++ b/br-ext-chip-ingenic/configs/t40_ultimate_defconfig @@ -92,7 +92,6 @@ BR2_PACKAGE_VTUND_OPENIPC=y BR2_PACKAGE_YAML_CLI=y BR2_PACKAGE_QUIRC_OPENIPC=y # BR2_PACKAGE_AUTONIGHT is not set -BR2_PACKAGE_INGENIC_LIBIMP_CONTROL=y # WiFi BR2_PACKAGE_WIRELESS_TOOLS=y diff --git a/general/package/ingenic-libimp-control/ingenic-libimp-control.mk b/general/package/ingenic-libimp-control/ingenic-libimp-control.mk index e448b510..18242049 100644 --- a/general/package/ingenic-libimp-control/ingenic-libimp-control.mk +++ b/general/package/ingenic-libimp-control/ingenic-libimp-control.mk @@ -20,6 +20,8 @@ endef define INGENIC_LIBIMP_CONTROL_INSTALL_TARGET_CMDS $(INSTALL) -D -m 0755 $(@D)/libimp_control.so $(TARGET_DIR)/usr/lib $(INSTALL) -m 755 -t $(TARGET_DIR)/usr/sbin $(INGENIC_LIBIMP_CONTROL_PKGDIR)/src/imp-control.sh + $(INSTALL) -m 755 -d $(TARGET_DIR)/etc/init.d + $(INSTALL) -m 755 -t $(TARGET_DIR)/etc/init.d $(INGENIC_LIBIMP_CONTROL_PKGDIR)/src/S96impconfig endef $(eval $(generic-package)) diff --git a/general/package/ingenic-libimp-control/src/S96impconfig b/general/package/ingenic-libimp-control/src/S96impconfig new file mode 100755 index 00000000..cf093de7 --- /dev/null +++ b/general/package/ingenic-libimp-control/src/S96impconfig @@ -0,0 +1,32 @@ +#!/bin/sh + +start() { + [ ! -f "/etc/imp.conf" ] && return + + echo -n "Restoring IMP Configuration: " + while read -r line; do + imp-control.sh $line + done < /etc/imp.conf + echo "OK" +} + +stop() { + : +} + +restart() { + start +} + +reload() { + start +} + +case "$1" in + start|stop|restart|reload) + "$1" + ;; + *) + echo "Usage: $0 {start|restart|reload}" + exit 1 +esac diff --git a/general/package/majestic/Config.in b/general/package/majestic/Config.in index fc673d58..dd40ed0a 100644 --- a/general/package/majestic/Config.in +++ b/general/package/majestic/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_MAJESTIC bool "Majestic streamer" + select BR2_PACKAGE_INGENIC_LIBIMP_CONTROL if BR2_OPENIPC_SOC_VENDOR="ingenic" default n help Tiny but powerful IPC streaming software diff --git a/general/package/majestic/files/S95majestic b/general/package/majestic/files/S95majestic index 829261bb..d853a739 100755 --- a/general/package/majestic/files/S95majestic +++ b/general/package/majestic/files/S95majestic @@ -1,6 +1,7 @@ #!/bin/sh DAEMON="majestic" +DAEMON_PATH="/usr/bin" PIDFILE="/var/run/$DAEMON.pid" DAEMON_ARGS="-s" @@ -10,7 +11,7 @@ DAEMON_ARGS="-s" load_majestic() { printf 'Starting %s: ' "$DAEMON" - [ -f /usr/bin/$DAEMON ] || echo -en "DISABLED, " + [ -f $DAEMON_PATH/$DAEMON ] || echo -en "DISABLED, " # shellcheck disable=SC2086 # we need the word splitting [ -f /etc/coredump.conf ] && . /etc/coredump.conf if [ "$coredump_enabled" ]; then @@ -20,13 +21,9 @@ load_majestic() { if [ "ingenic" = "$(ipcinfo -v)" ]; then start-stop-daemon -b -m -S -q -p "$PIDFILE" -x /usr/bin/env -- \ - LD_PRELOAD=/usr/lib/libimp_control.so /usr/bin/$DAEMON $DAEMON_ARGS - sleep 2 - if [ -f "/tmp/imp.conf" ]; then - while read -r line; do imp-control.sh $line; done < /tmp/imp.conf - fi + LD_PRELOAD=/usr/lib/libimp_control.so $DAEMON_PATH/$DAEMON $DAEMON_ARGS else - start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/usr/bin/$DAEMON" -- $DAEMON_ARGS + start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "$DAEMON_PATH/$DAEMON" -- $DAEMON_ARGS fi status=$? @@ -47,7 +44,7 @@ start() { stop() { printf 'Stopping %s: ' "$DAEMON" - [ -f /usr/bin/$DAEMON ] || echo -en "DISABLED, " + [ -f $DAEMON_PATH/$DAEMON ] || echo -en "DISABLED, " start-stop-daemon -K -q -p "$PIDFILE" status=$? if [ "$status" -eq 0 ]; then