-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Sat, 18 Oct 2003 00:30:13 -0500, Robert G. (Doc) Savage wrote: > This is probably a question for a Red Hat insider. > > I've seen many thousands of RPM packages since I first installed RH 3.03 > years ago, yet I have yet to figure out how their numbering *after the > first three fields*. For example, these are two RPMs recently posted to > rawhide: > > python-2.2.3-7.i386.rpm > kernel-2.4.22-1.2093.nptl.i386.rpm > > How should one interpret the numbers to the right of the second dash? > Specifically, "-7" and "-1.2093.nptl". Are these related in any way to > version numbers used by upstream maintainers? How are they incremented > and why? Is there any real pattern to this. Or is this some kind of > random dart board exercise? Are you asking what a package "release version" is or what Red Hat's package release versioning scheme is? The pattern in RPM package file names is Name-SoftwareVersion-PackageRelease.Architecture.rpm When you have two packages which contain the same software version, e.g. Linux kernel 2.4.22, there must be a way to make one package newer than the other one, in case the newer package includes additional fixes and should update the older one: older: kernel-2.4.22-1.i386.rpm newer: kernel-2.4.22-2.i386.rpm much newer: kernel-2.4.22-48.i386.rpm In your example, > python-2.2.3-7.i386.rpm > kernel-2.4.22-1.2093.nptl.i386.rpm the "7" and "1.2093.nptl" are the package release version. "python" is in the seventh package revision. Their kernel release seems to contain some sort of "build number" and the ".nptl" postfix to indicate it's a kernel with NPTL support. Both software version and package release version are not limited to digits or integer numbers, but may not include the '-' character, for instance. They are pretty much arbitary except that they must be increased in a way that is transitive and compatible with RPM's version comparison algorithm. Internally, RPM compares package several release versions using a non-trivial algorithm to decide which of multiple packages with the same software version is the newer one. The versioning comparison tries to deal with special cases such as whether 1.0a is newer than 1.0 or whether 2.0rc1 is older than 2.0rc3. You can learn more about RPM at http://www.rpm.org, e.g. via online docs or the available books. [RPM versioning gets funny, when a kernel-2.4.18-9 package is newer than kernel-2.4.22-1 because an internal "epoch" value has been increased because 2.4.22-1 turned out to be way too unstable and since 2.4.18 is greater than 2.4.22, there would be no way to make the new 2.4.18-9 package upgrade the older 2.4.22-1 package release.] - -- -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (GNU/Linux) iD8DBQE/kOTz0iMVcrivHFQRAk+eAJ91/EcCaNflUchiWMigySFcHAYvBgCeO2uE zBDdcLgtszA7ox+jJfYJSd0= =Su+P -----END PGP SIGNATURE----- -- Shrike-list mailing list Shrike-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/shrike-list