Package version meaning

I see that the package names include the software version and then a dash followed by some other version by openSUSE. E.g., package flex-2.6.4-4.2.x86_64 is flex version 2.6.4 64bit, but what is the meaning of the 4.2? When is the major or the minor updated?


I don’t know for sure. I’m just a user, looking at the evidence.

When building a package for openSUSE, the local maintainer might need to tweak things a little to get it to build or to fit openSUSE needs. So, to take your example of “flex-2.6.4-4.2.x86_64”, the “4” of that “4.2” would change if the local tweaks had to be modified. And the “2” would change if there was just a recompile with no source code changes.

Or, at least, that’s how it looks from here.

Here is the published package naming guidelines…
You’ll probably find your answer in there…

I myself usually don’t get wrapped up in trying to figure out if there is any meaning to what’s in a version, if I really wanted that I’d look for documentation like a roadmap or history published in the source. Typically I only care whether one version is more recent than another, and architecture.


The 4 means that the packaging has changed (revision number), but not the source. The 2 is it’s second rebuild perhaps a build requires has changed, eg gcc has updated which it uses, so the package will be rebuilt.