Blame SOURCES/nowarn-pip._internal.main.patch

a66a64
From 8dd3793d1bab226cec9c5c49b01718a9634bc403 Mon Sep 17 00:00:00 2001
a66a64
From: Karolina Surma <ksurma@redhat.com>
a66a64
Date: Mon, 10 May 2021 16:48:49 +0200
a66a64
Subject: [PATCH] Don't warn the user about pip._internal.main() entrypoint
a66a64
a66a64
In Fedora, we use that in ensurepip and users cannot do anything about it,
a66a64
this warning is juts moot. Also, the warning breaks CPython test suite.
a66a64
a66a64
Co-Authored-By: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
a66a64
---
a66a64
 src/pip/_internal/__init__.py          |  2 +-
a66a64
 src/pip/_internal/utils/entrypoints.py | 19 ++++++++++---------
a66a64
 tests/functional/test_cli.py           |  3 ++-
a66a64
 3 files changed, 13 insertions(+), 11 deletions(-)
a66a64
a66a64
diff --git a/src/pip/_internal/__init__.py b/src/pip/_internal/__init__.py
a66a64
index 6afb5c6..faf25af 100755
a66a64
--- a/src/pip/_internal/__init__.py
a66a64
+++ b/src/pip/_internal/__init__.py
a66a64
@@ -16,4 +16,4 @@ def main(args: (Optional[List[str]]) = None) -> int:
a66a64
     """
a66a64
     from pip._internal.utils.entrypoints import _wrapper
a66a64
 
a66a64
-    return _wrapper(args)
a66a64
+    return _wrapper(args, _nowarn=True)
a66a64
diff --git a/src/pip/_internal/utils/entrypoints.py b/src/pip/_internal/utils/entrypoints.py
a66a64
index f292c64..2e29a5e 100644
a66a64
--- a/src/pip/_internal/utils/entrypoints.py
a66a64
+++ b/src/pip/_internal/utils/entrypoints.py
a66a64
@@ -20,7 +20,7 @@ if WINDOWS:
a66a64
     ]
a66a64
 
a66a64
 
a66a64
-def _wrapper(args: Optional[List[str]] = None) -> int:
a66a64
+def _wrapper(args: Optional[List[str]] = None, _nowarn: bool = False) -> int:
a66a64
     """Central wrapper for all old entrypoints.
a66a64
 
a66a64
     Historically pip has had several entrypoints defined. Because of issues
a66a64
@@ -32,14 +32,15 @@ def _wrapper(args: Optional[List[str]] = None) -> int:
a66a64
     directing them to an appropriate place for help, we now define all of
a66a64
     our old entrypoints as wrappers for the current one.
a66a64
     """
a66a64
-    sys.stderr.write(
a66a64
-        "WARNING: pip is being invoked by an old script wrapper. This will "
a66a64
-        "fail in a future version of pip.\n"
a66a64
-        "Please see https://github.com/pypa/pip/issues/5599 for advice on "
a66a64
-        "fixing the underlying issue.\n"
a66a64
-        "To avoid this problem you can invoke Python with '-m pip' instead of "
a66a64
-        "running pip directly.\n"
a66a64
-    )
a66a64
+    if not _nowarn:
a66a64
+        sys.stderr.write(
a66a64
+            "WARNING: pip is being invoked by an old script wrapper. This will "
a66a64
+            "fail in a future version of pip.\n"
a66a64
+            "Please see https://github.com/pypa/pip/issues/5599 for advice on "
a66a64
+            "fixing the underlying issue.\n"
a66a64
+            "To avoid this problem you can invoke Python with '-m pip' instead of "
a66a64
+            "running pip directly.\n"
a66a64
+        )
a66a64
     return main(args)
a66a64
 
a66a64
 
a66a64
diff --git a/tests/functional/test_cli.py b/tests/functional/test_cli.py
a66a64
index 3e85703..f86c392 100644
a66a64
--- a/tests/functional/test_cli.py
a66a64
+++ b/tests/functional/test_cli.py
a66a64
@@ -43,4 +43,5 @@ def test_entrypoints_work(entrypoint: str, script: PipTestEnvironment) -> None:
a66a64
     result = script.pip("-V")
a66a64
     result2 = script.run("fake_pip", "-V", allow_stderr_warning=True)
a66a64
     assert result.stdout == result2.stdout
a66a64
-    assert "old script wrapper" in result2.stderr
a66a64
+    if entrypoint[0] != "fake_pip = pip._internal:main":
a66a64
+        assert "old script wrapper" in result2.stderr
a66a64
-- 
a66a64
2.35.3
a66a64