python-tox is only in raring for now, need a backport in Precise.
Version: unspecified
Severity: enhancement
python-tox is only in raring for now, need a backport in Precise.
Version: unspecified
Severity: enhancement
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Resolved | hashar | T114360 Remove packages pep8 / pylint and pyflakes from CI slaves | |||
Resolved | hashar | T55354 JJB: replace pyflakes / pep8 jobs with tox-jessie job | |||
Declined | hashar | T55353 migrate all .pep8 files content to setup.cfg / tox.ini | |||
Resolved | None | T46443 Jenkins: install tox on Precise labs instances | |||
Resolved | hashar | T106799 Pin tox to a specific version |
Note, the source package is "tox". Attempting backporting with:
backportpackage -s raring -d precise -w workdir/ tox
Created a bunch of files:
$ ls -1
tox_1.4.2-2.debian.tar.gz
tox_1.4.2-2.dsc
tox_1.4.2-2~precise1.debian.tar.gz
tox_1.4.2-2~precise1.dsc
tox_1.4.2-2~precise1_source.build
tox_1.4.2-2~precise1_source.changes
tox_1.4.2-2~ubuntu12.04.1.debian.tar.gz
tox_1.4.2-2~ubuntu12.04.1.dsc
tox_1.4.2-2~ubuntu12.04.1_source.build
tox_1.4.2-2~ubuntu12.04.1_source.changes
tox_1.4.2.orig.tar.gz
So that needs a bunch of other packages that need to be backported :(
The following packages have unmet dependencies:
pbuilder-satisfydepends-dummy :
Depends: debhelper (>= 8) but it is not going to be installed
Depends: python-all but it is not going to be installed
Depends: python-argparse
Depends: python-doc but it is not going to be installed
Depends: python-pkg-resources but it is not going to be installed
Depends: python-py but it is not installable
Depends: python-pytest but it is not installable
Depends: python-setuptools but it is not going to be installed
Depends: python-sphinx (>= 1.0.7+dfsg) but it is not going to be installed
Depends: python-virtualenv but it is not installable
So maybe instead of backporting we could snapshot tox using pip install in a virtual environment.
With tox 1.5.0 :
The following packages have unmet dependencies:
pbuilder-satisfydepends-dummy :
Depends: python-pytest which is a virtual package. Depends: python-setuptools but it is not going to be installed. Depends: python-sphinx (>= 1.0.7+dfsg) but it is not going to be installed. Depends: python-virtualenv but it is not going to be installed.
Would need to backport python-pytest as well :/
Alternatively we could run tox commands on labs. Puppet knows how to fetch from pip and the following would work (tested on integration-pbuilder.pmtpa.wmflabs ):
$ cat pip.pp
package { 'python-pip':
ensure => present,
}
package { 'tox':
ensure => present, provider => 'pip', require => Package['python-pip'],
}
$
notice: /Stage[main]Package[python-pip]/ensure: ensure changed 'purged' to 'present'
notice: /Stage[main]Package[tox]/ensure: created
notice: Finished catalog run in 11.53 seconds
$ which pip && pip --version
/usr/bin/pip
pip 1.0 from /usr/lib/python2.7/dist-packages (python 2.7)
$ which tox && tox --version
/usr/local/bin/tox
1.7.0 imported from /usr/local/lib/python2.7/dist-packages/tox/__init__.pyc
$
$ which virtualenv
/usr/local/bin/virtualenv
$ virtualenv --version
1.11.2
$
\O/
Change 111536 had a related patch set uploaded by Hashar:
contint: on slave labs, install tox from pip
Change 111536 merged by Alexandros Kosiaris:
contint: on slave labs, install tox from pip
Since backporting was too cumbersome, the pip option turned out to be an acceptable workaround.
pip / tox / virtualenv should now be installed on any instance having role::ci::slave::labs (i.e.: integration-slave01).
Such instances would need to be configured in Jenkins to have the 'hasTox' label for now.
@hashar is there still any reason to keep tox pinned to this old version? Any chance we could upgrade it to a newer one? Jessie backports has 2.5.0 and latest from pip is 2.7.0.