[arch-commits] Commit in python-httpx/repos (3 files)

Evangelos Foutras foutrelis at archlinux.org
Mon Nov 9 20:20:21 UTC 2020


    Date: Monday, November 9, 2020 @ 20:20:21
  Author: foutrelis
Revision: 748200

archrelease: copy trunk to community-staging-any

Added:
  python-httpx/repos/community-staging-any/
  python-httpx/repos/community-staging-any/0001-Do-not-override-the-system-SSL-certificates-with-the.patch
    (from rev 748195, python-httpx/trunk/0001-Do-not-override-the-system-SSL-certificates-with-the.patch)
  python-httpx/repos/community-staging-any/PKGBUILD
    (from rev 748196, python-httpx/trunk/PKGBUILD)

-----------------------------------------------------------------+
 0001-Do-not-override-the-system-SSL-certificates-with-the.patch |   87 ++++++++++
 PKGBUILD                                                        |   46 +++++
 2 files changed, 133 insertions(+)

Copied: python-httpx/repos/community-staging-any/0001-Do-not-override-the-system-SSL-certificates-with-the.patch (from rev 748195, python-httpx/trunk/0001-Do-not-override-the-system-SSL-certificates-with-the.patch)
===================================================================
--- community-staging-any/0001-Do-not-override-the-system-SSL-certificates-with-the.patch	                        (rev 0)
+++ community-staging-any/0001-Do-not-override-the-system-SSL-certificates-with-the.patch	2020-11-09 20:20:21 UTC (rev 748200)
@@ -0,0 +1,87 @@
+From d03e57b75c2eb8a3696b6dd9a5f84aba4f01280c Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz at archlinux.org>
+Date: Mon, 13 Jul 2020 11:29:54 -0400
+Subject: [PATCH] Do not override the system SSL certificates with the certifi
+ bundle.
+
+We need to respect the system certification policy, and by default the
+ssl module will use our packaged ca-certificates.
+
+ssl.create_default_context(cafile=None) is the default to use the
+builtin (system) certs, but due to the sorcery which this module uses to
+check how arguments are being passed, it's less invasive to simply
+hardcode the standard certificate path instead of letting python
+properly handle it.
+---
+ httpx/_config.py     | 4 +---
+ setup.py             | 1 -
+ tests/test_config.py | 5 ++---
+ 3 files changed, 3 insertions(+), 7 deletions(-)
+
+diff --git a/httpx/_config.py b/httpx/_config.py
+index 8d589ea..ea256a8 100644
+--- a/httpx/_config.py
++++ b/httpx/_config.py
+@@ -5,8 +5,6 @@ import warnings
+ from base64 import b64encode
+ from pathlib import Path
+ 
+-import certifi
+-
+ from ._models import URL, Headers
+ from ._types import CertTypes, HeaderTypes, TimeoutTypes, URLTypes, VerifyTypes
+ from ._utils import get_ca_bundle_from_env, get_logger, warn_deprecated
+@@ -57,7 +55,7 @@ class SSLConfig:
+     SSL Configuration.
+     """
+ 
+-    DEFAULT_CA_BUNDLE_PATH = Path(certifi.where())
++    DEFAULT_CA_BUNDLE_PATH = Path("/etc/ssl/certs/ca-certificates.crt")
+ 
+     def __init__(
+         self,
+diff --git a/setup.py b/setup.py
+index e811d2a..2eaf419 100644
+--- a/setup.py
++++ b/setup.py
+@@ -55,7 +55,6 @@ setup(
+     include_package_data=True,
+     zip_safe=False,
+     install_requires=[
+-        "certifi",
+         "sniffio",
+         "chardet==3.*",
+         "rfc3986[idna2008]>=1.3,<2",
+diff --git a/tests/test_config.py b/tests/test_config.py
+index 5c68bad..a03c607 100644
+--- a/tests/test_config.py
++++ b/tests/test_config.py
+@@ -3,7 +3,6 @@ import ssl
+ import sys
+ from pathlib import Path
+ 
+-import certifi
+ import pytest
+ 
+ import httpx
+@@ -21,7 +20,7 @@ def test_load_ssl_config_verify_non_existing_path():
+ 
+ 
+ def test_load_ssl_config_verify_existing_file():
+-    context = httpx.create_ssl_context(verify=certifi.where())
++    context = httpx.create_ssl_context(verify="/etc/ssl/certs/ca-certificates.crt")
+     assert context.verify_mode == ssl.VerifyMode.CERT_REQUIRED
+     assert context.check_hostname is True
+ 
+@@ -44,7 +43,7 @@ def test_load_ssl_config_verify_env_file(
+ 
+ 
+ def test_load_ssl_config_verify_directory():
+-    path = Path(certifi.where()).parent
++    path = Path("/etc/ssl/certs/ca-certificates.crt").parent
+     context = httpx.create_ssl_context(verify=str(path))
+     assert context.verify_mode == ssl.VerifyMode.CERT_REQUIRED
+     assert context.check_hostname is True
+-- 
+2.28.0
+

Copied: python-httpx/repos/community-staging-any/PKGBUILD (from rev 748196, python-httpx/trunk/PKGBUILD)
===================================================================
--- community-staging-any/PKGBUILD	                        (rev 0)
+++ community-staging-any/PKGBUILD	2020-11-09 20:20:21 UTC (rev 748200)
@@ -0,0 +1,46 @@
+# Maintainer: Eli Schwartz <eschwartz at archlinux.org>
+
+_pkgname=httpx
+pkgname=python-httpx
+pkgver=0.16.1
+pkgrel=2
+pkgdesc="A next generation HTTP client for Python"
+arch=('any')
+url="https://github.com/encode/${_pkgname}"
+license=('BSD')
+depends=('python-chardet' 'python-httpcore' 'python-idna' 'python-rfc3986' 'python-sniffio')
+optdepends=('python-brotli: for brotli response decompression')
+makedepends=('python-setuptools')
+checkdepends=('python-pytest-asyncio' 'python-pytest-trio' 'python-brotli' 'python-h2' 'python-trustme' 'uvicorn')
+source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/${pkgver}.tar.gz"
+        "0001-Do-not-override-the-system-SSL-certificates-with-the.patch")
+sha512sums=('d76b2c94c655c187ab150f20b16906034574d017a67c4a06c456d55071434cc0ba7752bdceda86aa6b1a1fe9109fa11594e4ea679cd7d2a77898fb40fa5153d3'
+            'e4b1e33a77cdb5555a4ac3d09b59bc4a0a176a7f5d97099d66a4876abcfd3889058e21beb8bfc375e8e7e61b3808d2a76119033e1a44602d8e6cd461ea3f88de')
+b2sums=('a6c5bcdda595ffcfb824194564ebd93760a9180e60665a9540fc6a2822b1be4273b940fee61cb4b49c2d97a5f4d71b1caf32deddec18d2fb636465b3868aece4'
+        'e03d340cef44bfb322219030bbcbe53c1323c8b9d9d7aace07045e80faa185a7594839c9ff0fee9604a7fddf916db462f95a341d51f17072bce8e55d53055c7b')
+
+prepare() {
+    cd "${srcdir}"/${_pkgname}-${pkgver}
+
+    # bad certifi
+    patch -p1 -i ../0001-Do-not-override-the-system-SSL-certificates-with-the.patch
+}
+
+build() {
+    cd "${srcdir}"/${_pkgname}-${pkgver}
+
+    python setup.py build
+}
+
+check() {
+    cd "${srcdir}"/${_pkgname}-${pkgver}
+
+    python -m pytest
+}
+
+package() {
+    cd "${srcdir}"/${_pkgname}-${pkgver}
+
+    python setup.py install --root="${pkgdir}" --optimize=1 --skip-build
+    install -Dm644 LICENSE.md "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE.md
+}



More information about the arch-commits mailing list