Created attachment 224081 [details] Update dnspython dependency to dns/py-dnspython2 After upgrading my python from 3.8 to 3.9(.4), certbot (with the dns-rfc2136 plugin) failed to run. This was caused by the fact that dnspython 1.3.6 uses some deprecated functions, which are removed in python 3.9+ Since version 2.0.0 of dnspython (which lives under dns/py-dnspython2) it is fully compatible with python 3.6+ and fixes the issue.
Thanks for the patch. We can have many conflicts here. dns/py-dnspython is currently needed for: databases/py-mysql-connector-python deskutils/calibre dns/dnsrecon dns/dnsviz dns/knock dns/py-easyzone dns/py-localzone dns/py-namebench finance/electrum mail/mailman mail/mailman-exim4 mail/mailman-postfix mail/mailman3 mail/py-authheaders mail/py-dkimpy mail/py-email-validator mail/py-pyspf net/py-eventlet net/samba411 net/samba412 net/samba413 net-mgmt/py-ciscoconfparse net-mgmt/py-dnsdiag ports-mgmt/fastest_pkg security/py-certbot-dns-rfc2136 sysutils/iocage sysutils/iocage-devel dns/py-dnspython2 is currently needed for: devel/py-aioice mail/py-mailsuite www/web2ldap My suggestion is investigate all consumers if they work with dns/py-dnspython2 and update all together.
Created attachment 228013 [details] Patch for dns/py-dnspython (In reply to Danilo G. Baio from comment #1) While dnspython 2.0.0 or later works fine with Python 3.9 or later, it has dropped support of Python 2. So best way is to apply attached patch. With it dns/py-dnspython uses 1.16.0 with Python 2.7 and 2.1.0 with Python 3.x.
With ports 7fc16dab8458 dns/py-dnspython is updated to 2.1.0 for Python 3. So security/py-certbot-dns-rfc2136 should work fine with Python 3.9 or later.