[Python-modules-team] Bug#752467: (no subject)

Barry Warsaw barry at debian.org
Mon Nov 17 20:53:01 UTC 2014

The weird package relationships are due to the interaction between historical
baggage, Debian Python policy, and the port of the cli to Python 3.

python-foo should only be for Python 2 compatible libraries, while python3-foo
is for the Python 3 compatible libraries.  Back when python-virtualenv (src
pkg) was the only thing available, it also contained /usr/bin/virtualenv, but
that won't work now that we want to provide both the Python 2 and 3 compatible
libraries.  Also, because /usr/bin/virtualenv is shebanged to python3, it also
doesn't make sense to include it in the python-virtualenv binary package.

The typical solution is to move the /usr/bin script (and manpage, etc.) into a
separate binary package, and it makes the most sense to call this
'virtualenv'.  Because /usr/bin/virtualenv is a Python 3 script, it Depends on
python3-virtualenv.  There are use cases for keeping python-virtualenv as a
separate Python 2-compatible library that would e.g. be importable.

The question still remains: how best to upgrade people who have
/usr/bin/virtualenv provided by python-virtualenv in Wheezy, so that they now
get /usr/bin/virtualenv provided by virtualenv in Jessie?  Using Recommends
was an attempt at that, but clearly it's not good enough.

Hopefully that explains most of the new arrangement.  The only questionable
dependency is the Recommends.  I'm not sure what better we can do.  We should
not add a Depends from python-virtualenv to virtualenv (and thus transitively
to python3-virtualenv) because then people might get a library they don't care
about (i.e. python-virtualenv).  virtualenv does Breaks/Replaces older
versions of python-virtualenv, but I guess that's not enough either.

I don't see how adding a Provides can help, unless we push an update to Wheezy
such that python-virtualenv `Provides: virtualenv`.  Would that work?  If not,
I don't really see any other package relationship declaration that we can use
to make this upgrade go more smoothly.  Suggestions welcome!

More information about the Python-modules-team mailing list