Hello community,

here is the log from the commit of package python-certbot for openSUSE:Factory 
checked in at 2019-09-13 14:59:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-certbot (Old)
 and      /work/SRC/openSUSE:Factory/.python-certbot.new.7948 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-certbot"

Fri Sep 13 14:59:01 2019 rev:17 rq:730161 version:0.38.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-certbot/python-certbot.changes    
2019-08-28 16:03:58.318778043 +0200
+++ /work/SRC/openSUSE:Factory/.python-certbot.new.7948/python-certbot.changes  
2019-09-13 14:59:03.553279119 +0200
@@ -1,0 +2,9 @@
+Wed Sep 11 12:29:03 UTC 2019 - Marketa Calabkova <[email protected]>
+
+- update to version 0.38.0
+  * If Certbot fails to rollback your server configuration, the 
+    error message links to the Let's Encrypt forum.
+  * Replace platform.linux_distribution with distro.linux_distribution 
+    as a step towards Python 3.8 support in Certbot.
+
+-------------------------------------------------------------------

Old:
----
  certbot-0.37.2.tar.gz

New:
----
  certbot-0.38.0.tar.gz

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

Other differences:
------------------
++++++ python-certbot.spec ++++++
--- /var/tmp/diff_new_pack.rZfY1Z/_old  2019-09-13 14:59:04.013279139 +0200
+++ /var/tmp/diff_new_pack.rZfY1Z/_new  2019-09-13 14:59:04.017279139 +0200
@@ -18,7 +18,7 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-certbot
-Version:        0.37.2
+Version:        0.38.0
 Release:        0
 Summary:        ACME client
 License:        Apache-2.0
@@ -29,6 +29,7 @@
 BuildRequires:  %{python_module configargparse >= 0.9.3}
 BuildRequires:  %{python_module configobj}
 BuildRequires:  %{python_module cryptography >= 1.2.3}
+BuildRequires:  %{python_module distro >= 1.0.1}
 BuildRequires:  %{python_module future}
 BuildRequires:  %{python_module josepy >= 1.1.0}
 BuildRequires:  %{python_module mock}
@@ -46,6 +47,7 @@
 Requires:       python-configargparse >= 0.9.3
 Requires:       python-configobj
 Requires:       python-cryptography >= 1.2.3
+Requires:       python-distro >= 1.0.1
 Requires:       python-future
 Requires:       python-josepy >= 1.1.0
 Requires:       python-mock

