Bug 11255 - python-virtualenv update breaks building Mozilla stuff with system virtualenv
Summary: python-virtualenv update breaks building Mozilla stuff with system virtualenv
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 2
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: QA Team
QA Contact:
URL:
Whiteboard: MGA2-64-OK MGA2-32-OK
Keywords: validated_update
Depends on:
Blocks:
 
Reported: 2013-09-18 15:29 CEST by David Walser
Modified: 2013-09-24 23:45 CEST (History)
4 users (show)

See Also:
Source RPM: python
CVE:
Status comment:


Attachments

Description David Walser 2013-09-18 15:29:02 CEST
The update to python-virtualenv 1.10.x broke building Firefox and Thunderbird with the system virtualenv, so it has to use its own bundled one instead.  Since virtualenv is not a runtime dependency, it's not a big deal.  However, there is apparently a solution to this problem, as Mandriva has updated python-virtualenv again with their Firefox 17.0.9 update, saying that they've fixed this issue.  Hopefully we can get this fix into Mageia as well.

http://www.mandriva.com/en/support/security/advisories/mes5/MDVSA-2013:237/

Reproducible: 

Steps to Reproduce:
David Walser 2013-09-18 15:29:17 CEST

CC: (none) => makowski.mageia
Whiteboard: (none) => MGA2TOO

Comment 1 Oden Eriksson 2013-09-18 17:03:01 CEST
Probably not related since my fix was merely this:

--- virtualenv.py       2013-08-08 01:05:07.000000000 +0000
+++ virtualenv.py.oden  2013-09-16 10:11:25.000000000 +0000
@@ -23,9 +23,9 @@ import struct
 import subprocess
 import tarfile
 
-if sys.version_info < (2, 6):
+if sys.version_info < (2, 5):
     print('ERROR: %s' % sys.exc_info()[1])
-    print('ERROR: this script requires Python 2.6 or greater.')
+    print('ERROR: this script requires Python 2.5 or greater.')
     sys.exit(101)
 
 try:
Comment 2 David Walser 2013-09-18 17:19:18 CEST
Is MES's Firefox/Thunderbird patched to build with system virtualenv?  Mageia's is, but this no longer works on Mageia 2.  It does still work on Mageia 3 and Cauldron.  I'm not sure why.
Comment 3 Philippe Makowski 2013-09-18 18:31:41 CEST
Yes certainly not related since mga2 have Python 2.7
will try to investigate
Comment 4 Philippe Makowski 2013-09-18 22:31:28 CEST
I have a possible patch for python-virtualenv in mga2, but what puzzle me is that the only diff between mga2 and mga3 is python version (2.7.3 and 2.7.5)
so I wonder if it is better to patch python-virtualenv or if this bug reveal a bug in python 2.7.3 in mga2. In the latest, the best solution would be to upgrade python to 2.7.5 (like we did in mga3) since it is a bug fix release, not a major one.
Philippe Makowski 2013-09-19 15:52:19 CEST

Status: NEW => ASSIGNED
Hardware: i586 => All
Version: 3 => 2
Assignee: oe => makowski.mageia

David Walser 2013-09-19 18:09:45 CEST

Whiteboard: MGA2TOO => (none)

Comment 5 Philippe Makowski 2013-09-19 21:35:18 CEST
I had a patch, but now even if under my mga2 the build is ok, it fail on the build system and I don't understand why
I really think that it is our python under mga2 that have a problem
Comment 6 Philippe Makowski 2013-09-20 20:52:49 CEST
The problem is in python package, by the way I don't know why we didn't updated it to 2.7.5 as we did in mga3 2.7.5 fix a lot of bugs. So I change the rpm package assignment to python.

Source RPM: python-virtualenv => python

Comment 7 Philippe Makowski 2013-09-20 21:32:18 CEST
Suggested advisory:
========================

Updated python packages, multiples upstream bug fixes, allow correct use of python-virtualenv fix mga#11255 

Updated package in core/updates_testing:
========================
python-2.7.5-0.1.mga2

libpython-devel-2.7.5-0.1.mga2
libpython-2.7.5-0.1.mga2
python-docs-2.7.5-0.1.mga2
tkinter-2.7.5-0.1.mga2
tkinter-apps-2.7.5-0.1.mga2

Source RPMs: 
python-2.7.5-0.1.mga2.src.rpm


Suggested test with python-virtualenv installed :

with extracted thunderbird-17.0.9esr.source.tar.bz2 in ~/mga2/thunderbird/SOURCES/

