← Back to team overview

debcrafters-packages team mailing list archive

[Bug 2127945] [NEW] cffi v2.0 needed as dependency for ACME Certbot

 

Public bug reported:

cannot force a local upgrade to cffi v2.0... i probably have to dig
deeper into replacing the old v1.

also, i cannot use a virtual environment - certbot requires direct system acces when renewing certificates. 
 

#python3 -m pip install --upgrade acme certbot certbot-dns-cloudflare

results in an error message:

Requirement already satisfied: acme in /usr/local/lib/python3.12/dist-packages (5.0.0)
Collecting acme
  Using cached acme-5.1.0-py3-none-any.whl.metadata (1.3 kB)
Requirement already satisfied: certbot in /usr/local/lib/python3.12/dist-packages (5.0.0)
Collecting certbot
  Using cached certbot-5.1.0-py3-none-any.whl.metadata (7.0 kB)
Requirement already satisfied: certbot-dns-cloudflare in /usr/local/lib/python3.12/dist-packages (5.0.0)
Collecting certbot-dns-cloudflare
  Using cached certbot_dns_cloudflare-5.1.0-py3-none-any.whl.metadata (1.5 kB)
Requirement already satisfied: cryptography>=43.0.0 in /usr/local/lib/python3.12/dist-packages (from acme) (46.0.2)
Requirement already satisfied: josepy>=2.0.0 in /usr/local/lib/python3.12/dist-packages (from acme) (2.1.0)
Requirement already satisfied: PyOpenSSL>=25.0.0 in /usr/local/lib/python3.12/dist-packages (from acme) (25.3.0)
Requirement already satisfied: pyrfc3339 in /usr/local/lib/python3.12/dist-packages (from acme) (2.1.0)
Requirement already satisfied: requests>=2.25.1 in /usr/local/lib/python3.12/dist-packages (from acme) (2.32.5)
Requirement already satisfied: ConfigArgParse>=1.5.3 in /usr/local/lib/python3.12/dist-packages (from certbot) (1.7.1)
Requirement already satisfied: configobj>=5.0.6 in /usr/local/lib/python3.12/dist-packages (from certbot) (5.0.9)
Requirement already satisfied: distro>=1.0.1 in /usr/local/lib/python3.12/dist-packages (from certbot) (1.9.0)
Requirement already satisfied: parsedatetime>=2.6 in /usr/local/lib/python3.12/dist-packages (from certbot) (2.6)
Requirement already satisfied: cloudflare<2.20,>=2.19 in /usr/local/lib/python3.12/dist-packages (from certbot-dns-cloudflare) (2.19.4)
Requirement already satisfied: pyyaml in /usr/local/lib/python3.12/dist-packages (from cloudflare<2.20,>=2.19->certbot-dns-cloudflare) (6.0.2)
Requirement already satisfied: jsonlines in /usr/local/lib/python3.12/dist-packages (from cloudflare<2.20,>=2.19->certbot-dns-cloudflare) (4.0.0)
Collecting cffi>=2.0.0 (from cryptography>=43.0.0->acme)
  Using cached cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.6 kB)
Requirement already satisfied: pycparser in /usr/local/lib/python3.12/dist-packages (from cffi>=2.0.0->cryptography>=43.0.0->acme) (2.23)
Requirement already satisfied: typing-extensions>=4.9 in /usr/local/lib/python3.12/dist-packages (from PyOpenSSL>=25.0.0->acme) (4.15.0)
Requirement already satisfied: charset_normalizer<4,>=2 in /usr/local/lib/python3.12/dist-packages (from requests>=2.25.1->acme) (3.4.3)
Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.12/dist-packages (from requests>=2.25.1->acme) (3.10)
Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.12/dist-packages (from requests>=2.25.1->acme) (2.5.0)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.12/dist-packages (from requests>=2.25.1->acme) (2025.8.3)
Requirement already satisfied: attrs>=19.2.0 in /usr/local/lib/python3.12/dist-packages (from jsonlines->cloudflare<2.20,>=2.19->certbot-dns-cloudflare) (25.3.0)
Using cached acme-5.1.0-py3-none-any.whl (94 kB)
Using cached certbot-5.1.0-py3-none-any.whl (407 kB)
Using cached certbot_dns_cloudflare-5.1.0-py3-none-any.whl (14 kB)
Using cached cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (219 kB)
Installing collected packages: cffi, acme, certbot, certbot-dns-cloudflare
  Attempting uninstall: cffi
    Found existing installation: cffi None
error: uninstall-no-record-file

× Cannot uninstall cffi None
╰─> The package's contents are unknown: no RECORD file was found for cffi.


the currently installed cffi is from the ubuntu packages distributed with Ubuntu Noble LTS (24.04.3 currently)
# dpkg-query -l | grep -i cffi
1303:ii  python3-cffi-backend:amd64            1.16.0-2build1                                amd64        Foreign Function Interface for Python 3 calling C code - runtime


since cffi in ubuntu is imported from Debian, please try impoting the v2 cffi too
https://packages.debian.org/search?keywords=python3-cffi&searchon=names

