Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-certbot-apache for openSUSE:Factory checked in at 2021-12-21 20:42:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-certbot-apache (Old) and /work/SRC/openSUSE:Factory/.python-certbot-apache.new.2520 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-certbot-apache" Tue Dec 21 20:42:17 2021 rev:32 rq:941933 version:1.22.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-certbot-apache/python-certbot-apache.changes 2021-12-21 18:41:35.257925328 +0100 +++ /work/SRC/openSUSE:Factory/.python-certbot-apache.new.2520/python-certbot-apache.changes 2021-12-21 20:42:18.038012694 +0100 @@ -1,0 +2,6 @@ +Tue Dec 21 18:31:04 UTC 2021 - Danilo Spinella <danilo.spine...@suse.com> + +- Update to version 1.22.0 + * sync with the main certbot package + +------------------------------------------------------------------- Old: ---- certbot-apache-1.20.0.tar.gz New: ---- certbot-apache-1.22.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-certbot-apache.spec ++++++ --- /var/tmp/diff_new_pack.vTbZot/_old 2021-12-21 20:42:18.658013031 +0100 +++ /var/tmp/diff_new_pack.vTbZot/_new 2021-12-21 20:42:18.662013033 +0100 @@ -19,7 +19,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} %define skip_python2 1 Name: python-certbot-apache -Version: 1.20.0 +Version: 1.22.0 Release: 0 Summary: Apache plugin for Certbot License: Apache-2.0 ++++++ certbot-apache-1.20.0.tar.gz -> certbot-apache-1.22.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-apache-1.20.0/PKG-INFO new/certbot-apache-1.22.0/PKG-INFO --- old/certbot-apache-1.20.0/PKG-INFO 2021-10-05 15:53:05.602080600 +0200 +++ new/certbot-apache-1.22.0/PKG-INFO 2021-12-07 23:02:53.898576000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: certbot-apache -Version: 1.20.0 +Version: 1.22.0 Summary: Apache plugin for Certbot Home-page: https://github.com/letsencrypt/letsencrypt Author: Certbot Project @@ -18,6 +18,7 @@ Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 Classifier: Topic :: Internet :: WWW/HTTP Classifier: Topic :: Security Classifier: Topic :: System :: Installation/Setup diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-apache-1.20.0/certbot_apache/_internal/apache_util.py new/certbot-apache-1.22.0/certbot_apache/_internal/apache_util.py --- old/certbot-apache-1.20.0/certbot_apache/_internal/apache_util.py 2021-10-05 15:52:55.000000000 +0200 +++ new/certbot-apache-1.22.0/certbot_apache/_internal/apache_util.py 2021-12-07 23:02:45.000000000 +0100 @@ -242,6 +242,7 @@ return stdout + def find_ssl_apache_conf(prefix): """ Find a TLS Apache config file in the dedicated storage. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-apache-1.20.0/certbot_apache/_internal/assertions.py new/certbot-apache-1.22.0/certbot_apache/_internal/assertions.py --- old/certbot-apache-1.20.0/certbot_apache/_internal/assertions.py 2021-10-05 15:52:55.000000000 +0200 +++ new/certbot-apache-1.22.0/certbot_apache/_internal/assertions.py 2021-12-07 23:02:45.000000000 +0100 @@ -29,6 +29,7 @@ # (but identical) directory structures. assert first.filepath == second.filepath + def assertEqualComment(first, second): # pragma: no cover """ Equality assertion for CommentNode """ @@ -38,6 +39,7 @@ if not isPass(first.comment) and not isPass(second.comment): # type: ignore assert first.comment == second.comment # type: ignore + def _assertEqualDirectiveComponents(first, second): # pragma: no cover """ Handles assertion for instance variables for DirectiveNode and BlockNode""" @@ -50,6 +52,7 @@ if not isPass(first.parameters) and not isPass(second.parameters): assert first.parameters == second.parameters + def assertEqualDirective(first, second): """ Equality assertion for DirectiveNode """ @@ -57,12 +60,14 @@ assert isinstance(second, interfaces.DirectiveNode) _assertEqualDirectiveComponents(first, second) + def isPass(value): # pragma: no cover """Checks if the value is set to PASS""" if isinstance(value, bool): return True return PASS in value + def isPassDirective(block): """ Checks if BlockNode or DirectiveNode should pass the assertion """ @@ -74,6 +79,7 @@ return True return False + def isPassComment(comment): """ Checks if CommentNode should pass the assertion """ @@ -83,6 +89,7 @@ return True return False + def isPassNodeList(nodelist): # pragma: no cover """ Checks if a ParserNode in the nodelist should pass the assertion, this function is used for results of find_* methods. Unimplemented find_* @@ -101,11 +108,13 @@ return isPassDirective(node) return isPassComment(node) + def assertEqualSimple(first, second): """ Simple assertion """ if not isPass(first) and not isPass(second): assert first == second + def isEqualVirtualHost(first, second): """ Checks that two VirtualHost objects are similar. There are some built @@ -126,6 +135,7 @@ first.ancestor == second.ancestor ) + def assertEqualPathsList(first, second): # pragma: no cover """ Checks that the two lists of file paths match. This assertion allows for wildcard diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-apache-1.20.0/certbot_apache/_internal/augeasparser.py new/certbot-apache-1.22.0/certbot_apache/_internal/augeasparser.py --- old/certbot-apache-1.20.0/certbot_apache/_internal/augeasparser.py 2021-10-05 15:52:55.000000000 +0200 +++ new/certbot-apache-1.22.0/certbot_apache/_internal/augeasparser.py 2021-12-07 23:02:45.000000000 +0100 @@ -160,8 +160,7 @@ # remove [...], it's not allowed in Apache configuration and is used # for indexing within Augeas - name = name.split("[")[0] - return name + return name.split("[")[0] class AugeasCommentNode(AugeasParserNode): @@ -170,7 +169,6 @@ def __init__(self, **kwargs): comment, kwargs = util.commentnode_kwargs(kwargs) # pylint: disable=unused-variable super().__init__(**kwargs) - # self.comment = comment self.comment = comment def __eq__(self, other): @@ -278,13 +276,14 @@ ) # Parameters will be set at the initialization of the new object - new_block = AugeasBlockNode(name=name, - parameters=parameters, - enabled=enabled, - ancestor=assertions.PASS, - filepath=apache_util.get_file_path(realpath), - metadata=new_metadata) - return new_block + return AugeasBlockNode( + name=name, + parameters=parameters, + enabled=enabled, + ancestor=assertions.PASS, + filepath=apache_util.get_file_path(realpath), + metadata=new_metadata, + ) # pylint: disable=unused-argument def add_child_directive(self, name, parameters=None, position=None): # pragma: no cover @@ -308,13 +307,14 @@ apache_util.get_file_path(realpath) ) - new_dir = AugeasDirectiveNode(name=name, - parameters=parameters, - enabled=enabled, - ancestor=assertions.PASS, - filepath=apache_util.get_file_path(realpath), - metadata=new_metadata) - return new_dir + return AugeasDirectiveNode( + name=name, + parameters=parameters, + enabled=enabled, + ancestor=assertions.PASS, + filepath=apache_util.get_file_path(realpath), + metadata=new_metadata, + ) def add_child_comment(self, comment="", position=None): """Adds a new CommentNode to the sequence of children""" @@ -330,11 +330,12 @@ # Set the comment content self.parser.aug.set(realpath, comment) - new_comment = AugeasCommentNode(comment=comment, - ancestor=assertions.PASS, - filepath=apache_util.get_file_path(realpath), - metadata=new_metadata) - return new_comment + return AugeasCommentNode( + comment=comment, + ancestor=assertions.PASS, + filepath=apache_util.get_file_path(realpath), + metadata=new_metadata, + ) def find_blocks(self, name, exclude=True): """Recursive search of BlockNodes from the sequence of children""" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-apache-1.20.0/certbot_apache/_internal/configurator.py new/certbot-apache-1.22.0/certbot_apache/_internal/configurator.py --- old/certbot-apache-1.20.0/certbot_apache/_internal/configurator.py 2021-10-05 15:52:55.000000000 +0200 +++ new/certbot-apache-1.22.0/certbot_apache/_internal/configurator.py 2021-12-07 23:02:45.000000000 +0100 @@ -2,7 +2,6 @@ # pylint: disable=too-many-lines from collections import defaultdict import copy -from distutils.version import LooseVersion import fnmatch import logging import re @@ -17,9 +16,8 @@ from acme import challenges from certbot import errors -from certbot import interfaces from certbot import util -from certbot.achallenges import KeyAuthorizationAnnotatedChallenge # pylint: disable=unused-import +from certbot.achallenges import KeyAuthorizationAnnotatedChallenge from certbot.compat import filesystem from certbot.compat import os from certbot.display import util as display_util @@ -117,7 +115,7 @@ # TODO: Add directives to sites-enabled... not sites-available. # sites-available doesn't allow immediate find_dir search even with save() # and load() -class ApacheConfigurator(common.Installer, interfaces.Authenticator): +class ApacheConfigurator(common.Configurator): """Apache configurator. :ivar config: Configuration. @@ -154,9 +152,10 @@ """ # Disabling TLS session tickets is supported by Apache 2.4.11+ and OpenSSL 1.0.2l+. # So for old versions of Apache we pick a configuration without this option. + min_openssl_version = util.parse_loose_version('1.0.2l') openssl_version = self.openssl_version(warn_on_no_mod_ssl) if self.version < (2, 4, 11) or not openssl_version or\ - LooseVersion(openssl_version) < LooseVersion('1.0.2l'): + util.parse_loose_version(openssl_version) < min_openssl_version: return apache_util.find_ssl_apache_conf("old") return apache_util.find_ssl_apache_conf("current") @@ -486,7 +485,7 @@ name=assertions.PASS, ancestor=None, filepath=self.parser.loc["root"], - metadata=metadata + metadata=metadata, ) def deploy_cert(self, domain, cert_path, key_path, @@ -2437,10 +2436,9 @@ except errors.SubprocessError as err: logger.warning("Unable to restart apache using %s", self.options.restart_cmd) - alt_restart = self.options.restart_cmd_alt - if alt_restart: + if self.options.restart_cmd_alt: logger.debug("Trying alternative restart command: %s", - alt_restart) + self.options.restart_cmd_alt) # There is an alternative restart command available # This usually is "restart" verb while original is "graceful" try: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-apache-1.20.0/certbot_apache/_internal/display_ops.py new/certbot-apache-1.22.0/certbot_apache/_internal/display_ops.py --- old/certbot-apache-1.20.0/certbot_apache/_internal/display_ops.py 2021-10-05 15:52:55.000000000 +0200 +++ new/certbot-apache-1.22.0/certbot_apache/_internal/display_ops.py 2021-12-07 23:02:45.000000000 +0100 @@ -103,7 +103,7 @@ https="HTTPS" if vhost.ssl else "", active="Enabled" if vhost.enabled else "", fn_size=filename_size, - name_size=disp_name_size) + name_size=disp_name_size), ) try: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-apache-1.20.0/certbot_apache/_internal/dualparser.py new/certbot-apache-1.22.0/certbot_apache/_internal/dualparser.py --- old/certbot-apache-1.20.0/certbot_apache/_internal/dualparser.py 2021-10-05 15:52:55.000000000 +0200 +++ new/certbot-apache-1.22.0/certbot_apache/_internal/dualparser.py 2021-12-07 23:02:45.000000000 +0100 @@ -185,8 +185,7 @@ primary_new = self.primary.add_child_block(name, parameters, position) secondary_new = self.secondary.add_child_block(name, parameters, position) assertions.assertEqual(primary_new, secondary_new) - new_block = DualBlockNode(primary=primary_new, secondary=secondary_new) - return new_block + return DualBlockNode(primary=primary_new, secondary=secondary_new) def add_child_directive(self, name, parameters=None, position=None): """ Creates a new child DirectiveNode, asserts that both implementations @@ -196,8 +195,7 @@ primary_new = self.primary.add_child_directive(name, parameters, position) secondary_new = self.secondary.add_child_directive(name, parameters, position) assertions.assertEqual(primary_new, secondary_new) - new_dir = DualDirectiveNode(primary=primary_new, secondary=secondary_new) - return new_dir + return DualDirectiveNode(primary=primary_new, secondary=secondary_new) def add_child_comment(self, comment="", position=None): """ Creates a new child CommentNode, asserts that both implementations @@ -207,8 +205,7 @@ primary_new = self.primary.add_child_comment(comment, position) secondary_new = self.secondary.add_child_comment(comment, position) assertions.assertEqual(primary_new, secondary_new) - new_comment = DualCommentNode(primary=primary_new, secondary=secondary_new) - return new_comment + return DualCommentNode(primary=primary_new, secondary=secondary_new) def _create_matching_list(self, primary_list, secondary_list): """ Matches the list of primary_list to a list of secondary_list and diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-apache-1.20.0/certbot_apache/_internal/entrypoint.py new/certbot-apache-1.22.0/certbot_apache/_internal/entrypoint.py --- old/certbot-apache-1.20.0/certbot_apache/_internal/entrypoint.py 2021-10-05 15:52:55.000000000 +0200 +++ new/certbot-apache-1.22.0/certbot_apache/_internal/entrypoint.py 2021-12-07 23:02:45.000000000 +0100 @@ -1,6 +1,4 @@ """ Entry point for Apache Plugin """ -from distutils.version import LooseVersion - from certbot import util from certbot_apache._internal import configurator from certbot_apache._internal import override_arch @@ -47,7 +45,8 @@ override_class = None # Special case for older Fedora versions - if os_name == 'fedora' and LooseVersion(os_version) < LooseVersion('29'): + min_version = util.parse_loose_version('29') + if os_name == 'fedora' and util.parse_loose_version(os_version) < min_version: os_name = 'fedora_old' try: @@ -57,8 +56,7 @@ os_like = util.get_systemd_os_like() if os_like: for os_name in os_like: - if os_name in OVERRIDE_CLASSES.keys(): - override_class = OVERRIDE_CLASSES[os_name] + override_class = OVERRIDE_CLASSES.get(os_name) if not override_class: # No override class found, return the generic configurator override_class = configurator.ApacheConfigurator diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-apache-1.20.0/certbot_apache/_internal/http_01.py new/certbot-apache-1.22.0/certbot_apache/_internal/http_01.py --- old/certbot-apache-1.20.0/certbot_apache/_internal/http_01.py 2021-10-05 15:52:55.000000000 +0200 +++ new/certbot-apache-1.22.0/certbot_apache/_internal/http_01.py 2021-12-07 23:02:45.000000000 +0100 @@ -3,6 +3,7 @@ import logging from typing import List from typing import Set +from typing import TYPE_CHECKING from certbot import errors from certbot.compat import filesystem @@ -11,6 +12,9 @@ from certbot_apache._internal.obj import VirtualHost # pylint: disable=unused-import from certbot_apache._internal.parser import get_aug_path +if TYPE_CHECKING: + from certbot_apache._internal.configurator import ApacheConfigurator # pragma: no cover + logger = logging.getLogger(__name__) @@ -46,8 +50,9 @@ </Location> """ - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) + def __init__(self, configurator: "ApacheConfigurator") -> None: + super().__init__(configurator) + self.configurator: "ApacheConfigurator" self.challenge_conf_pre = os.path.join( self.configurator.conf("challenge-location"), "le_http_01_challenge_pre.conf") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-apache-1.20.0/certbot_apache/_internal/obj.py new/certbot-apache-1.22.0/certbot_apache/_internal/obj.py --- old/certbot-apache-1.20.0/certbot_apache/_internal/obj.py 2021-10-05 15:52:55.000000000 +0200 +++ new/certbot-apache-1.22.0/certbot_apache/_internal/obj.py 2021-12-07 23:02:45.000000000 +0100 @@ -176,7 +176,6 @@ names=", ".join(self.get_names()), https="Yes" if self.ssl else "No")) - def __eq__(self, other): if isinstance(other, self.__class__): return (self.filep == other.filep and self.path == other.path and diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-apache-1.20.0/certbot_apache/_internal/override_debian.py new/certbot-apache-1.22.0/certbot_apache/_internal/override_debian.py --- old/certbot-apache-1.20.0/certbot_apache/_internal/override_debian.py 2021-10-05 15:52:55.000000000 +0200 +++ new/certbot-apache-1.22.0/certbot_apache/_internal/override_debian.py 2021-12-07 23:02:45.000000000 +0100 @@ -118,7 +118,8 @@ # Generate reversal command. # Try to be safe here... check that we can probably reverse before # applying enmod command - if not util.exe_exists(self.options.dismod): + if (self.options.dismod is None or self.options.enmod is None + or not util.exe_exists(self.options.dismod)): raise errors.MisconfigurationError( "Unable to find a2dismod, please make sure a2enmod and " "a2dismod are configured correctly for certbot.") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-apache-1.20.0/certbot_apache/_internal/parser.py new/certbot-apache-1.22.0/certbot_apache/_internal/parser.py --- old/certbot-apache-1.20.0/certbot_apache/_internal/parser.py 2021-10-05 15:52:55.000000000 +0200 +++ new/certbot-apache-1.22.0/certbot_apache/_internal/parser.py 2021-12-07 23:02:45.000000000 +0100 @@ -15,7 +15,7 @@ try: from augeas import Augeas except ImportError: # pragma: no cover - Augeas = None # type: ignore + Augeas = None logger = logging.getLogger(__name__) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-apache-1.20.0/certbot_apache.egg-info/PKG-INFO new/certbot-apache-1.22.0/certbot_apache.egg-info/PKG-INFO --- old/certbot-apache-1.20.0/certbot_apache.egg-info/PKG-INFO 2021-10-05 15:53:05.000000000 +0200 +++ new/certbot-apache-1.22.0/certbot_apache.egg-info/PKG-INFO 2021-12-07 23:02:53.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: certbot-apache -Version: 1.20.0 +Version: 1.22.0 Summary: Apache plugin for Certbot Home-page: https://github.com/letsencrypt/letsencrypt Author: Certbot Project @@ -18,6 +18,7 @@ Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 Classifier: Topic :: Internet :: WWW/HTTP Classifier: Topic :: Security Classifier: Topic :: System :: Installation/Setup diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-apache-1.20.0/certbot_apache.egg-info/requires.txt new/certbot-apache-1.22.0/certbot_apache.egg-info/requires.txt --- old/certbot-apache-1.20.0/certbot_apache.egg-info/requires.txt 2021-10-05 15:53:05.000000000 +0200 +++ new/certbot-apache-1.22.0/certbot_apache.egg-info/requires.txt 2021-12-07 23:02:53.000000000 +0100 @@ -1,5 +1,5 @@ -acme>=1.20.0 -certbot>=1.20.0 +acme>=1.22.0 +certbot>=1.22.0 python-augeas setuptools>=39.0.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-apache-1.20.0/setup.py new/certbot-apache-1.22.0/setup.py --- old/certbot-apache-1.20.0/setup.py 2021-10-05 15:52:56.000000000 +0200 +++ new/certbot-apache-1.22.0/setup.py 2021-12-07 23:02:46.000000000 +0100 @@ -1,7 +1,7 @@ from setuptools import find_packages from setuptools import setup -version = '1.20.0' +version = '1.22.0' install_requires = [ # We specify the minimum acme and certbot version as the current plugin @@ -38,6 +38,7 @@ 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', + 'Programming Language :: Python :: 3.10', 'Topic :: Internet :: WWW/HTTP', 'Topic :: Security', 'Topic :: System :: Installation/Setup',