Ask Your Question
5

What's the meaning of the number which appears sometimes (when I use yum to install a fedora package) before a colon at the beginning of the name of the package?

asked 2011-11-23 10:08:35 -0500

q2dg gravatar image

updated 2011-11-25 22:16:56 -0500

mether gravatar image

Thanks a lot!

edit retag flag offensive close merge delete

4 Answers

Sort by » oldest newest most voted
5

answered 2011-11-23 10:54:21 -0500

meltingrobot gravatar image

updated 2011-11-23 10:57:57 -0500

It's something called the Epoch. Trying to figure out what that is right now.

http://yum.baseurl.org/wiki/Faq

I found this information on Epoch numbers here http://www.rpm.org/max-rpm-snapshot/s1-rpm-depend-manual-dependencies.html

"When RPM can't decipher a package's version number, it's time to pull out the Epoch tag. This tag is used to help RPM determine version number ordering."

It looks like it is a way to deal with same version packages. By default, if one is not specified, it gets a 0 as the Epoch number.

edit flag offensive delete link more

Comments

ah, i knew about the epoch :P RPM Packages in fedora follow the EVR scheme -> epoch, version, release. Generally the version and release are enough for RPM, when not, it looks at Epoch value.

FranciscoD_ gravatar imageFranciscoD_ ( 2011-11-23 13:19:08 -0500 )edit
3

answered 2011-11-24 04:36:33 -0500

Stanislav Ochotnicky gravatar image

updated 2011-11-24 05:10:16 -0500

The number before colon is indeed called Epoch (E from EVR others mentioned). It is generally not used, but sometimes when it's necessary to downgrade a package this is the only way rpm will allow this. Example:

# rpm -q pyqtrailer
pyqtrailer-0.6.2-2.fc15.noarch

# yum install pyqtrailer-0.6.1-1.fc16.noarch.rpm
Examining pyqtrailer-0.6.1-1.fc16.noarch.rpm: pyqtrailer-0.6.1-1.fc16.noarch
pyqtrailer-0.6.1-1.fc16.noarch.rpm: does not update installed package.
Error: Nothing to do

But if we add epoch (Note: it is not visible in rpm filename):

 yum install pyqtrailer-0.6.1-1.fc16.noarch.rpm
 Loaded plugins: aliases, remove-with-leaves
 Setting up Install Process
 Examining pyqtrailer-0.6.1-1.fc16.noarch.rpm: 1:pyqtrailer-0.6.1-1.fc16.noarch
 Marking pyqtrailer-0.6.1-1.fc16.noarch.rpm as an update to pyqtrailer-0.6.2-2.fc15.noarch
 Resolving Dependencies
 --> Running transaction check
 ---> Package pyqtrailer.noarch 0:0.6.2-2.fc15 will be updated
 ---> Package pyqtrailer.noarch 1:0.6.1-1.fc16 will be an update
 --> Finished Dependency Resolution
 ---- continued ---

This way we can sometimes downgrade a package if needed (for example if new package version is found to be defective too late and it's affecting users or other packages)

edit flag offensive delete link more
1

answered 2011-11-23 17:28:19 -0500

q2dg gravatar image

Ahá! Thanks!

I summarize here what I've read from links you have posted here, to other interested people who may visit this thread:

"RPM needs to be able to determine which version numbers are more recent than others, in order to perform its version comparisons. It's pretty simple to determine that version 1.5 is older than version 1.6. But what about 2.01 and 2.1? Or 7.6a and 7.6? There's no way for RPM to keep up with all the different version-numbering schemes in use. But there is a solution: epoch numbers.

When RPM can't decipher a package's version number, it's time to pull out the Epoch tag. This tag is used to help RPM determine version number ordering. If a packet has an epoch number of 42, what does the 42 mean? Only that this version of the package is newer than the same package with an epoch number of 41, but older than the same package with an epoch number of 43. If you think of epoch numbers as being nothing more than very simple version numbers, you'll be on the mark. In other words, Epoch is the most significant component of a package's complete version identifier with regards to RPM's version comparison algorithm."

edit flag offensive delete link more
0

answered 2011-11-23 10:44:39 -0500

FranciscoD_ gravatar image

What are you referring to?

[root@ankur ~]# yum install cowsay

Loaded plugins: langpacks, presto,refresh-packagekit

Setting up Install

Process Resolving Dependencies

--> Running transaction check

---> Package cowsay.noarch 0:3.03-9.fc15 will be installed

--> Finished Dependency Resolution

Dependencies Resolved

=====================================================================================> Package Arch Version Repository Size =====================================================================================Installing: cowsay noarch 3.03-9.fc15 fedora 25 k

Transaction Summary ===================================================================================== Install 1 Package

Total download size: 25 k

Installed size: 25 k Is this ok [y/N]: y

Downloading Packages:

cowsay-3.03-9.fc15.noarch.rpm | 25 kB

00:00 Running Transaction Check

Running Transaction Test Transaction

Test Succeeded Running Transaction

Installing : cowsay-3.03-9.fc15.noarch

1/1

Installed: cowsay.noarch 0:3.03-9.fc15

Complete!

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2011-11-23 10:08:35 -0500

Seen: 12,155 times

Last updated: Nov 24 '11