PBR

Activity log for bug #1960830

Date Who What changed Old value New value Message
2022-02-14 14:51:08 Gaetan Semet bug added bug
2022-02-14 14:52:24 Gaetan Semet description Hi. Looks like pbr does not evaluate X.dev0 package correctly, it seems to confuse it as being equal to X. Example: from_pip_string("1.0.0.dev0") == from_pip_string("1.0.0"). According to PEP440, 1.2.dev == 1.2.dev0 but both are < 1.2. >>> SemanticVersion.from_pip_string("1.2.0") pbr.version.SemanticVersion(1.2.0) >>> SemanticVersion.from_pip_string("1.2.0.dev1") pbr.version.SemanticVersion(1.2.0.dev1) >>> SemanticVersion.from_pip_string("1.2.0.dev0") pbr.version.SemanticVersion(1.2.0) >>> SemanticVersion.from_pip_string("1.2.0.dev") Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/Users/az02065/Projects/Alton/nestor_build_info/.venv/lib/python3.7/site-packages/pbr/version.py", line 145, in from_pip_string return klass._from_pip_string_unsafe(version_string) File "/Users/az02065/Projects/Alton/nestor_build_info/.venv/lib/python3.7/site-packages/pbr/version.py", line 215, in _from_pip_string_unsafe dev_count = int(component[3:]) ValueError: invalid literal for int() with base 10: '' Expected behavior: >>> SemanticVersion.from_pip_string("1.2.0.dev0") pbr.version.SemanticVersion(1.2.0.dev0) >>> SemanticVersion.from_pip_string("1.2.0.dev") pbr.version.SemanticVersion(1.2.0.dev) Hi. Looks like pbr does not evaluate X.dev0 package correctly, it seems to confuse it as being equal to X. Example: from_pip_string("1.0.0.dev0") == from_pip_string("1.0.0"). According to PEP440, 1.2.dev == 1.2.dev0 but both are < 1.2. >>> SemanticVersion.from_pip_string("1.2.0") pbr.version.SemanticVersion(1.2.0) >>> SemanticVersion.from_pip_string("1.2.0.dev1") pbr.version.SemanticVersion(1.2.0.dev1) >>> SemanticVersion.from_pip_string("1.2.0.dev0") pbr.version.SemanticVersion(1.2.0) >>> SemanticVersion.from_pip_string("1.2.0.dev") Traceback (most recent call last):   File "<stdin>", line 1, in <module>   File "/Users/az02065/Projects/Alton/nestor_build_info/.venv/lib/python3.7/site-packages/pbr/version.py", line 145, in from_pip_string     return klass._from_pip_string_unsafe(version_string)   File "/Users/az02065/Projects/Alton/nestor_build_info/.venv/lib/python3.7/site-packages/pbr/version.py", line 215, in _from_pip_string_unsafe     dev_count = int(component[3:]) ValueError: invalid literal for int() with base 10: '' Expected behavior: >>> SemanticVersion.from_pip_string("1.2.0.dev0") pbr.version.SemanticVersion(1.2.0.dev0) >>> SemanticVersion.from_pip_string("1.2.0.dev") pbr.version.SemanticVersion(1.2.0.dev0)