diff -pruN 2.28.1+dfsg-1/debian/changelog 2.28.1+dfsg-1ubuntu1/debian/changelog
--- 2.28.1+dfsg-1/debian/changelog	2022-11-23 23:23:09.000000000 +0000
+++ 2.28.1+dfsg-1ubuntu1/debian/changelog	2022-11-28 22:18:43.000000000 +0000
@@ -1,3 +1,13 @@
+requests (2.28.1+dfsg-1ubuntu1) lunar; urgency=medium
+
+  * Merge with Debian unstable (LP: #1993439). Remaining changes:
+    - Fix autopkgtest when http_proxy, https_proxy or no_proxy variable is set
+      (LP #1974182)
+    - d/p/remove-charset-normalizer-dependency.patch: Remove charset-normalizer
+      as a dependency of requests (LP #1975541)
+
+ -- Lena Voytek <lena.voytek@canonical.com>  Mon, 28 Nov 2022 15:18:43 -0700
+
 requests (2.28.1+dfsg-1) unstable; urgency=medium
 
   [ Lena Voytek ]
@@ -12,6 +22,20 @@ requests (2.28.1+dfsg-1) unstable; urgen
 
  -- Daniele Tricoli <eriol@debian.org>  Thu, 24 Nov 2022 00:23:09 +0100
 
+requests (2.27.1+dfsg-1ubuntu2) kinetic; urgency=medium
+
+  * d/p/remove-charset-normalizer-dependency.patch: Remove charset-normalizer
+    as a dependency of requests (LP: #1975541)
+
+ -- Lena Voytek <lena.voytek@canonical.com>  Mon, 23 May 2022 15:06:07 -0700
+
+requests (2.27.1+dfsg-1ubuntu1) kinetic; urgency=medium
+
+  * Fix autopkgtest when http_proxy, https_proxy or no_proxy variable is set
+    (LP: #1974182)
+
+ -- Olivier Gayot <olivier.gayot@canonical.com>  Thu, 19 May 2022 14:14:07 +0200
+
 requests (2.27.1+dfsg-1) unstable; urgency=medium
 
   [ root ]
diff -pruN 2.28.1+dfsg-1/debian/control 2.28.1+dfsg-1ubuntu1/debian/control
--- 2.28.1+dfsg-1/debian/control	2022-11-23 23:23:09.000000000 +0000
+++ 2.28.1+dfsg-1ubuntu1/debian/control	2022-11-28 22:18:43.000000000 +0000
@@ -1,5 +1,6 @@
 Source: requests
-Maintainer: Debian Python Team <team+python@tracker.debian.org>
+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
+XSBC-Original-Maintainer: Debian Python Team <team+python@tracker.debian.org>
 Uploaders: Daniele Tricoli <eriol@debian.org>
 Section: python
 Priority: optional
diff -pruN 2.28.1+dfsg-1/debian/patches/0002-Fix-tests-with-HTTP-proxy.patch 2.28.1+dfsg-1ubuntu1/debian/patches/0002-Fix-tests-with-HTTP-proxy.patch
--- 2.28.1+dfsg-1/debian/patches/0002-Fix-tests-with-HTTP-proxy.patch	1970-01-01 00:00:00.000000000 +0000
+++ 2.28.1+dfsg-1ubuntu1/debian/patches/0002-Fix-tests-with-HTTP-proxy.patch	2022-11-28 22:18:43.000000000 +0000
@@ -0,0 +1,79 @@
+Description: Fix autopkgtest when HTTP/HTTPS proxy is set
+ The pytest suite does not expect the http_proxy, https_proxy and no_proxy
+ variables to be present in the environment. They make pytest fail and
+ therefore autopkgtest fail as well.
+Author: Olivier Gayot <olivier.gayot@canonical.com>
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1011276
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/requests/+bug/1974182
+Forwarded: no
+Last-Update: 2022-11-28
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/tests/test_requests.py
++++ b/tests/test_requests.py
+@@ -578,8 +578,9 @@
+         ),
+     )
+     def test_errors(self, url, exception):
+-        with pytest.raises(exception):
+-            requests.get(url, timeout=1)
++        with override_environ(http_proxy=None, https_proxy=None):
++            with pytest.raises(exception):
++                requests.get(url, timeout=1)
+ 
+     def test_proxy_error(self):
+         # any proxy related error (address resolution, no route to host, etc) should result in a ProxyError
+@@ -602,14 +603,14 @@
+             requests.get(httpbin(), proxies={"http": "http:///example.com:8080"})
+ 
+     def test_respect_proxy_env_on_send_self_prepared_request(self, httpbin):
+-        with override_environ(http_proxy=INVALID_PROXY):
++        with override_environ(no_proxy=None, http_proxy=INVALID_PROXY):
+             with pytest.raises(ProxyError):
+                 session = requests.Session()
+                 request = requests.Request("GET", httpbin())
+                 session.send(request.prepare())
+ 
+     def test_respect_proxy_env_on_send_session_prepared_request(self, httpbin):
+-        with override_environ(http_proxy=INVALID_PROXY):
++        with override_environ(no_proxy=None, http_proxy=INVALID_PROXY):
+             with pytest.raises(ProxyError):
+                 session = requests.Session()
+                 request = requests.Request("GET", httpbin())
+@@ -617,7 +618,7 @@
+                 session.send(prepared)
+ 
+     def test_respect_proxy_env_on_send_with_redirects(self, httpbin):
+-        with override_environ(http_proxy=INVALID_PROXY):
++        with override_environ(no_proxy=None, http_proxy=INVALID_PROXY):
+             with pytest.raises(ProxyError):
+                 session = requests.Session()
+                 url = httpbin("redirect/1")
+@@ -626,13 +627,13 @@
+                 session.send(request.prepare())
+ 
+     def test_respect_proxy_env_on_get(self, httpbin):
+-        with override_environ(http_proxy=INVALID_PROXY):
++        with override_environ(no_proxy=None, http_proxy=INVALID_PROXY):
+             with pytest.raises(ProxyError):
+                 session = requests.Session()
+                 session.get(httpbin())
+ 
+     def test_respect_proxy_env_on_request(self, httpbin):
+-        with override_environ(http_proxy=INVALID_PROXY):
++        with override_environ(no_proxy=None, http_proxy=INVALID_PROXY):
+             with pytest.raises(ProxyError):
+                 session = requests.Session()
+                 session.request(method="GET", url=httpbin())
+--- a/tests/utils.py
++++ b/tests/utils.py
+@@ -7,7 +7,8 @@
+     save_env = dict(os.environ)
+     for key, value in kwargs.items():
+         if value is None:
+-            del os.environ[key]
++            with contextlib.suppress(KeyError):
++                del os.environ[key]
+         else:
+             os.environ[key] = value
+     try:
diff -pruN 2.28.1+dfsg-1/debian/patches/remove-charset-normalizer-dependency.patch 2.28.1+dfsg-1ubuntu1/debian/patches/remove-charset-normalizer-dependency.patch
--- 2.28.1+dfsg-1/debian/patches/remove-charset-normalizer-dependency.patch	1970-01-01 00:00:00.000000000 +0000
+++ 2.28.1+dfsg-1ubuntu1/debian/patches/remove-charset-normalizer-dependency.patch	2022-11-28 22:18:43.000000000 +0000
@@ -0,0 +1,91 @@
+Description: Remove charset-normalizer package as a backup to chardet
+ Since requests can use either chardet or charset-normalizer for character set
+ interpretations, and charset-normalizer is in universe, remove it as a
+ dependency to keep requests in main without issues.
+Forwarded: not-needed
+X-Not-Forwarded-Reason: charset-normalizer being in universe is Ubuntu-specific
+Author: Lena Voytek <lena.voytek@canonical.com>
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/requests/+bug/1975541
+Last-Update: 2022-11-28
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/requests/compat.py
++++ b/requests/compat.py
+@@ -7,11 +7,7 @@
+ compatibility until the next major version.
+ """
+ 
+-try:
+-    import chardet
+-except ImportError:
+-    import charset_normalizer as chardet
+-
++import chardet
+ import sys
+ 
+ # -------
+--- a/requests/help.py
++++ b/requests/help.py
+@@ -10,10 +10,7 @@
+ 
+ from . import __version__ as requests_version
+ 
+-try:
+-    import charset_normalizer
+-except ImportError:
+-    charset_normalizer = None
++charset_normalizer = None
+ 
+ try:
+     import chardet
+@@ -112,7 +109,7 @@
+         "implementation": implementation_info,
+         "system_ssl": system_ssl_info,
+         "using_pyopenssl": pyopenssl is not None,
+-        "using_charset_normalizer": chardet is None,
++        "using_charset_normalizer": False,
+         "pyOpenSSL": pyopenssl_info,
+         "urllib3": urllib3_info,
+         "chardet": chardet_info,
+--- a/requests/__init__.py
++++ b/requests/__init__.py
+@@ -44,10 +44,7 @@
+ 
+ from .exceptions import RequestsDependencyWarning
+ 
+-try:
+-    from charset_normalizer import __version__ as charset_normalizer_version
+-except ImportError:
+-    charset_normalizer_version = None
++charset_normalizer_version = None
+ 
+ try:
+     from chardet import __version__ as chardet_version
+--- a/requests/packages.py
++++ b/requests/packages.py
+@@ -1,13 +1,5 @@
+ import sys
+-
+-try:
+-    import chardet
+-except ImportError:
+-    import warnings
+-
+-    import charset_normalizer as chardet
+-
+-    warnings.filterwarnings("ignore", "Trying to detect", module="charset_normalizer")
++import chardet
+ 
+ # This code exists for backwards compatibility reasons.
+ # I don't like it either. Just look the other way. :)
+--- a/setup.py
++++ b/setup.py
+@@ -59,7 +59,7 @@
+     sys.exit()
+ 
+ requires = [
+-    "charset_normalizer>=2,<3",
++    "chardet>=3.0.2,<5",
+     "idna>=2.5,<4",
+     "urllib3>=1.21.1,<1.27",
+     "certifi>=2017.4.17",
diff -pruN 2.28.1+dfsg-1/debian/patches/series 2.28.1+dfsg-1ubuntu1/debian/patches/series
--- 2.28.1+dfsg-1/debian/patches/series	2022-11-23 23:23:09.000000000 +0000
+++ 2.28.1+dfsg-1ubuntu1/debian/patches/series	2022-11-28 22:18:43.000000000 +0000
@@ -1 +1,3 @@
 0001-Remove-remote-images-traking-code-and-ads.patch
+0002-Fix-tests-with-HTTP-proxy.patch
+remove-charset-normalizer-dependency.patch
