[stable-2.7] pip: Fix the mistake replacement from 'distribute' to 'setuptools' (#47403) (#49132)

* [stable-2.7] pip: Fix the mistake replacement from 'distribute' to 'setuptools' (#47403)

* Fix the mistake replace from distribute to setuptools

* Add a testcase for this bug
(cherry picked from commit 93c5781)

Co-authored-by: Zhikang Zhang <zzhang63@ncsu.edu>

* Add a change note
This commit is contained in:
Sviatoslav Sydorenko 2018-11-27 00:44:05 +01:00 committed by Toshio Kuratomi
parent 2f8d3fcf41
commit cee7642188
3 changed files with 16 additions and 2 deletions

View file

@ -0,0 +1,2 @@
bugfixes:
- "pip module - fix setuptools/distutils replacement (https://github.com/ansible/ansible/issues/47198)"

View file

@ -503,8 +503,8 @@ class Package:
name_string = separator.join((name_string, version_string))
try:
self._requirement = Requirement.parse(name_string)
# old pkg_resource will replace 'setuptools' with 'distribute' when it already installed
if self._requirement.project_name == "distribute":
# old pkg_resource will replace 'setuptools' with 'distribute' when it's already installed
if self._requirement.project_name == "distribute" and "setuptools" in name_string:
self.package_name = "setuptools"
self._requirement.project_name = "setuptools"
else:

View file

@ -499,3 +499,15 @@
pip:
name: "{{ pip_test_packages }}"
state: absent
# https://github.com/ansible/ansible/issues/47198
- name: try to remove distribute
pip:
state: "absent"
name: "distribute"
ignore_errors: yes
register: remove_distribute
- name: inspect the cmd
assert:
that: "'distribute' in remove_distribute.cmd"