certbot-dns-loopia icon indicating copy to clipboard operation
certbot-dns-loopia copied to clipboard

Snap packaging

Open kmpm opened this issue 3 years ago • 4 comments

It would be really nice to have a snap package for this but this was the feedback from Snap Store

2021-10-26 A comment has been made on the registration request of "certbot-dns-loopia".

The reviewer provided the following comment:

Hi there,

The name was registered a few months ago by another user. Snap names are granted on a first-come, first-served basis. That said, the other user has not published any builds, so I have reached out to see if they agree to transfer the snap name to you. I'll keep you posted.

kmpm avatar Jun 01 '22 14:06 kmpm

Yohooo....

Your "certbot-dns-loopia" registration has been approved.

The reviewer provided the following feedback:

I never heard back from them so I'm assuming lack of interest, I'm granting you the name as an entirely-new snap (revoke - reassign, rather than transfer).

Thanks for your patience!

Snap is cumming up. Will wait a couple of days to see if @MrRawbin gets some more changes in before publishing.

kmpm avatar Jun 01 '22 15:06 kmpm

Good job! Makes me wonder what the person who previously registered the name had in mind. I think that the next changes I will perform will be adding mypy (which does not affect functionality) and then looking at removing the dependency to loopialib (which will take a little while and requires quite a bit of testing).

So from my point of view, after we merge the README improvements in https://github.com/runfalk/certbot-dns-loopia/pull/35 you can go ahead.

MrRawbin avatar Jun 02 '22 12:06 MrRawbin

Hi, I have been using the snap package prepared by @kmpm at https://github.com/kmpm/certbot-dns-loopia-snap/releases/tag/1.0.0 and it has been working great for a long time. Now in february it stopped working with the following error in the logs:

2023-03-06 08:26:56,065:DEBUG:urllib3.connectionpool:http://localhost:None "GET /v2/connections?snap=certbot&interface=content HTTP/1.1" 200 1519
2023-03-06 08:26:56,435:DEBUG:certbot._internal.log:Exiting abnormally:
Traceback (most recent call last):
  File "/snap/certbot/2772/bin/certbot", line 8, in <module>
    sys.exit(main())
  File "/snap/certbot/2772/lib/python3.8/site-packages/certbot/main.py", line 19, in main
    return internal_main.main(cli_args)
  File "/snap/certbot/2772/lib/python3.8/site-packages/certbot/_internal/main.py", line 1833, in main
    plugins = plugins_disco.PluginsRegistry.find_all()
  File "/snap/certbot/2772/lib/python3.8/site-packages/certbot/_internal/plugins/disco.py", line 192, in find_all
    cls._load_entry_point(entry_point, plugins)
  File "/snap/certbot/2772/lib/python3.8/site-packages/certbot/_internal/plugins/disco.py", line 199, in _load_entry_point
    plugin_ep = PluginEntryPoint(entry_point)
  File "/snap/certbot/2772/lib/python3.8/site-packages/certbot/_internal/plugins/disco.py", line 40, in __init__
    self.plugin_cls: Type[interfaces.Plugin] = entry_point.load()
  File "/snap/certbot/2772/lib/python3.8/site-packages/pkg_resources/__init__.py", line 2468, in load
    return self.resolve()
  File "/snap/certbot/2772/lib/python3.8/site-packages/pkg_resources/__init__.py", line 2474, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/snap/certbot-dns-loopia/current/lib/python3.8/site-packages/certbot_dns_loopia.py", line 18, in <module>
    class LoopiaAuthenticator(DNSAuthenticator):
  File "/snap/certbot-dns-loopia/current/lib/python3.8/site-packages/zope/interface/declarations.py", line 1108, in __call__
    directlyProvides(ob, *self.interfaces)
  File "/snap/certbot-dns-loopia/current/lib/python3.8/site-packages/zope/interface/declarations.py", line 918, in directlyProvides
    interfaces = _normalizeargs(interfaces)
  File "/snap/certbot-dns-loopia/current/lib/python3.8/site-packages/zope/interface/declarations.py", line 1307, in _normalizeargs
    _normalizeargs(v, output)
  File "/snap/certbot-dns-loopia/current/lib/python3.8/site-packages/zope/interface/declarations.py", line 1306, in _normalizeargs
    for v in sequence:
TypeError: 'type' object is not iterable
2023-03-06 08:26:56,435:ERROR:certbot._internal.log:An unexpected error occurred:
2023-03-06 08:26:56,435:ERROR:certbot._internal.log:TypeError: 'type' object is not iterable

I guess some other package has been updated that made the certbot-dns-loopia plugin fail. Is there any chance of getting v1.0.1 published as a snap (#13) now that the naming conflict was resolved? I'm regrettably not proficient enough in the snap or python worlds to be much help. Also I can't tell if the updates in v1.0.1 will fix the error but maybe the updates in #38 will do it?

matrei avatar Mar 06 '23 07:03 matrei

For anyone else coming here I have released a snap package working with certbot 2.x.x here: https://github.com/matrei/certbot-dns-loopia/releases/tag/v2.4.0

matrei avatar Mar 09 '23 12:03 matrei