** Affects: python-cffi (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of
Debcrafters packages, which is subscribed to python-cffi in Ubuntu.
https://bugs.launchpad.net/bugs/2127945

Title:
  cffi v2.0 needed as dependency for ACME Certbot

Status in python-cffi package in Ubuntu:
  New

Bug description:
  cannot force a local upgrade to cffi v2.0... i probably have to dig
  deeper into replacing the old v1.

  also, i cannot use a virtual environment - certbot requires direct system acces when renewing certificates. 
   

  #python3 -m pip install --upgrade acme certbot certbot-dns-cloudflare

  results in an error message:

  Requirement already satisfied: acme in /usr/local/lib/python3.12/dist-packages (5.0.0)
  Collecting acme
    Using cached acme-5.1.0-py3-none-any.whl.metadata (1.3 kB)
  Requirement already satisfied: certbot in /usr/local/lib/python3.12/dist-packages (5.0.0)
  Collecting certbot
    Using cached certbot-5.1.0-py3-none-any.whl.metadata (7.0 kB)
  Requirement already satisfied: certbot-dns-cloudflare in /usr/local/lib/python3.12/dist-packages (5.0.0)
  Collecting certbot-dns-cloudflare
    Using cached certbot_dns_cloudflare-5.1.0-py3-none-any.whl.metadata (1.5 kB)
  Requirement already satisfied: cryptography>=43.0.0 in /usr/local/lib/python3.12/dist-packages (from acme) (46.0.2)
  Requirement already satisfied: josepy>=2.0.0 in /usr/local/lib/python3.12/dist-packages (from acme) (2.1.0)
  Requirement already satisfied: PyOpenSSL>=25.0.0 in /usr/local/lib/python3.12/dist-packages (from acme) (25.3.0)
  Requirement already satisfied: pyrfc3339 in /usr/local/lib/python3.12/dist-packages (from acme) (2.1.0)
  Requirement already satisfied: requests>=2.25.1 in /usr/local/lib/python3.12/dist-packages (from acme) (2.32.5)
  Requirement already satisfied: ConfigArgParse>=1.5.3 in /usr/local/lib/python3.12/dist-packages (from certbot) (1.7.1)
  Requirement already satisfied: configobj>=5.0.6 in /usr/local/lib/python3.12/dist-packages (from certbot) (5.0.9)
  Requirement already satisfied: distro>=1.0.1 in /usr/local/lib/python3.12/dist-packages (from certbot) (1.9.0)
  Requirement already satisfied: parsedatetime>=2.6 in /usr/local/lib/python3.12/dist-packages (from certbot) (2.6)
  Requirement already satisfied: cloudflare<2.20,>=2.19 in /usr/local/lib/python3.12/dist-packages (from certbot-dns-cloudflare) (2.19.4)
  Requirement already satisfied: pyyaml in /usr/local/lib/python3.12/dist-packages (from cloudflare<2.20,>=2.19->certbot-dns-cloudflare) (6.0.2)
  Requirement already satisfied: jsonlines in /usr/local/lib/python3.12/dist-packages (from cloudflare<2.20,>=2.19->certbot-dns-cloudflare) (4.0.0)
  Collecting cffi>=2.0.0 (from cryptography>=43.0.0->acme)
    Using cached cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.6 kB)
  Requirement already satisfied: pycparser in /usr/local/lib/python3.12/dist-packages (from cffi>=2.0.0->cryptography>=43.0.0->acme) (2.23)
  Requirement already satisfied: typing-extensions>=4.9 in /usr/local/lib/python3.12/dist-packages (from PyOpenSSL>=25.0.0->acme) (4.15.0)
  Requirement already satisfied: charset_normalizer<4,>=2 in /usr/local/lib/python3.12/dist-packages (from requests>=2.25.1->acme) (3.4.3)
  Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.12/dist-packages (from requests>=2.25.1->acme) (3.10)
  Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.12/dist-packages (from requests>=2.25.1->acme) (2.5.0)
  Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.12/dist-packages (from requests>=2.25.1->acme) (2025.8.3)
  Requirement already satisfied: attrs>=19.2.0 in /usr/local/lib/python3.12/dist-packages (from jsonlines->cloudflare<2.20,>=2.19->certbot-dns-cloudflare) (25.3.0)
  Using cached acme-5.1.0-py3-none-any.whl (94 kB)
  Using cached certbot-5.1.0-py3-none-any.whl (407 kB)
  Using cached certbot_dns_cloudflare-5.1.0-py3-none-any.whl (14 kB)
  Using cached cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (219 kB)
  Installing collected packages: cffi, acme, certbot, certbot-dns-cloudflare
    Attempting uninstall: cffi
      Found existing installation: cffi None
  error: uninstall-no-record-file

  × Cannot uninstall cffi None
  ╰─> The package's contents are unknown: no RECORD file was found for cffi.

  
  the currently installed cffi is from the ubuntu packages distributed with Ubuntu Noble LTS (24.04.3 currently)
  # dpkg-query -l | grep -i cffi
  1303:ii  python3-cffi-backend:amd64            1.16.0-2build1                                amd64        Foreign Function Interface for Python 3 calling C code - runtime

  
  since cffi in ubuntu is imported from Debian, please try impoting the v2 cffi too
  https://packages.debian.org/search?keywords=python3-cffi&searchon=names

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-cffi/+bug/2127945/+subscriptions