From 3ccaec0ffa6fddad45afe1a5b222207d6e0c5167 Mon Sep 17 00:00:00 2001 From: viktorxda <35473052+viktorxda@users.noreply.github.com> Date: Tue, 6 Feb 2024 22:32:58 +0100 Subject: [PATCH] [no ci] Overlay: update sysupgrade for sigmastar (#1303) --- general/overlay/usr/sbin/sysupgrade | 29 +++++++++++++--------- general/package/majestic/files/S95majestic | 18 +++++++------- 2 files changed, 26 insertions(+), 21 deletions(-) diff --git a/general/overlay/usr/sbin/sysupgrade b/general/overlay/usr/sbin/sysupgrade index d688e4a5..89359df4 100755 --- a/general/overlay/usr/sbin/sysupgrade +++ b/general/overlay/usr/sbin/sysupgrade @@ -3,7 +3,7 @@ # OpenIPC.org | 2024 # -scr_version=1.0.36 +scr_version=1.0.37 args=" $@" @@ -103,22 +103,17 @@ download_firmware() { free_resources() { echo_c 37 "\nStop services, sync files, free up memory" if [ "$vendor" = "sigmastar" ]; then - killall -3 majestic + killall -q -3 majestic else - majestic=majestic + kill_process majestic fi - for proc in $majestic crond klogd ntpd rngd syslogd; do - echo -n "Killing $proc " - while [ -n "$(pidof $proc)" ]; do - killall -q $proc - sleep 0.1 - echo -n "." - done - echo ". OK" + for proc in crond klogd ntpd rngd syslogd; do + kill_process $proc done + sync - echo 3 >/proc/sys/vm/drop_caches + echo 3 > /proc/sys/vm/drop_caches echo_c 34 "\nUptime:" uptime @@ -130,6 +125,16 @@ free_resources() { ps | grep -v '\[' } +kill_process() { + echo -n "Killing $1 " + while [ -n "$(pidof $1)" ]; do + killall -q $1 + sleep 0.1 + echo -n "." + done + echo ". OK" +} + sync_time() { echo_c 37 "\nSynchronizing time" ntpd -Nnq diff --git a/general/package/majestic/files/S95majestic b/general/package/majestic/files/S95majestic index 736e5e75..58e4ac1c 100755 --- a/general/package/majestic/files/S95majestic +++ b/general/package/majestic/files/S95majestic @@ -4,33 +4,33 @@ DAEMON="majestic" PIDFILE="/var/run/$DAEMON.pid" DAEMON_ARGS="-s" -[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" - -load_majestic() { - printf 'Starting %s: ' "$DAEMON" +debug_majestic() { [ -f /etc/coredump.conf ] && . /etc/coredump.conf if [ "$coredump_enabled" ]; then - ulimit -c unlimited && echo "|/usr/sbin/sendcoredump.sh" >/proc/sys/kernel/core_pattern + ulimit -c unlimited && echo "|/usr/sbin/sendcoredump.sh" > /proc/sys/kernel/core_pattern fi +} - start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/usr/bin/$DAEMON" -- $DAEMON_ARGS +load_majestic() { + printf "Starting $DAEMON: " + start-stop-daemon -S -m -q -p "$PIDFILE" -x "/usr/bin/$DAEMON" -- $DAEMON_ARGS status=$? if [ "$status" -eq 0 ]; then echo "OK" else echo "FAIL" fi - return "$status" } start() { logger -s -p daemon.info -t $(ipcinfo -v) "Loading video system has started..." export SENSOR=$(fw_printenv -n sensor) + debug_majestic load_majestic } stop() { - printf 'Stopping %s: ' "$DAEMON" + printf "Stopping $DAEMON: " start-stop-daemon -K -q -p "$PIDFILE" status=$? if [ "$status" -eq 0 ]; then @@ -39,7 +39,6 @@ stop() { else echo "FAIL" fi - return "$status" } case "$1" in @@ -49,6 +48,7 @@ case "$1" in restart) stop + sleep 3 load_majestic ;;