*before*
$ rm -rf _virtualenv/
$ mkdir -p _virtualenv
$ PYTHONDONTWRITEBYTECODE= virtualenv --system-site-packages ./_virtualenv
$ cd _virtualenv/
$ source bin/activate
$ bin/python ~/mga2/thunderbird/SOURCES/comm-esr17/mozilla/build/virtualenv/populate_virtualenv.py ~/mga2/thunderbird/SOURCES/comm-esr17/mozilla/ ~/mga2/thunderbird/SOURCES/comm-esr17/mozilla/build/virtualenv/packages.txt 


running develop
error: None
Traceback (most recent call last):
  File "/home/philippe/mga2/thunderbird/SOURCES/comm-esr17/mozilla/build/virtualenv/populate_virtualenv.py", line 69, in <module>
    populate_virtualenv(sys.argv[1], sys.argv[2])
  File "/home/philippe/mga2/thunderbird/SOURCES/comm-esr17/mozilla/build/virtualenv/populate_virtualenv.py", line 42, in populate_virtualenv
    package[2:])
  File "/home/philippe/mga2/thunderbird/SOURCES/comm-esr17/mozilla/build/virtualenv/populate_virtualenv.py", line 63, in call_setup
    raise Exception('Error installing package: %s' % directory)
Exception: Error installing package: /home/philippe/mga2/thunderbird/SOURCES/comm-esr17/mozilla/python/simplejson-2.1.1

$ deactivate

*after*
$ rm -rf _virtualenv/
$ mkdir -p _virtualenv
$ PYTHONDONTWRITEBYTECODE= virtualenv --system-site-packages ./_virtualenv
$ cd _virtualenv/
$ source bin/activate
$ bin/python ~/mga2/thunderbird/SOURCES/comm-esr17/mozilla/build/virtualenv/populate_virtualenv.py ~/mga2/thunderbird/SOURCES/comm-esr17/mozilla/ ~/mga2/thunderbird/SOURCES/comm-esr17/mozilla/build/virtualenv/packages.txt 

running develop
running egg_info
writing simplejson.egg-info/PKG-INFO
writing top-level names to simplejson.egg-info/top_level.txt
writing dependency_links to simplejson.egg-info/dependency_links.txt
reading manifest file 'simplejson.egg-info/SOURCES.txt'
writing manifest file 'simplejson.egg-info/SOURCES.txt'
running build_ext
Creating /home/philippe/_virtualenv/lib/python2.7/site-packages/simplejson.egg-link (link to .)
Adding simplejson 2.1.1 to easy-install.pth file

Installed /home/philippe/mga2/thunderbird/SOURCES/comm-esr17/mozilla/python/simplejson-2.1.1
Processing dependencies for simplejson==2.1.1
Finished processing dependencies for simplejson==2.1.1
running develop
running egg_info
writing ManifestDestiny.egg-info/PKG-INFO
writing top-level names to ManifestDestiny.egg-info/top_level.txt
writing dependency_links to ManifestDestiny.egg-info/dependency_links.txt
writing entry points to ManifestDestiny.egg-info/entry_points.txt
reading manifest file 'ManifestDestiny.egg-info/SOURCES.txt'
writing manifest file 'ManifestDestiny.egg-info/SOURCES.txt'
running build_ext
Creating /home/philippe/_virtualenv/lib/python2.7/site-packages/ManifestDestiny.egg-link (link to .)
Adding ManifestDestiny 0.5.4 to easy-install.pth file
Installing manifestparser script to /home/philippe/_virtualenv/bin

Installed /home/philippe/mga2/thunderbird/SOURCES/comm-esr17/mozilla/testing/mozbase/manifestdestiny
Processing dependencies for ManifestDestiny==0.5.4
Finished processing dependencies for ManifestDestiny==0.5.4
running develop
running egg_info
writing mozinfo.egg-info/PKG-INFO
writing top-level names to mozinfo.egg-info/top_level.txt
writing dependency_links to mozinfo.egg-info/dependency_links.txt
writing entry points to mozinfo.egg-info/entry_points.txt
reading manifest file 'mozinfo.egg-info/SOURCES.txt'
writing manifest file 'mozinfo.egg-info/SOURCES.txt'
running build_ext
Creating /home/philippe/_virtualenv/lib/python2.7/site-packages/mozinfo.egg-link (link to .)
Adding mozinfo 0.3.3 to easy-install.pth file
Installing mozinfo script to /home/philippe/_virtualenv/bin

