Модуль, снятый с лицензии, отключается один раз: служба остановлена (bj-keymedia unit-disable), одно оповещение, в списках не показывается; вернули в лицензию — служба включается

Также: версия файла, совпадающего с выпуском, записывается (нет ложного «новее»); признак неудачной проверки отдельно от результатов установки; окно обновления само перезагружает страницу.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi
This commit is contained in:
zuevav
2026-09-24 22:43:34 +03:00
parent e450887688
commit 2edc83e614
7 changed files with 192 additions and 12 deletions
+9
View File
@@ -25,6 +25,15 @@ process_one(){
fi ;;
*) out="{\"ok\":false,\"error\":\"недопустимая служба\"}" ;;
esac ;;
unit-disable|unit-enable)
# службы модулей по лицензии: модуль сняли с лицензии — остановить и отключить, вернули — включить
case "$extra" in
bj-npr|bj-quikexport|bj-lk)
if [ "$action" = unit-disable ]; then err=$(systemctl disable --now "$extra" 2>&1); else systemctl reset-failed "$extra" >/dev/null 2>&1; err=$(systemctl enable --now "$extra" 2>&1); fi
if [ $? -eq 0 ]; then out="{\"ok\":true,\"output\":\"$action: $extra\"}"
else err=$(printf '%s' "$err" | tr -d '"\\' | tr '\n' ' '); out="{\"ok\":false,\"error\":\"$extra: $err\"}"; fi ;;
*) out="{\"ok\":false,\"error\":\"недопустимая служба\"}" ;;
esac ;;
*) out=$(BJ_TARGET_DEV="$tdev" BJ_TARGET_MNT="$tmnt" BJ_EXTRA="$extra" /usr/local/sbin/bj-keymedia-install "$action" "$staging" "$profile" 2>&1) ;;
esac
printf '%s' "$out" > "$res.tmp"; chown bj:bj "$res.tmp" 2>/dev/null