#!/bin/bash
set -e
echo "=== reset perms (cleanup from previous attempt) ==="
sudo rm -rf /opt/robopark-pi-client/.venv 2>/dev/null || true
sudo chown -R robopark:robopark /opt/robopark-pi-client

echo "=== apt deps (no signing strict) ==="
sudo apt-get -o Acquire::AllowInsecureRepositories=true update 2>&1 | tail -3
sudo apt-get install -y --no-install-recommends python3-venv python3-pip libatlas3-base libasound2t64 portaudio19-dev libjpeg-dev libpng-dev ffmpeg 2>&1 | tail -3
echo "apt-done"

echo "=== create venv as robopark ==="
sudo -u robopark python3 -m venv /opt/robopark-pi-client/.venv
sudo -u robopark /opt/robopark-pi-client/.venv/bin/pip install --quiet --upgrade pip
sudo -u robopark /opt/robopark-pi-client/.venv/bin/pip install --quiet httpx
echo "httpx-done"

echo "=== media stack (optional, may take a while) ==="
sudo -u robopark /opt/robopark-pi-client/.venv/bin/pip install --quiet livekit livekit-api numpy 2>&1 | tail -3
echo "lk-done"
sudo -u robopark /opt/robopark-pi-client/.venv/bin/pip install --quiet opencv-python-headless 2>&1 | tail -3
echo "cv-done"
sudo -u robopark /opt/robopark-pi-client/.venv/bin/pip install --quiet sounddevice 2>&1 | tail -3
echo "sd-done"

echo "=== final state ==="
ls -la /opt/robopark-pi-client
ls /opt/robopark-pi-client/.venv/bin | head -5
echo "all-done"
