issue #587: use deadsnakes PPA Python because VSTS version is junk

This commit is contained in:
David Wilson 2019-05-26 12:06:14 +01:00
parent 61b651bdd2
commit 4a6eba9653
2 changed files with 21 additions and 12 deletions

View File

@ -5,17 +5,25 @@ parameters:
sign: false sign: false
steps: steps:
- task: UsePythonVersion@0 - script: "PYTHONVERSION=$(python.version) .ci/prep_azure.py"
inputs: displayName: "Run prep_azure.py"
versionSpec: '$(python.version)'
architecture: 'x64' # The VSTS-shipped Pythons available via UsePythonVErsion are pure garbage,
# broken symlinks, incorrect permissions and missing codecs. So we use the
# deadsnakes PPA to get sane Pythons, and setup a virtualenv to install our
# stuff into. The virtualenv can probably be removed again, but this was a
# hard-fought battle and for now I am tired of this crap.
- script: |
sudo ln -fs /usr/bin/python$(python.version) /usr/bin/python
/usr/bin/python -m pip install -U virtualenv setuptools wheel
/usr/bin/python -m virtualenv /tmp/venv -p /usr/bin/python$(python.version)
echo "##vso[task.prependpath]/tmp/venv/bin"
displayName: activate venv
- script: .ci/spawn_reverse_shell.py - script: .ci/spawn_reverse_shell.py
displayName: "Spawn reverse shell" displayName: "Spawn reverse shell"
- script: .ci/prep_azure.py
displayName: "Run prep_azure.py"
- script: .ci/$(MODE)_install.py - script: .ci/$(MODE)_install.py
displayName: "Run $(MODE)_install.py" displayName: "Run $(MODE)_install.py"

View File

@ -34,14 +34,15 @@ if ci_lib.have_apt():
'echo force-unsafe-io | sudo tee /etc/dpkg/dpkg.cfg.d/nosync', 'echo force-unsafe-io | sudo tee /etc/dpkg/dpkg.cfg.d/nosync',
'sudo add-apt-repository ppa:deadsnakes/ppa', 'sudo add-apt-repository ppa:deadsnakes/ppa',
'sudo apt-get update', 'sudo apt-get update',
'sudo apt-get -y install python2.6 python2.6-dev libsasl2-dev libldap2-dev', 'sudo apt-get -y install '
'python{pv} '
'python{pv}-dev '
'libsasl2-dev '
'libldap2-dev '
.format(pv=os.environ['PYTHONVERSION'])
]) ])
#batches.append([
#'pip install -r dev_requirements.txt',
#])
if ci_lib.have_docker(): if ci_lib.have_docker():
batches.extend( batches.extend(
['docker pull %s' % (ci_lib.image_for_distro(distro),)] ['docker pull %s' % (ci_lib.image_for_distro(distro),)]