[Python-modules-commits] [python-virtualenv] 03/04: merge patched into master

Barry Warsaw barry at moszumanska.debian.org
Sat Feb 27 18:45:17 UTC 2016


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

barry pushed a commit to branch master
in repository python-virtualenv.

commit 7adcfad6e24285518d7eaf21b019ce677ac1c2fd
Merge: 2b68537 ea9927a
Author: Barry Warsaw <barry at python.org>
Date:   Sat Feb 27 12:36:20 2016 -0500

    merge patched into master

 debian/.git-dpm                      |  4 ++--
 debian/patches/python2-default.patch |  4 ++--
 debian/patches/use-wheels.patch      | 23 ++++++++++++-----------
 virtualenv.py                        |  1 +
 4 files changed, 17 insertions(+), 15 deletions(-)

diff --cc debian/.git-dpm
index 292d366,0000000..2fcb022
mode 100644,000000..100644
--- a/debian/.git-dpm
+++ b/debian/.git-dpm
@@@ -1,11 -1,0 +1,11 @@@
 +# see git-dpm(1) from git-dpm package
- 62e949b8db9d67ea7a679fdc31f5f43cf43a1303
- 62e949b8db9d67ea7a679fdc31f5f43cf43a1303
++ea9927a503949e563a8898be0b70a4b7bd1188f8
++ea9927a503949e563a8898be0b70a4b7bd1188f8
 +d56e9859de93a25bcfaa2d7d304ab7ff8cfc82bc
 +d56e9859de93a25bcfaa2d7d304ab7ff8cfc82bc
 +python-virtualenv_14.0.5+ds.orig.tar.gz
 +a8bd1eace35ae3d898d48fb5aae87ce7189c13d8
 +96508
 +debianTag="debian/%e%v"
 +patchedTag="patched/%e%v"
 +upstreamTag="upstream/%e%u"
diff --cc debian/patches/python2-default.patch
index 6b2d6d4,0000000..8f72867
mode 100644,000000..100644
--- a/debian/patches/python2-default.patch
+++ b/debian/patches/python2-default.patch
@@@ -1,31 -1,0 +1,31 @@@
- From 62e949b8db9d67ea7a679fdc31f5f43cf43a1303 Mon Sep 17 00:00:00 2001
++From ea9927a503949e563a8898be0b70a4b7bd1188f8 Mon Sep 17 00:00:00 2001
 +From: Barry Warsaw <barry at debian.org>
 +Date: Fri, 9 Oct 2015 22:23:59 +0200
 +Subject: Even though /usr/bin/virtualenv is a Python 3 script now, in
 +
 + Debian we still want to default to using Python 2 unless the -p/--python
 + argument is given.
 +Forwarded: not-needed
 +
 +Patch-Name: python2-default.patch
 +---
 + virtualenv.py | 5 +++--
 + 1 file changed, 3 insertions(+), 2 deletions(-)
 +
 +diff --git a/virtualenv.py b/virtualenv.py
