oVirt package names potentially collide with Fedora

Martin Sivak msivak at redhat.com
Thu Sep 12 13:16:26 UTC 2013


Hi,

I noticed that we use -N.fcXX as our release string for packages (ovirt-engine-3.3-1.fc19.noarch.rpm for example). The release number should be unique for a given version and distribution, but our packages are using the same naming as the official Fedora packages.


Why this can be an issue?

Imagine a situation when somebody (us or somebody from the community) packages an ovirt component for Fedora. Official Fedora packages use -N.fcXX in their N-V-R (name-version-release) string. At that time, both ovirt and Fedora rpms (ovirt-project-<version>-1.fc20.noarch.rpm) will have the same name and contain the same code. They won't be identical, but will at least probably behave the same way.

Then a Fedora release will approach and Fedora release engineers will do a Mass rebuild (https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild). They will bump the release number of the Fedora package by one (-2.fc20.noarch.rpm).

Now ovirt does a new upstream release (same code, but a dependency will change for example) and bump the release number by one. At that time, there will be two packages named ovirt-project-<version>-2.fc20.noarch.rpm with a different content.



Solution?

To make easier to debug these version clashes between upstream and downstream packages I propose changing the %{dist} tag our build system uses (globally) to "ovirt.fcXX". It will still indicate the proper Fedora version, but will make it obvious that the packages weren't built as official Fedora packages (in koji) but as "official" ovirt packages in Jenkins. And it won't require changing single line in any of our spec files.



Alternate solution?

The best solution with regards to dist versioning would be to make it mandatory to have all packages that need to export officially in Fedora and take the Fedora rpms from Koji. The same probably applies to other distributions we might support in the future.

Btw: We really should be building packages for Fedora on the proper Fedora (in mock) to avoid issues caused by library and compiler differences between our build system and Koji. If we are doing that than all is well, but I just wanted to be sure.



I am really curious about how we deal with this or if we actually care, but since I am a Fedora packager myself I just thought I would ask to make sure I use the proper release procedures for my components.

--
Martin Sivák
msivak at redhat.com
Red Hat Czech
RHEV-M SLA / Brno, CZ




More information about the Infra mailing list