Installed /home/philippe/mga2/thunderbird/SOURCES/comm-esr17/mozilla/testing/mozbase/mozinfo
Processing dependencies for mozinfo==0.3.3
Finished processing dependencies for mozinfo==0.3.3
running develop
running egg_info
writing requirements to mozInstall.egg-info/requires.txt
writing mozInstall.egg-info/PKG-INFO
writing top-level names to mozInstall.egg-info/top_level.txt
writing dependency_links to mozInstall.egg-info/dependency_links.txt
writing entry points to mozInstall.egg-info/entry_points.txt
reading manifest file 'mozInstall.egg-info/SOURCES.txt'
writing manifest file 'mozInstall.egg-info/SOURCES.txt'
running build_ext
Creating /home/philippe/_virtualenv/lib/python2.7/site-packages/mozInstall.egg-link (link to .)
Adding mozInstall 1.2 to easy-install.pth file
Installing mozuninstall script to /home/philippe/_virtualenv/bin
Installing mozinstall script to /home/philippe/_virtualenv/bin

Installed /home/philippe/mga2/thunderbird/SOURCES/comm-esr17/mozilla/testing/mozbase/mozinstall
Processing dependencies for mozInstall==1.2
Searching for mozinfo==0.3.3
Best match: mozinfo 0.3.3
mozinfo 0.3.3 is already the active version in easy-install.pth
Installing mozinfo script to /home/philippe/_virtualenv/bin

Using /home/philippe/mga2/thunderbird/SOURCES/comm-esr17/mozilla/testing/mozbase/mozinfo
Finished processing dependencies for mozInstall==1.2
running develop
running egg_info
writing mozlog.egg-info/PKG-INFO
writing top-level names to mozlog.egg-info/top_level.txt
writing dependency_links to mozlog.egg-info/dependency_links.txt
reading manifest file 'mozlog.egg-info/SOURCES.txt'
writing manifest file 'mozlog.egg-info/SOURCES.txt'
running build_ext
Creating /home/philippe/_virtualenv/lib/python2.7/site-packages/mozlog.egg-link (link to .)
Adding mozlog 1.1 to easy-install.pth file

Installed /home/philippe/mga2/thunderbird/SOURCES/comm-esr17/mozilla/testing/mozbase/mozlog
Processing dependencies for mozlog==1.1
Finished processing dependencies for mozlog==1.1
running develop
running egg_info
writing requirements to mozprocess.egg-info/requires.txt
writing mozprocess.egg-info/PKG-INFO
writing top-level names to mozprocess.egg-info/top_level.txt
writing dependency_links to mozprocess.egg-info/dependency_links.txt
writing entry points to mozprocess.egg-info/entry_points.txt
reading manifest file 'mozprocess.egg-info/SOURCES.txt'
writing manifest file 'mozprocess.egg-info/SOURCES.txt'
running build_ext
Creating /home/philippe/_virtualenv/lib/python2.7/site-packages/mozprocess.egg-link (link to .)
Adding mozprocess 0.4 to easy-install.pth file

Installed /home/philippe/mga2/thunderbird/SOURCES/comm-esr17/mozilla/testing/mozbase/mozprocess
Processing dependencies for mozprocess==0.4
Searching for mozinfo==0.3.3
Best match: mozinfo 0.3.3
mozinfo 0.3.3 is already the active version in easy-install.pth
Installing mozinfo script to /home/philippe/_virtualenv/bin

Using /home/philippe/mga2/thunderbird/SOURCES/comm-esr17/mozilla/testing/mozbase/mozinfo
Finished processing dependencies for mozprocess==0.4
running develop
running egg_info
writing requirements to mozprofile.egg-info/requires.txt
writing mozprofile.egg-info/PKG-INFO
writing top-level names to mozprofile.egg-info/top_level.txt
writing dependency_links to mozprofile.egg-info/dependency_links.txt
writing entry points to mozprofile.egg-info/entry_points.txt
reading manifest file 'mozprofile.egg-info/SOURCES.txt'
writing manifest file 'mozprofile.egg-info/SOURCES.txt'
running build_ext
Creating /home/philippe/_virtualenv/lib/python2.7/site-packages/mozprofile.egg-link (link to .)
Adding mozprofile 0.4 to easy-install.pth file
Installing mozprofile script to /home/philippe/_virtualenv/bin

Installed /home/philippe/mga2/thunderbird/SOURCES/comm-esr17/mozilla/testing/mozbase/mozprofile
Processing dependencies for mozprofile==0.4
Searching for ManifestDestiny==0.5.4
Best match: ManifestDestiny 0.5.4
ManifestDestiny 0.5.4 is already the active version in easy-install.pth
Installing manifestparser script to /home/philippe/_virtualenv/bin

