[Python-modules-team] Bug#652653: python-virtualenv: insecure /tmp file handling

Stefano Rivera stefanor at debian.org
Fri May 4 18:40:16 UTC 2012


Hi Adam (2012.05.03_00:21:24_+0200)
> That happened now, as #661272 which was recently fixed in sid (thanks
> Stefano!).  In terms of getting stable updated, either a 1.4.9-3squeeze2
> package could be prepared incorporating the extra fixes, or we could
> reject the original package and fix everything in one upload.  Thoughts?

I have prepared an upload to replace the existing one (reject), so that
I could add edit the changelog to close this bug and mention the CVE.

debdiff attached.

SR

-- 
Stefano Rivera
  http://tumbleweed.org.za/
  H: +27 21 465 6908 C: +27 72 419 8559  UCT: x3127
-------------- next part --------------
diff -Nru python-virtualenv-1.4.9/debian/changelog python-virtualenv-1.4.9/debian/changelog
--- python-virtualenv-1.4.9/debian/changelog	2010-08-22 15:55:50.000000000 +0200
+++ python-virtualenv-1.4.9/debian/changelog	2012-05-04 20:35:07.000000000 +0200
@@ -1,3 +1,16 @@
+python-virtualenv (1.4.9-3squeeze1) stable; urgency=high
+
+  [ Piotr Ożarowski ]
+  * Apply upstream's 8be37c509fe5 commit (to use proper temp. dir instead of
+    /tmp) (CVE-2011-4617, Closes: #652653)
+
+  [ Stefano Rivera ]
+  * Team upload.
+  * Backport cleanup_tmpdirs.patch from 1.7.1.2-1.
+    Cleanup temporary working directories. (Closes: #661272)
+
+ -- Stefano Rivera <stefanor at debian.org>  Fri, 04 May 2012 20:31:24 +0200
+
 python-virtualenv (1.4.9-3) unstable; urgency=low
 
   * Team upload.
diff -Nru python-virtualenv-1.4.9/debian/patches/8be37c509fe5.patch python-virtualenv-1.4.9/debian/patches/8be37c509fe5.patch
--- python-virtualenv-1.4.9/debian/patches/8be37c509fe5.patch	1970-01-01 02:00:00.000000000 +0200
+++ python-virtualenv-1.4.9/debian/patches/8be37c509fe5.patch	2012-05-04 19:37:25.000000000 +0200
@@ -0,0 +1,41 @@
+# HG changeset patch
+# User Jannis Leidel <jannis at leidel.info>
+# Date 1280103078 -7200
+# Branch trunk
+# Node ID 8be37c509fe5cd474ba947e784b8676d7bd3d535
+# Parent  29ae52edcb91323785116ccea255841843757c5c
+Fixed #46 - Use a proper temp dir instead of /tmp.
+
+Index: python-virtualenv-1.4.9/virtualenv.py
+===================================================================
+--- python-virtualenv-1.4.9.orig/virtualenv.py
++++ python-virtualenv-1.4.9/virtualenv.py
+@@ -10,6 +10,7 @@ import optparse
+ import re
+ import shutil
+ import logging
++import tempfile
+ import distutils.sysconfig
+ try:
+     import subprocess
+@@ -286,7 +287,6 @@ def _install_req(py_executable, unzip=Fa
+     if is_jython and os._name == 'nt':
+         # Jython's .bat sys.executable can't handle a command line
+         # argument with newlines
+-        import tempfile
+         fd, ez_setup = tempfile.mkstemp('.py')
+         os.write(fd, bootstrap_script)
+         os.close(fd)
+@@ -324,10 +324,10 @@ def _install_req(py_executable, unzip=Fa
+         return filter_ez_setup(line, project_name)
+ 
+     if not os.access(os.getcwd(), os.W_OK):
+-        cwd = '/tmp'
++        cwd = tempfile.mkdtemp()
+         if source is not None and os.path.exists(source):
+             # the current working dir is hostile, let's copy the
+-            # tarball to /tmp
++            # tarball to a temp dir
+             target = os.path.join(cwd, os.path.split(source)[-1])
+             shutil.copy(source, target)
+     try:
diff -Nru python-virtualenv-1.4.9/debian/patches/cleanup-tmpdirs.patch python-virtualenv-1.4.9/debian/patches/cleanup-tmpdirs.patch
--- python-virtualenv-1.4.9/debian/patches/cleanup-tmpdirs.patch	1970-01-01 02:00:00.000000000 +0200
+++ python-virtualenv-1.4.9/debian/patches/cleanup-tmpdirs.patch	2012-05-04 20:30:14.000000000 +0200
@@ -0,0 +1,208 @@
+Description: Cleanup temporary directory created with mkdtemp()
+ This patch was backported from the cleanup_tmpdirs.patch applied in 1.7.1.2-1
+ .
+ The base64 mess is equivalent to:
+ .
+ |--- a/virtualenv_support/distribute_setup.py
+ |+++ b/virtualenv_support/distribute_setup.py
+ |@@ -14,6 +14,7 @@ the appropriate options to ``use_setuptools()``.
+ | This file can also be run as a script to install or upgrade setuptools.
+ | """
+ | import os
+ |+import shutil
+ | import sys
+ | import time
+ | import fnmatch
+ |@@ -86,6 +87,7 @@ def _install(tarball):
+ |             log.warn('See the error message above.')
+ |     finally:
+ |         os.chdir(old_wd)
+ |+        shutil.rmtree(tmpdir)
+ | 
+ | 
+ | def _build_egg(egg, tarball, to_dir):
+ |@@ -110,6 +112,7 @@ def _build_egg(egg, tarball, to_dir):
+ | 
+ |     finally:
+ |         os.chdir(old_wd)
+ |+        shutil.rmtree(tmpdir)
+ |     # returning the result
+ |     log.warn(egg)
+ |     if not os.path.exists(egg):
+Author: Stefano Rivera <stefanor at debian.org>
+Forwarded: https://github.com/pypa/virtualenv/pull/231
+Bug-Debian: http://bugs.debian.org/661272
+
+--- a/virtualenv.py
++++ b/virtualenv.py
+@@ -338,6 +338,8 @@
+     finally:
+         logger.indent -= 2
+         logger.end_progress()
++        if cwd is not None:
++            shutil.rmtree(cwd)
+         if os.getcwd() != old_chdir:
+             os.chdir(old_chdir)
+         if is_jython and os._name == 'nt':
+@@ -1338,83 +1340,84 @@
+ 
+ ##file distribute_setup.py
+ DISTRIBUTE_SETUP_PY = """
+-eJztG2tz2zbyO38FTh4PqYSm7bT3GM+pc2nj9DzNJZnYaT8kGRoiIYk1X+XDsvrrb3cBkCAJyUnb
+-u5mbOd3VoYjFYrHvXUBHfyp3zabIndls9m1RNHVT8ZLFCfybLNtGsCSvG56mvEkAyLlasV3Rsi3P
+-G9YUrK0Fq0XTlk1RpDXA4mjFSh7d8bVwazkYlDuf/dzWDQBEaRsL1myS2lklKaKHL4CEZwJWrUTU
+-FNWObZNmw5LGZzyPGY9jmoALImxTlKxYyZU0/osLx2HwWVVFZlAf0jhLsrKoGqQ27Kkl+OErbz7Z
+-YSV+aYEsxlldiihZJRG7F1UNzEAa+qk+PgNUXGzztOCxkyVVVVQ+KyriEs8ZTxtR5Rx4qoH6Hfu0
+-aARQccHqgi13rG7LMt0l+drBTfOyrIqySnB6UaIwiB+3t+Md3N4GjnOD7CL+RrQwYhSsauG5xq1E
+-VVLS9pR0icpyXfHYlGeASuEo5hW1fqp33WOTZEI/r/KMN9GmGxJZiRR033lFXzsJtU2CKiNH02Lt
+-OE21u+ilWCeofXL4/fXlu/D66ubSEQ+RANKv6P0lslhO6SDYgr0ucmFg02S3S2BhJOpaqkosViyU
+-yh9GWew94dW6nssp+MGvgMyD7QbiQURtw5ep8OfsKQ11cBXwq8oN9EEEHPUIG1ss2Jmzl+gjUHRg
+-PogGpBizFUhBEsSeBV/9oUQesV/aogFlwtdtJvIGWL+C5XPQxR4MXiGmEswdiMmQfBdgvnrm9ktq
+-shChwG3Oh2MKjwv/A+OG8emwwTZ3dlzPXHaMgBM4BTMeUpv+0FNArIMHtWL9aSydog7qkoPVefD0
+-Nvzp+dWNz0ZMY09Mmb24fPn8/aub8MfLd9dXb17DerOz4C/B+dmsG3r/7hW+3jRNeXF6Wu7KJJCi
+-CopqfaqcYH1ag6OKxGl82vul05lzfXnz/u3NmzevrsOXz3+4fDFaKDo/nzkm0Nsfvg+vXr98g+Oz
+-2UfnX6LhMW/4yY/SHV2w8+DMeQ1+9MIwYacbPa6d6zbLOFgFe4CP888iEyclUEjfnectUF6Zzyci
+-40kq37xKIpHXCvSFkA6E8OILIAgkuG9HjuOQGitf44EnWMK/c20D4gFiTkTKSe5dDtNgk5XgImHL
+-2psE2V2Mz+CpcRzcRrDlVe65lz0S0IHj2vXVZAlYpHG4jQERiH8tmmgbKwydlyAosN0NzPHMqQTF
+-iQjpwoKiFHm3iw4mVPtQWxxMDqK0qAWGl94g14UiFjfdBYIOAPyJ3DoQVfJmE/wM8IowH1+moE0G
+-rR/OPs2nG5FY+oGeYa+LLdsW1Z3JMQ1tUKmEhmFoiuOqG2QvOt1256Y7yYtm4MBcHbFhOVchd0ce
+-pF/gGnQUQj/g34LLYtuqgMe4rbSumMlJYCw8wiIEQQv0vCwDFw1az/iyuBd60irJAY9NFaTmzLUS
+-L9sEXoj12oP/fK2s8FCEyLr/6/T/gE6TDCkW5gykaEH0bQdhKDbC9oKQ8u45tU/HT37Bv0v0/ag2
+-9OoEv8GfykD0mWoodyCjmtauStRt2gyVB5aSwMoGNcfFAyxd03C/SsUTSFGv3lBq4rnfFW0a0yzi
+-lLSd9RptRVlBDESrHNZT6bDfZbXhktdCb8x4HYuU79SqyMqxGih4tw+TJ8f1Sbk7jgP4P/LOmkjA
+-55j1VGBQV18g4qwK0CHLy/NP889njzILILjbi5Fx79n/PlpHnz1c6vXqEYdDgJSzIfngD0XVeGc+
+-6+Wvst9h3WMk+Utd9ekAHVL6vSDTkPIe1Rhqx4tRijTiwMJIk6zckDtYoIq3lYUJi/M/+yCccMXv
+-xOKmakXnXTNOJl63UJhtKXkmHeXLukjRUJEXTr+EoWkAgv96Jve2vA4llwR6U7e8W4dgUpS11ZTE
+-In+zIm5TUWOl9LHbjdtzZQw49cSDL4ZoBusNAaRybnjNm6byBoBgKGFsBF1rEo6zFQftWTgNDSvg
+-MYhyDn3t0kHsK2u6mTL3/j3eYj/zBswIVJnuzXqWfLOYPVWrzS1kjXcxxKfS5u+KfJUmUTNcWoCW
+-yNohIm/izcGfjAVnatWU9zgdQh1kJMG2gkLXm0DMbsiz07Zis+dg9Ga8bxbHULBArY+C5veQrlMl
+-8zGfTfFhKyXiudtgvalMHTBvN9gmoP6KagvAU9XmGF0C9jYVIB4rPt064CwrKiQ1whRNE7pKqrrx
+-wTQBjXW6C4h32uWwk/fGvtzAAv8x/5h737VVBaukO4mYHVdzQD7w/yLAKg4zh6kqS6EljfdsOCbS
+-2mIfoIFsZHKGfX8Y+YlPOAUjMzV2irt9xeyXWMNnxZB9FmPV6y6bgVVfF83Los3j3220j5JpI3GS
+-6hxyV2FUCd6IsbcKcXNkgV0WheHqQJT+vTGLPpbApeKV8sJQD7/oW3yduVJc7RqJYHtpEVHpQm1O
+-xfikkZ27HCp5mRTeKtpvWb2hzGyJ7ch7niYD7Nry8jZbigosmpMpd16BcGH7j5Je6ph0fUjQApoi
+-2O2AH7cMexwe+Ihoo1cXeSzDJvZoOXNP3XnAbiVPbnHFQe4P/kVUQqeQXb9LryLiQO6RONhNV3ug
+-DmtU5DH1OkuOgX4pVuhusK0ZNS1P+44r7a/BSqoJtBj+IwnDIBaRUNsKquAlRSGBbW7Vb65SLKsc
+-wxqtsdJA8cw2t1n/GqI6YOtnkBwHWIatf0UHqKQvm9rVIFdFQbKnHRaZ//F7ASzdk4JrUJVdVhGi
+-g32p1qphraO8WaKdXyDPn98XCWp1iZYbd+T0Gc4kpHfFS2c95OPrmY9bGrpsSZTikjcZPmLvBI9P
+-KbYyDDCQnAHpbAkmd+djh32LSojRULoW0OSoqCpwF2R9I2SwW9JqbS8JnnU0guC1CusPNuUwQagi
+-0AcejzIqyUYiWjLLZ7PtcjYBUmkBIuvHJj5TSQLWsqQYQIAu0UfwgN8S7mBRE77vnJKEYS8pWYKS
+-sS4FS2z6h8gzD4d9YCNwJm96V/gT2TyP7tqSuLiSCYfIGc0Fj6cNlbQIZB4qHJpTiHhuchP2MIVd
+-6KX7vR2B7HHaTi4lYkut/3wIYbaRFAtecsgPRr2ZtwiNKVKgJ0CURZsJiUlEsYxz5iYgad+6Niei
+-xK15Z4+QK5t8sDDSssBTNM0PqzS0TMdMNZinUEEYriEqLYsHb9XmEUYphYOGzXFqm/vsyZO77fxA
+-tSMPdfq6U03XDu+FjhjX8v3QIGDN+6SQjb7JIYj+lLwe1k9jnEFYpFjiTd93yB+Z38EBFvscpUYw
+-TpLRrx+rlfppUtv281HJUEtlwP5HPYVaZsq7w1u1MtKaMNshTeUzdcdx/mF+I9WamJEkNhdbHQTx
+-LQQ0N3jz6kVwXOPpER5EBvhn0kR9h+hkHEGfXcj2nTQOjVP1U7GMxK+ebVRRr186mtisuIe8FDgV
+-ms1or0x5JDawd6GbwqOImdTY1puCDal/n99BzBn0uSHHUXsw5u53WStM8Tu1km8qps/ejZ6rnRSg
+-Wh3sBupfD+f6ZuvjCTbnTjAPH7ch9OIDU8DPEvzOncmW1bAS6TnQNyMpWzbPp811RwxwJloAckIt
+-EKmQp59F22B+iQFpy3e9G9clxTg3MtjjE/u6SDSSqJpvcKK3bRUtgexwACuj36AKnUySIVbN8Jnl
+-aFA1kRVHJ6becwNMgY+jns+G1FiV6Qgwb1kqGrdmqPhdPB/zs1M0xW/UNc/slvmjPpvqluOhPz4a
+-3NMYDslDwQxOnsYtXQUyKixNbzPBMu0L2PQSfK3skQNbNbGKE3s61u51f2cmNipyd7QTS4jnK0g7
+-u6NUnKx2ZCQ0CNLd7Ojau52C94zDtB4w4OkRpA1ZBm44LJY/e/3BXKB7wiWUTlCfyEznsWp84Jks
+-Lv5L5g+cp0k7KJelAnnMoVrEpjmlq/GpMyG27e6JYWA8KuZ4n33UIMuofqPkfRemC1UnHXXv0WCB
+-jwPt8fadr/uSti9wXyNSJp5M83Lqyqw+RIIf8CBjb/wdyl/G5MmsPl/uXN3hnNnqCAlgf/4sWdVs
+-tCT2s8qQUQAT3HF6MdqKQjneinr92FYGZBjtpbG8Ht+fUZp1wabPpY6UCwfPH92h4BP8ZiuV9qqT
+-LGYuv//+BBmOrhuYL5+/QJ2SSdFyML7t88WfG88Mn9rHtD11GxCf3XV8G746yIr5I4b4KOf+KxZg
+-sMIML7K71sWXSWz5Vnbf9gYXy3mSwkwtxrCsxCp58LSr7b17F3LIN6ujNKhs7o1TaoNc/K6ugWnA
+-D/oBYlYsHowg9vT84lOXkNCgry+LibzNRMXlNTKzpkRQec9Spi4nJxXsVZ7ey02Mc13YBOAIYM2q
+-qbE5inq5QD8u8VgK1qYoVbuRZpZp0ngurrNw5x9ORmdKBgs0+8zFFK7xwYakCut7SYX1mDAFZZN3
+-376R/LEfFg7IrT8Q5FMLlb+ZUsVwvHV4ctLWonKpM97f7VQnXdiFnJJ4YMkOw17Fn+jtWPOvI05n
+-YsbRmb7hZ7PNvWe7hxoBR2wrXDCvCEiwhFwjawTtNC6mxIWQjKmFyLBVbp7wTRta9HWLtjNMwdXV
+-GWTDdENGDMKcESZv6wBzqOGxdPBOHlliEgterwJnM0j77QnxSI4UgRHDgty08qiKcze7Ukz4hn0d
+-4yzk+durP5jweV9cjRGCUg4V0ryQZF6PN1N9WfDaRXPEYtEIdfELgzMeJncRDjU1HmeU3UnSYkxe
+-oIfG+mxe2ze6C3Jp0G7dZrCsonhBfXHpGFEhyTEmD0RsWUG5HYtY3uBPVgre/K1AbRT1sbozlvl9
+-X143h838fxhFbJTZpaCwAUP9McGASLbzbVcZp9oqLzUDLRuoBvZXDIM0C6xSyrE2b5ypLVk2EYg8
+-VhGErj3t2VR+Ii+k9cIb0IH2vb8/ZZWqnqxIAxy21qOlWWHcWdxP0r6MyELK4QRJkejtyy9R54ZV
+-/hfkmHuTzAPnBCPeDOdNTwpM3ehOn9Cs6YhUuj86rjT8fS7Goh1m979XniN66cAuF8bZRsrbPNr0
+-+Vz/Zhwp36mRwZ4xtLENx5YR/qhGQlD5rX+UgVD6Zv/wZv4n9rTL8qTj0/c4rD+66Eg0Lq/WIl3J
+-ru9iFsx8lgk8YK4X6Lj7kyp14ZYODBWEPLagw+IKtiTpx6+RvIqi75tqvvYH3+j48DdBxTbHQjIr
+-Yvz1kHSy2KkmgFJUWVLX9HOe/iBBI0lA0tTwAcbGdcBucQNud4EAf8oDSFeCCJlctwVCFQfgESar
+-Hbno7mSmxVMiIsOfZtGlAuAnkUzdK40HG8RKVUAtlju2Fo3C5c2HJ+0q64mKcmd+h2oGcmx1c0wy
+-VF471gCK8f31MpMDoA+fuuCrxTIJunoAA2C6crp8H1YipwNuW4EMyk81rJq3I+M/0oQN6FEXH2q+
+-EihVMTr+7SEDXkIZF3tqjaG/0HQtiFsB/jkIiPeOsFXx9dd/owQhSjIQH5UpQN/ZX8/OjIwnXQVK
+-9BqnVP4ucL8T2KMSrEbumyR3Sc6ojcX+zrxnPvva4BDaGM4XlQcYzn3E82xu8zAsykqCCbDSloBB
+-f7QyZhsi9SRmO0AlqfdsffMJojuxW2gFDPAeJagv0uwiAe7cZwqbvGKqGQTpEV0IAFydBXdWi6pL
+-4sB8acy8kdIZ4wMi6RDL2hvQAh8yaHIOSFKONkBcL2OFdz4FbOlw7DMAow3s7ACgysJNi/0NtyOl
+-iuLkFLifQt15bino8ObpqEq0XdQjZGG8XHughDPlWvAXT3gxRuhwkPGEqtx7n+25DNYHgqtDP4sk
+-Fbjk9U5Baed3+Jq4CqTjH0EBcQmdp2OGElLpG4ZIahiq39wR3V2T4/zi09z5N4dES24=
++eJztG2tz2zbyO38FTh4PqYSm7bT3GM+pc2nj9DzNJZnYaT8kGRoiIYk1XwVJy+qvv90FQIIPyUnb
++u5mbOd3VEYnFYrHvXUBHfyp39abIndls9m1R1FUtecniBP5Nlk0tWJJXNU9TXicA5Fyt2K5o2Jbn
++NasL1lSCVaJuyroo0gpgcVSykkd3fC3cSg0G5c5nPzdVDQBR2sSC1ZukclZJiujhAZDwTMCqUkR1
++IXdsm9QbltQ+43nMeBzTBFwQYeuiZMVKrWTwX1w4DoPPShaZRX1I4yzJykLWSG3YUUvw/VfefLRD
++KX5pgCzGWVWKKFklEbsXsgJmIA3dVB+/A1RcbPO04LGTJVIW0meFJC7xnPG0FjLnwFMD1O3Yp0Uj
++gIoLVhVsuWNVU5bpLsnXDm6al6UsSpng9KJEYRA/bm+HO7i9DRznBtlF/I1oYcQomGzge4VbiWRS
++0va0dInKci15bMszQKVwNPOKynyrNk2dpO3Trh2ok0yY76s843W0aYdEViI97TOX9NjKC1FWRlBp
++sXacWu4uOplWCeqiGn5/ffkuvL66uXTEQyRgI1f0/hIZrqa0EGzBXhe5sLAZspslMDQSVaUUJxYr
++FipTCKMs9p5wua7magp+8BGQebDdQDyIqKn5MhX+nD2loRZOAvdkbqEPIuCvR9jYYsHOnL1EH4Ha
++gyhAUCDTmK1AJoog9iz46g8l8oj90hQ1qBa+bjKR18D6FSyfg2Z2YPAKMZVg/EBMhuS7APPVM7db
++0pCFCAVuc94f03hc+B+YOoyPhy22ubPjauayYwQcwWmY4ZDe9IeOAmIdfNErVp+G0imqoCo52KAH
++396GPz2/uvHZgGnsiS2zF5cvn79/dRP+ePnu+urNa1hvdhb8JTg/m7VD79+9wtebui4vTk/LXZkE
++SlRBIden2iVWpxW4rUicxqedlzqdOdeXN+/f3rx58+o6fPn8h8sXg4Wi8/OZYwO9/eH78Or1yzc4
++Ppt9dP4lah7zmp/8qJzTBTsPzpzX4FUvLIN22tHjyrlusoyDVbAH+Dj/LDJxUgKF9Ow8b4ByaX8/
++ERlPUvXmVRKJvNKgL4RyJ4QXXwBBIMF9O3Ich9RYex4PPMES/p0bGxAPEIEiUk5y9mqYBuusBIcJ
++WzbeJMjuYvwOfhvHwW0EWy5zz73skIAOHFeurycrwCKNw20MiED8a1FH21hjaL0EQYHtbmCOZ08l
++KE5EKBcWFKXI2120MKHeh95ib3IQpUUlMNh0BrkuNLG46TYstADgT9TWgaiS15vgZ4DXhPn4MgVt
++smj9cPZpPt6IwtINdAx7XWzZtpB3NscMtEWlFhoGpTGOq3aQvWh1253b7iQv6p4Dc038huVcjdwd
++eJBugWvQUUgEAP8WXBbbygK+xo00umKnKoG18ACLEAQt0POyDFw0aD3jy+JemEmrJAc8U6qgNKdD
++rWJhILNaCtEqilbxZZMAuFivPfjPN6oMX4oQwf6v8f8DGk8ypEiZM5DiBKJvWwhL7RG2E4SSd8ep
++fRZw8gv+XWJkQLWhVyf4BH+khegPUVK1PxURje5JUTVp3VctIEQBa/s18hAPQFhFwx0NkieQ7F69
++obTGc78rmjSmWcRHZXfrNdqZtpEYtqSzYU8n1n6bH4dLXgmzbet1LFK+06sio4dKouHdLsSeHFcn
++5e44DuD/yNnJJAQ+x6yjAhMC/QDRalWAhk28PP80/3z2aKMBgtu9WLn7nv3vo3Xw2cOlTusecUcE
++SPkekg++VMjaO/NZJ3+dOfcrKKtcWJr60QT3kFL3BRmOkvegWtE7XgzSqwEHFlaKNckNtYMFGkAj
++J5iwOP+zD8IJV/xOLG5kI1rfm3FyAFUDJd6WEm/SUb6sihTNGHnhdEtYmgYg+K9nc2/Lq1BxSaCv
++dcu7dQgmRRlfRQkw8jcr4iYVFdZcH9vduB1XhoBjP917sETTW68PoJRzwyte19LrAYKhhLEVsCcT
++eJytOTidwdNQv5Yegmjn0NU9LcS+kqidqfL23+Mt9jOvx4xAF/zerGPJN4vZU73afIKs4S76+HTK
++/V2Rr9IkqvtLC9ASVXdE5E28OfiToeBsrRrzHqdDIIRsJthKKJK9EcTshjw7bSu2uxdWl8f7ZnEM
++xU5SkaD5PaT6VAV9zGdjfNiUiXju1liralMHzNsNNhyoU6MbDPBNNjlGl4C9TQWIZxKfaUJwlhUS
++SY0wvTOErhJZ1T6YJqCZnO4C4p1xOezkvbUvN5iA/5h/zL3vGilhlXSnELNjOQfkPf8vAqwAMa8Y
++q7ISWlJ7z/pjIq0m7AM0kA1MzrLvDwM/8QmnYGSmFlFxt68Q/hJr+KwYss9iJvW6zXVg1ddF/bJo
++8vh3G+2jZE6ROEqEDrmrMJKC12LorULcHFlgm2NhuDoQpX9vzKLPRODS8Up7YailX3TNwtZcKa62
++LUmwvbSIqOyhhqlmfFKrHmDOM6FSxltN+y2khJSZLbGxec/TpIfdWF7eZEshwaI5mXLrFQgXNhIp
++JaZuS9vRBC2gKYLd9vhxy7A/4oGPiDZmdZHHKmxit5cz99SdB+xW8eQWV+xVBuBfhBQmhWx7ZWYV
++EQdqj8TBdrreA/VqoyKPqWtacgz0S7FCd4MN0qhueNr1bml/NdZZdWDE8B9JGHqxiITaSKiglxSF
++BDbMdedaplh0OZY1TsZKC8Wzqbn1+tcQ1QHbRr3kOMAibf0rOkAtfdUel71cFQXJnrZYVP7H7wWw
++dE8KbkB1dikjRAf70m1Zy1oHebNCO79Anj+/LxLU6hItN27J6TKcUUhvi5fWesjHVzMft9R32Yoo
++zSVvNHzE3gken1JsZRhgIDkD0tkSTO7Ox179FpUQo6FyLaDJUSEluAuyvgEy2C1ptbGXBE9NakHw
++RoXNBxt6mCDICPSBx4OMSrGRiFbM8tlsu5yNgHRagMi6sZHP1JKAtSZSDCDAFPADeMA/Ee5gURu+
++67qShGEvKVmClrEpBUs8MAiRZx4O+8BG4Exed67wJ7J5Ht01JXFxpRIOkTOaCx7PGCppEcg81DgM
++pxDx3OYm7GEMuzBLd3s7AtnjtJ1aSsQTnYDnfQi7BaVZ8JJDfjDo3LxFaEyRAjMBoizaTEhMIopV
++nLM3AUn71p1yIlrchnfTEXI1JR8sjIws8DzO8GNSGkamQ6ZazNOoIAxXEJWWxYO3avIIo5TGQcP2
++OLXcffbkyd12fqDaUQdCXd2ppxuH98JEjGv1vm8QsOZ9Uqgm4egAxXxKXvXrpyHOICxSLPHG71vk
++j8xv4QDL9BytRjBOkjGvH6uVumlK2/bzUcvQSKXH/kc9hV5mzLvDW51k5GTCPA1pK5+tO47zD/uJ
++VGtkRorYXGxNEMS3ENDc4M2rF8FxhSdPeIgZ4J9Ri/UdolNxBH12oZp7yjgMTt1txTISH72pUU29
++eekYYrPiHvJS4FRoN7K9MuWR2MDehWkZDyJmUmHTbwzWp/59fgcxp9cjhxxH78Gau99lrTDFb9VK
++vZHMnOJbHdlpUoBqfSgc6H89nOvbrY8n2Jw7wTx82IYwi/dMAT9L8Dt3NltW/Uqk40DXjKRs2T7p
++ttcdMMAZaQHICbVApEKdnBZNjfklBqQt33Vu3JQUw9zIYo9P7Gsj0UCier7Fic62dbQEssMerIp+
++vSp0NEmFWD3DZxPHirrFrDk6MvWOG2AKfBj1fNanZlKZjgDzlqWidiuGit/G8yE/W0XT/EZd8+xu
++mT/os+leOl4YwK8W9wyGQ/LQML1Tq2FLV4MMCkvb24ywjPsCU3oJvlb1yIGthljNiT0da/e6u30T
++WxW5O9jJRIjnK0g722NYnKx3ZCU0CNLeEWnbu62Cd4zDtB4w4NkSpA1ZBm44LJY/e92hXmB6wiWU
++TlCfqEznsWq855kmXPyXzO85T5t2UK6JCuQxhzohNsMpU42PnQmxbXdPDAPj0THH++yjBlVGdRsl
++77uwXag+6ag6jwYLfOxpj7fvbN5XtH2B+xqQMvJkhpdjVzbpQxT4AQ8y9MbfofxVTB7N6vLl1tUd
++zpknHSEB7M+fFavqjZHEflZZMgpggjtMLwZb0SiHW9GvH9tKjwyrvTSU1+P7s0qzNth0udSRduHg
+++aM7FHyCT1Ol0l51UsXM5fffnyDD0XUD89X3L1CnZFS0HIxv+3zx58Yzy6d2MW1P3QbEZ3ct3/qv
++DrJi/oghPsq5/4oFWKyww4vqrrXxZRRbvlXdt73BZeI8SWOmFmNYSrFKHjzjajvv3oYc8s36KA0q
++m3vrlNoiF5/1FTID+MF8gZgViwcriD09v/jUJiQ06JuLZiJvMiG5uoJm15QIqm5sqtTl5ETCXtXZ
++vtrEMNeFTQCOANaUdYXNUdTLBfpxhWeiYK2LUrcbaWaZJrXn4joLd/7hZHCmZLHAsM9eTOMaHmwo
++qrC+V1RMHhOmoGzq3tw3ij/Th4U9cqsPBPl0gsrfTKlmON5YPDlpKiFd6ox390L1SRd2IcckHliy
++xbBX8Ud6O9T864jTmZh1dGZuB07Z5t6z3UONgCO2FS6YVwQkTIRcK2sE7bSurcSFUIyphMiwVW6f
++8I0bWvS4Rdvpp+D6Yg2yYbwhKwZhzgiTt1WAOVT/WDp4p44sMYkFryfB2fTS/umEeCBHisCIYUFu
++WntUzbmbXSlGfMO+jnUW8vzt1R9M+LwrroYIQSn7CmlfV7Iv2tupvip4p0VzxGJRC30tDIMzHia3
++EQ41NR5mlO1J0mJIXmCGhvps/wDA6i6opUG7TZthYhXNC+qLK8eICkmOMXkgYksJ5XYsYvVbgGSl
++4e1fHVRWUR/rG2WZ3/XlTXPYzv/7UWSKsmkpaGzAUH9IMCBS7fypa5BjbVUXooGWDVQD+yuGXpoF
++VqnkWNn30fSWJjYRiDzWEYSuPe3ZVH6irqt1wuvRgfa9vz81KVUzWZMGOKZajxPNCutG436S9mVE
++E6QcTpA0id6+/BJ1rl/lf0GOuTfJPHBOMOBNf974pMDWjfb0Cc2ajkiV+6PjSsvf52Io2n52/3vl
++OaCXDuxyYZ1tpLzJo02Xz3VvhpHynR7p7RlDG9twbBnhz3MUBJXf5gcdCGV+FdC/1f+JPW2zPOX4
++zD2OyR9stCRaV1srka5U13cxC2Y+ywQeMFcLdNzdSZW+jksHhhpCHVvQYbGELSn68TFSV1HMbVTD
++1+7gGx0f/rqo2OZYSGZFjL9DUk4WO9UEUAqZJVVFPwzqDhIMkgQkTQ0fYGxcBewWN+C2FwjwR0GA
++dCWIkNFlXCBUcwC+wmS9Ixfdncq0eEpEZPgjL7pUAPwkkql7ZfBgg1irCqjFcsfWota4vHn/pF1n
++PVFR7uxnqGYgx9Y3xxRD1aVkA6AZ310vszkA+vCpDb5GLKOgawYwAKYrp833YSVyOuC2NUiv/NTD
++unk7MP4jQ1iPHn3xoeIrgVIVg+PfDjLgJZRxsafX6PsLQ9eCuBXgn4OAeO8IWxVff/03ShCiJAPx
++UZkC9J399ezMynjSVaBFb3Aq5W8D9zuBPSrBKuS+TXKb5AzaWOzvzHvms68tDqGN4XwhPcBw7iOe
++Z/MpD8OirCSYACttBRh0RytDtiFST2GeBpCKem+qbz5CdCd2C6OAAd6jBPVFml0kwJ37TGNTV0wN
++gyA9ogsBgKu14NZqUXVJHJgvDZk3UDprvEckHWJN9gaMwPsMGp0DkpSjDRDXyVjjnY8BGzoc+wzA
++aAM7OwCos3DbYn/D7Uilojg5Be6nUHeeTxR0ePN0UCVOXdQjZGG8XHughDPtWvDXUngxRphwkPGE
++qtx7n+25DNYFgqtDP7AkFbjk1U5DGed3+Jq4DqTDH1ABcQmdp2OGElLpG4ZIahjq3+sR3W2T4/zi
++09z5N2HcY04=
+ """.decode("base64").decode("zlib")
+ 
+ ##file activate.sh
diff -Nru python-virtualenv-1.4.9/debian/patches/series python-virtualenv-1.4.9/debian/patches/series
--- python-virtualenv-1.4.9/debian/patches/series	2010-08-22 00:11:09.000000000 +0200
+++ python-virtualenv-1.4.9/debian/patches/series	2012-05-04 19:41:32.000000000 +0200
@@ -1,2 +1,4 @@
 look_for_external_files.patch
 add_distribute.patch
+8be37c509fe5.patch
+cleanup-tmpdirs.patch


More information about the Python-modules-team mailing list