svn commit: r441335 - in head/security/py-certbot: . files
Carlos J. Puga Medina
cpm at FreeBSD.org
Sat May 20 20:44:14 UTC 2017
Author: cpm
Date: Sat May 20 20:44:12 2017
New Revision: 441335
URL: https://svnweb.freebsd.org/changeset/ports/441335
Log:
security/py-certbot: Fix configargparse 0.12.0 regression
This is caused by the recent release of configargparse version 0.12.0.
The variable ACTION_TYPES_THAT_DONT_NEED_A_VALUE was changed from a set
to a tuple in that release.
Traceback (most recent call last):
File "/usr/local/bin/certbot", line 11, in <module>
load_entry_point('certbot==0.13.0', 'console_scripts', 'certbot')()
File "/usr/local/lib/python2.7/site-packages/certbot/main.py", line 738, in main
args = cli.prepare_and_parse_args(plugins, cli_args)
File "/usr/local/lib/python2.7/site-packages/certbot/cli.py", line 1072, in prepare_and_parse_args
helpful.add_deprecated_argument("--agree-dev-preview", 0)
File "/usr/local/lib/python2.7/site-packages/certbot/cli.py", line 726, in add_deprecated_argument
self.parser.add_argument, argument_name, num_args)
File "/usr/local/lib/python2.7/site-packages/certbot/util.py", line 440, in add_deprecated_argument
configargparse.ACTION_TYPES_THAT_DONT_NEED_A_VALUE.add(ShowWarning)
AttributeError: 'tuple' object has no attribute 'add'
PR: 219306
Reported by: GKK <netbackup.gs at gmail.com>
Approved by: koobs (maintainer)
Obtained from: https://github.com/certbot/certbot/commit/42d07d756df0cf96c9d20b44e772858391d48384
Added:
head/security/py-certbot/files/patch-certbot_tests_util__test.py (contents, props changed)
head/security/py-certbot/files/patch-certbot_util.py (contents, props changed)
Modified:
head/security/py-certbot/Makefile
Modified: head/security/py-certbot/Makefile
==============================================================================
--- head/security/py-certbot/Makefile Sat May 20 20:36:42 2017 (r441334)
+++ head/security/py-certbot/Makefile Sat May 20 20:44:12 2017 (r441335)
@@ -3,7 +3,7 @@
PORTNAME= certbot
PORTVERSION= 0.13.0
-PORTREVISION= 1
+PORTREVISION= 2
PORTEPOCH= 1
CATEGORIES= security python
MASTER_SITES= CHEESESHOP
Added: head/security/py-certbot/files/patch-certbot_tests_util__test.py
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/security/py-certbot/files/patch-certbot_tests_util__test.py Sat May 20 20:44:12 2017 (r441335)
@@ -0,0 +1,40 @@
+From 42d07d756df0cf96c9d20b44e772858391d48384 Mon Sep 17 00:00:00 2001
+From: Ryan Pineo <ry at tsl.io>
+Date: Fri, 12 May 2017 15:45:54 -0400
+Subject: [PATCH] support version 0.12.0 of configargparse
+
+fixes #4648
+
+--- certbot/tests/util_test.py.orig 2017-05-16 07:27:15 UTC
++++ certbot/tests/util_test.py
+@@ -5,6 +5,7 @@ import os
+ import stat
+ import unittest
+
++import configargparse
+ import mock
+ import six
+
+@@ -333,6 +334,22 @@ class AddDeprecatedArgumentTest(unittest
+ pass
+ self.assertTrue("--old-option" not in stdout.getvalue())
+
++ def test_when_configargparse(self):
++ '''In configargparse version < 0.12.0 ACTION_TYPES_THAT_DONT_NEED_A_VALUE is a set.'''
++ orig = configargparse.ACTION_TYPES_THAT_DONT_NEED_A_VALUE
++ configargparse.ACTION_TYPES_THAT_DONT_NEED_A_VALUE = set()
++ self._call("--old-option", 1)
++ self.assertEqual(len(configargparse.ACTION_TYPES_THAT_DONT_NEED_A_VALUE), 1)
++ configargparse.ACTION_TYPES_THAT_DONT_NEED_A_VALUE = orig
++
++ def test_when_configargparse_tuple(self):
++ '''In configargparse version >= 0.12.0 ACTION_TYPES_THAT_DONT_NEED_A_VALUE is a tuple.'''
++ orig = configargparse.ACTION_TYPES_THAT_DONT_NEED_A_VALUE
++ configargparse.ACTION_TYPES_THAT_DONT_NEED_A_VALUE = tuple()
++ self._call("--old-option", 1)
++ self.assertEqual(len(configargparse.ACTION_TYPES_THAT_DONT_NEED_A_VALUE), 1)
++ configargparse.ACTION_TYPES_THAT_DONT_NEED_A_VALUE = orig
++
+
+ class EnforceLeValidity(unittest.TestCase):
+ """Test enforce_le_validity."""
Added: head/security/py-certbot/files/patch-certbot_util.py
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/security/py-certbot/files/patch-certbot_util.py Sat May 20 20:44:12 2017 (r441335)
@@ -0,0 +1,23 @@
+From 42d07d756df0cf96c9d20b44e772858391d48384 Mon Sep 17 00:00:00 2001
+From: Ryan Pineo <ry at tsl.io>
+Date: Fri, 12 May 2017 15:45:54 -0400
+Subject: [PATCH] support version 0.12.0 of configargparse
+
+fixes #4648
+
+--- certbot/util.py.orig 2017-05-16 07:21:46 UTC
++++ certbot/util.py
+@@ -437,7 +437,12 @@ def add_deprecated_argument(add_argument
+ sys.stderr.write(
+ "Use of {0} is deprecated.\n".format(option_string))
+
+- configargparse.ACTION_TYPES_THAT_DONT_NEED_A_VALUE.add(ShowWarning)
++ # In version 0.12.0 ACTION_TYPES_THAT_DONT_NEED_A_VALUE was changed from a set
++ # to a tuple.
++ if isinstance(configargparse.ACTION_TYPES_THAT_DONT_NEED_A_VALUE, set):
++ configargparse.ACTION_TYPES_THAT_DONT_NEED_A_VALUE.add(ShowWarning)
++ else:
++ configargparse.ACTION_TYPES_THAT_DONT_NEED_A_VALUE += (ShowWarning,)
+ add_argument(argument_name, action=ShowWarning,
+ help=argparse.SUPPRESS, nargs=nargs)
+
More information about the svn-ports-all
mailing list