Debian support: verified build/packaging path + friend install guide

- setup-standalone.sh: falls back to system python3 -m venv + pip when
  uv isn't installed (Debian/Ubuntu path; verified on clean bookworm).
- dist/Dockerfile.debian: debian:bookworm build env for :app:packageDeb
  (needs fakeroot + /usr/share/desktop-directories — both baked in; the
  dir gap made jpackage's postinst fail with exit 3 on minimal systems).
- dist/make-release.sh: clean source tarball from HEAD.
- INSTALL-debian.md: end-to-end install for friends (source tree must
  stay on disk — the app spawns the engine from it via SHONAR_REPO).

Verified on real Debian 12 in Docker: :app:packageDeb builds
shonar-desktop_0.1.0-1_amd64.deb, apt installs it, setup-standalone.sh
provisions the engine (venv+pip path, model fetch, boot smoke test),
and the packaged binary launches under Xvfb.
This commit is contained in:
avi 2026-09-15 07:10:27 -05:00
commit 7234a62eb5
5 changed files with 85 additions and 2 deletions

View file

@ -6,8 +6,15 @@ cd "$(dirname "$0")"
echo "==> backend venv (local, editable install of THIS backend)"
if [ ! -x backend/.venv/bin/uvicorn ]; then
command -v uv >/dev/null || { echo "uv not found — install it: curl -LsSf https://astral.sh/uv/install.sh | sh"; exit 1; }
(cd backend && uv venv .venv --python 3.11 && uv pip install -p .venv/bin/python -e ".[dev,faster-whisper]")
if command -v uv >/dev/null; then
(cd backend && uv venv .venv --python 3.11 && uv pip install -p .venv/bin/python -e ".[dev,faster-whisper]")
else
# Plain Debian/Ubuntu path: system python3 (3.11 on bookworm) + venv + pip.
command -v python3 >/dev/null || { echo "python3 not found — install python3-venv"; exit 1; }
python3 -m venv backend/.venv || { echo "python3 -m venv failed — install the python3-venv package"; exit 1; }
backend/.venv/bin/pip install --upgrade pip >/dev/null
backend/.venv/bin/pip install -e "backend[dev,faster-whisper]"
fi
else
echo " already present"
fi