[Python-modules-commits] [python-pip] 14/14: Finalize the creation of /usr/bin/pip*

Barry Warsaw barry at moszumanska.debian.org
Fri Jan 29 15:52:09 UTC 2016


This is an automated email from the git hooks/post-receive script.

barry pushed a commit to branch dirtbike
in repository python-pip.

commit ae5df4ac3400cb1b64ea2affc16faebd4396a1fb
Author: Barry Warsaw <barry at python.org>
Date:   Fri Jan 29 10:50:22 2016 -0500

    Finalize the creation of /usr/bin/pip*
    
    * Our makepip.py template can be much simpler since pip itself provides
      a way to set the WHEEL_DIR, which we now use.
    * We still need to override the standard easy_install console script
      generation because it adds a dependency on pkg_resources, which needs
      to come from our whl, not from the system.
---
 debian/makepip.py | 57 -------------------------------------------------------
 debian/rules      | 22 +++++++++++----------
 2 files changed, 12 insertions(+), 67 deletions(-)

diff --git a/debian/makepip.py b/debian/makepip.py
index 9eeb98f..10397bb 100644
--- a/debian/makepip.py
+++ b/debian/makepip.py
@@ -4,64 +4,7 @@ TEMPLATE = """\
 #!{shebang}
 # GENERATED BY DEBIAN ON {date} UTC
 
-import os
 import sys
-from glob import glob
-
-# Upstream pip vendorizes a bunch of its dependencies.  Debian de-vendorizes
-# (unbundles) these dependencies to be compliant with Debian policy.  Instead,
-# these dependencies are packaged as wheel (.whl) files in a known location.
-# When pip itself executes, we have to arrange for these wheels to show up
-# earlier on sys.path than any other version of these packages, otherwise
-# things can break.  See for example Bug #744145.
-#
-# The location of the wheels differs depending on whether we're inside or
-# outside a virtual environment, regardless of whether that venv was created
-# with virtualenv or pyvenv.  The first thing we have to do is figure out if
-# we're inside or outside a venv, then search the appropriate wheel directory
-# and add all the .whls found there to the front of sys.path.  As per Debian
-# Python Policy, only the wheels needed to support this de-vendorization will
-# be present, so it's safe to add them all.
-#
-# venv determination is a bit of a black art, but this algorithm should work
-# in both Python 2 (virtualenv-only) and Python 3 (pyvenv and virtualenv).  -
-# updated by barry at debian.org 2015-02-25
-
-base_prefix = getattr(sys, 'base_prefix', None)
-real_prefix = getattr(sys, 'real_prefix', None)
-if base_prefix is None:
-    # Python 2 has no base_prefix at all.  It also has no pyvenv.  Fall back
-    # to checking real_prefix.
-    if real_prefix is None:
-        # We are not in a venv.
-        in_venv = False
-    else:
-        # We're in a Python 2 virtualenv created venv, but real_prefix should
-        # never be the same as sys.prefix.
-        assert sys.prefix != real_prefix
-        in_venv = True
-elif sys.prefix != base_prefix:
-    # We're in a Python 3, pyvenv created venv.
-    in_venv = True
-elif real_prefix is None:
-    # We're in Python 3, outside a venv, but base better equal prefix.
-    assert sys.prefix == base_prefix
-    in_venv = False
-else:
-    # We're in a Python 3, virtualenv created venv.
-    assert real_prefix != sys.prefix
-    in_venv = True
-
-
-if in_venv:
-    wheel_dir = os.path.join(sys.prefix, 'lib', 'python-wheels')
-else:
-    wheel_dir = '/usr/share/python-wheels'
-
-
-# We'll add all the wheels we find to the front of sys.path so that they're
-# found first, even if the same dependencies are available in site-packages.
-sys.path[0:0] = glob(os.path.join(wheel_dir, '*.whl'))
 
 # Run the main entry point, similarly to how setuptools does it, but because
 # we didn't install the actual entry point from setup.py, don't use the
diff --git a/debian/rules b/debian/rules
index 132a3c6..d5193e6 100755
--- a/debian/rules
+++ b/debian/rules
@@ -26,17 +26,19 @@ override_dh_auto_build:
 # test suite.  https://github.com/pypa/pip/issues/3370
 override_dh_auto_test:
 
-# override_dh_python3:
-# 	dh_python3
-# 	mkdir -p debian/python3-pip/usr/bin
-# 	python3 debian/makepip.py /usr/bin/python3 \
-# 		debian/python3-pip/usr/bin/pip3
+override_dh_python3:
+	dh_python3
+	python3 debian/makepip.py /usr/bin/python3 \
+		debian/python3-pip/usr/bin/pip3
+	rm -f debian/python3-pip/usr/bin/pip
+	rm -f debian/python3-pip/usr/bin/pip3.*
 
-# override_dh_python2:
-# 	dh_python2
-# 	mkdir -p debian/python-pip/usr/bin
-# 	python3 debian/makepip.py /usr/bin/python2 \
-# 		debian/python-pip/usr/bin/pip
+override_dh_python2:
+	dh_python2
+	mkdir -p debian/python-pip/usr/bin
+	python3 debian/makepip.py /usr/bin/python2 \
+		debian/python-pip/usr/bin/pip
+	rm -f debian/python-pip/usr/bin/pip2.*
 
 override_dh_auto_install:
 	dh_auto_install

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-pip.git



More information about the Python-modules-commits mailing list