[Python-modules-commits] r27287 - in packages/python-virtualenv/trunk/debian (4 files)

stefanor at users.alioth.debian.org stefanor at users.alioth.debian.org
Sat Jan 18 14:25:16 UTC 2014


    Date: Saturday, January 18, 2014 @ 14:25:15
  Author: stefanor
Revision: 27287

Patch the bundled pip to handle a missing/non-writeable $HOME.

Added:
  packages/python-virtualenv/trunk/debian/patches/pip_non-writeable-home.patch
Modified:
  packages/python-virtualenv/trunk/debian/changelog
  packages/python-virtualenv/trunk/debian/control
  packages/python-virtualenv/trunk/debian/rules

Modified: packages/python-virtualenv/trunk/debian/changelog
===================================================================
--- packages/python-virtualenv/trunk/debian/changelog	2014-01-18 13:13:03 UTC (rev 27286)
+++ packages/python-virtualenv/trunk/debian/changelog	2014-01-18 14:25:15 UTC (rev 27287)
@@ -1,3 +1,9 @@
+python-virtualenv (1.11-2) UNRELEASED; urgency=medium
+
+  * Patch the bundled pip to handle a missing/non-writeable $HOME.
+
+ -- Stefano Rivera <stefanor at debian.org>  Mon, 06 Jan 2014 17:47:53 +0200
+
 python-virtualenv (1.11-1) unstable; urgency=medium
 
   * New upstream release.

Modified: packages/python-virtualenv/trunk/debian/control
===================================================================
--- packages/python-virtualenv/trunk/debian/control	2014-01-18 13:13:03 UTC (rev 27286)
+++ packages/python-virtualenv/trunk/debian/control	2014-01-18 14:25:15 UTC (rev 27287)
@@ -10,7 +10,7 @@
 Homepage: http://pypi.python.org/pypi/virtualenv
 Vcs-Svn: svn://anonscm.debian.org/python-modules/packages/python-virtualenv/trunk/
 Vcs-Browser: http://anonscm.debian.org/viewvc/python-modules/packages/python-virtualenv/trunk/
-Build-Depends: debhelper (>= 8.1), python (>= 2.6.6-3)
+Build-Depends: debhelper (>= 8.1), python (>= 2.6.6-3), zip, unzip
 Build-Depends-Indep: python-setuptools
 Standards-Version: 3.9.5
 

Added: packages/python-virtualenv/trunk/debian/patches/pip_non-writeable-home.patch
===================================================================
--- packages/python-virtualenv/trunk/debian/patches/pip_non-writeable-home.patch	                        (rev 0)
+++ packages/python-virtualenv/trunk/debian/patches/pip_non-writeable-home.patch	2014-01-18 14:25:15 UTC (rev 27287)
@@ -0,0 +1,32 @@
+Description: pip: Handle a non-writeable $HOME
+Author: Vinay Sajip <vinay_sajip at yahoo.co.uk>
+Bug-Upstream: https://github.com/pypa/virtualenv/issues/535
+Bug-Distlib: https://bitbucket.org/pypa/distlib/issue/39/using-distlib-with-pip-fails-when-user-has
+Origin: upstream, https://bitbucket.org/pypa/distlib/commits/049d8d7703c1d69ddff3afcfc3f727a6db6bc1b8 https://bitbucket.org/pypa/distlib/commits/6237bf7072edaa0695f02b718ac90532e95b46ca
+Last-Update: 2014-01-18
+
+--- pip-1.5/pip/_vendor/distlib/util.py
++++ pip-1.5.1rc1/pip/_vendor/distlib/util.py
+@@ -598,8 +598,20 @@
+     result = os.path.join(result, suffix)
+     # we use 'isdir' instead of 'exists', because we want to
+     # fail if there's a file with that name
+-    if not os.path.isdir(result):
+-        os.makedirs(result)
++    if os.path.isdir(result):
++        usable = os.access(result, os.W_OK)
++        if not usable:
++            logger.warning('Directory exists but is not writable: %s', result)
++    else:
++        try:
++            os.makedirs(result)
++            usable = True
++        except OSError:
++            logger.warning('Unable to create %s', result, exc_info=True)
++            usable = False
++    if not usable:
++        result = tempfile.mkdtemp()
++        logger.warning('Default location unusable, using %s', result)
+     return result
+ 
+ 

Modified: packages/python-virtualenv/trunk/debian/rules
===================================================================
--- packages/python-virtualenv/trunk/debian/rules	2014-01-18 13:13:03 UTC (rev 27286)
+++ packages/python-virtualenv/trunk/debian/rules	2014-01-18 14:25:15 UTC (rev 27287)
@@ -1,9 +1,18 @@
 #!/usr/bin/make -f
 
+PIP_WHL=$(CURDIR)/virtualenv_support/pip-1.5-py2.py3-none-any.whl
+PIP_WHL_PATCHED=$(CURDIR)/virtualenv_support/pip-1.5debian1-py2.py3-none-any.whl
+
 %:
 	dh $@ --with python2
 
 override_dh_auto_configure:
+	# Patch the bundled pip
+	[ -e $(PIP_WHL).orig ] || mv $(PIP_WHL) $(PIP_WHL).orig
+	mkdir -p debian/pip
+	unzip -d debian/pip $(PIP_WHL).orig
+	patch -d debian/pip -p1 < debian/patches/pip_non-writeable-home.patch
+	cd debian/pip && zip -r $(PIP_WHL_PATCHED) .
 	# Rebuild the embedded parts, we may be quilt patching their sources
 	[ -e virtualenv.py.orig ] || cp virtualenv.py virtualenv.py.orig
 	python bin/rebuild-script.py
@@ -11,6 +20,8 @@
 
 override_dh_auto_clean:
 	[ ! -e virtualenv.py.orig ] || mv virtualenv.py.orig virtualenv.py
+	rm -rf debian/pip $(PIP_WHL_PATCHED)
+	[ ! -e $(PIP_WHL).orig ] || mv $(PIP_WHL).orig $(PIP_WHL)
 	dh_auto_clean
 
 override_dh_installchangelogs:




More information about the Python-modules-commits mailing list