summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/boto')
-rw-r--r--dev-python/boto/Manifest1
-rw-r--r--dev-python/boto/boto-2.49.0-r4.ebuild60
-rw-r--r--dev-python/boto/files/boto-2.49.0-py3-httplib-strict.patch35
-rw-r--r--dev-python/boto/files/boto-2.49.0-py3-server-port.patch42
-rw-r--r--dev-python/boto/files/boto-2.49.0-py3-socket-binary.patch59
-rw-r--r--dev-python/boto/files/boto-2.49.0-py38.patch54
-rw-r--r--dev-python/boto/files/boto-2.49.0-try-to-add-SNI-support-v3.patch104
-rw-r--r--dev-python/boto/files/boto-2.49.0-unbundle-six.patch28
-rw-r--r--dev-python/boto/metadata.xml14
9 files changed, 0 insertions, 397 deletions
diff --git a/dev-python/boto/Manifest b/dev-python/boto/Manifest
deleted file mode 100644
index 880178074c3e..000000000000
--- a/dev-python/boto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST boto-2.49.0.tar.gz 1478498 BLAKE2B 6a897ea162f5f4bd34a2d488a3e3897f7f2f5b8707dd0922c01b6a0b90ea577223bf3e588b6685bda1f2bc0e92af426711fcba67a70377183465a530065c6c84 SHA512 2175cf30cd25bbc05812e83e5ade7668c3e21b1bb09aa1b43f0f0ac7d6967a646394fb52c9be673ebb65618c5b33a52d6f31f6da702f5cd1d6c9a18169476dd4
diff --git a/dev-python/boto/boto-2.49.0-r4.ebuild b/dev-python/boto/boto-2.49.0-r4.ebuild
deleted file mode 100644
index e9c03a7e7cd4..000000000000
--- a/dev-python/boto/boto-2.49.0-r4.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{7..9} )
-DISTUTILS_USE_SETUPTOOLS=bdepend
-
-inherit distutils-r1
-
-DESCRIPTION="Amazon Web Services API"
-HOMEPAGE="https://github.com/boto/boto https://pypi.org/project/boto/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc ~ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-PATCHES=(
- # taken from https://bugs.debian.org/909545
- "${FILESDIR}"/${P}-try-to-add-SNI-support-v3.patch
- "${FILESDIR}"/${P}-py38.patch
- "${FILESDIR}"/${P}-py3-socket-binary.patch
- "${FILESDIR}"/${P}-py3-httplib-strict.patch
- "${FILESDIR}"/${P}-py3-server-port.patch
- "${FILESDIR}"/${P}-unbundle-six.patch
-)
-
-RDEPEND=">=dev-python/six-1.12.0[${PYTHON_USEDEP}]"
-
-BDEPEND="
- test? (
- dev-python/httpretty[${PYTHON_USEDEP}]
- dev-python/keyring[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/paramiko[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/rsa[${PYTHON_USEDEP}]
- dev-python/selenium[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests nose
-
-src_prepare() {
- # remove bundled libs.
- rm -f "${S}"/boto/vendored/six.py || die
- # broken, not worth fixing
- rm tests/unit/cloudfront/test_signed_urls.py || die
- # fix tests
- mkdir -p "${HOME}"/.ssh || die
- : > "${HOME}"/.ssh/known_hosts || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- nosetests -v tests/unit ||
- die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/boto/files/boto-2.49.0-py3-httplib-strict.patch b/dev-python/boto/files/boto-2.49.0-py3-httplib-strict.patch
deleted file mode 100644
index 209b01aa74a0..000000000000
--- a/dev-python/boto/files/boto-2.49.0-py3-httplib-strict.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-https://github.com/boto/boto/commit/4f4dcb31fe852c05ce19b44eb9d5b5d747e36f7c
-https://github.com/boto/boto/pull/2718
-
-From 4f4dcb31fe852c05ce19b44eb9d5b5d747e36f7c Mon Sep 17 00:00:00 2001
-From: Lee Ball <43632885+catleeball@users.noreply.github.com>
-Date: Mon, 10 Jun 2019 16:02:53 -0700
-Subject: [PATCH] Remove `strict=True` from http_client (#6)
-
-In Python 3.4, the `strict` kwarg was removed[1]. We are removing it
-here too.
-
-Alternatively, we can leave in `strict=True` for 2.x, but I chose to
-remove it entirely to maintain consistent behavior across versions.
-
-[1]: https://docs.python.org/3/library/http.client.html
----
- boto/connection.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/boto/connection.py b/boto/connection.py
-index c731173bb4eb..54e26fb2de16 100644
---- a/boto/connection.py
-+++ b/boto/connection.py
-@@ -807,7 +807,7 @@ class AWSAuthConnection(object):
- sock.sendall(six.ensure_binary("\r\n"))
- else:
- sock.sendall(six.ensure_binary("\r\n"))
-- resp = http_client.HTTPResponse(sock, strict=True, debuglevel=self.debug)
-+ resp = http_client.HTTPResponse(sock, debuglevel=self.debug)
- resp.begin()
-
- if resp.status != 200:
---
-2.28.0
-
diff --git a/dev-python/boto/files/boto-2.49.0-py3-server-port.patch b/dev-python/boto/files/boto-2.49.0-py3-server-port.patch
deleted file mode 100644
index 62e331921980..000000000000
--- a/dev-python/boto/files/boto-2.49.0-py3-server-port.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-https://github.com/boto/boto/commit/b9f6cb0ab717ea76e2780c7fddd1cd36b3bf7d63
-
-From b9f6cb0ab717ea76e2780c7fddd1cd36b3bf7d63 Mon Sep 17 00:00:00 2001
-From: Matt Houglum <houglum@google.com>
-Date: Fri, 21 Jun 2019 15:09:11 -0700
-Subject: [PATCH] Make server_name() behave correctly for PY3
-
-...because Python-2.6-or-newer doesn't just include Python 2.6 and 2.7.
----
- boto/connection.py | 14 +++++---------
- 1 file changed, 5 insertions(+), 9 deletions(-)
-
-diff --git a/boto/connection.py b/boto/connection.py
-index 54e26fb2de16..bbb25d8fb842 100644
---- a/boto/connection.py
-+++ b/boto/connection.py
-@@ -650,17 +650,13 @@ class AWSAuthConnection(object):
- if port == 80:
- signature_host = self.host
- else:
-- # This unfortunate little hack can be attributed to
-- # a difference in the 2.6 version of http_client. In old
-- # versions, it would append ":443" to the hostname sent
-- # in the Host header and so we needed to make sure we
-- # did the same when calculating the V2 signature. In 2.6
-- # (and higher!)
-- # it no longer does that. Hence, this kludge.
-- if ((ON_APP_ENGINE and sys.version[:3] == '2.5') or
-- sys.version[:3] in ('2.6', '2.7')) and port == 443:
-+ ver_int = sys.version_info[0] * 10 + sys.version_info[1]
-+ if port == 443 and ver_int >= 26: # Py >= 2.6
- signature_host = self.host
- else:
-+ # In versions < 2.6, Python's http_client would append ":443"
-+ # to the hostname sent in the Host header and so we needed to
-+ # make sure we did the same when calculating the V2 signature.
- signature_host = '%s:%d' % (self.host, port)
- return signature_host
-
---
-2.28.0
-
diff --git a/dev-python/boto/files/boto-2.49.0-py3-socket-binary.patch b/dev-python/boto/files/boto-2.49.0-py3-socket-binary.patch
deleted file mode 100644
index 1d109a3f4995..000000000000
--- a/dev-python/boto/files/boto-2.49.0-py3-socket-binary.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-https://github.com/boto/boto/commit/d2cb697b32c297858ecc36701a5a4176818ab36d
-https://github.com/boto/boto/pull/2718
-https://github.com/boto/boto/pull/2893
-https://github.com/boto/boto/pull/3699
-
-From d2cb697b32c297858ecc36701a5a4176818ab36d Mon Sep 17 00:00:00 2001
-From: Cat Lee Ball <cball@google.com>
-Date: Mon, 10 Jun 2019 13:31:11 -0700
-Subject: [PATCH] Ensure binary strings sent to socket
-
-When running pre-release tests with proxied connections, it appeared a
-few spots in connection.py would fail under Python 3 since the
-socket.sendall method expects binary strings rather than unicode.
----
- boto/connection.py | 13 +++++++------
- 1 file changed, 7 insertions(+), 6 deletions(-)
-
-diff --git a/boto/connection.py b/boto/connection.py
-index a0d89a51f49c..d084d1f881fb 100644
---- a/boto/connection.py
-+++ b/boto/connection.py
-@@ -796,17 +796,17 @@ class AWSAuthConnection(object):
- else:
- sock = socket.create_connection((self.proxy, int(self.proxy_port)))
- boto.log.debug("Proxy connection: CONNECT %s HTTP/1.0\r\n", host)
-- sock.sendall("CONNECT %s HTTP/1.0\r\n" % host)
-- sock.sendall("User-Agent: %s\r\n" % UserAgent)
-+ sock.sendall(six.ensure_binary("CONNECT %s HTTP/1.0\r\n" % host))
-+ sock.sendall(six.ensure_binary("User-Agent: %s\r\n" % UserAgent))
- if self.proxy_user and self.proxy_pass:
- for k, v in self.get_proxy_auth_header().items():
-- sock.sendall("%s: %s\r\n" % (k, v))
-+ sock.sendall(six.ensure_binary("%s: %s\r\n" % (k, v)))
- # See discussion about this config option at
- # https://groups.google.com/forum/?fromgroups#!topic/boto-dev/teenFvOq2Cc
- if config.getbool('Boto', 'send_crlf_after_proxy_auth_headers', False):
-- sock.sendall("\r\n")
-+ sock.sendall(six.ensure_binary("\r\n"))
- else:
-- sock.sendall("\r\n")
-+ sock.sendall(six.ensure_binary("\r\n"))
- resp = http_client.HTTPResponse(sock, strict=True, debuglevel=self.debug)
- resp.begin()
-
-@@ -814,9 +814,10 @@ class AWSAuthConnection(object):
- # Fake a socket error, use a code that make it obvious it hasn't
- # been generated by the socket library
- raise socket.error(-71,
-+ six.ensure_binary(
- "Error talking to HTTP proxy %s:%s: %s (%s)" %
- (self.proxy, self.proxy_port,
-- resp.status, resp.reason))
-+ resp.status, resp.reason)))
-
- # We can safely close the response, it duped the original socket
- resp.close()
---
-2.28.0
-
diff --git a/dev-python/boto/files/boto-2.49.0-py38.patch b/dev-python/boto/files/boto-2.49.0-py38.patch
deleted file mode 100644
index 0052c6e32e86..000000000000
--- a/dev-python/boto/files/boto-2.49.0-py38.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-diff --git a/boto/ecs/item.py b/boto/ecs/item.py
-index 79177a31..292b05af 100644
---- a/boto/ecs/item.py
-+++ b/boto/ecs/item.py
-@@ -21,7 +21,7 @@
-
-
- import xml.sax
--import cgi
-+import html
- from boto.compat import six, StringIO
-
- class ResponseGroup(xml.sax.ContentHandler):
-@@ -67,7 +67,7 @@ class ResponseGroup(xml.sax.ContentHandler):
- return None
-
- def endElement(self, name, value, connection):
-- self._xml.write("%s</%s>" % (cgi.escape(value).replace("&amp;amp;", "&amp;"), name))
-+ self._xml.write("%s</%s>" % (html.escape(value).replace("&amp;amp;", "&amp;"), name))
- if len(self._nodepath) == 0:
- return
- obj = None
-diff --git a/tests/unit/utils/test_utils.py b/tests/unit/utils/test_utils.py
-index db15b56d..89d1a524 100644
---- a/tests/unit/utils/test_utils.py
-+++ b/tests/unit/utils/test_utils.py
-@@ -85,7 +85,7 @@ class TestPassword(unittest.TestCase):
- def hmac_hashfunc(cls, msg):
- if not isinstance(msg, bytes):
- msg = msg.encode('utf-8')
-- return hmac.new(b'mysecretkey', msg)
-+ return hmac.new(b'mysecretkey', msg, digestmod='MD5')
-
- class HMACPassword(Password):
- hashfunc = hmac_hashfunc
-@@ -95,15 +95,15 @@ class TestPassword(unittest.TestCase):
- password.set('foo')
-
- self.assertEquals(str(password),
-- hmac.new(b'mysecretkey', b'foo').hexdigest())
-+ hmac.new(b'mysecretkey', b'foo', digestmod='MD5').hexdigest())
-
- def test_constructor(self):
-- hmac_hashfunc = lambda msg: hmac.new(b'mysecretkey', msg)
-+ hmac_hashfunc = lambda msg: hmac.new(b'mysecretkey', msg, digestmod='MD5')
-
- password = Password(hashfunc=hmac_hashfunc)
- password.set('foo')
- self.assertEquals(password.str,
-- hmac.new(b'mysecretkey', b'foo').hexdigest())
-+ hmac.new(b'mysecretkey', b'foo', digestmod='MD5').hexdigest())
-
-
- class TestPythonizeName(unittest.TestCase):
diff --git a/dev-python/boto/files/boto-2.49.0-try-to-add-SNI-support-v3.patch b/dev-python/boto/files/boto-2.49.0-try-to-add-SNI-support-v3.patch
deleted file mode 100644
index 11d346a2199e..000000000000
--- a/dev-python/boto/files/boto-2.49.0-try-to-add-SNI-support-v3.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-From f5e7f6c98b46ff622f60a4661ffc9ce07216d109 Mon Sep 17 00:00:00 2001
-From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
-Date: Sat, 29 Sep 2018 21:47:11 +0200
-Subject: [PATCH] boto: try to add SNI support
-
-Add SNI support. Newer OpenSSL (with TLS1.3) fail to connect if the
-hostname is missing.
-
-Link: https://bugs.debian.org/bug=909545
-Tested-by: Witold Baryluk <witold.baryluk@gmail.com>
-Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
----
- boto/connection.py | 19 ++++++++++---------
- boto/https_connection.py | 22 +++++++++++-----------
- 2 files changed, 21 insertions(+), 20 deletions(-)
-
-diff --git a/boto/connection.py b/boto/connection.py
-index 34b428f101df7..b4867a7657465 100644
---- a/boto/connection.py
-+++ b/boto/connection.py
-@@ -778,8 +778,10 @@
-
- def proxy_ssl(self, host=None, port=None):
- if host and port:
-+ cert_host = host
- host = '%s:%d' % (host, port)
- else:
-+ cert_host = self.host
- host = '%s:%d' % (self.host, self.port)
- # Seems properly to use timeout for connect too
- timeout = self.http_connection_kwargs.get("timeout")
-@@ -824,23 +824,24 @@ DEFAULT_CA_CERTS_FILE = os.path.join(os.path.dirname(os.path.abspath(boto.cacert
- h = http_client.HTTPConnection(host)
-
- if self.https_validate_certificates and HAVE_HTTPS_CONNECTION:
-+ context = ssl.create_default_context()
-+ context.verify_mode = ssl.CERT_REQUIRED
-+ context.check_hostname = True
-+
- msg = "wrapping ssl socket for proxied connection; "
- if self.ca_certificates_file:
- msg += "CA certificate file=%s" % self.ca_certificates_file
-+ context.load_verify_locations(cafile=self.ca_certificates_file)
- else:
- msg += "using system provided SSL certs"
-+ context.load_default_certs()
- boto.log.debug(msg)
- key_file = self.http_connection_kwargs.get('key_file', None)
- cert_file = self.http_connection_kwargs.get('cert_file', None)
-- sslSock = ssl.wrap_socket(sock, keyfile=key_file,
-- certfile=cert_file,
-- cert_reqs=ssl.CERT_REQUIRED,
-- ca_certs=self.ca_certificates_file)
-- cert = sslSock.getpeercert()
-- hostname = self.host.split(':', 0)[0]
-- if not https_connection.ValidateCertificateHostname(cert, hostname):
-- raise https_connection.InvalidCertificateException(
-- hostname, cert, 'hostname mismatch')
-+ if key_file:
-+ context.load_cert_chain(certfile=cert_file, keyfile=key_file)
-+
-+ sslSock = context.wrap_socket(sock, server_hostname=cert_host)
- else:
- # Fallback for old Python without ssl.wrap_socket
- if hasattr(http_client, 'ssl'):
-diff --git a/boto/https_connection.py b/boto/https_connection.py
-index ddc31a152292e..a5076f6f9b261 100644
---- a/boto/https_connection.py
-+++ b/boto/https_connection.py
-@@ -119,20 +119,20 @@ from boto.compat import six, http_client
- sock = socket.create_connection((self.host, self.port), self.timeout)
- else:
- sock = socket.create_connection((self.host, self.port))
-+
-+ context = ssl.create_default_context()
-+ context.verify_mode = ssl.CERT_REQUIRED
-+ context.check_hostname = True
-+ if self.key_file:
-+ context.load_cert_chain(certfile=self.cert_file, keyfile=self.key_file)
-+
- msg = "wrapping ssl socket; "
- if self.ca_certs:
- msg += "CA certificate file=%s" % self.ca_certs
-+ context.load_verify_locations(cafile=self.ca_certs)
- else:
- msg += "using system provided SSL certs"
-+ context.load_default_certs()
- boto.log.debug(msg)
-- self.sock = ssl.wrap_socket(sock, keyfile=self.key_file,
-- certfile=self.cert_file,
-- cert_reqs=ssl.CERT_REQUIRED,
-- ca_certs=self.ca_certs)
-- cert = self.sock.getpeercert()
-- hostname = self.host.split(':', 0)[0]
-- if not ValidateCertificateHostname(cert, hostname):
-- raise InvalidCertificateException(hostname,
-- cert,
-- 'remote hostname "%s" does not match '
-- 'certificate' % hostname)
-+
-+ self.sock = context.wrap_socket(sock, server_hostname=self.host)
---
-2.19.0
-
diff --git a/dev-python/boto/files/boto-2.49.0-unbundle-six.patch b/dev-python/boto/files/boto-2.49.0-unbundle-six.patch
deleted file mode 100644
index 188dae7eb6fd..000000000000
--- a/dev-python/boto/files/boto-2.49.0-unbundle-six.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-use the system copy of six
-
---- a/boto/compat.py
-+++ b/boto/compat.py
-@@ -46,16 +46,16 @@ except (AttributeError, ImportError):
- # This is probably running on App Engine.
- expanduser = (lambda x: x)
-
--from boto.vendored import six
-+import six
-
--from boto.vendored.six import BytesIO, StringIO
--from boto.vendored.six.moves import filter, http_client, map, _thread, \
-+from six import BytesIO, StringIO
-+from six.moves import filter, http_client, map, _thread, \
- urllib, zip
--from boto.vendored.six.moves.queue import Queue
--from boto.vendored.six.moves.urllib.parse import parse_qs, quote, unquote, \
-+from six.moves.queue import Queue
-+from six.moves.urllib.parse import parse_qs, quote, unquote, \
- urlparse, urlsplit
--from boto.vendored.six.moves.urllib.parse import unquote_plus
--from boto.vendored.six.moves.urllib.request import urlopen
-+from six.moves.urllib.parse import unquote_plus
-+from six.moves.urllib.request import urlopen
-
- if six.PY3:
- # StandardError was removed, so use the base exception type instead
diff --git a/dev-python/boto/metadata.xml b/dev-python/boto/metadata.xml
deleted file mode 100644
index 021d4e3296d2..000000000000
--- a/dev-python/boto/metadata.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="google-code">boto</remote-id>
- <remote-id type="pypi">boto</remote-id>
- <remote-id type="github">boto/boto</remote-id>
- </upstream>
-</pkgmetadata>