Files
CM95/scripts/setup_linux.sh

52 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
SOURCE_ROOT="${CM93_SOURCE_DIR:-/root/sourceserver/cm95-data/CM93JAPAN}"
VENV="$PROJECT_ROOT/.venv"
cd "$PROJECT_ROOT"
if [[ ! -d "$SOURCE_ROOT" ]]; then
echo "CM93 source not found: $SOURCE_ROOT" >&2
exit 2
fi
python3 - <<'PY'
import sys
if sys.version_info[:2] != (3, 12):
raise SystemExit(f"Python 3.12 required, got {sys.version.split()[0]}")
print(f"Python {sys.version.split()[0]}: PASS")
PY
if [[ ! -x "$VENV/bin/python" ]]; then
python3 -m venv "$VENV"
fi
"$VENV/bin/python" -m pip install --upgrade pip setuptools wheel
"$VENV/bin/pip" install -e .
if [[ ! -f .env ]]; then
cp .env.linux.example .env
chmod 600 .env
echo "Created .env from .env.linux.example"
else
chmod 600 .env
echo "Existing .env kept"
fi
"$VENV/bin/python" tools/cm95_linux_full_rebuild_preflight.py
"$VENV/bin/cm93db" scan "$SOURCE_ROOT"
"$VENV/bin/cm93db" inspect-dicts "$SOURCE_ROOT"
if grep -Eq '^CM93_DB_PASSWORD=(|change_me)$' .env; then
echo
echo "Linux source/code preflight: PASS"
echo "Database credential: PENDING (CM93_DB_PASSWORD is empty)"
echo "Edit $PROJECT_ROOT/.env before DB/full-rebuild operations."
else
echo
echo "Linux source/code preflight: PASS"
echo "Database password is configured; run cm93db env-check before rebuild."
fi