From dcf89c9396f20ddb1df9126f7f9207a459df00d9 Mon Sep 17 00:00:00 2001 From: Brad Warren Date: Tue, 30 Apr 2019 11:59:05 -0700 Subject: [PATCH] Update Lexicon dependency in dnsimple (#7008) * Add CERTBOT_OLDEST conditional to setup.py. * Unset CERTBOT_OLDEST in release script. * import os --- certbot-dns-dnsimple/setup.py | 14 +++++++++++++- tools/_release.sh | 3 +++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/certbot-dns-dnsimple/setup.py b/certbot-dns-dnsimple/setup.py index 4512f9fc0..9088e8113 100644 --- a/certbot-dns-dnsimple/setup.py +++ b/certbot-dns-dnsimple/setup.py @@ -1,3 +1,4 @@ +import os from setuptools import setup from setuptools import find_packages @@ -9,12 +10,23 @@ version = '0.34.0.dev0' install_requires = [ 'acme>=0.31.0', 'certbot>=0.34.0.dev0', - 'dns-lexicon>=2.2.1', # Support for >1 TXT record per name 'mock', 'setuptools', 'zope.interface', ] +# This package normally depends on dns-lexicon>=3.2.1 to address the +# problem described in https://github.com/AnalogJ/lexicon/issues/387, +# however, the fix there has been backported to older versions of +# lexicon found in various Linux distros. This conditional helps us test +# that we've maintained compatibility with these versions of lexicon +# which allows us to potentially upgrade our packages in these distros +# as necessary. +if os.environ.get('CERTBOT_OLDEST') == '1': + install_requires.append('dns-lexicon>=2.2.1') +else: + install_requires.append('dns-lexicon>=3.2.1') + docs_extras = [ 'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags 'sphinx_rtd_theme', diff --git a/tools/_release.sh b/tools/_release.sh index 7751f15b9..e228bae99 100755 --- a/tools/_release.sh +++ b/tools/_release.sh @@ -109,6 +109,9 @@ SetVersion() { SetVersion "$version" +# Unset CERTBOT_OLDEST to prevent wheels from being built improperly due to +# conditionals like the one found in certbot-dns-dnsimple's setup.py file. +unset CERTBOT_OLDEST echo "Preparing sdists and wheels" for pkg_dir in . $SUBPKGS_NO_CERTBOT do