2

I am using Fedora's Copr service to build a package with Non Numeric Release according to specifications at Packaging: Naming Guidelines.

Right now there are two successfully build packages:

paper-icon-theme 1.0-1.20151202git954bb77

paper-icon-theme 1.0-1.20151202gited30409

Of these two the 1st one is more recent.

However when I do a dnf update, the package paper-icon-theme-1.0-1.20151202gited30409 is installed which is the older version. I also tried after cleaning expire-cache but it gives the same result.

What am I doing wrong here? Is it because of the way I am naming my packages?

Link to my Copr builds

3

In short, yes it is because of your package names.

More specifically, the problem relates to the N-V-R string, which is the name, version, and release. The sort algorithm is rather complicated, but it looks for the package with the highest value of version-release, and that is deemed to be the most recent package. Because the last part of the package release string is higher on the second package than the first ("ed30409" > "954bb77"), it considers the second package to be more recent.

0
2

The comparison algorithm first checks Epoch (a normally hidden value which most packages don't use), then Version, then Release. Within each of these, each separate section of letters or numbers is individually compared. This means the scheme you're following works just fine — as long as the snapshots come from separate dates.

However, if you read carefully under "post-release packages", note that you should be increasing the "release number increment" each time, so your packages should be

paper-icon-theme-1.0-2.20151202git954bb77

paper-icon-theme-1.0-1.20151202gited30409

(emphasis added on the changed "2").

This number keeps going up as you do post-1.0 snapshots — reset to 1 again when the version itself increments.

4
  • I am aware of the link, thank you. I plan to bump up the version/release once the project is out of beta. – Ashesh Dec 2 '15 at 21:29
  • Note that the link is to the "post release packages" section of the document, not what you linked above. :) – mattdm Dec 2 '15 at 22:24
  • You should increase the package release number whenever you change the package without increasing he version. If you want to stay below 1 for pre-release, use 0.1, 0.2, etc. – mattdm Dec 2 '15 at 22:25
  • I figured I would do just one release each day for the beta which is working well. Thanks anyways. – Ashesh Dec 2 '15 at 22:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.