2015-05-13 06:59:31 |
Jay Lee |
description |
From 0.11.0 release, It can't parse version when build metadata is exist.
for example, our python-keystoneclient test branch has a tag "1.3.0+test2.0.dev479".
python-keystoneclient has a code to verify package version below.(every other openstack projects has this code)
__version__ = pbr.version.VersionInfo('python-keystoneclient').version_string()
This code cause below error, so every openstack project can't start.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "pbr/version.py", line 457, in version_string
return self.semantic_version().brief_string()
File "pbr/version.py", line 452, in semantic_version
self._semantic = self._get_version_from_pkg_resources()
File "pbr/version.py", line 440, in _get_version_from_pkg_resources
return SemanticVersion.from_pip_string(result_string)
File "pbr/version.py", line 203, in from_pip_string
prerelease_type, prerelease = _parse_type(remainder[0])
File "pbr/version.py", line 181, in _parse_type
return prerelease_type, int(prerelease)
ValueError: invalid literal for int() with base 10: ''
I think our tag is compliant with Linux/Python Compatible Semantic Versioning 3.0.0.
(http://docs.openstack.org/developer/pbr/semver.html)
and pbr can't parse version when tag contain build metadata. |
From 0.11.0 release, It can't parse version when build metadata is exist.
for example, our python-keystoneclient test branch has a tag "1.3.0+test2.0.dev479".
python-keystoneclient has a code to verify package version below.(every other openstack projects has this code)
__version__ = pbr.version.VersionInfo('python-keystoneclient').version_string()
This code cause below error, so every openstack project can't start.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "pbr/version.py", line 457, in version_string
return self.semantic_version().brief_string()
File "pbr/version.py", line 452, in semantic_version
self._semantic = self._get_version_from_pkg_resources()
File "pbr/version.py", line 440, in _get_version_from_pkg_resources
return SemanticVersion.from_pip_string(result_string)
File "pbr/version.py", line 203, in from_pip_string
prerelease_type, prerelease = _parse_type(remainder[0])
File "pbr/version.py", line 181, in _parse_type
return prerelease_type, int(prerelease)
ValueError: invalid literal for int() with base 10: ''
I think our tag is compliant with Linux/Python Compatible Semantic Versioning 3.0.0.
(http://docs.openstack.org/developer/pbr/semver.html)
In Semver no.12, It describe about build metadata and pbr can't parse version when tag contain build metadata. |
|