ble version
This commit is contained in:
@@ -33,6 +33,7 @@ fi
|
||||
# --- проверяем, что РЕАЛЬНО нужное на месте (а не код возврата dpkg) ---
|
||||
command -v python3 >/dev/null || die "python3 не установился"
|
||||
python3 -c 'import flask' 2>/dev/null || die "python3-flask не установился"
|
||||
command -v bluetoothctl >/dev/null 2>&1 || warn "bluez/bluetoothctl отсутствует — BLE collector не заработает"
|
||||
command -v nmcli >/dev/null || warn "nmcli отсутствует — сетевые настройки из web не заработают"
|
||||
ls /usr/lib/*/qt5/qml/QtQuick/Controls.2 >/dev/null 2>&1 \
|
||||
|| warn "QML-модуль QtQuick.Controls 2 не найден — UI может не подняться"
|
||||
@@ -41,8 +42,8 @@ ls /usr/lib/*/qt5/qml/QtQuick/Controls.2 >/dev/null 2>&1 \
|
||||
# 2. Системный пользователь
|
||||
# ---------------------------------------------------------------------------
|
||||
id "$USER_NAME" >/dev/null 2>&1 || useradd -r -s /bin/false "$USER_NAME"
|
||||
# группы для eglfs/KMS/тача
|
||||
usermod -aG video,render,input "$USER_NAME" 2>/dev/null || true
|
||||
# группы для eglfs/KMS/тача + BLE (BlueZ SystemBus)
|
||||
usermod -aG video,render,input,bluetooth "$USER_NAME" 2>/dev/null || true
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 3. Версионированная раскладка
|
||||
@@ -51,8 +52,26 @@ install -d "$ROOT"/versions/"$VER" "$ROOT"/config "$ROOT"/icons "$ROOT"/run "$RO
|
||||
[ -f "$BUNDLE_DIR/app/ButtonTask" ] || die "нет бинарника app/ButtonTask в бандле"
|
||||
install -m0755 "$BUNDLE_DIR/app/ButtonTask" "$ROOT/versions/$VER/ButtonTask"
|
||||
cp -a "$BUNDLE_DIR/webconfig" "$ROOT/versions/$VER/"
|
||||
if [ -d "$BUNDLE_DIR/collector" ]; then
|
||||
cp -a "$BUNDLE_DIR/collector" "$ROOT/versions/$VER/"
|
||||
log "collector установлен в versions/$VER/collector"
|
||||
else
|
||||
warn "collector/ нет в бандле — BLE-сервис не будет работать"
|
||||
fi
|
||||
ln -sfn "$ROOT/versions/$VER" "$ROOT/current"
|
||||
|
||||
# bless (GATT) — offline wheels из бандла, иначе pip с индексом
|
||||
if [ -d "$ROOT/versions/$VER/collector/wheels" ] && ls "$ROOT/versions/$VER/collector/wheels"/*.whl >/dev/null 2>&1; then
|
||||
log "pip install bless из collector/wheels (offline)"
|
||||
python3 -m pip install --upgrade --no-index --find-links "$ROOT/versions/$VER/collector/wheels" bless \
|
||||
|| warn "pip offline install bless не удался"
|
||||
elif [ -f "$ROOT/versions/$VER/collector/requirements.txt" ]; then
|
||||
log "pip install -r collector/requirements.txt"
|
||||
python3 -m pip install -r "$ROOT/versions/$VER/collector/requirements.txt" \
|
||||
|| warn "pip install bless не удался (нужен интернет или wheels/)"
|
||||
fi
|
||||
python3 -c 'import bless' 2>/dev/null || warn "bless не импортируется — buttontask-collector не стартует"
|
||||
|
||||
# config — по умолчанию не перезатираем (upgrade-safe); BUTTONTASK_RESET_CONFIG=1 — из бандла
|
||||
reset_cfg="${BUTTONTASK_RESET_CONFIG:-0}"
|
||||
case "$reset_cfg" in
|
||||
@@ -178,7 +197,9 @@ systemctl stop display-manager 2>/dev/null || true
|
||||
# 10. Включаем сервисы (старт — после ребута)
|
||||
# ---------------------------------------------------------------------------
|
||||
systemctl daemon-reload
|
||||
systemctl enable buttontask buttontask-web buttontask-network >/dev/null 2>&1 || \
|
||||
systemctl enable bluetooth >/dev/null 2>&1 || warn "не удалось enable bluetooth"
|
||||
systemctl enable buttontask buttontask-web buttontask-network buttontask-collector >/dev/null 2>&1 || \
|
||||
systemctl enable buttontask buttontask-web buttontask-collector >/dev/null 2>&1 || \
|
||||
systemctl enable buttontask buttontask-web >/dev/null 2>&1 || \
|
||||
die "не удалось включить сервисы (проверьте имена юнитов)"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user