Certbot is broken and out of date

Hey guys I just wanted to report that certbot is broken and out of date, the newest version is 2.4.0 which was released 3 weeks ago: https://github.com/certbot/certbot/releases/tag/v2.4.0

The current version on the repo is 2.2.0
certbot-apache is also out of date and I assume so are the other plugins.

Here is the log of what happens when I run certbox -v

certbot -v
An unexpected error occurred:
pkg_resources.VersionConflict: (certbot 2.2.0 (/usr/lib/python3.10/site-packages), Requirement.parse('certbot<2.0,>=1.18.0'))
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /tmp/certbot-log-4co9n3df/log or re-run Certbot with -v for more details.

And here is the log

2023-03-26 20:22:12,048:DEBUG:certbot._internal.log:Exiting abnormally:
Traceback (most recent call last):
  File "/usr/bin/certbot", line 8, in <module>
    sys.exit(main())
  File "/usr/lib/python3.10/site-packages/certbot/main.py", line 19, in main
    return internal_main.main(cli_args)
  File "/usr/lib/python3.10/site-packages/certbot/_internal/main.py", line 1707, in main
    plugins = plugins_disco.PluginsRegistry.find_all()
  File "/usr/lib/python3.10/site-packages/certbot/_internal/plugins/disco.py", line 192, in find_all
    cls._load_entry_point(entry_point, plugins)
  File "/usr/lib/python3.10/site-packages/certbot/_internal/plugins/disco.py", line 199, in _load_entry_point
    plugin_ep = PluginEntryPoint(entry_point)
  File "/usr/lib/python3.10/site-packages/certbot/_internal/plugins/disco.py", line 40, in __init__
    self.plugin_cls: Type[interfaces.Plugin] = entry_point.load()
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 2475, in load
    self.require(*args, **kwargs)
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 2498, in require
    items = working_set.resolve(reqs, env, installer, extras=self.extras)
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 815, in resolve
    dist = self._resolve_dist(
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 861, in _resolve_dist
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.VersionConflict: (certbot 2.2.0 (/usr/lib/python3.10/site-packages), Requirement.parse('certbot<2.0,>=1.18.0'))
2023-03-26 20:22:12,048:ERROR:certbot._internal.log:An unexpected error occurred:
2023-03-26 20:22:12,048:ERROR:certbot._internal.log:pkg_resources.VersionConflict: (certbot 2.2.0 (/usr/lib/python3.10/site-packages), Requirement.parse('certbot<2.0,>=1.18.0'))

It seems to be a local issue.

I run certbot on a timer to renew my certificates - I used it manually today to add certificate for a subdomain - no issues. my webserver is running nginx plugin on manjaro-arm stable branch.

$ pacman-mirrors
Pacman-mirrors version 4.23.2
Local mirror status for arm-stable branch

$ certbot --version
certbot 2.3.0

Stable branch has v2.2 - testing and unstable has 2.3 according to Packages

Hmm that’s odd

pacman-mirrors
Pacman-mirrors version 4.23.2
Local mirror status for stable branch
Mirror #1   OK  00:11   Global       https://mirrors.manjaro.org/repo/
Mirror #2   OK  00:59   Switzerland  https://mirror.init7.net/manjaro/
Mirror #3   OK  00:32   Sweden       https://mirror.zetup.net/manjaro/
Mirror #4   OK  05:19   Thailand     https://mirror.kku.ac.th/manjaro/
Mirror #5   OK  00:11   Germany      https://mirror.moson.org/manjaro/
Mirror #6   OK  02:12   Ukraine      https://manjaro.astra.in.ua/
Mirror #7   OK  01:00   Uruguay      https://manjaro.repo.cure.edu.uy/
Mirror #8   OK  01:37   Brazil       https://manjaro.c3sl.ufpr.br/

I’ll try refreshing my mirrors, my server is x64 by the way :slight_smile:

You are on stable branch, this is the correct version. certbot should be bumped to the latest version the next time stable updates.

That explains it - v2.2 is the package in the x86_64 repo - but unless there has been some changes at let’s encrypt the version be be of little conseqence.

Hmm ok what about the python error log? I even remove it and reinstalled it and still have it.

Oh ok well the latest stable version is 2.4 now and that is all I know at the moment :slight_smile:

This is because your package is 2.2 and certbot requirements - is this your apache plugin? - requires between 1.8 and 2.0

perhaps use the thread about fasttracking packages from arch repo?

Maybe, I do have the certbot-apache package installed as well and that is version 2.2.0-1

Well - the answer is in the error message - you have version mismatch somewhere - what caused it - I have no idea.

Yeah I have no idea why it is happening either haha but I have made a comment on that post to get the newer version and fix the issue

To be clear: your certbot version is too high for the package you are using. Having the latest version of certbot will do the opposite of helping with this problem.

Are you referring to the certbot-apache package being mismatched with certbot itself?

In whatever Python package you are using (/usr/lib/python3.10/site-packages/pkg_resources/__init__.py) it is running a command to make sure that certbot is a version less than 2.0.0. Upgrading from 2.2.0 to 2.4.0 will not help. I suggest finding an alternative Python package for whatever you are doing, that one is clearly unmaintained.

image

I am using the python packages it requires and uses from Manjaro’s official repos so something with Manjaros python packages need to be fixed.

Not the package named python. Python has its own packaging system to manage some Python programs. Your script is running from /usr/lib/python3.10/site-packages/ which means that you intentionally set up and ran Python code that you either wrote yourself or downloaded from the internet. It could not have gotten there from Manjaro.

What script? I’m not using a script, I am using the certbot and certbot-apache package from Manjaros official repository, the package itself is broken and all I have done is installed the application and tried to use it exactly the way it’s intended for jellyfin and as jellyfin instruct me to do with the commands on settings up but I am unable to even do so because the package is broken. When I noticed it was broken I reported it here with the intention to help get it fixed.

Not to sound rude but please don’t try and push the blame onto others, this isn’t how you professionally sort out a problem.

image

Please calm down - the package in Manjaro repo is not broken.

I think you have provided the answer to the conflict.

jellyfin is providing let’s encrypt in a version which does not match the repo package - which then creates the issue.

No jellyfin isn’t providing anything, you even saw the log when I did certbot -v it was broken and showing python errors…

certbot -v
An unexpected error occurred:
pkg_resources.VersionConflict: (certbot 2.2.0 (/usr/lib/python3.10/site-packages), Requirement.parse('certbot<2.0,>=1.18.0'))
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /tmp/certbot-log-4co9n3df/log or re-run Certbot with -v for more details.

You are doing exactly what the other guy is doing, trying to find any excuse to push the blame onto something else instead of just admitting to the issue and fixing it.