Retry dependency install without build isolation

Add retry logic to ct/calibre-web.sh and install/calibre-web-install.sh: if 'uv sync --no-dev' fails, the scripts now create/ensure a venv, install the 'calibreweb' package into it via 'uv pip', and retry 'uv sync' with '--no-build-isolation'. This works around failures caused by isolated builds or build-step issues and preserves existing log messages.
This commit is contained in:
CanbiZ (MickLesk) 2026-02-17 10:57:21 +01:00
parent a1bcf8eb04
commit 76eb716da7
2 changed files with 12 additions and 2 deletions

View File

@ -43,7 +43,12 @@ function update_script() {
msg_info "Installing Dependencies"
cd /opt/calibre-web
$STD uv sync --no-dev
if ! $STD uv sync --no-dev; then
msg_info "Retrying dependency install without build isolation"
$STD uv venv
$STD uv pip install --python /opt/calibre-web/.venv/bin/python --no-cache-dir calibreweb
$STD uv sync --no-dev --no-build-isolation
fi
msg_ok "Installed Dependencies"
msg_info "Restoring Data"

View File

@ -32,7 +32,12 @@ setup_uv
msg_info "Installing Python Dependencies"
cd /opt/calibre-web
$STD uv sync --no-dev
if ! $STD uv sync --no-dev; then
msg_info "Retrying Python dependency install without build isolation"
$STD uv venv
$STD uv pip install --python /opt/calibre-web/.venv/bin/python --no-cache-dir calibreweb
$STD uv sync --no-dev --no-build-isolation
fi
msg_ok "Installed Python Dependencies"
msg_info "Creating Service"