[Openstack] [oslo] Issues with pbr when building custom packages

Doug Hellmann doug at doughellmann.com
Thu Jun 9 00:06:06 UTC 2016


Excerpts from Sam Morrison's message of 2016-06-09 08:16:11 +1000:
> 
> > On 8 Jun 2016, at 10:51 PM, Doug Hellmann <doug at doughellmann.com> wrote:
> > 
> > Excerpts from Sam Morrison's message of 2016-06-08 16:59:37 +1000:
> >> We have been building our own packages for a few years now and I’ve just started to build packages for liberty.
> >> 
> >> I got an error from pbr telling me my version was incompatible. An example version we were producing was 12.0.3+a74~gea340da+trusty
> >> 
> >> So had a read of http://docs.openstack.org/developer/pbr/semver.html <http://docs.openstack.org/developer/pbr/semver.html> and have fixed it to be this format however I’m still getting an error:
> >> 
> >> Exception occurred:
> >>  File "/usr/lib/python2.7/dist-packages/pbr/version.py", line 215, in from_pip_string
> >>    % (remainder, version_string))
> >> ValueError: Unknown remainder ['gea340da'] in '12.0.3.a74.gea340da'
> >> 
> >> From the website mentioned above this seems like it should be valid. I’ve had a look in the code and it looks like this type of version isn’t supported.
> >> 
> >> So is this a bug in pbr or am I doing something wrong? We build packages based on git versions so I want to keep the hash in there.
> >> 
> >> Thanks,
> >> Sam
> > 
> > This is working as designed. pbr follows PEP-440 [1] versioning,
> > which IIRC doesn't include version control references like git SHAs.
> > 
> > The version you describe appears to be the 74th alpha pre-release of
> > 12.0.3. Is that what you intend? That's a lot of pre-releases.
> > 
> > pbr will automatically append a numbered dev suffix to versions,
> > so the 74th commit after 12.0.3 would be something like 12.0.4.dev74,
> > indicating that it is a development version leading to 12.0.4.
> > 
> > Which project are you packaging, and in what context?
> 
> Thanks Doug,
> 
> So is that openstack document wrong?

> I'm packaging nova, we have a bunch of custom commits and extra back ports in our version. Having the git hash in there is extremely helpful and I also don't want to conflict with the official openstack release. 
> I don't care really what the version number is as long as when I add a new commit the version number increases. 
> 
> Having a look at that document I think I should do something like 
> 
> 12.0.3.post74+gea340da

According to the comments in pbr/version.py it looks like you want

  12.0.3.74.gea340da

I've added a patch with a test that shows that works, as well as a fix
for the syntax including the "post" in https://review.openstack.org/327424

If you're doing your own packaging, how are you feeding the version
number into pbr? Via the environment variable?

Doug

> 
> Any ideas? 
> 
> Thanks,
> Sam
> 
> > 
> > Doug
> > 
> > [1] https://www.python.org/dev/peps/pep-0440/
> > 
> > _______________________________________________
> > Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
> > Post to     : openstack at lists.openstack.org
> > Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack




More information about the Openstack mailing list