Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-certbot-dns-luadns for 
openSUSE:Factory checked in at 2023-12-14 22:02:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-certbot-dns-luadns (Old)
 and      /work/SRC/openSUSE:Factory/.python-certbot-dns-luadns.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-certbot-dns-luadns"

Thu Dec 14 22:02:59 2023 rev:40 rq:1133008 version:2.8.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-certbot-dns-luadns/python-certbot-dns-luadns.changes
      2023-06-07 23:08:53.723856689 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-certbot-dns-luadns.new.25432/python-certbot-dns-luadns.changes
   2023-12-14 22:03:04.907940167 +0100
@@ -1,0 +2,28 @@
+Thu Dec  7 10:46:36 UTC 2023 - Markéta Machová <mmach...@suse.com>
+
+- update to version 2.8.0
+  * sync with the main certbot package
+
+-------------------------------------------------------------------
+Thu Nov 16 13:01:23 UTC 2023 - Markéta Machová <mmach...@suse.com>
+
+- update to version 2.7.4
+  * Fixed a bug introduced in version 2.7.0 of our Lexicon based DNS plugins 
that
+    caused them to fail to find the DNS zone that needs to be modified in some
+    cases.
+
+-------------------------------------------------------------------
+Tue Oct 31 08:13:45 UTC 2023 - Markéta Machová <mmach...@suse.com>
+
+- update to version 2.7.3
+  * Add a new base class 
certbot.plugins.dns_common_lexicon.LexiconDNSAuthenticator to implement a DNS
+    authenticator plugin backed by Lexicon to communicate with the provider 
DNS API. This approach relies
+    heavily on conventions to reduce the implementation complexity of a new 
plugin.
+  * Add a new test base class 
certbot.plugins.dns_test_common_lexicon.BaseLexiconDNSAuthenticatorTest to
+    help testing DNS plugins implemented on top of LexiconDNSAuthenticator.
+  * Deprecates LexiconClient base class and build_lexicon_config function in
+    certbot.plugins.dns_common_lexicon module in favor of 
LexiconDNSAuthenticator.
+  * Deprecates BaseLexiconAuthenticatorTest and BaseLexiconClientTest test 
base classes of
+    certbot.plugins.dns_test_common_lexicon module in favor of 
BaseLexiconDNSAuthenticatorTest.
+
+-------------------------------------------------------------------

Old:
----
  certbot-dns-luadns-2.6.0.tar.gz

New:
----
  certbot-dns-luadns-2.8.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-certbot-dns-luadns.spec ++++++
--- /var/tmp/diff_new_pack.zs8jrT/_old  2023-12-14 22:03:05.507961809 +0100
+++ /var/tmp/diff_new_pack.zs8jrT/_new  2023-12-14 22:03:05.511961953 +0100
@@ -19,21 +19,21 @@
 %{?!python_module:%define python_module() python3-%{**}}
 %define skip_python2 1
 Name:           python-certbot-dns-luadns
-Version:        2.6.0
+Version:        2.8.0
 Release:        0
 Summary:        LuaDNS Authenticator plugin for Certbot
 License:        Apache-2.0
 URL:            https://github.com/certbot/certbot
 Source:         
https://files.pythonhosted.org/packages/source/c/certbot-dns-luadns/certbot-dns-luadns-%{version}.tar.gz
 BuildRequires:  %{python_module certbot >= %{version}}
-BuildRequires:  %{python_module dns-lexicon >= 3.2.1}
+BuildRequires:  %{python_module dns-lexicon >= 3.14.1}
 BuildRequires:  %{python_module pytest}
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
 Requires:       python-acme >= %{version}
 Requires:       python-certbot >= %{version}
-Requires:       python-dns-lexicon >= 3.2.1
+Requires:       python-dns-lexicon >= 3.14.1
 BuildArch:      noarch
 %python_subpackages
 

++++++ certbot-dns-luadns-2.6.0.tar.gz -> certbot-dns-luadns-2.8.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/certbot-dns-luadns-2.6.0/PKG-INFO 
new/certbot-dns-luadns-2.8.0/PKG-INFO
--- old/certbot-dns-luadns-2.6.0/PKG-INFO       2023-05-09 21:44:55.711858500 
+0200
+++ new/certbot-dns-luadns-2.8.0/PKG-INFO       2023-12-05 20:14:09.823026700 
+0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: certbot-dns-luadns
-Version: 2.6.0
+Version: 2.8.0
 Summary: LuaDNS Authenticator plugin for Certbot
 Home-page: https://github.com/certbot/certbot
 Author: Certbot Project
