[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1001388: bullseye-pu: package python-virtualenv/20.4.0+ds-2+deb11u1



Package: release.debian.org
Severity: normal
Tags: bullseye
User: release.debian.org@packages.debian.org
Usertags: pu

An easy bug fix in python-virtualenv on bullseye, for a bug in one of
our patches.
Already fixed in unstable, without any reported regressions.

[ Reason ]
This fails on bullseye, at the moment:
$ virtualenv -p python3 --no-setuptools testve

The patch fixes it.

[ Impact ]
While --no-setuptools is probably an unusual flag, a user filed the bug,
so it's hitting people in the real world.

[ Tests ]
Autopkgtests pass.
I manually tested the affected code.

[ Risks ]
Very minimal change.

[ Checklist ]
  [x] *all* changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in (old)stable
  [x] the issue is verified as fixed in unstable

[ Changes ]
Avoid a KeyError in python by not looking up the key unless we've
verified it's in the dict.

[ Other info ]

Uploaded to the queue.
diff -Nru python-virtualenv-20.4.0+ds/debian/changelog python-virtualenv-20.4.0+ds/debian/changelog
--- python-virtualenv-20.4.0+ds/debian/changelog	2021-06-20 17:31:30.000000000 -0400
+++ python-virtualenv-20.4.0+ds/debian/changelog	2021-12-09 09:34:08.000000000 -0400
@@ -1,3 +1,10 @@
+python-virtualenv (20.4.0+ds-2+deb11u1) bullseye; urgency=medium
+
+  * include-pkg_resources.patch: Avoid KeyError when building a virtualenv
+    with --no-setuptools, thanks Mathieu Parent. (Closes: #994953)
+
+ -- Stefano Rivera <stefanor@debian.org>  Thu, 09 Dec 2021 09:34:08 -0400
+
 python-virtualenv (20.4.0+ds-2) unstable; urgency=medium
 
   * Patch: Fix --upgrade-embed-wheels.
diff -Nru python-virtualenv-20.4.0+ds/debian/patches/include-pkg_resources.patch python-virtualenv-20.4.0+ds/debian/patches/include-pkg_resources.patch
--- python-virtualenv-20.4.0+ds/debian/patches/include-pkg_resources.patch	2021-06-20 17:31:30.000000000 -0400
+++ python-virtualenv-20.4.0+ds/debian/patches/include-pkg_resources.patch	2021-12-09 09:34:08.000000000 -0400
@@ -6,9 +6,9 @@
 Forwarded: not-needed
 Last-Update: 2021-07-20
 ---
- src/virtualenv/seed/embed/pip_invoke.py                | 9 ++++++++-
- src/virtualenv/seed/embed/via_app_data/via_app_data.py | 9 ++++++++-
- 2 files changed, 16 insertions(+), 2 deletions(-)
+ src/virtualenv/seed/embed/pip_invoke.py                |  9 ++++++++-
+ src/virtualenv/seed/embed/via_app_data/via_app_data.py | 10 +++++++++-
+ 2 files changed, 17 insertions(+), 2 deletions(-)
 
 diff --git a/src/virtualenv/seed/embed/pip_invoke.py b/src/virtualenv/seed/embed/pip_invoke.py
 index c935c02..275330b 100644
@@ -45,7 +45,7 @@
              cmd.extend(["--find-links", str(folder)])
          yield cmd
 diff --git a/src/virtualenv/seed/embed/via_app_data/via_app_data.py b/src/virtualenv/seed/embed/via_app_data/via_app_data.py
-index 9a98a70..4d82594 100644
+index 9a98a70..9c879cc 100644
 --- a/src/virtualenv/seed/embed/via_app_data/via_app_data.py
 +++ b/src/virtualenv/seed/embed/via_app_data/via_app_data.py
 @@ -10,7 +10,8 @@ from threading import Lock, Thread
@@ -58,14 +58,15 @@
  from virtualenv.util.path import Path
  
  from .pip_install.copy import CopyPipInstall
-@@ -123,6 +124,12 @@ class FromAppData(BaseEmbed):
+@@ -123,6 +124,13 @@ class FromAppData(BaseEmbed):
              thread.start()
          for thread in threads:
              thread.join()
 +
 +        # Debian specific: Since Debian splits out pkg_resources from
 +        # setuptools, for a local virtualenv, we need to add it to the base.
-+        if name_to_whl['setuptools'].path.is_relative_to(BUNDLE_FOLDER):
++        if ('setuptools' in name_to_whl and
++                name_to_whl['setuptools'].path.is_relative_to(BUNDLE_FOLDER)):
 +            _get('pkg_resources', Version.bundle)
 +
          if fail:

Reply to: