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(a)redhat.com
Red Hat Czech
RHEV-M SLA / Brno, CZ