Versioning
We want to ensure it's easy to understand what was changed in package in Hyperscale, if anything. To this end:
- when branching a package from Fedora as-is, keep the EVR unchanged
- whenever a change is made (regardless of where the package originally comes
from), append
.Nto the release, whereNis a monotonically increasing integer that is bumped by one for each subsequent change - when importing changes from the upstream package in Hyperscale, if EV
changed, reset
.Nto.1
Example:
- we import
foo-1.0-2.fc36from Fedora unchanged, producingfoo-1.0-2.hs.el8 - we add a patch to it, producing
foo-1.0-2.1.hs.el8 - we make another change, producing
foo-1.0-2.2.hs.el8 - we import the new
foo-1.1-1.fc36release from Fedora and add back our patch, producingfoo-1.1-1.1.hs.el8
Note that some packages (such as kpatch or openssh) have multiple indipendently-versioned subpackages within the same source RPM. In this case, it's not usually possible to reset .N to .1, as that would lead to duplicate versions and conflicts down the road. To prevent this, it is recommended to continue monotonically increasing .N regardless of EV.