Package Details: certbot-git 1.28.0.r4.ga73a86bbc-1

Git Clone URL: (read-only, click to copy)
Package Base: certbot-git
Description: Tool to automatically receive and install X.509 certificates to enable TLS on servers
Upstream URL:
Keywords: ACME letsencrypt protocol python2
Licenses: Apache
Conflicts: certbot, letsencrypt
Provides: certbot, letsencrypt
Replaces: letsencrypt-git
Submitter: edh
Maintainer: edh
Last Packager: edh
Votes: 26
Popularity: 0.000050
First Submitted: 2016-04-18 15:47 (UTC)
Last Updated: 2022-06-08 15:50 (UTC)

Required by (23)

Sources (1)

Latest Comments

edh commented on 2021-02-23 21:14 (UTC)

@lindsm Thanks for the heads-up! I updated the package according to the new's in the repository. Plus, I added a couple of entries to my watch-list so that I will hopefully be able to respond quicker next time when upstream introduces these kinds of changes.

P.S. the package was actually missing another dependency as well and quite a few of the previous dependencies could be dropped. Overall your analysis though is correct.

lindsm commented on 2021-02-23 20:15 (UTC) (edited on 2021-02-23 20:18 (UTC) by lindsm)

There hasn't been any comments on this in a while, so not sure if this is package is still active. But I wanted to share my install experiences with this recently. If there is a more appropriate place, or I need to provide more info, by all means, let me know.

I'm using Garuda linux, output of lsb_release -a;

Distributor ID: Garuda
Description:    Garuda Linux
Release:    Soaring
Codename:   n/a

Error Message when running certbot --help;

  File "/usr/lib/python3.9/importlib/", line 77, in load
    module = import_module('module'))
  File "/usr/lib/python3.9/importlib/", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 790, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/usr/lib/python3.9/site-packages/certbot/", line 2, in <module>
    from certbot._internal import main as internal_main
  File "/usr/lib/python3.9/site-packages/certbot/_internal/", line 10, in <module>
    import josepy as jose
ModuleNotFoundError: No module named 'josepy'

Using pyenv, but defaulted to system python. Output of python --version && which python;

Python 3.9.1

Installing josepy fixed it, cmd performed pip3 install josepy;

certbot --version
certbot 1.13.0.dev0

And just because I'm new to arch linux and linux as a desktop in general, here is the version I installed;

aur/certbot-git 1.0.0.r23.gceea41c1e-1 (+26 0.00) (Installed: 1.12.0.r19.g0f3f07b5c-1)
    A tool to automatically receive and install X.509 certificates to enable TLS on servers. The client will interoperate with the Let’s Encrypt CA which will be issuing browser-trusted certificates for free.

I wanted to make an issue or a MR, but not sure how to do either. Please let me know if there is some place I could do such a thing. Not really knowing anything about package building for arch, I assume I could just edit PKGBUILD and add josepy to this block, like so;

depends=('ca-certificates' 'python-acme-git' 'python-configargparse' 'python-configobj'
        'python-cryptography' 'python-pyopenssl' 'python-mock' 'python-parsedatetime'
        'python-psutil' 'python-pyrfc3339' 'python-pythondialog' 'python-pytz'
        'python-requests' 'python-setuptools' 'python-six' 'python-zope-component'
        'python-zope-interface' 'python-josepe')

Hopefully all my markdown works :D

edh commented on 2017-06-09 18:11 (UTC)

@yan12125 Thanks for the hint. I guess there is no good reason to stick to python2. I updated the packages accordingly.

yan12125 commented on 2017-06-09 06:40 (UTC)

The official package has moved from Python 2 to Python 3. [1] How about doing the same for this package? [1]

edh commented on 2017-05-08 18:51 (UTC)

@fordprefect Thanks for the hint, done.

fordprefect commented on 2017-05-07 21:45 (UTC)

please change upstream url from to developement and maintenance has shifted to the eff.

edh commented on 2016-04-18 18:44 (UTC) (edited on 2016-04-21 20:27 (UTC) by edh)

Please switch to the certbot-git package [1]! Let’s Encrypt is in the transition of being renamed to (probably) certbot. Although until now (2016-04-18) there is no new version available with this name, it is still already being used at the master branch of the git project [2]. The change was announced a couple of weeks ago at their blog [3] unfortunately the sudden rename at github is not mentioned there. Since this package fetches the last revision from github it is already affected by this name change. The new package [1] is a complete redesign and should be much more lightweight. Furthermore I have splitted the package into several small one, to give you more control over which plugins or helpers you actually want to use. As always you can track any progress at my github repo [4]. [1] [2] [3] [4]

edh commented on 2015-12-16 18:24 (UTC) (edited on 2015-12-16 18:25 (UTC) by edh)

@gabx I am still pretty cautious about adding a service and timer file for this program since it is not contained in the github repo itself and would therefore require a patch for a package which is just working fine. The developers are already aware of this issue [0] and currently there is no real need for it because the certificates are valid for 3 months. I believe that this should be added upstream I am currently against fixing it down the line since I assume it to be implemented within the validity of your first certificate. [0]

