[Rdo-list] python3 packaging and version numbering issues
hguemar at fedoraproject.org
Wed Dec 23 17:36:01 UTC 2015
2015-12-23 18:28 GMT+01:00 Javier Pena <javier.pena at redhat.com>:
> Hi list,
> While debugging a build issue for openstack-nova in Delorean (http://trunk.rdoproject.org/f24/72/76/727656d2f59e26a8c86afdad9b3709ab8efde3c1_e5b119db/rpmbuild.log) I have found a very strange behaviour related to package versions, and I need some help understanding what is going on.
> If we have a package in Delorean where we recently added a python3 subpackage (https://review.gerrithub.io/#/q/status:merged+topic:py3) *and* there is a package already in the Fedora Rawhide repo *and* that package does not have python2/python3 subpackages, such as python-oslo-db, we see the following:
> - The older package release (2.6.0 in this case) gets installed as part of the BuildRequires installation
> - However, the proper Provides and Obsoletes are present in the Delorean package
> - Actually, when the package is not directly a BuildRequires but a dependency for one of them (e.g. python-oslo-concurrency), the newer package gets installed.
> I've been able to reproduce this behaviour locally, by setting up a Fedora machine with the Delorean repo and trying:
> # dnf install python-oslo-db (the old version gets installed)
> # dnf update python-oslo-db (it fetches the newer python2-oslo-db from Delorean)
> Even better, if I edit the openstack-nova spec file to set
> BuildRequires: python-oslo-db >= 4.1.0
> instead of an unversioned BR, I will get the newer package.
> Is this an issue with our packages, a dnf builddep bug, or any other mistake?
This is the normal behaviour of RPM, if the dependency is met, he
won't install newer packages unless, you force a min version.
I'm waiting for all python3 reviews to be merged to sync Fedora spec
files and have more people back from vacations to decide
our branches policy (F24 has not been branched yet).
After I finish the optools import, I'll take a look.
More information about the dev