Date: Sat, 20 May 2017 20:44:13 +0000 (UTC) From: "Carlos J. Puga Medina" <cpm@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r441335 - in head/security/py-certbot: . files Message-ID: <201705202044.v4KKiDtf009651@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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@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@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@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) +
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201705202044.v4KKiDtf009651>