Using /home/philippe/mga2/thunderbird/SOURCES/comm-esr17/mozilla/testing/mozbase/manifestdestiny
Finished processing dependencies for mozprofile==0.4
running develop
running egg_info
writing requirements to mozrunner.egg-info/requires.txt
writing mozrunner.egg-info/PKG-INFO
writing top-level names to mozrunner.egg-info/top_level.txt
writing dependency_links to mozrunner.egg-info/dependency_links.txt
writing entry points to mozrunner.egg-info/entry_points.txt
reading manifest file 'mozrunner.egg-info/SOURCES.txt'
writing manifest file 'mozrunner.egg-info/SOURCES.txt'
running build_ext
Creating /home/philippe/_virtualenv/lib/python2.7/site-packages/mozrunner.egg-link (link to .)
Adding mozrunner 5.8 to easy-install.pth file
Installing mozrunner script to /home/philippe/_virtualenv/bin

Installed /home/philippe/mga2/thunderbird/SOURCES/comm-esr17/mozilla/testing/mozbase/mozrunner
Processing dependencies for mozrunner==5.8
Searching for mozprofile==0.4
Best match: mozprofile 0.4
mozprofile 0.4 is already the active version in easy-install.pth
Installing mozprofile script to /home/philippe/_virtualenv/bin

Using /home/philippe/mga2/thunderbird/SOURCES/comm-esr17/mozilla/testing/mozbase/mozprofile
Searching for mozprocess==0.4
Best match: mozprocess 0.4
mozprocess 0.4 is already the active version in easy-install.pth

Using /home/philippe/mga2/thunderbird/SOURCES/comm-esr17/mozilla/testing/mozbase/mozprocess
Searching for mozinfo==0.3.3
Best match: mozinfo 0.3.3
mozinfo 0.3.3 is already the active version in easy-install.pth
Installing mozinfo script to /home/philippe/_virtualenv/bin

Using /home/philippe/mga2/thunderbird/SOURCES/comm-esr17/mozilla/testing/mozbase/mozinfo
Searching for ManifestDestiny==0.5.4
Best match: ManifestDestiny 0.5.4
ManifestDestiny 0.5.4 is already the active version in easy-install.pth
Installing manifestparser script to /home/philippe/_virtualenv/bin

Using /home/philippe/mga2/thunderbird/SOURCES/comm-esr17/mozilla/testing/mozbase/manifestdestiny
Finished processing dependencies for mozrunner==5.8
running develop
running egg_info
writing blessings.egg-info/PKG-INFO
writing top-level names to blessings.egg-info/top_level.txt
writing dependency_links to blessings.egg-info/dependency_links.txt
reading manifest file 'blessings.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'blessings.egg-info/SOURCES.txt'
running build_ext
Creating /home/philippe/_virtualenv/lib/python2.7/site-packages/blessings.egg-link (link to .)
Adding blessings 1.3 to easy-install.pth file

Installed /home/philippe/mga2/thunderbird/SOURCES/comm-esr17/mozilla/python/blessings
Processing dependencies for blessings==1.3
Finished processing dependencies for blessings==1.3
running develop
running egg_info
writing mozbuild.egg-info/PKG-INFO
writing top-level names to mozbuild.egg-info/top_level.txt
writing dependency_links to mozbuild.egg-info/dependency_links.txt
reading manifest file 'mozbuild.egg-info/SOURCES.txt'
writing manifest file 'mozbuild.egg-info/SOURCES.txt'
running build_ext
Creating /home/philippe/_virtualenv/lib/python2.7/site-packages/mozbuild.egg-link (link to .)
Adding mozbuild 0.1 to easy-install.pth file

Installed /home/philippe/mga2/thunderbird/SOURCES/comm-esr17/mozilla/python/mozbuild
Processing dependencies for mozbuild==0.1
Finished processing dependencies for mozbuild==0.1

$ deactivate

Assignee: makowski.mageia => qa-bugs

Comment 8 Dave Hodgins 2013-09-22 04:07:18 CEST
Testing complete on Mageia 2 i586 and x86_64. Advisory committed to svn.

Someone from the sysadmin team please push 11255.adv to updates.

Keywords: (none) => validated_update
Whiteboard: (none) => MGA2-64-OK MGA2-32-OK
CC: (none) => davidwhodgins, sysadmin-bugs

Comment 9 Thomas Backlund 2013-09-24 23:45:57 CEST
Update pushed:
http://advisories.mageia.org/MGAA-2013-0115.html

Status: ASSIGNED => RESOLVED
CC: (none) => tmb
Resolution: (none) => FIXED


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