How do I install an rpm that complains about rpmlib(FileDigests) <= 4.6.0-1?

Solution 1:

Whats with the syntax of something followed by parentheses?

From http://jfearn.fedorapeople.org/en-US/RPM/0.1/html/RPM_Guide/ch-advanced-packaging.html:

Scripting languages such as Perl and Tcl allow for add-on modules. Your package may require some of these add-on modules. RPM uses a special syntax with parenthesis to indicate script module dependencies. For example: Requires: perl(Carp) >= 3.2 This indicates a requirement for the Carp add-on module for Perl, greater than or equal to version 3.2.

In this case, it is referring to particular features of the rpm library.

error: Failed dependencies: rpmlib(FileDigests) <= 4.6.0-1 is needed by epel-release-6-5.noarch rpmlib(PayloadIsXz) <= 5.2-1 is needed by epel-release-6-5.noarch

This suggests you're trying to install the epel-release rpm on a system for which it was not designed. In fact, in your question, you state you're installing this on CentOS 5, while the package you're attempting to install is designed for CentOS 6 (or RHEL 6). For CentOS 5, you want epel-release-5-4.noarch.rpm. You might want to read the EPEL documentation before you proceed, which would have answered this question as well as others you might have.

Ive tried to use yum so that it can resolve dependencies automatically but it is unable:

Right, because those features aren't available on CentOS 5. From the perspective of yum you've asked it for magic unicorns. It can't find any.

Bonus points if you tell me how I can fix the public key error.

Install the EPEL signing key. If you read the EPEL documentation -- it's amazing what you'll find there -- you'll get a link to https://fedoraproject.org/keys, which includes instructions on installing the public keys used by the Fedora project.

Solution 2:

You want EPEL release 5.x (not 6.x).

http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

You're running CentOS 5. CentOS 6 is not out yet.

Solution 3:

The current rmp link that worked for me on CentOS 5.5 is:

# rpm -ivh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

Handles dependencies automagically.

Also note it can be helpful to peruse the repost at eg: http://dl.fedoraproject.org/pub/epel/5/i386/ (/6/i386/ etc) to find the most appropriate/correct address.