gabx commented on 2015-12-16 18:02 (UTC)

FYI, it is possible to create a service + timer file to renew automatically the certificates using webroot.

dizzi90 commented on 2015-12-07 23:27 (UTC)

@edh Thanks, my mistake on the oversight. Looks great.

edh commented on 2015-12-06 11:54 (UTC)

@dizzi90 Both letsencrypt-apache and letsencrypt-nginx are provided by this package and from now on even letshelp-letsencrypt. However this was not clearly stated in the PKGBUILD but thanks to your reminder it should be fixed now.

dizzi90 commented on 2015-12-05 20:02 (UTC)

Provides doesn't seem to be right. letsencrypt-nginx won't install as long as letsencrypt-git is installed rather than letsencrypt.

commented on 2015-11-13 07:47 (UTC)

Beautiful. Working great with webroot authentication and while configuration of new (sub)domains is manual renewals are now automatic.

sanduhrs commented on 2015-11-11 11:44 (UTC)

Working fine, thanks!

edh commented on 2015-11-11 11:25 (UTC)

Sorry for the short delay. The package has been updated and the change in upstream which broke the package is now implemented. Thanks simonvik for the hint and thanks sanduhrs for reporting. Btw. I host my pacakges at gihtub as well [1]. Accordingly anyone may create push requests if necessary. [1]

sanduhrs commented on 2015-11-11 08:27 (UTC)

Thanks @simonvik. Fixed the package accordingly, see

simonvik commented on 2015-11-10 12:08 (UTC)

They renamed requirements.txt to py26reqs.txt.

sanduhrs commented on 2015-11-09 12:26 (UTC)

Installation fails with: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'

edh commented on 2015-10-09 12:49 (UTC)

Please note that there are now two packages, this one will continue updating on the latest commit of the master branch from Github. It will be installed in a Python Virtual Environment until there is a more comfortable way to do it. The other letsencrypt [1] package will contain the official releases from PyPI. Bare in mind that letsencrypt is still in beta. However please consider switching to the non git version if you want to get the stable release. [1]

edh commented on 2015-10-06 20:54 (UTC) (edited on 2015-10-06 20:55 (UTC) by edh)

@kuba Awesome! It is great to have a maintainer actually using this. However installing this package through the standard methods is quite difficult. Since not only some dependencies are so unpopular that they were not available in the AUR, but furthermore that even tracking down the deps feels somewhat awkward due to the lack of proper documentation (for thie specific case only, despite that the docs are just fine ;D). There is not one single package from which I could drain some information :( Despite of all those obstacles I tried my best to accomplish a clean package, however I got stuck after a couple of hours. The main package [1] is pretty advanced and I added two deps [2] [3], though letsencrypt somehow rejects to start saying that the 'acme==0.1.0.dev0' distribution was not found though the PyPI acme is definately installed. Help would be much appreciated! Best Regards! [1] [2] [2]

kuba commented on 2015-10-05 19:56 (UTC)

Hey, Let's Encrypt dev here :) virtualenv recommendation is only with the PyPI end-users in mind. However, we also try hard to produce packages that fit nicely into standard Python ecosystem (virtualenv being the perfect environment), so that distros can exploit their standard tools for Python packaging process. So, you should disregard virtualenv recommendation in this case, and just use what's standard in Arch. Just make sure you run all of the tests. Let me know if you need any other help. Join us at #letsencrypt@Freenode (ping Kuba).

edh commented on 2015-10-05 19:48 (UTC) (edited on 2015-10-05 19:49 (UTC) by edh)

@hobarrera It is great that you have mentioned this point. I admit that the way the package is created right now is kind of strange. However I merely follow the upstream recommendation. To be precise they highly discourage[1] the use of their code without Virtualenv[2]. Thus to make the life of each and every possible user and developer, who may use this package, easier, I decided to follow the upstream installation guide. Though on the one hand this conflicts with the package standards one might have thought of, but on the other hand one may argue that it is done the "Arch Way". Thanks again for asking for clarification. I guess you are not the first one who was wondering about the way this is handled. [1] [2]

whynothugo commented on 2015-10-05 17:47 (UTC)

Why does this PKGBUILD create a virtualenv and just cp files into it, rather than *properly* installing its dependencies and then installing the package? It seems to completely defeat the entire purpose of creating an Arch package: duplicate dependencies, pacman not tracking their versions, etc.

edh commented on 2015-07-14 20:33 (UTC)

The problem is fixed provisional. The *complete* source with its virtual environment is moved to /opt and the executables are only linked.

phects commented on 2015-07-14 15:05 (UTC)

After installing "letsencrypt-git-2463.01481aa-1" and running `letsencrypt`, I get the following error: pkg_resources.DistributionNotFound: The 'zope.interface' distribution was not found and is required by letsencrypt The installation of "python-zope-interface-4.1.2-2" solved this problem but now another dependency could not be resolved: pkg_resources.DistributionNotFound: The 'zope.component' distribution was not found and is required by letsencrypt I could not quickly find an easy to install package for this one.