From 76819753ad711694b27022a7588505d9fe2c17dc Mon Sep 17 00:00:00 2001 From: DongHun Kwak Date: Mon, 14 Jan 2019 10:43:02 +0900 Subject: [PATCH] Imported Upstream version 40.1.1 --- CHANGES.rst | 6 ++++++ setup.cfg | 2 +- setup.py | 2 +- setuptools/command/egg_info.py | 16 ++++++++-------- setuptools/tests/test_egg_info.py | 16 ++++++++++++++++ 5 files changed, 32 insertions(+), 10 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index cc43156..5c52e94 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,3 +1,9 @@ +vv40.1.1 +-------- + +* #1465: Fix regression with `egg_info` command when tagging is used. + + v40.1.0 ------- diff --git a/setup.cfg b/setup.cfg index 870d629..0304f6f 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 40.1.0 +current_version = 40.1.1 commit = True tag = True diff --git a/setup.py b/setup.py index 526a7ba..e01043a 100755 --- a/setup.py +++ b/setup.py @@ -89,7 +89,7 @@ def pypi_link(pkg_filename): setup_params = dict( name="setuptools", - version="40.1.0", + version="40.1.1", description=( "Easily download, build, install, upgrade, and uninstall " "Python packages" diff --git a/setuptools/command/egg_info.py b/setuptools/command/egg_info.py index 5fd6c88..74350cb 100644 --- a/setuptools/command/egg_info.py +++ b/setuptools/command/egg_info.py @@ -160,7 +160,9 @@ class egg_info(InfoCommon, Command): def initialize_options(self): self.egg_base = None + self.egg_name = None self.egg_info = None + self.egg_version = None self.broken_egg_info = False #################################### @@ -188,15 +190,13 @@ class egg_info(InfoCommon, Command): egg_info['tag_date'] = 0 edit_config(filename, dict(egg_info=egg_info)) - @property - def egg_name(self): - return self.name - - @property - def egg_version(self): - return self.tagged_version() - def finalize_options(self): + # Note: we need to capture the current value returned + # by `self.tagged_version()`, so we can later update + # `self.distribution.metadata.version` without + # repercussions. + self.egg_name = self.name + self.egg_version = self.tagged_version() parsed_version = parse_version(self.egg_version) try: diff --git a/setuptools/tests/test_egg_info.py b/setuptools/tests/test_egg_info.py index 1a10026..17d40fb 100644 --- a/setuptools/tests/test_egg_info.py +++ b/setuptools/tests/test_egg_info.py @@ -570,3 +570,19 @@ class TestEggInfo: raise AssertionError(data) if output: assert output in data + + def test_egg_info_tag_only_once(self, tmpdir_cwd, env): + self._create_project() + build_files({ + 'setup.cfg': DALS(""" + [egg_info] + tag_build = dev + tag_date = 0 + tag_svn_revision = 0 + """), + }) + self._run_egg_info_command(tmpdir_cwd, env) + egg_info_dir = os.path.join('.', 'foo.egg-info') + with open(os.path.join(egg_info_dir, 'PKG-INFO')) as pkginfo_file: + pkg_info_lines = pkginfo_file.read().split('\n') + assert 'Version: 0.0.0.dev0' in pkg_info_lines -- 2.7.4