- Split virgin tests into separate root and user GitHub Actions workflows (test-virgin-root, test-virgin-user) and adjust Arch container flows - Introduce scripts/installation/venv-create.sh and reuse it from scripts/installation/main.sh with separate root/system and user/dev paths - Add PKGMGR architecture & setup map (assets/map.png) and section in README with link to the up-to-date master page - Simplify README by removing outdated Docker quickstart, usage examples, and AI footer - Extend .gitignore to exclude src/source artifacts https://chatgpt.com/share/6939bbfe-5cb0-800f-8ea8-95628dc911f5
45 lines
1.4 KiB
Bash
45 lines
1.4 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# venv-create.sh
|
|
#
|
|
# Small helper to create/update a Python virtual environment for pkgmgr.
|
|
#
|
|
# Usage:
|
|
# PKGMGR_VENV_DIR=/home/dev/.venvs/pkgmgr bash scripts/installation/venv-create.sh
|
|
# or
|
|
# bash scripts/installation/venv-create.sh /home/dev/.venvs/pkgmgr
|
|
|
|
PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
|
cd "${PROJECT_ROOT}"
|
|
|
|
VENV_DIR="${PKGMGR_VENV_DIR:-${1:-${HOME}/.venvs/pkgmgr}}"
|
|
|
|
echo "[venv-create] Using VENV_DIR=${VENV_DIR}"
|
|
|
|
echo "[venv-create] Ensuring virtualenv parent directory exists..."
|
|
mkdir -p "$(dirname "${VENV_DIR}")"
|
|
|
|
if [[ ! -d "${VENV_DIR}" ]]; then
|
|
echo "[venv-create] Creating virtual environment at: ${VENV_DIR}"
|
|
python3 -m venv "${VENV_DIR}"
|
|
else
|
|
echo "[venv-create] Virtual environment already exists at: ${VENV_DIR}"
|
|
fi
|
|
|
|
echo "[venv-create] Installing Python tooling into venv..."
|
|
"${VENV_DIR}/bin/python" -m ensurepip --upgrade
|
|
"${VENV_DIR}/bin/pip" install --upgrade pip setuptools wheel
|
|
|
|
if [[ -f "requirements.txt" ]]; then
|
|
echo "[venv-create] Installing dependencies from requirements.txt..."
|
|
"${VENV_DIR}/bin/pip" install -r requirements.txt
|
|
elif [[ -f "_requirements.txt" ]]; then
|
|
echo "[venv-create] Installing dependencies from _requirements.txt..."
|
|
"${VENV_DIR}/bin/pip" install -r _requirements.txt
|
|
else
|
|
echo "[venv-create] No requirements.txt or _requirements.txt found. Skipping dependency installation."
|
|
fi
|
|
|
|
echo "[venv-create] Done."
|