Bug 749378 - python-virtualenv is bundling distribute and pip
Summary: python-virtualenv is bundling distribute and pip
Alias: None
Product: Fedora
Classification: Fedora
Component: python-virtualenv
Version: 23
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
Assignee: Steve Milner
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2011-10-26 21:01 UTC by Toshio Ernie Kuratomi
Modified: 2018-04-11 17:10 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2016-12-20 12:09:58 UTC

Attachments (Terms of Use)

Description Toshio Ernie Kuratomi 2011-10-26 21:01:53 UTC
Description of problem:
virtualenv is bundling its own copies of distribute and pip, presumably to install when it creates a virtualenv.  This violates the no bundled libraries rule and can lead to out of date software being placed in the virtualenv.

How reproducible:

Steps to Reproduce:
1. rpm -ql python-virtualenv |grep tar.gz
Actual results:

Expected results:
No bundled libraries

Additional info:

We have both distribute and pip in Fedora.  Let's figure out how to use those when bootstrapping the virtualenv.

Comment 1 Toshio Ernie Kuratomi 2012-04-10 15:32:37 UTC
Looks like python-virtualenv is also bundling setuptools (which we're not currently shipping in Fedora).

Comment 2 Fedora End Of Life 2013-04-03 17:39:13 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 19 development cycle.
Changing version to '19'.

(As we did not run this process for some time, it could affect also pre-Fedora 19 development
cycle bugs. We are very sorry. It will help us with cleanup during Fedora 19 End Of Life. Thank you.)

More information and reason for this action is here:

Comment 3 Till Maas 2013-05-14 09:10:27 UTC
This bug is now more than a year old without any response. The bug is also present in Fedora 17 and at least there it leads to a security vulnerability:

Upstream states at http://www.virtualenv.org/en/latest/ :
| We advise installing virtualenv-1.9 or greater. Prior to version 1.9, the pip included in virtualenv did not not download from PyPI over SSL.

| When using pip to install virtualenv, we advise using pip-1.3 or greater. Prior to version 1.3, pip did not not download from PyPI over SSL.

Fedora 17 ships pip 1.3 but virtualenv 1.7.2 which includes/uses the insecure version 1.1 of pip.

Comment 4 Till Maas 2013-05-14 09:20:23 UTC
The current version (1.9) of virtualenv is not even in Rawhide, therefore the maintainer seems to be nonresponsive, therefore it seems the nonresponive maintainer procedure needs to be invoked:

Steve, please reply whether you still intend to maintain virtualenv and/or allow provenpackagers to update virtualenv to 1.9 and/or remove the bundled packages if you do not have the time to address the issues in a timely manner.

Comment 5 Toshio Ernie Kuratomi 2013-05-14 14:44:05 UTC
A second security problem is present in python-pip prior to 1.3.1: https://bugzilla.redhat.com/show_bug.cgi?id=923974

Comment 6 Toshio Ernie Kuratomi 2013-05-14 15:00:35 UTC
I'm going to update the python-virtualenv package in all branches to 1.9.1 as a quick workaround for the security issues.  This will go into rawhide immediately (of course).  I'll push it to f19 ASAP.  For the released Fedora and EPEL branches, I'll leave the packages in the testing repo for a few weeks so that Steve can speak up if he is responsive and wants to object to those being updated.

Comment 7 Steve Milner 2013-05-14 15:13:52 UTC
Please go ahead and update to 1.9.1. I have no objections.

Comment 8 Toshio Ernie Kuratomi 2013-06-06 15:40:13 UTC
Discovered something about the bundling while looking into how to fix the security issues on EPEL5.  If the bundled tarballs are not present, virtualenv will download them from pypi using the system easy_install script.  So that means it might be reasonably easy to resolve the bundling just by rm -rf'ing the tarballs and eggs in %{python_sitelib}/virtualenv_support

This will use the system copy of easy_install to install which has the following ramifications:

* Would place a hard requirement on python-setuptools (which is already the case)
* Upstream virtualenv recommends using pip to bootstrap instead of easy_install because pip uses https to talk to pypi while easy_install uses plain http.
  * That might be possible to implement by adding a Requires: python-pip and patching the following lines to use pip instead of easy_install in virtualenv.py in the install_pip() function:

        easy_install_script = 'easy_install'
    if sys.platform == 'win32':
        easy_install_script = 'easy_install-script.py'

Comment 9 Toshio Ernie Kuratomi 2013-06-06 15:42:05 UTC
Note that I changed to rawhide to show that it is still present there but, as tyll said, this is present in F17 and everything in between as well.

Comment 10 Jan Kurik 2015-07-15 15:13:31 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 23 development cycle.
Changing version to '23'.

(As we did not run this process for some time, it could affect also pre-Fedora 23 development
cycle bugs. We are very sorry. It will help us with cleanup during Fedora 23 End Of Life. Thank you.)

More information and reason for this action is here:

Comment 11 Fedora End Of Life 2016-11-24 10:34:47 UTC
This message is a reminder that Fedora 23 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 23. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '23'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 23 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 12 Fedora End Of Life 2016-12-20 12:09:58 UTC
Fedora 23 changed to end-of-life (EOL) status on 2016-12-20. Fedora 23 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this

Thank you for reporting this bug and we are sorry it could not be fixed.

Note You need to log in before you can comment on or make changes to this bug.