Add workaround for Debian/Ubuntu venv setup failure

Signed-off-by: Joffrey F <joffrey@docker.com>
This commit is contained in:
Joffrey F 2018-10-17 12:10:08 -07:00
parent b1adcfb7e3
commit 7712d19b32
2 changed files with 23 additions and 6 deletions

View File

@ -1,6 +1,6 @@
#!/bin/sh
if test -d ./.release-venv; then
if test -d ${VENV_DIR:-./.release-venv}; then
true
else
./script/release/setup-venv.sh
@ -10,4 +10,4 @@ if test -z "$*"; then
args="--help"
fi
./.release-venv/bin/python ./script/release/release.py "$@"
${VENV_DIR:-./.release-venv}/bin/python ./script/release/release.py "$@"

View File

@ -1,5 +1,11 @@
#!/bin/bash
debian_based() { test -f /etc/debian_version; }
if test -z $VENV_DIR; then
VENV_DIR=./.release-venv
fi
if test -z $PYTHONBIN; then
PYTHONBIN=$(which python3)
if test -z $PYTHONBIN; then
@ -16,15 +22,26 @@ if test $(echo $VERSION | cut -d. -f2) -lt 3; then
echo "Python 3.3 or above is required"
fi
$PYTHONBIN -m venv ./.release-venv
# Debian / Ubuntu workaround:
# https://askubuntu.com/questions/879437/ensurepip-is-disabled-in-debian-ubuntu-for-the-system-python
if debian_based; then
VENV_FLAGS="$VENV_FLAGS --without-pip"
fi
VENVBINS=./.release-venv/bin
$PYTHONBIN -m venv $VENV_DIR $VENV_FLAGS
$VENVBINS/pip install -U Jinja2==2.10 \
VENV_PYTHONBIN=$VENV_DIR/bin/python
if debian_based; then
curl https://bootstrap.pypa.io/get-pip.py -o $VENV_DIR/get-pip.py
$VENV_PYTHONBIN $VENV_DIR/get-pip.py
fi
$VENV_PYTHONBIN -m pip install -U Jinja2==2.10 \
PyGithub==1.39 \
pypandoc==1.4 \
GitPython==2.1.9 \
requests==2.18.4 \
twine==1.11.0
$VENVBINS/python setup.py develop
$VENV_PYTHONBIN setup.py develop