@@ -13,7 +13,6 @@
 Classifier: Operating System :: POSIX :: Linux
 Classifier: Programming Language :: Python
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
 Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: 3.10
@@ -24,7 +23,14 @@
 Classifier: Topic :: System :: Networking
 Classifier: Topic :: System :: Systems Administration
 Classifier: Topic :: Utilities
-Requires-Python: >=3.7
+Requires-Python: >=3.8
+License-File: LICENSE.txt
+Requires-Dist: dns-lexicon>=3.14.1
+Requires-Dist: setuptools>=41.6.0
+Requires-Dist: acme>=2.8.0
+Requires-Dist: certbot>=2.8.0
 Provides-Extra: docs
+Requires-Dist: Sphinx>=1.0; extra == "docs"
+Requires-Dist: sphinx_rtd_theme; extra == "docs"
 Provides-Extra: test
-License-File: LICENSE.txt
+Requires-Dist: pytest; extra == "test"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/certbot-dns-luadns-2.6.0/certbot_dns_luadns/_internal/dns_luadns.py 
new/certbot-dns-luadns-2.8.0/certbot_dns_luadns/_internal/dns_luadns.py
--- old/certbot-dns-luadns-2.6.0/certbot_dns_luadns/_internal/dns_luadns.py     
2023-05-09 21:44:36.000000000 +0200
+++ new/certbot-dns-luadns-2.8.0/certbot_dns_luadns/_internal/dns_luadns.py     
2023-12-05 20:13:52.000000000 +0100
@@ -2,34 +2,33 @@
 import logging
 from typing import Any
 from typing import Callable
-from typing import cast
-from typing import Optional
 
-from lexicon.providers import luadns
 from requests import HTTPError
 
 from certbot import errors
-from certbot.plugins import dns_common
 from certbot.plugins import dns_common_lexicon
-from certbot.plugins.dns_common import CredentialsConfiguration
 
 logger = logging.getLogger(__name__)
 
 ACCOUNT_URL = 'https://api.luadns.com/settings'
 
 
-class Authenticator(dns_common.DNSAuthenticator):
+class Authenticator(dns_common_lexicon.LexiconDNSAuthenticator):
     """DNS Authenticator for LuaDNS
 
     This Authenticator uses the LuaDNS API to fulfill a dns-01 challenge.
     """
 
     description = 'Obtain certificates using a DNS TXT record (if you are 
using LuaDNS for DNS).'
-    ttl = 60
 
     def __init__(self, *args: Any, **kwargs: Any) -> None:
         super().__init__(*args, **kwargs)
-        self.credentials: Optional[CredentialsConfiguration] = None
+        self._add_provider_option('email',
+                                  'email address associated with LuaDNS 
account',
+                                  'auth_username')
+        self._add_provider_option('token',
+                                  f'API token for LuaDNS account, obtained 
from {ACCOUNT_URL}',
+                                  'auth_token')
 
     @classmethod
     def add_parser_arguments(cls, add: Callable[..., None],
@@ -41,46 +40,9 @@
         return 'This plugin configures a DNS TXT record to respond to a dns-01 
challenge using ' + \
                'the LuaDNS API.'
 
-    def _setup_credentials(self) -> None:
-        self.credentials = self._configure_credentials(
-            'credentials',
-            'LuaDNS credentials INI file',
-            {
-                'email': 'email address associated with LuaDNS account',
-                'token': 'API token for LuaDNS account, obtained from 
{0}'.format(ACCOUNT_URL)
-            }
-        )
-
-    def _perform(self, domain: str, validation_name: str, validation: str) -> 
None:
-        self._get_luadns_client().add_txt_record(domain, validation_name, 
validation)
-
-    def _cleanup(self, domain: str, validation_name: str, validation: str) -> 
None:
-        self._get_luadns_client().del_txt_record(domain, validation_name, 
validation)
-
-    def _get_luadns_client(self) -> "_LuaDNSLexiconClient":
-        if not self.credentials:  # pragma: no cover
-            raise errors.Error("Plugin has not been prepared.")
-        return _LuaDNSLexiconClient(cast(str, self.credentials.conf('email')),
-                                    cast(str, self.credentials.conf('token')),
-                                    self.ttl)
-
-
-class _LuaDNSLexiconClient(dns_common_lexicon.LexiconClient):
-    """
-    Encapsulates all communication with the LuaDNS via Lexicon.
-    """
-
-    def __init__(self, email: str, token: str, ttl: int) -> None:
-        super().__init__()
-
-        config = dns_common_lexicon.build_lexicon_config('luadns', {
-            'ttl': ttl,
-        }, {
-            'auth_username': email,
-            'auth_token': token,
-        })
-
-        self.provider = luadns.Provider(config)
+    @property
+    def _provider_name(self) -> str:
+        return 'luadns'
 
     def _handle_http_error(self, e: HTTPError, domain_name: str) -> 
errors.PluginError:
         hint = None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/certbot-dns-luadns-2.6.0/certbot_dns_luadns/_internal/tests/dns_luadns_test.py
 
new/certbot-dns-luadns-2.8.0/certbot_dns_luadns/_internal/tests/dns_luadns_test.py
--- 
old/certbot-dns-luadns-2.6.0/certbot_dns_luadns/_internal/tests/dns_luadns_test.py
  2023-05-09 21:44:36.000000000 +0200
+++ 
new/certbot-dns-luadns-2.8.0/certbot_dns_luadns/_internal/tests/dns_luadns_test.py
  2023-12-05 20:13:52.000000000 +0100
@@ -1,10 +1,9 @@
 """Tests for certbot_dns_luadns._internal.dns_luadns."""
-
 import sys
-import unittest
 from unittest import mock
 
 import pytest
+from requests import Response
 from requests.exceptions import HTTPError
 
 from certbot.compat import os
@@ -17,7 +16,9 @@
 
 
 class AuthenticatorTest(test_util.TempDirTestCase,
-                        dns_test_common_lexicon.BaseLexiconAuthenticatorTest):
+                        
dns_test_common_lexicon.BaseLexiconDNSAuthenticatorTest):
+
+    LOGIN_ERROR = HTTPError("401 Client Error: Unauthorized for url: ...", 
response=Response())
 
     def setUp(self):
         super().setUp()
