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

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