- index 8feb552..4142765 100755
++index d83403c..eafab84 100755
 +--- a/virtualenv.py
 ++++ b/virtualenv.py
 +@@ -543,9 +543,10 @@ def main():
 +         '-p', '--python',
 +         dest='python',
 +         metavar='PYTHON_EXE',
 ++        default='python2',
 +         help='The Python interpreter to use, e.g., --python=python2.5 will use the python2.5 '
 +-        'interpreter to create the new environment.  The default is the interpreter that '
 +-        'virtualenv was installed with (%s)' % sys.executable)
 ++        'interpreter to create the new environment.  The default is the python2 '
 ++        'interpreter on your path (e.g. /usr/bin/python2)')
 + 
 +     parser.add_option(
 +         '--clear',
diff --cc debian/patches/use-wheels.patch
index c6406cc,0000000..8be53cc
mode 100644,000000..100644
--- a/debian/patches/use-wheels.patch
+++ b/debian/patches/use-wheels.patch
@@@ -1,139 -1,0 +1,140 @@@
- From 886b55024a4451f54d74deaf1ac96a649db0a28d Mon Sep 17 00:00:00 2001
++From bfa69a748f3f5bea0e61d1f100997dd4af3e6363 Mon Sep 17 00:00:00 2001
 +From: Barry Warsaw <barry at debian.org>
 +Date: Fri, 9 Oct 2015 22:23:58 +0200
 +Subject: Use distro wheels instead of the bundled wheels.
 +
 +Prepend the wheel paths onto the front of sys.path.  Also, when the venv
 +is created, copy the system wheels into <venv>/lib/python-wheels for use
 +by our patched pip wheel.  Make sure the command line script uses the
 +system wheels first.
 +
- Under Debian, we also have to install pkg_resources.  Since these get
- installed from distro wheels, and since Debian splits setuptools and
- pkg_resources into separate binary packages, they get built into
- separate wheels.  Thus we have to explicitly install pkg_resources from
- wheel or assumptions made by Python packages that the two always go
- together will be broken.
++Under Debian, we also have to install pkg_resources and _markerlib.
++Since these get installed from distro wheels, and since Debian splits
++setuptools and pkg_resources into separate binary packages, they get
++built into separate wheels.  Thus we have to explicitly install
++pkg_resources from wheel or assumptions made by Python packages that the
++two always go together will be broken.
 +
 +Forwarded: not-needed
 +
 +Patch-Name: use-wheels.patch
 +---
 + scripts/virtualenv |  9 +++++++++
 + setup.py           |  4 ++--
-  virtualenv.py      | 49 +++++++++++++++++++++++++++++++++++++++++++++++--
-  3 files changed, 58 insertions(+), 4 deletions(-)
++ virtualenv.py      | 50 ++++++++++++++++++++++++++++++++++++++++++++++++--
++ 3 files changed, 59 insertions(+), 4 deletions(-)
 +
 +diff --git a/scripts/virtualenv b/scripts/virtualenv
 +index 418bd79..7dd0203 100644
 +--- a/scripts/virtualenv
 ++++ b/scripts/virtualenv
 +@@ -1,3 +1,12 @@
 + #!/usr/bin/python3
 + import virtualenv
 ++
 ++# Debian: Barry Warsaw <barry at debian.org> 2014-06-02
 ++# Instead of using the bundled wheels, use the ones in the archive.
 ++import sys
 ++for path in virtualenv.find_wheels(virtualenv.DEBIAN_WHEEL_DEPS,
 ++                                   ['/usr/share/python-wheels']):
 ++    if path not in sys.path:
 ++        sys.path.insert(0, path)
 ++
 + virtualenv.main()
 +diff --git a/setup.py b/setup.py
 +index 69e072c..8e16ced 100644
 +--- a/setup.py
 ++++ b/setup.py
 +@@ -122,6 +122,6 @@ setup(
 +     url='https://virtualenv.pypa.io/',
 +     license='MIT',
 +     py_modules=['virtualenv'],
 +-    packages=['virtualenv_support'],
 +-    package_data={'virtualenv_support': ['*.whl']},
 ++    #packages=['virtualenv_support'],
 ++    #package_data={'virtualenv_support': ['*.whl']},
 +     **setup_params)
 +diff --git a/virtualenv.py b/virtualenv.py
- index c669b36..8feb552 100755
++index c669b36..d83403c 100755
 +--- a/virtualenv.py
 ++++ b/virtualenv.py
 +@@ -36,6 +36,12 @@ except ImportError:
 + __version__ = "14.0.5"
 + virtualenv_version = __version__  # legacy
 + 
 ++# Debian: Barry Warsaw <barry at debian.org> 2014-06-06
 ++DEBIAN_WHEEL_DEPS = [
 ++    os.path.basename(whl).split('-')[0]
 ++    for whl in glob.glob('/usr/share/python-wheels/*.whl')
 ++    ]
 ++
 + if sys.version_info < (2, 6):
 +     print('ERROR: %s' % sys.exc_info()[1])
 +     print('ERROR: this script requires Python 2.6 or greater.')
 +@@ -393,7 +399,11 @@ def _find_file(filename, dirs):
 + 
 + def file_search_dirs():
 +     here = os.path.dirname(os.path.abspath(__file__))
 +-    dirs = [here, join(here, 'virtualenv_support')]
 ++    # Debian: Barry Warsaw <barry at debian.org> 2015-06-11
 ++    # Don't include the bundled wheels in the search dirs, since we strip them
 ++    # out in favor of the system wheels.
 ++    #dirs = [here, join(here, 'virtualenv_support')]
 ++    dirs = [here, '/usr/share/python-wheels/']
 +     if os.path.splitext(os.path.dirname(__file__))[0] != 'virtualenv':
 +         # Probably some boot script; just in case virtualenv is installed...
 +         try:
 +@@ -734,7 +744,16 @@ def call_subprocess(cmd, show_stdout=True,
 +             for varname in remove_from_env:
 +                 env.pop(varname, None)
 +     else:
 +-        env = None
 ++        env = {}
 ++    # Debian: Barry Warsaw <barry at debian.org> 2014-06-06
 ++    # We're about to execute $python -c "import sys, pip ..." and run
 ++    # pip.main().  We have to make sure to find pip and setuptools via the
 ++    # wheels if they exist.
 ++    syspath_parts = env.get('PYTHONPATH', '').split(os.pathsep)
 ++    for path in find_wheels(DEBIAN_WHEEL_DEPS, ['/usr/share/python-wheels']):
 ++        if path not in syspath_parts:
 ++            syspath_parts.insert(0, path)
 ++    env['PYTHONPATH'] = os.pathsep.join(syspath_parts)
 +     try:
 +         proc = subprocess.Popen(
 +             cmd, stderr=subprocess.STDOUT, stdin=None, stdout=stdout,
- @@ -887,8 +906,34 @@ def create_environment(home_dir, site_packages=False, clear=False,
++@@ -887,8 +906,35 @@ def create_environment(home_dir, site_packages=False, clear=False,
 + 
 +     to_install = []
 + 
 ++    # Debian: Barry Warsaw <barry at debian.org> 2014-06-06
 ++    # Copy system wheels into the venv directory where our hacked pip will
 ++    # search, i.e. <venv>/share/python-wheels.
 ++    destdir = os.path.join(home_dir, 'share', 'python-wheels')
 ++    try:
 ++        # The directory could exist.  Because this code may run under Python
 ++        # 2, we can't use `exist_ok=True`.  Catch and ignore the old way.
 ++        os.makedirs(destdir)
 ++    except OSError as error:
 ++        if error.errno != errno.EEXIST:
 ++            raise
 ++    for project in DEBIAN_WHEEL_DEPS:
 ++        wheel_names = glob.glob(
 ++            '/usr/share/python-wheels/{}-*.whl'.format(project))
 ++        if len(wheel_names) == 0:
 ++            raise RuntimeError('missing dependency wheel %s' % project)
 ++        assert len(wheel_names) == 1, wheel_names
 ++        wheel_name = os.path.basename(wheel_names[0])
 ++        path = os.path.join('/usr/share/python-wheels', wheel_name)
 ++        with open(path, 'rb') as fp:
 ++            whl = fp.read()
 ++        dest = os.path.join(destdir, wheel_name)
 ++        with open(dest, 'wb') as fp:
 ++            fp.write(whl)
 ++
 +     if not no_setuptools:
 +         to_install.append('setuptools')
 ++        to_install.append('pkg_resources')
+++        to_install.append('_markerlib')
 + 
 +     if not no_pip:
 +         to_install.append('pip')

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



More information about the Python-modules-commits mailing list