@@ -32,23 +33,6 @@
 
         self.auth = Authenticator(self.config, "luadns")
 
-        self.mock_client = mock.MagicMock()
-        # _get_luadns_client | pylint: disable=protected-access
-        self.auth._get_luadns_client = 
mock.MagicMock(return_value=self.mock_client)
-
-
-class LuaDNSLexiconClientTest(unittest.TestCase, 
dns_test_common_lexicon.BaseLexiconClientTest):
-
-    LOGIN_ERROR = HTTPError("401 Client Error: Unauthorized for url: ...")
-
-    def setUp(self):
-        from certbot_dns_luadns._internal.dns_luadns import 
_LuaDNSLexiconClient
-
-        self.client = _LuaDNSLexiconClient(EMAIL, TOKEN, 0)
-
-        self.provider_mock = mock.MagicMock()
-        self.client.provider = self.provider_mock
-
 
 if __name__ == "__main__":
     sys.exit(pytest.main(sys.argv[1:] + [__file__]))  # pragma: no cover
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/certbot-dns-luadns-2.6.0/certbot_dns_luadns.egg-info/PKG-INFO 
new/certbot-dns-luadns-2.8.0/certbot_dns_luadns.egg-info/PKG-INFO
--- old/certbot-dns-luadns-2.6.0/certbot_dns_luadns.egg-info/PKG-INFO   
2023-05-09 21:44:55.000000000 +0200
+++ new/certbot-dns-luadns-2.8.0/certbot_dns_luadns.egg-info/PKG-INFO   
2023-12-05 20:14:09.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: certbot-dns-luadns
-Version: 2.6.0
+Version: 2.8.0
 Summary: LuaDNS Authenticator plugin for Certbot
 Home-page: https://github.com/certbot/certbot
 Author: Certbot Project
@@ -13,7 +13,6 @@
 Classifier: Operating System :: POSIX :: Linux
 Classifier: Programming Language :: Python
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
 Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: 3.10
@@ -24,7 +23,14 @@
 Classifier: Topic :: System :: Networking
 Classifier: Topic :: System :: Systems Administration
 Classifier: Topic :: Utilities
-Requires-Python: >=3.7
+Requires-Python: >=3.8
+License-File: LICENSE.txt
+Requires-Dist: dns-lexicon>=3.14.1
+Requires-Dist: setuptools>=41.6.0
+Requires-Dist: acme>=2.8.0
+Requires-Dist: certbot>=2.8.0
 Provides-Extra: docs
+Requires-Dist: Sphinx>=1.0; extra == "docs"
+Requires-Dist: sphinx_rtd_theme; extra == "docs"
 Provides-Extra: test
