[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