diff --git a/.azure-pipelines/templates/steps/tox-steps.yml b/.azure-pipelines/templates/steps/tox-steps.yml index a993677b1..e7f3ac70c 100644 --- a/.azure-pipelines/templates/steps/tox-steps.yml +++ b/.azure-pipelines/templates/steps/tox-steps.yml @@ -1,3 +1,5 @@ +# This does not include the dependencies needed to build cryptography. See +# https://cryptography.io/en/latest/installation/ steps: # We run brew update because we've seen attempts to install an older version # of a package fail. See @@ -12,14 +14,8 @@ steps: set -e sudo apt-get update sudo apt-get install -y --no-install-recommends \ - python3-dev \ - gcc \ libaugeas0 \ - libssl-dev \ - libffi-dev \ - ca-certificates \ - nginx-light \ - openssl + nginx-light sudo systemctl stop nginx sudo sysctl net.ipv4.ip_unprivileged_port_start=0 condition: startswith(variables['IMAGE_NAME'], 'ubuntu') diff --git a/Dockerfile-dev b/Dockerfile-dev index 895dbdc0b..7c7530305 100644 --- a/Dockerfile-dev +++ b/Dockerfile-dev @@ -7,10 +7,11 @@ EXPOSE 80 443 WORKDIR /opt/certbot/src COPY . . +# This does not include the dependencies needed to build cryptography. See +# https://cryptography.io/en/latest/installation/#building-cryptography-on-linux RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get install apache2 git python3-dev \ - python3-venv gcc libaugeas0 libssl-dev libffi-dev ca-certificates \ - openssl nginx-light -y --no-install-recommends && \ + DEBIAN_FRONTEND=noninteractive apt-get install apache2 git python3-venv \ + libaugeas0 nginx-light -y --no-install-recommends && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* \ /tmp/* \ diff --git a/certbot-ci/certbot_integration_tests/utils/pebble_ocsp_server.py b/certbot-ci/certbot_integration_tests/utils/pebble_ocsp_server.py index 1749b03da..72520bd8b 100755 --- a/certbot-ci/certbot_integration_tests/utils/pebble_ocsp_server.py +++ b/certbot-ci/certbot_integration_tests/utils/pebble_ocsp_server.py @@ -37,7 +37,9 @@ class _ProxyHandler(BaseHTTPServer.BaseHTTPRequestHandler): verify=False, timeout=10) issuer_cert = x509.load_pem_x509_certificate(request.content, default_backend()) - content_len = int(self.headers.get('Content-Length')) + raw_content_len = self.headers.get('Content-Length') + assert isinstance(raw_content_len, str) + content_len = int(raw_content_len) ocsp_request = ocsp.load_der_ocsp_request(self.rfile.read(content_len)) response = requests.get('{0}/cert-status-by-serial/{1}'.format( diff --git a/certbot-compatibility-test/Dockerfile b/certbot-compatibility-test/Dockerfile index 646f2c99e..0dfeddcff 100644 --- a/certbot-compatibility-test/Dockerfile +++ b/certbot-compatibility-test/Dockerfile @@ -1,9 +1,10 @@ FROM debian:buster MAINTAINER Brad Warren +# This does not include the dependencies needed to build cryptography. See +# https://cryptography.io/en/latest/installation/#building-cryptography-on-linux RUN apt-get update && \ - apt install python3-dev python3-venv gcc libaugeas0 libssl-dev \ - libffi-dev ca-certificates openssl -y + apt install python3-venv libaugeas0 -y WORKDIR /opt/certbot/src diff --git a/certbot/certbot/compat/filesystem.py b/certbot/certbot/compat/filesystem.py index b975f95b5..13fc44098 100644 --- a/certbot/certbot/compat/filesystem.py +++ b/certbot/certbot/compat/filesystem.py @@ -274,9 +274,9 @@ def open(file_path: str, flags: int, mode: int = 0o777) -> int: # pylint: disab return os.open(file_path, flags ^ os.O_CREAT ^ os.O_EXCL) # Windows: general case, we call os.open, let exceptions be thrown, then chmod if all is fine. - handle = os.open(file_path, flags) + fd = os.open(file_path, flags) chmod(file_path, mode) - return handle + return fd def makedirs(file_path: str, mode: int = 0o777) -> None: diff --git a/certbot/docs/contributing.rst b/certbot/docs/contributing.rst index d16884da2..532f6df6c 100644 --- a/certbot/docs/contributing.rst +++ b/certbot/docs/contributing.rst @@ -41,13 +41,11 @@ Install and configure the OS system dependencies required to run Certbot. # For APT-based distributions (e.g. Debian, Ubuntu ...) sudo apt update - sudo apt install python3-dev python3-venv gcc libaugeas0 libssl-dev \ - libffi-dev ca-certificates openssl + sudo apt install python3-venv libaugeas0 # For RPM-based distributions (e.g. Fedora, CentOS ...) # NB1: old distributions will use yum instead of dnf - # NB2: RHEL-based distributions use python3X-devel instead of python3-devel (e.g. python36-devel) - sudo dnf install python3-devel gcc augeas-libs openssl-devel libffi-devel \ - redhat-rpm-config ca-certificates openssl + # NB2: RHEL-based distributions use python3X instead of python3 (e.g. python38) + sudo dnf install python3 augeas-libs # For macOS installations with Homebrew already installed and configured # NB: If you also run `brew install python` you don't need the ~/lib # directory created below, however, Certbot's Apache plugin won't work @@ -57,6 +55,12 @@ Install and configure the OS system dependencies required to run Certbot. mkdir ~/lib ln -s $(brew --prefix)/lib/libaugeas* ~/lib +.. note:: If you have trouble creating the virtual environment below, you may + need to install additional dependencies. See the `cryptography project's + site`_ for more information. + +.. _`cryptography project's site`: https://cryptography.io/en/latest/installation.html#building-cryptography-on-linux + Set up the Python virtual environment that will host your Certbot local instance. .. code-block:: shell diff --git a/certbot/setup.py b/certbot/setup.py index 0ab157d94..2e60c30a7 100644 --- a/certbot/setup.py +++ b/certbot/setup.py @@ -95,9 +95,11 @@ test_extras = [ 'pytest-xdist', 'setuptools', 'tox', + 'types-httplib2', 'types-pyOpenSSL', 'types-pyRFC3339', 'types-pytz', + 'types-pywin32', 'types-requests', 'types-setuptools', 'types-six', diff --git a/letstest/scripts/bootstrap_os_packages.sh b/letstest/scripts/bootstrap_os_packages.sh index fbdca71e5..84cd2df30 100755 --- a/letstest/scripts/bootstrap_os_packages.sh +++ b/letstest/scripts/bootstrap_os_packages.sh @@ -1,6 +1,9 @@ #!/bin/sh # # Install OS dependencies for test farm tests. +# +# This does not include the dependencies needed to build cryptography. See +# https://cryptography.io/en/latest/installation/#building-cryptography-on-linux set -ex # Work even if somebody does "sh thisscript.sh". diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 88a884c6d..5fdde3124 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -79,6 +79,7 @@ parts: - libffi-dev - python3-dev - cargo + - pkg-config build-environment: # We set this environment variable while building to try and increase the # stability of fetching the rust crates needed to build the cryptography diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index be995f3a1..029640ab8 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -34,6 +34,7 @@ RUN apk add --no-cache --virtual .build-deps \ python3-dev \ cargo \ git \ + pkgconfig \ && python tools/pip_install.py --no-cache-dir \ --editable src/acme \ --editable src/certbot \ diff --git a/tools/pinning/current/pyproject.toml b/tools/pinning/current/pyproject.toml index 20cc75a73..dd5b68c0b 100644 --- a/tools/pinning/current/pyproject.toml +++ b/tools/pinning/current/pyproject.toml @@ -66,6 +66,11 @@ cryptography = "!= 37.0.3" # https://github.com/python-poetry/poetry-plugin-export/issues/168 is resolved. poetry = "<1.3.0" +# setuptools 67.5.0 deprecated pkg_resources which we still use. Let's pin it +# back until this is fixed. Doing this work is being tracked by +# https://github.com/certbot/certbot/issues/9606. +setuptools = "<67.5.0" + [tool.poetry.dev-dependencies] [build-system] diff --git a/tools/requirements.txt b/tools/requirements.txt index 45db89e65..27e95b6e7 100644 --- a/tools/requirements.txt +++ b/tools/requirements.txt @@ -11,55 +11,55 @@ appnope==0.1.3 ; python_version >= "3.7" and python_version < "4.0" and sys_plat astroid==2.13.5 ; python_full_version >= "3.7.2" and python_version < "4.0" attrs==22.2.0 ; python_version >= "3.7" and python_version < "4.0" azure-devops==6.0.0b4 ; python_version >= "3.7" and python_version < "4.0" -babel==2.11.0 ; python_version >= "3.7" and python_version < "4.0" +babel==2.12.1 ; python_version >= "3.7" and python_version < "4.0" backcall==0.2.0 ; python_version >= "3.7" and python_version < "4.0" backports-cached-property==1.0.2 ; python_version >= "3.7" and python_version < "3.8" bcrypt==4.0.1 ; python_version >= "3.7" and python_version < "4.0" -beautifulsoup4==4.11.2 ; python_version >= "3.7" and python_version < "4.0" +beautifulsoup4==4.12.0 ; python_version >= "3.7" and python_version < "4.0" bleach==6.0.0 ; python_version >= "3.7" and python_version < "4.0" -boto3==1.26.65 ; python_version >= "3.7" and python_version < "4.0" -botocore==1.29.65 ; python_version >= "3.7" and python_version < "4.0" +boto3==1.26.105 ; python_version >= "3.7" and python_version < "4.0" +botocore==1.29.105 ; python_version >= "3.7" and python_version < "4.0" cachecontrol==0.12.11 ; python_version >= "3.7" and python_version < "4.0" cachetools==5.3.0 ; python_version >= "3.7" and python_version < "4.0" cachy==0.3.0 ; python_version >= "3.7" and python_version < "4.0" certifi==2022.12.7 ; python_version >= "3.7" and python_version < "4" cffi==1.15.1 ; python_version >= "3.7" and python_version < "4.0" -charset-normalizer==3.0.1 ; python_version >= "3.7" and python_version < "4" +charset-normalizer==3.1.0 ; python_version >= "3.7" and python_version < "4" cleo==1.0.0a5 ; python_version >= "3.7" and python_version < "4.0" cloudflare==2.11.1 ; python_version >= "3.7" and python_version < "4.0" colorama==0.4.6 ; python_version < "4.0" and sys_platform == "win32" and python_version >= "3.7" or python_version >= "3.7" and python_version < "4.0" and platform_system == "Windows" configargparse==1.5.3 ; python_version >= "3.7" and python_version < "4.0" configobj==5.0.8 ; python_version >= "3.7" and python_version < "4.0" -coverage==7.1.0 ; python_version >= "3.7" and python_version < "4.0" +coverage==7.2.2 ; python_version >= "3.7" and python_version < "4.0" crashtest==0.3.1 ; python_version >= "3.7" and python_version < "4.0" -cryptography==39.0.1 ; python_version >= "3.7" and python_version < "4.0" -cython==0.29.33 ; python_version >= "3.7" and python_version < "4.0" +cryptography==40.0.1 ; python_version >= "3.7" and python_version < "4.0" +cython==0.29.34 ; python_version >= "3.7" and python_version < "4.0" decorator==5.1.1 ; python_version >= "3.7" and python_version < "4.0" dill==0.3.6 ; python_full_version >= "3.7.2" and python_version < "4.0" distlib==0.3.6 ; python_version >= "3.7" and python_version < "4.0" distro==1.8.0 ; python_version >= "3.7" and python_version < "4.0" dns-lexicon==3.11.7 ; python_version >= "3.7" and python_version < "4.0" dnspython==2.3.0 ; python_version >= "3.7" and python_version < "4.0" -docutils==0.17.1 ; python_version >= "3.7" and python_version < "4.0" +docutils==0.18.1 ; python_version >= "3.7" and python_version < "4.0" dulwich==0.20.50 ; python_version >= "3.7" and python_version < "4.0" -exceptiongroup==1.1.0 ; python_version >= "3.7" and python_version < "3.11" +exceptiongroup==1.1.1 ; python_version >= "3.7" and python_version < "3.11" execnet==1.9.0 ; python_version >= "3.7" and python_version < "4.0" fabric==3.0.0 ; python_version >= "3.7" and python_version < "4.0" -filelock==3.9.0 ; python_version >= "3.7" and python_version < "4.0" +filelock==3.10.7 ; python_version >= "3.7" and python_version < "4.0" google-api-core==2.11.0 ; python_version >= "3.7" and python_version < "4.0" -google-api-python-client==2.77.0 ; python_version >= "3.7" and python_version < "4.0" +google-api-python-client==2.83.0 ; python_version >= "3.7" and python_version < "4.0" google-auth-httplib2==0.1.0 ; python_version >= "3.7" and python_version < "4.0" -google-auth==2.16.0 ; python_version >= "3.7" and python_version < "4.0" -googleapis-common-protos==1.58.0 ; python_version >= "3.7" and python_version < "4.0" +google-auth==2.17.1 ; python_version >= "3.7" and python_version < "4.0" +googleapis-common-protos==1.59.0 ; python_version >= "3.7" and python_version < "4.0" html5lib==1.1 ; python_version >= "3.7" and python_version < "4.0" -httplib2==0.21.0 ; python_version >= "3.7" and python_version < "4.0" +httplib2==0.22.0 ; python_version >= "3.7" and python_version < "4.0" idna==3.4 ; python_version >= "3.7" and python_version < "4" imagesize==1.4.1 ; python_version >= "3.7" and python_version < "4.0" importlib-metadata==4.13.0 ; python_version >= "3.7" and python_version < "4.0" -importlib-resources==5.10.2 ; python_version >= "3.7" and python_version < "3.9" +importlib-resources==5.12.0 ; python_version >= "3.7" and python_version < "3.9" iniconfig==2.0.0 ; python_version >= "3.7" and python_version < "4.0" invoke==2.0.0 ; python_version >= "3.7" and python_version < "4.0" -ipdb==0.13.11 ; python_version >= "3.7" and python_version < "4.0" +ipdb==0.13.13 ; python_version >= "3.7" and python_version < "4.0" ipython==7.34.0 ; python_version >= "3.7" and python_version < "4.0" isodate==0.6.1 ; python_version >= "3.7" and python_version < "4.0" isort==5.11.5 ; python_full_version >= "3.7.2" and python_version < "4.0" @@ -75,25 +75,25 @@ jsonschema==4.17.3 ; python_version >= "3.7" and python_version < "4.0" keyring==23.13.1 ; python_version >= "3.7" and python_version < "4.0" lazy-object-proxy==1.9.0 ; python_full_version >= "3.7.2" and python_version < "4.0" lockfile==0.12.2 ; python_version >= "3.7" and python_version < "4.0" -markdown-it-py==2.1.0 ; python_version >= "3.7" and python_version < "4.0" +markdown-it-py==2.2.0 ; python_version >= "3.7" and python_version < "4.0" markupsafe==2.1.2 ; python_version >= "3.7" and python_version < "4.0" matplotlib-inline==0.1.6 ; python_version >= "3.7" and python_version < "4.0" mccabe==0.7.0 ; python_full_version >= "3.7.2" and python_version < "4.0" mdurl==0.1.2 ; python_version >= "3.7" and python_version < "4.0" -more-itertools==9.0.0 ; python_version >= "3.7" and python_version < "4.0" -msgpack==1.0.4 ; python_version >= "3.7" and python_version < "4.0" +more-itertools==9.1.0 ; python_version >= "3.7" and python_version < "4.0" +msgpack==1.0.5 ; python_version >= "3.7" and python_version < "4.0" msrest==0.6.21 ; python_version >= "3.7" and python_version < "4.0" mypy-extensions==1.0.0 ; python_version >= "3.7" and python_version < "4.0" -mypy==1.0.0 ; python_version >= "3.7" and python_version < "4.0" +mypy==1.1.1 ; python_version >= "3.7" and python_version < "4.0" oauth2client==4.1.3 ; python_version >= "3.7" and python_version < "4.0" oauthlib==3.2.2 ; python_version >= "3.7" and python_version < "4.0" packaging==23.0 ; python_version >= "3.7" and python_version < "4.0" -paramiko==3.0.0 ; python_version >= "3.7" and python_version < "4.0" +paramiko==3.1.0 ; python_version >= "3.7" and python_version < "4.0" parsedatetime==2.6 ; python_version >= "3.7" and python_version < "4.0" parso==0.8.3 ; python_version >= "3.7" and python_version < "4.0" pexpect==4.8.0 ; python_version >= "3.7" and python_version < "4.0" pickleshare==0.7.5 ; python_version >= "3.7" and python_version < "4.0" -pip==23.0 ; python_version >= "3.7" and python_version < "4.0" +pip==23.0.1 ; python_version >= "3.7" and python_version < "4.0" pkginfo==1.9.6 ; python_version >= "3.7" and python_version < "4.0" pkgutil-resolve-name==1.3.10 ; python_version >= "3.7" and python_version < "3.9" platformdirs==2.6.2 ; python_version < "4.0" and python_version >= "3.7" @@ -102,8 +102,8 @@ ply==3.11 ; python_version >= "3.7" and python_version < "4.0" poetry-core==1.3.2 ; python_version >= "3.7" and python_version < "4.0" poetry-plugin-export==1.2.0 ; python_version >= "3.7" and python_version < "4.0" poetry==1.2.2 ; python_version >= "3.7" and python_version < "4.0" -prompt-toolkit==3.0.36 ; python_version >= "3.7" and python_version < "4.0" -protobuf==4.21.12 ; python_version >= "3.7" and python_version < "4.0" +prompt-toolkit==3.0.38 ; python_version >= "3.7" and python_version < "4.0" +protobuf==4.22.1 ; python_version >= "3.7" and python_version < "4.0" ptyprocess==0.7.0 ; python_version >= "3.7" and python_version < "4.0" py==1.11.0 ; python_version >= "3.7" and python_version < "4.0" pyasn1-modules==0.2.8 ; python_version >= "3.7" and python_version < "4.0" @@ -114,19 +114,19 @@ pylev==1.4.0 ; python_version >= "3.7" and python_version < "4.0" pylint==2.15.5 ; python_full_version >= "3.7.2" and python_version < "4.0" pynacl==1.5.0 ; python_version >= "3.7" and python_version < "4.0" pynsist==2.7 ; python_version >= "3.7" and python_version < "4.0" -pyopenssl==23.0.0 ; python_version >= "3.7" and python_version < "4.0" +pyopenssl==23.1.1 ; python_version >= "3.7" and python_version < "4.0" pyparsing==3.0.9 ; python_version >= "3.7" and python_version < "4.0" pyrfc3339==1.1 ; python_version >= "3.7" and python_version < "4.0" pyrsistent==0.19.3 ; python_version >= "3.7" and python_version < "4.0" pytest-cov==4.0.0 ; python_version >= "3.7" and python_version < "4.0" -pytest-xdist==3.2.0 ; python_version >= "3.7" and python_version < "4.0" -pytest==7.2.1 ; python_version >= "3.7" and python_version < "4.0" +pytest-xdist==3.2.1 ; python_version >= "3.7" and python_version < "4.0" +pytest==7.2.2 ; python_version >= "3.7" and python_version < "4.0" python-augeas==1.1.0 ; python_version >= "3.7" and python_version < "4.0" python-dateutil==2.8.2 ; python_version >= "3.7" and python_version < "4.0" python-digitalocean==1.17.0 ; python_version >= "3.7" and python_version < "4.0" -pytz==2022.7.1 ; python_version >= "3.7" and python_version < "4.0" +pytz==2023.3 ; python_version >= "3.7" and python_version < "4.0" pywin32-ctypes==0.2.0 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "win32" -pywin32==305 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "win32" +pywin32==306 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "win32" pyyaml==6.0 ; python_version >= "3.7" and python_version < "4.0" readme-renderer==37.3 ; python_version >= "3.7" and python_version < "4.0" requests-download==0.1.2 ; python_version >= "3.7" and python_version < "4.0" @@ -135,49 +135,51 @@ requests-oauthlib==1.3.1 ; python_version >= "3.7" and python_version < "4.0" requests-toolbelt==0.9.1 ; python_version >= "3.7" and python_version < "4.0" requests==2.28.2 ; python_version >= "3.7" and python_version < "4" rfc3986==2.0.0 ; python_version >= "3.7" and python_version < "4.0" -rich==13.3.1 ; python_version >= "3.7" and python_version < "4.0" +rich==13.3.3 ; python_version >= "3.7" and python_version < "4.0" rsa==4.9 ; python_version >= "3.7" and python_version < "4" s3transfer==0.6.0 ; python_version >= "3.7" and python_version < "4.0" secretstorage==3.3.3 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "linux" semantic-version==2.10.0 ; python_version >= "3.7" and python_version < "4.0" setuptools-rust==1.5.2 ; python_version >= "3.7" and python_version < "4.0" -setuptools==67.2.0 ; python_version >= "3.7" and python_version < "4.0" +setuptools==67.4.0 ; python_version >= "3.7" and python_version < "4.0" shellingham==1.5.0.post1 ; python_version >= "3.7" and python_version < "4.0" six==1.16.0 ; python_version >= "3.7" and python_version < "4.0" snowballstemmer==2.2.0 ; python_version >= "3.7" and python_version < "4.0" -soupsieve==2.3.2.post1 ; python_version >= "3.7" and python_version < "4.0" -sphinx-rtd-theme==1.1.1 ; python_version >= "3.7" and python_version < "4.0" +soupsieve==2.4 ; python_version >= "3.7" and python_version < "4.0" +sphinx-rtd-theme==1.2.0 ; python_version >= "3.7" and python_version < "4.0" sphinx==5.3.0 ; python_version >= "3.7" and python_version < "4.0" sphinxcontrib-applehelp==1.0.2 ; python_version >= "3.7" and python_version < "4.0" sphinxcontrib-devhelp==1.0.2 ; python_version >= "3.7" and python_version < "4.0" sphinxcontrib-htmlhelp==2.0.0 ; python_version >= "3.7" and python_version < "4.0" +sphinxcontrib-jquery==4.1 ; python_version >= "3.7" and python_version < "4.0" sphinxcontrib-jsmath==1.0.1 ; python_version >= "3.7" and python_version < "4.0" sphinxcontrib-qthelp==1.0.3 ; python_version >= "3.7" and python_version < "4.0" sphinxcontrib-serializinghtml==1.1.5 ; python_version >= "3.7" and python_version < "4.0" tldextract==3.4.0 ; python_version >= "3.7" and python_version < "4.0" tomli==2.0.1 ; python_version >= "3.7" and python_full_version <= "3.11.0a6" -tomlkit==0.11.6 ; python_version < "4.0" and python_version >= "3.7" +tomlkit==0.11.7 ; python_version < "4.0" and python_version >= "3.7" tox==3.28.0 ; python_version >= "3.7" and python_version < "4.0" traitlets==5.9.0 ; python_version >= "3.7" and python_version < "4.0" twine==4.0.2 ; python_version >= "3.7" and python_version < "4.0" typed-ast==1.5.4 ; python_version < "3.8" and python_version >= "3.7" -types-docutils==0.19.1.3 ; python_version >= "3.7" and python_version < "4.0" -types-pyopenssl==23.0.0.2 ; python_version >= "3.7" and python_version < "4.0" -types-pyrfc3339==1.1.1.1 ; python_version >= "3.7" and python_version < "4.0" -types-python-dateutil==2.8.19.6 ; python_version >= "3.7" and python_version < "4.0" -types-pytz==2022.7.1.0 ; python_version >= "3.7" and python_version < "4.0" -types-requests==2.28.11.12 ; python_version >= "3.7" and python_version < "4.0" -types-setuptools==67.1.0.2 ; python_version >= "3.7" and python_version < "4.0" -types-six==1.16.21.4 ; python_version >= "3.7" and python_version < "4.0" -types-urllib3==1.26.25.5 ; python_version >= "3.7" and python_version < "4.0" -typing-extensions==4.4.0 ; python_version >= "3.7" and python_version < "4.0" +types-httplib2==0.22.0.1 ; python_version >= "3.7" and python_version < "4.0" +types-pyopenssl==23.1.0.1 ; python_version >= "3.7" and python_version < "4.0" +types-pyrfc3339==1.1.1.4 ; python_version >= "3.7" and python_version < "4.0" +types-python-dateutil==2.8.19.12 ; python_version >= "3.7" and python_version < "4.0" +types-pytz==2023.3.0.0 ; python_version >= "3.7" and python_version < "4.0" +types-pywin32==306.0.0.1 ; python_version >= "3.7" and python_version < "4.0" +types-requests==2.28.11.17 ; python_version >= "3.7" and python_version < "4.0" +types-setuptools==67.6.0.7 ; python_version >= "3.7" and python_version < "4.0" +types-six==1.16.21.8 ; python_version >= "3.7" and python_version < "4.0" +types-urllib3==1.26.25.10 ; python_version >= "3.7" and python_version < "4.0" +typing-extensions==4.5.0 ; python_version >= "3.7" and python_version < "4.0" uritemplate==4.1.1 ; python_version >= "3.7" and python_version < "4.0" -urllib3==1.26.14 ; python_version >= "3.7" and python_version < "4.0" -virtualenv==20.18.0 ; python_version >= "3.7" and python_version < "4.0" +urllib3==1.26.15 ; python_version >= "3.7" and python_version < "4.0" +virtualenv==20.21.0 ; python_version >= "3.7" and python_version < "4.0" wcwidth==0.2.6 ; python_version >= "3.7" and python_version < "4.0" webencodings==0.5.1 ; python_version >= "3.7" and python_version < "4.0" -wheel==0.38.4 ; python_version >= "3.7" and python_version < "4.0" -wrapt==1.14.1 ; python_full_version >= "3.7.2" and python_version < "4.0" +wheel==0.40.0 ; python_version >= "3.7" and python_version < "4.0" +wrapt==1.15.0 ; python_full_version >= "3.7.2" and python_version < "4.0" xattr==0.9.9 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "darwin" yarg==0.1.9 ; python_version >= "3.7" and python_version < "4.0" -zipp==3.12.1 ; python_version >= "3.7" and python_version < "4.0" +zipp==3.15.0 ; python_version >= "3.7" and python_version < "4.0" diff --git a/tools/snap/generate_dnsplugins_snapcraft.sh b/tools/snap/generate_dnsplugins_snapcraft.sh index 43f1b2077..1de5e584d 100755 --- a/tools/snap/generate_dnsplugins_snapcraft.sh +++ b/tools/snap/generate_dnsplugins_snapcraft.sh @@ -47,6 +47,7 @@ parts: - libffi-dev - python3-dev - cargo + - pkg-config certbot-metadata: plugin: dump source: .