-License-File: LICENSE.txt
+Requires-Dist: pytest; extra == "test"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/certbot-dns-luadns-2.6.0/certbot_dns_luadns.egg-info/requires.txt 
new/certbot-dns-luadns-2.8.0/certbot_dns_luadns.egg-info/requires.txt
--- old/certbot-dns-luadns-2.6.0/certbot_dns_luadns.egg-info/requires.txt       
2023-05-09 21:44:55.000000000 +0200
+++ new/certbot-dns-luadns-2.8.0/certbot_dns_luadns.egg-info/requires.txt       
2023-12-05 20:14:09.000000000 +0100
@@ -1,7 +1,7 @@
-dns-lexicon>=3.2.1
+dns-lexicon>=3.14.1
 setuptools>=41.6.0
-acme>=2.6.0
-certbot>=2.6.0
+acme>=2.8.0
+certbot>=2.8.0
 
 [docs]
 Sphinx>=1.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/certbot-dns-luadns-2.6.0/docs/conf.py 
new/certbot-dns-luadns-2.8.0/docs/conf.py
--- old/certbot-dns-luadns-2.6.0/docs/conf.py   2023-05-09 21:44:36.000000000 
+0200
+++ new/certbot-dns-luadns-2.8.0/docs/conf.py   2023-12-05 20:13:52.000000000 
+0100
@@ -16,7 +16,7 @@
 # add these directories to sys.path here. If the directory is relative to the
 # documentation root, use os.path.abspath to make it absolute, like shown here.
 #
-import os
+# import os
 
 # import sys
 # sys.path.insert(0, os.path.abspath('.'))
@@ -35,7 +35,8 @@
     'sphinx.ext.intersphinx',
     'sphinx.ext.todo',
     'sphinx.ext.coverage',
-    'sphinx.ext.viewcode']
+    'sphinx.ext.viewcode',
+    'sphinx_rtd_theme']
 
 autodoc_member_order = 'bysource'
 autodoc_default_flags = ['show-inheritance']
@@ -93,14 +94,7 @@
 # a list of builtin themes.
 #
 
-# 
https://docs.readthedocs.io/en/stable/faq.html#i-want-to-use-the-read-the-docs-theme-locally
-# on_rtd is whether we are on readthedocs.org
-on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
-if not on_rtd:  # only import and set the theme if we're building docs locally
-    import sphinx_rtd_theme
-    html_theme = 'sphinx_rtd_theme'
-    html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
-# otherwise, readthedocs.org uses their theme by default, so no need to 
specify it
+html_theme = 'sphinx_rtd_theme'
 
 # Theme options are theme-specific and customize the look and feel of a theme
 # further.  For a list of options available for each theme, see the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/certbot-dns-luadns-2.6.0/setup.py 
new/certbot-dns-luadns-2.8.0/setup.py
--- old/certbot-dns-luadns-2.6.0/setup.py       2023-05-09 21:44:37.000000000 
+0200
+++ new/certbot-dns-luadns-2.8.0/setup.py       2023-12-05 20:13:53.000000000 
+0100
@@ -4,14 +4,16 @@
 from setuptools import find_packages
 from setuptools import setup
 
-version = '2.6.0'
+version = '2.8.0'
 
 install_requires = [
-    'dns-lexicon>=3.2.1',
+    'dns-lexicon>=3.14.1',
     'setuptools>=41.6.0',
 ]
 
-if not os.environ.get('SNAP_BUILD'):
+if os.environ.get('SNAP_BUILD'):
+    install_requires.append('packaging')
+else:
     install_requires.extend([
         # We specify the minimum acme and certbot version as the current plugin
         # version for simplicity. See
@@ -19,11 +21,6 @@
         f'acme>={version}',
         f'certbot>={version}',
     ])
-elif 'bdist_wheel' in sys.argv[1:]:
-    raise RuntimeError('Unset SNAP_BUILD when building wheels '
-                       'to include certbot dependencies.')
-if os.environ.get('SNAP_BUILD'):
-    install_requires.append('packaging')
 
 docs_extras = [
     'Sphinx>=1.0',  # autodoc_member_order = 'bysource', autodoc_default_flags
@@ -42,7 +39,7 @@
     author="Certbot Project",
     author_email='certbot-...@eff.org',
     license='Apache License 2.0',
-    python_requires='>=3.7',
+    python_requires='>=3.8',
     classifiers=[
         'Development Status :: 5 - Production/Stable',
         'Environment :: Plugins',
@@ -51,7 +48,6 @@
         'Operating System :: POSIX :: Linux',
         'Programming Language :: Python',
         'Programming Language :: Python :: 3',
-        'Programming Language :: Python :: 3.7',
         'Programming Language :: Python :: 3.8',
         'Programming Language :: Python :: 3.9',
         'Programming Language :: Python :: 3.10',

Reply via email to