++++++ certbot-0.37.2.tar.gz -> certbot-0.38.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/certbot-0.37.2/CHANGELOG.md 
new/certbot-0.38.0/CHANGELOG.md
--- old/certbot-0.37.2/CHANGELOG.md     2019-08-21 23:48:40.000000000 +0200
+++ new/certbot-0.38.0/CHANGELOG.md     2019-09-03 21:42:35.000000000 +0200
@@ -2,10 +2,28 @@
 
 Certbot adheres to [Semantic Versioning](https://semver.org/).
 
-## 0.37.2 - 2019-08-21
+## 0.38.0 - 2019-09-03
+
+### Added
+
+*
+
+### Changed
+
+* If Certbot fails to rollback your server configuration, the error message
+  links to the Let's Encrypt forum. Change the link to the Help category now
+  that the Server category has been closed.
+* Replace platform.linux_distribution with distro.linux_distribution as a step
+  towards Python 3.8 support in Certbot.
 
 ### Fixed
 
+* Fixed OS detection in the Apache plugin on Scientific Linux.
+
+More details about these changes can be found on our GitHub repo.
+
+## 0.37.2 - 2019-08-21
+
 * Stop disabling TLS session tickets in Nginx as it caused TLS failures on
   some systems.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/certbot-0.37.2/PKG-INFO new/certbot-0.38.0/PKG-INFO
--- old/certbot-0.37.2/PKG-INFO 2019-08-21 23:48:42.000000000 +0200
+++ new/certbot-0.38.0/PKG-INFO 2019-09-03 21:42:38.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: certbot
-Version: 0.37.2
+Version: 0.38.0
 Summary: ACME client
 Home-page: https://github.com/letsencrypt/letsencrypt
 Author: Certbot Project
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/certbot-0.37.2/certbot/__init__.py 
new/certbot-0.38.0/certbot/__init__.py
--- old/certbot-0.37.2/certbot/__init__.py      2019-08-21 23:48:41.000000000 
+0200
+++ new/certbot-0.38.0/certbot/__init__.py      2019-09-03 21:42:37.000000000 
+0200
@@ -1,4 +1,4 @@
 """Certbot client."""
 
 # version number like 1.2.3a0, must have at least 2 parts, like 1.2
-__version__ = '0.37.2'
+__version__ = '0.38.0'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/certbot-0.37.2/certbot/client.py 
new/certbot-0.38.0/certbot/client.py
--- old/certbot-0.37.2/certbot/client.py        2019-08-21 23:48:40.000000000 
+0200
+++ new/certbot-0.38.0/certbot/client.py        2019-09-03 21:42:35.000000000 
+0200
@@ -624,7 +624,7 @@
             reporter.add_message(
                 "An error occurred and we failed to restore your config and "
                 "restart your server. Please post to "
-                "https://community.letsencrypt.org/c/server-config "
+                "https://community.letsencrypt.org/c/help "
                 "with details about your configuration and this error you 
received.",
                 reporter.HIGH_PRIORITY)
             raise
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/certbot-0.37.2/certbot/compat/filesystem.py 
new/certbot-0.38.0/certbot/compat/filesystem.py
--- old/certbot-0.37.2/certbot/compat/filesystem.py     2019-08-21 
23:48:40.000000000 +0200
+++ new/certbot-0.38.0/certbot/compat/filesystem.py     2019-09-03 
21:42:35.000000000 +0200
@@ -166,11 +166,11 @@
         # See 
https://docs.microsoft.com/en-us/windows/desktop/api/securitybaseapi/nf-securitybaseapi-setsecuritydescriptordacl
  # pylint: disable=line-too-long
         security.SetSecurityDescriptorDacl(1, dacl, 0)
 
+        handle = None
         try:
             handle = win32file.CreateFile(file_path, win32file.GENERIC_READ,
                                           win32file.FILE_SHARE_READ & 
win32file.FILE_SHARE_WRITE,
                                           attributes, disposition, 0, None)
-            handle.Close()
         except pywintypes.error as err:
             # Handle native windows errors into python errors to be consistent 
with the API
             # of os.open in the situation of a file already existing or locked.
@@ -179,6 +179,9 @@
             if err.winerror == winerror.ERROR_SHARING_VIOLATION:
                 raise OSError(errno.EACCES, err.strerror)
             raise err
+        finally:
+            if handle:
+                handle.Close()
 
         # At this point, the file that did not exist has been created with 
proper permissions,
         # so os.O_CREAT and os.O_EXCL are not needed anymore. We remove them 
from the flags to
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/certbot-0.37.2/certbot/tests/cli_test.py 
new/certbot-0.38.0/certbot/tests/cli_test.py
--- old/certbot-0.37.2/certbot/tests/cli_test.py        2019-08-21 
23:48:40.000000000 +0200
+++ new/certbot-0.38.0/certbot/tests/cli_test.py        2019-09-03 
21:42:35.000000000 +0200
@@ -23,21 +23,27 @@
 
 
 class TestReadFile(TempDirTestCase):
-    '''Test cli.read_file'''
-
-
+    """Test cli.read_file"""
     def test_read_file(self):
-        rel_test_path = os.path.relpath(os.path.join(self.tempdir, 'foo'))
-        self.assertRaises(
-            argparse.ArgumentTypeError, cli.read_file, rel_test_path)
-
-        test_contents = b'bar\n'
-        with open(rel_test_path, 'wb') as f:
-            f.write(test_contents)
-
-        path, contents = cli.read_file(rel_test_path)
-        self.assertEqual(path, os.path.abspath(path))
-        self.assertEqual(contents, test_contents)
+        curr_dir = os.getcwd()
+        try:
+            # On Windows current directory may be on a different drive than 
self.tempdir.
+            # However a relative path between two different drives is invalid. 
So we move to
+            # self.tempdir to ensure that we stay on the same drive.
+            os.chdir(self.tempdir)
+            rel_test_path = os.path.relpath(os.path.join(self.tempdir, 'foo'))
+            self.assertRaises(
+                argparse.ArgumentTypeError, cli.read_file, rel_test_path)
+
+            test_contents = b'bar\n'
+            with open(rel_test_path, 'wb') as f:
+                f.write(test_contents)
+
+            path, contents = cli.read_file(rel_test_path)
+            self.assertEqual(path, os.path.abspath(path))
+            self.assertEqual(contents, test_contents)
+        finally:
+            os.chdir(curr_dir)
 
 
 class FlagDefaultTest(unittest.TestCase):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/certbot-0.37.2/certbot/tests/compat/filesystem_test.py 
new/certbot-0.38.0/certbot/tests/compat/filesystem_test.py
--- old/certbot-0.37.2/certbot/tests/compat/filesystem_test.py  2019-08-21 
23:48:40.000000000 +0200
+++ new/certbot-0.38.0/certbot/tests/compat/filesystem_test.py  2019-09-03 
21:42:35.000000000 +0200
@@ -210,15 +210,15 @@
     def _test_one_creation(self, num, file_exist, flags):
         one_file = os.path.join(self.tempdir, str(num))
         if file_exist and not os.path.exists(one_file):
-            open(one_file, 'w').close()
+            with open(one_file, 'w'):
+                pass
 
         handler = None
         try:
             handler = filesystem.open(one_file, flags)
-        except BaseException as err:
+        finally:
             if handler:
                 os.close(handler)
-            raise err
 
 
 @unittest.skipIf(POSIX_MODE, reason='Test specific to Windows security')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/certbot-0.37.2/certbot/tests/util.py 
new/certbot-0.38.0/certbot/tests/util.py
--- old/certbot-0.37.2/certbot/tests/util.py    2019-08-21 23:48:40.000000000 
+0200
+++ new/certbot-0.38.0/certbot/tests/util.py    2019-09-03 21:42:35.000000000 
+0200
@@ -5,7 +5,6 @@
 """
 import logging
 import shutil
-import stat
 import sys
 import tempfile
 import unittest
@@ -339,16 +338,7 @@
         logging.getLogger().handlers = []
         util._release_locks()  # pylint: disable=protected-access
 
-        def handle_rw_files(_, path, __):
-            """Handle read-only files, that will fail to be removed on 
Windows."""
-            filesystem.chmod(path, stat.S_IWRITE)
-            try:
-                os.remove(path)
-            except (IOError, OSError):
-                # TODO: remote the try/except once all logic from windows file 
permissions is merged
-                if os.name != 'nt':
-                    raise
-        shutil.rmtree(self.tempdir, onerror=handle_rw_files)
+        shutil.rmtree(self.tempdir)
 
 
 class ConfigTestCase(TempDirTestCase):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/certbot-0.37.2/certbot/tests/util_test.py 
new/certbot-0.38.0/certbot/tests/util_test.py
--- old/certbot-0.37.2/certbot/tests/util_test.py       2019-08-21 
23:48:40.000000000 +0200
+++ new/certbot-0.38.0/certbot/tests/util_test.py       2019-09-03 
21:42:35.000000000 +0200
@@ -520,11 +520,11 @@
 
             with mock.patch('platform.system_alias',
                             return_value=('linux', '', '')):
-                with mock.patch('platform.linux_distribution',
+                with mock.patch('distro.linux_distribution',
                                 return_value=('', '', '')):
                     self.assertEqual(get_python_os_info(), ("linux", ""))
 
-                with mock.patch('platform.linux_distribution',
+                with mock.patch('distro.linux_distribution',
                                 return_value=('testdist', '42', '')):
                     self.assertEqual(get_python_os_info(), ("testdist", "42"))
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/certbot-0.37.2/certbot/util.py 
new/certbot-0.38.0/certbot/util.py
--- old/certbot-0.37.2/certbot/util.py  2019-08-21 23:48:40.000000000 +0200
+++ new/certbot-0.38.0/certbot/util.py  2019-09-03 21:42:35.000000000 +0200
@@ -14,6 +14,7 @@
 import subprocess
 
 import configargparse
+import distro
 import six
 
 from acme.magic_typing import Tuple, Union  # pylint: disable=unused-import, 
no-name-in-module
@@ -391,8 +392,8 @@
     os_type, os_ver, _ = info
     os_type = os_type.lower()
     if os_type.startswith('linux'):
-        info = platform.linux_distribution()
-        # On arch, platform.linux_distribution() is reportedly ('','',''),
+        info = distro.linux_distribution()
+        # On arch, distro.linux_distribution() is reportedly ('','',''),
         # so handle it defensively
         if info[0]:
             os_type = info[0]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/certbot-0.37.2/certbot.egg-info/PKG-INFO 
new/certbot-0.38.0/certbot.egg-info/PKG-INFO
--- old/certbot-0.37.2/certbot.egg-info/PKG-INFO        2019-08-21 
23:48:42.000000000 +0200
+++ new/certbot-0.38.0/certbot.egg-info/PKG-INFO        2019-09-03 
21:42:37.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: certbot
-Version: 0.37.2
+Version: 0.38.0
 Summary: ACME client
 Home-page: https://github.com/letsencrypt/letsencrypt
 Author: Certbot Project
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/certbot-0.37.2/certbot.egg-info/requires.txt 
new/certbot-0.38.0/certbot.egg-info/requires.txt
--- old/certbot-0.37.2/certbot.egg-info/requires.txt    2019-08-21 
23:48:42.000000000 +0200
+++ new/certbot-0.38.0/certbot.egg-info/requires.txt    2019-09-03 
21:42:37.000000000 +0200
@@ -2,6 +2,7 @@
 ConfigArgParse>=0.9.3
 configobj
 cryptography>=1.2.3
+distro>=1.0.1
 josepy>=1.1.0
 mock
 parsedatetime>=1.3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/certbot-0.37.2/docs/cli-help.txt 
new/certbot-0.38.0/docs/cli-help.txt
--- old/certbot-0.37.2/docs/cli-help.txt        2019-08-21 23:48:40.000000000 
+0200
+++ new/certbot-0.38.0/docs/cli-help.txt        2019-09-03 21:42:35.000000000 
+0200
@@ -113,7 +113,7 @@
                         case, and to know when to deprecate support for past
                         Python versions and flags. If you wish to hide this
                         information from the Let's Encrypt server, set this to
-                        "". (default: CertbotACMEClient/0.37.1
+                        "". (default: CertbotACMEClient/0.37.2
                         (certbot(-auto); OS_NAME OS_VERSION) Authenticator/XXX
                         Installer/YYY (SUBCOMMAND; flags: FLAGS)
                         Py/major.minor.patchlevel). The flags encoded in the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/certbot-0.37.2/docs/contributing.rst 
new/certbot-0.38.0/docs/contributing.rst
--- old/certbot-0.37.2/docs/contributing.rst    2019-08-21 23:48:40.000000000 
+0200
+++ new/certbot-0.38.0/docs/contributing.rst    2019-09-03 21:42:35.000000000 
+0200
@@ -114,9 +114,9 @@
 run all of the unittests for Certbot with ``tox -e py27`` (this uses Python
 2.7).
 
-Once all the unittests pass, check for sufficient test coverage using
-``tox -e cover``, and then check for code style with ``tox -e lint`` (all 
files)
-or ``pylint --rcfile=.pylintrc path/to/file.py`` (single file at a time).
+Once all the unittests pass, check for sufficient test coverage using ``tox -e
+py27-cover``, and then check for code style with ``tox -e lint`` (all files) or
+``pylint --rcfile=.pylintrc path/to/file.py`` (single file at a time).
 
 Once all of the above is successful, you may run the full test suite using
 ``tox --skip-missing-interpreters``. We recommend running the commands above
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/certbot-0.37.2/docs/install.rst 
new/certbot-0.38.0/docs/install.rst
--- old/certbot-0.37.2/docs/install.rst 2019-08-21 23:48:40.000000000 +0200
+++ new/certbot-0.38.0/docs/install.rst 2019-09-03 21:42:35.000000000 +0200
@@ -200,23 +200,39 @@
 
 **Debian**
 
-If you run Debian Stretch or Debian Sid, you can install certbot packages.
+If you run Debian Buster or Debian testing/Sid, you can easily install certbot
+packages through commands like:
 
 .. code-block:: shell
 
    sudo apt-get update
-   sudo apt-get install certbot python-certbot-apache
+   sudo apt-get install certbot
 
-If you don't want to use the Apache plugin, you can omit the
-``python-certbot-apache`` package. Or you can install ``python-certbot-nginx`` 
instead.
+If you run Debian Stretch, we recommend you use the packages in Debian
+backports repository. First you'll have to follow the instructions at
+https://backports.debian.org/Instructions/ to enable the Stretch backports 
repo,
+if you have not already done so. Then run:
 
-Packages exist for Debian Jessie via backports. First you'll have to follow the
-instructions at http://backports.debian.org/Instructions/ to enable the Jessie 
backports
-repo, if you have not already done so. Then run:
+.. code-block:: shell
+
+   sudo apt-get install certbot -t stretch-backports
+
+In all of these cases, there also packages available to help Certbot integrate
+with Apache, nginx, or various DNS services. If you are using Apache or nginx,
+we strongly recommend that you install the ``python-certbot-apache`` or
+``python-certbot-nginx`` package so that Certbot can fully automate HTTPS
+configuration for your server. A full list of these packages can be found
+through a command like:
 
 .. code-block:: shell
 
-   sudo apt-get install certbot python-certbot-apache -t jessie-backports
+    apt search 'python-certbot*'
+
+They can be installed by running the same installation command above but
+replacing ``certbot`` with the name of the desired package.
+
+There are no Certbot packages available for Debian Jessie and Jessie users
+should instead use certbot-auto_.
 
 **Ubuntu**
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/certbot-0.37.2/docs/using.rst 
new/certbot-0.38.0/docs/using.rst
--- old/certbot-0.37.2/docs/using.rst   2019-08-21 23:48:40.000000000 +0200
+++ new/certbot-0.38.0/docs/using.rst   2019-09-03 21:42:35.000000000 +0200
@@ -281,6 +281,7 @@
 proxmox_           N    Y    Install certificates in Proxmox Virtualization 
servers
 heroku_            Y    Y    Integration with Heroku SSL
 dns-standalone_    Y    N    Obtain certificates via an integrated DNS server
+dns-ispconfig_     Y    N    DNS Authentication using ISPConfig as DNS server
 ================== ==== ==== 
===============================================================
 
 .. _haproxy: https://github.com/greenhost/certbot-haproxy
@@ -294,6 +295,7 @@
 .. _external: https://github.com/marcan/letsencrypt-external
 .. _heroku: https://github.com/gboudreau/certbot-heroku
 .. _dns-standalone: https://github.com/siilike/certbot-dns-standalone
+.. _dns-ispconfig: https://github.com/m42e/certbot-dns-ispconfig
 
 If you're interested, you can also :ref:`write your own plugin <dev-plugin>`.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/certbot-0.37.2/setup.py new/certbot-0.38.0/setup.py
--- old/certbot-0.37.2/setup.py 2019-08-21 23:48:41.000000000 +0200
+++ new/certbot-0.38.0/setup.py 2019-09-03 21:42:36.000000000 +0200
@@ -41,6 +41,7 @@
     'ConfigArgParse>=0.9.3',
     'configobj',
     'cryptography>=1.2.3',  # load_pem_x509_certificate
+    'distro>=1.0.1',
     # 1.1.0+ is required to avoid the warnings described at
     # https://github.com/certbot/josepy/issues/13.
     'josepy>=1.1.0',


Reply via email to