[Python-modules-commits] r32946 - in packages/requests/trunk/debian (6 files)

eriol-guest at users.alioth.debian.org eriol-guest at users.alioth.debian.org
Wed Jun 10 22:46:17 UTC 2015


    Date: Wednesday, June 10, 2015 @ 22:46:16
  Author: eriol-guest
Revision: 32946

Cherry pick upstream devendorize patch

Added:
  packages/requests/trunk/debian/patches/05_upstream_devendorize.patch
Modified:
  packages/requests/trunk/debian/changelog
  packages/requests/trunk/debian/patches/03_export-IncompleteRead.patch
  packages/requests/trunk/debian/patches/series
Deleted:
  packages/requests/trunk/debian/patches/02_use-system-chardet-and-urllib3.patch
  packages/requests/trunk/debian/patches/04_make-requests.packages.urllib3-same-as-urllib3.patch

Modified: packages/requests/trunk/debian/changelog
===================================================================
--- packages/requests/trunk/debian/changelog	2015-06-10 03:47:44 UTC (rev 32945)
+++ packages/requests/trunk/debian/changelog	2015-06-10 22:46:16 UTC (rev 32946)
@@ -1,3 +1,16 @@
+requests (2.7.0-3) UNRELEASED; urgency=medium
+
+  [ Barry Warsaw ]
+  * debian/patches:
+    - 02_use-system-chardet-and-urllib3.patch and
+      04_make-requests.packages.urllib3-same-as-urllib3.patch: Removed in
+      favor of upstream's pull request #2567
+    - 05_upstream_devendorize.patch: Upstream's pull request to better
+      support the devendorizing of urllib3 and chardet.
+      (Closes: #771349, #788383)
+
+ -- Daniele Tricoli <eriol at mornie.org>  Thu, 11 Jun 2015 00:41:05 +0200
+
 requests (2.7.0-2) unstable; urgency=medium
 
   * Upload to unstable.

Deleted: packages/requests/trunk/debian/patches/02_use-system-chardet-and-urllib3.patch
===================================================================
--- packages/requests/trunk/debian/patches/02_use-system-chardet-and-urllib3.patch	2015-06-10 03:47:44 UTC (rev 32945)
+++ packages/requests/trunk/debian/patches/02_use-system-chardet-and-urllib3.patch	2015-06-10 22:46:16 UTC (rev 32946)
@@ -1,129 +0,0 @@
-Description: Use the system python-chardet and python-urllib3 instead of the
- embedded copies but provide requests.packages package because it will be
- used to supply a stub for ``requests.packages.urllib3``.
-Author: Daniele Tricoli <eriol at mornie.org>
-Forwarded: not-needed
-Last-Update: 2015-05-04
-
---- a/requests/adapters.py
-+++ b/requests/adapters.py
-@@ -11,22 +11,22 @@
- import socket
- 
- from .models import Response
--from .packages.urllib3.poolmanager import PoolManager, proxy_from_url
--from .packages.urllib3.response import HTTPResponse
--from .packages.urllib3.util import Timeout as TimeoutSauce
--from .packages.urllib3.util.retry import Retry
-+from urllib3.poolmanager import PoolManager, proxy_from_url
-+from urllib3.response import HTTPResponse
-+from urllib3.util import Timeout as TimeoutSauce
-+from urllib3.util.retry import Retry
- from .compat import urlparse, basestring
- from .utils import (DEFAULT_CA_BUNDLE_PATH, get_encoding_from_headers,
-                     prepend_scheme_if_needed, get_auth_from_url, urldefragauth)
- from .structures import CaseInsensitiveDict
--from .packages.urllib3.exceptions import ConnectTimeoutError
--from .packages.urllib3.exceptions import HTTPError as _HTTPError
--from .packages.urllib3.exceptions import MaxRetryError
--from .packages.urllib3.exceptions import ProxyError as _ProxyError
--from .packages.urllib3.exceptions import ProtocolError
--from .packages.urllib3.exceptions import ReadTimeoutError
--from .packages.urllib3.exceptions import SSLError as _SSLError
--from .packages.urllib3.exceptions import ResponseError
-+from urllib3.exceptions import ConnectTimeoutError
-+from urllib3.exceptions import HTTPError as _HTTPError
-+from urllib3.exceptions import MaxRetryError
-+from urllib3.exceptions import ProxyError as _ProxyError
-+from urllib3.exceptions import ProtocolError
-+from urllib3.exceptions import ReadTimeoutError
-+from urllib3.exceptions import SSLError as _SSLError
-+from urllib3.exceptions import ResponseError
- from .cookies import extract_cookies_to_jar
- from .exceptions import (ConnectionError, ConnectTimeout, ReadTimeout, SSLError,
-                          ProxyError, RetryError)
---- a/requests/compat.py
-+++ b/requests/compat.py
-@@ -4,7 +4,7 @@
- pythoncompat
- """
- 
--from .packages import chardet
-+import chardet
- 
- import sys
- 
-@@ -39,7 +39,7 @@
-     import cookielib
-     from Cookie import Morsel
-     from StringIO import StringIO
--    from .packages.urllib3.packages.ordered_dict import OrderedDict
-+    from urllib3.packages.ordered_dict import OrderedDict
- 
-     builtin_str = str
-     bytes = str
---- a/requests/models.py
-+++ b/requests/models.py
-@@ -16,10 +16,10 @@
- 
- from .auth import HTTPBasicAuth
- from .cookies import cookiejar_from_dict, get_cookie_header, _copy_cookie_jar
--from .packages.urllib3.fields import RequestField
--from .packages.urllib3.filepost import encode_multipart_formdata
--from .packages.urllib3.util import parse_url
--from .packages.urllib3.exceptions import (
-+from urllib3.fields import RequestField
-+from urllib3.filepost import encode_multipart_formdata
-+from urllib3.util import parse_url
-+from urllib3.exceptions import (
-     DecodeError, ReadTimeoutError, ProtocolError, LocationParseError)
- from .exceptions import (
-     HTTPError, MissingSchema, InvalidURL, ChunkedEncodingError,
---- a/setup.py
-+++ b/setup.py
-@@ -18,12 +18,6 @@
- packages = [
-     'requests',
-     'requests.packages',
--    'requests.packages.chardet',
--    'requests.packages.urllib3',
--    'requests.packages.urllib3.packages',
--    'requests.packages.urllib3.contrib',
--    'requests.packages.urllib3.util',
--    'requests.packages.urllib3.packages.ssl_match_hostname',
- ]
- 
- requires = []
---- a/requests/__init__.py
-+++ b/requests/__init__.py
-@@ -50,7 +50,7 @@
- 
- # Attempt to enable urllib3's SNI support, if possible
- try:
--    from .packages.urllib3.contrib import pyopenssl
-+    from urllib3.contrib import pyopenssl
-     pyopenssl.inject_into_urllib3()
- except ImportError:
-     pass
---- a/requests/exceptions.py
-+++ b/requests/exceptions.py
-@@ -7,7 +7,7 @@
- This module contains the set of Requests' exceptions.
- 
- """
--from .packages.urllib3.exceptions import HTTPError as BaseHTTPError
-+from urllib3.exceptions import HTTPError as BaseHTTPError
- 
- 
- class RequestException(IOError):
---- a/requests/sessions.py
-+++ b/requests/sessions.py
-@@ -21,7 +21,7 @@
- from .utils import to_key_val_list, default_headers, to_native_string
- from .exceptions import (
-     TooManyRedirects, InvalidSchema, ChunkedEncodingError, ContentDecodingError)
--from .packages.urllib3._collections import RecentlyUsedContainer
-+from urllib3._collections import RecentlyUsedContainer
- from .structures import CaseInsensitiveDict
- 
- from .adapters import HTTPAdapter

Modified: packages/requests/trunk/debian/patches/03_export-IncompleteRead.patch
===================================================================
--- packages/requests/trunk/debian/patches/03_export-IncompleteRead.patch	2015-06-10 03:47:44 UTC (rev 32945)
+++ packages/requests/trunk/debian/patches/03_export-IncompleteRead.patch	2015-06-10 22:46:16 UTC (rev 32946)
@@ -7,15 +7,15 @@
 
 --- a/requests/compat.py
 +++ b/requests/compat.py
-@@ -92,6 +92,7 @@
+@@ -40,6 +40,7 @@
      from Cookie import Morsel
      from StringIO import StringIO
-     from urllib3.packages.ordered_dict import OrderedDict
+     from .packages.urllib3.packages.ordered_dict import OrderedDict
 +    from httplib import IncompleteRead
  
      builtin_str = str
      bytes = str
-@@ -107,6 +108,7 @@
+@@ -54,6 +55,7 @@
      from http.cookies import Morsel
      from io import StringIO
      from collections import OrderedDict

Deleted: packages/requests/trunk/debian/patches/04_make-requests.packages.urllib3-same-as-urllib3.patch
===================================================================
--- packages/requests/trunk/debian/patches/04_make-requests.packages.urllib3-same-as-urllib3.patch	2015-06-10 03:47:44 UTC (rev 32945)
+++ packages/requests/trunk/debian/patches/04_make-requests.packages.urllib3-same-as-urllib3.patch	2015-06-10 22:46:16 UTC (rev 32946)
@@ -1,46 +0,0 @@
-Description: Make Python import system know that requests.packages.urllib3 and
-urllib3 are the same thing.
-Author: Jakub Wilk <jwilk at debian.org>
-Forwarded: not-needed
-Bug-Debian: https://bugs.debian.org/769047
-Bug-Debian: https://bugs.debian.org/769496
-Last-Update: 2015-05-03
-
---- a/requests/__init__.py
-+++ b/requests/__init__.py
-@@ -48,6 +48,28 @@
- __license__ = 'Apache 2.0'
- __copyright__ = 'Copyright 2015 Kenneth Reitz'
- 
-+# On Debian make Python import system know that requests.packages.urllib3
-+# and urllib3 are the same thing.
-+import pkgutil
-+import sys
-+import urllib3
-+
-+def _attach_namespace(package, where):
-+    # Attach package top namespace
-+    sys.modules[where + '.' + package.__name__] = package
-+    for loader, name, ispkg in pkgutil.walk_packages(package.__path__,
-+                                                     package.__name__ + '.'):
-+        try:
-+            module = __import__(name)
-+        except ImportError:
-+            continue
-+        sys.modules[where + '.' + name] = module
-+
-+_attach_namespace(urllib3, 'requests.packages')
-+del _attach_namespace
-+# Python 3 needs this imported explicitly.
-+import requests.packages
-+
- # Attempt to enable urllib3's SNI support, if possible
- try:
-     from urllib3.contrib import pyopenssl
---- a/requests/packages/__init__.py
-+++ b/requests/packages/__init__.py
-@@ -1,3 +1,3 @@
- from __future__ import absolute_import
- 
--from . import urllib3
-+import urllib3

Added: packages/requests/trunk/debian/patches/05_upstream_devendorize.patch
===================================================================
--- packages/requests/trunk/debian/patches/05_upstream_devendorize.patch	                        (rev 0)
+++ packages/requests/trunk/debian/patches/05_upstream_devendorize.patch	2015-06-10 22:46:16 UTC (rev 32946)
@@ -0,0 +1,50 @@
+From b7fc3a1250cb13ed3b55010ccc33f2681f0ffa4a Mon Sep 17 00:00:00 2001
+From: Markus Unterwaditzer <markus at unterwaditzer.net>
+Date: Fri, 24 Apr 2015 12:05:18 +0200
+Subject: [PATCH 1/2] Import aliases for Debian
+
+Alternative to #2375
+---
+ requests/packages/__init__.py | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+--- a/requests/packages/__init__.py
++++ b/requests/packages/__init__.py
+@@ -1,3 +1,36 @@
++'''
++Debian and other distributions "unbundle" requests' vendored dependencies, and
++rewrite all imports to use the global versions of ``urllib3`` and ``chardet``.
++The problem with this is that not only requests itself imports those
++dependencies, but third-party code outside of the distros' control too.
++
++In reaction to these problems, the distro maintainers replaced
++``requests.packages`` with a magical "stub module" that imports the correct
++modules. The implementations were varying in quality and all had severe
++problems. For example, a symlink (or hardlink) that links the correct modules
++into place introduces problems regarding object identity, since you now have
++two modules in `sys.modules` with the same API, but different identities::
++
++    requests.packages.urllib3 is not urllib3
++
++With version ``2.5.2``, requests started to maintain its own stub, so that
++distro-specific breakage would be reduced to a minimum, even though the whole
++issue is not requests' fault in the first place. See
++https://github.com/kennethreitz/requests/pull/2375 for the corresponding pull
++request.
++'''
++
+ from __future__ import absolute_import
++import sys
++
++try:
++    from . import urllib3
++except ImportError:
++    import urllib3
++    sys.modules['%s.urllib3' % __name__] = urllib3
+ 
+-from . import urllib3
++try:
++    from . import chardet
++except ImportError:
++    import chardet
++    sys.modules['%s.chardet' % __name__] = chardet

Modified: packages/requests/trunk/debian/patches/series
===================================================================
--- packages/requests/trunk/debian/patches/series	2015-06-10 03:47:44 UTC (rev 32945)
+++ packages/requests/trunk/debian/patches/series	2015-06-10 22:46:16 UTC (rev 32946)
@@ -1,4 +1,3 @@
 01_use-system-ca-certificates.patch
-02_use-system-chardet-and-urllib3.patch
 03_export-IncompleteRead.patch
-04_make-requests.packages.urllib3-same-as-urllib3.patch
+05_upstream_devendorize.patch




More information about the Python-modules-commits mailing list