1

I am trying to understand how interpret the release field displayed by yum info on RHEL 6. for example the commands below give wildly different values for Relase, what exactly is release refering to, the RHEL server release, the package release?

# yum info java-1.7.0-openjdk.x86_64
Loaded plugins: product-id, rhnplugin, security, subscription-manager
Updating certificate-based repositories.
Unable to read consumer identity
Available Packages
Name        : java-1.7.0-openjdk
Arch        : x86_64
Epoch       : 1
Version     : 1.7.0.5
Release     : 2.2.1.el6_3.3
Size        : 25 M
Repo        : rhel-x86_64-server-6
Summary     : OpenJDK Runtime Environment
License     : ASL 1.1 and ASL 2.0 and GPL+ and GPLv2 and GPLv2 with exceptions
Description : The OpenJDK runtime environment.

# yum info java-1.7.0-oracle.x86_64
Loaded plugins: product-id, rhnplugin, security, subscription-manager
Updating certificate-based repositories.
Unable to read consumer identity
Available Packages
Name        : java-1.7.0-oracle
Arch        : x86_64
Epoch       : 1
Version     : 1.7.0.7
Release     : 1jpp.5.el6_3
Size        : 38 M
Repo        : rhel-x86_64-server-supplementary-6
Summary     : Oracle Java Runtime Environment
License     : Oracle Binary Code License Agreement for the Java SE Platform Pr
Description : The Java Runtime Environment (JRE) contains the software and tools
            : that users need to run applets and applications written using the Java
            : programming language.

# yum info httpd
Loaded plugins: product-id, rhnplugin, security, subscription-manager
Updating certificate-based repositories.
Unable to read consumer identity
Installed Packages
Name        : httpd
Arch        : x86_64
Version     : 2.2.15
Release     : 15.el6_2.1
Size        : 2.9 M
Repo        : installed
From repo   : rhel-x86_64-server-6
Summary     : Apache HTTP Server
URL         : http://httpd.apache.org/
License     : ASL 2.0
Description : The Apache HTTP Server is a powerful, efficient, and extensible
            : web server.
ams
  • 295
  • 1
  • 2
  • 6

2 Answers2

3

The two attributes can be summarised as follows

  • Version - This is the upstream version, in your Java example, JDK 1.7.0.7 from Oracle
  • Release - This is the RPM package maintainers version of the rpm package itself, in the JDK 1.7 example this is "1jpp.5.el6_3". Let's say the package maintainers fix a bug in the RPM packaging (e.g. forgotten documentation) then they can increment the "Release" field to a newer version e.g. "1jpp.6.el6_3" (admittedly, this is a complex release number)

I hope that clarifies what is going on.

  • 1
    el6_2 or el6_3 indicate the version of Red Hat Enterprise Linux where the package last received a significant update. The last digit doesn't just receive vanity increases. The *1jpp.5* is also an upstream (JPackage) release, which Red Hat does not increment. The appropriate bugfix release for this package would most likely be *1jpp.5.el6_2.1*. – jgoldschrafe Oct 17 '12 at 12:27
1

The Release field of an RPM is set by whoever created the package, usually the developer working on packaging it. The format is completely arbitrary, and one does not necessarily have any relation to another.

That said, Red Hat will always put el# or el#_# in their Release field, indicating the major and minor versions of RHEL for which the package was built.

Michael Hampton
  • 244,070
  • 43
  • 506
  • 972
  • The field is *not* completely arbitrary. While it doesn't follow guidelines as strict as, say, [SemVer](http://semver.org), Red Hat and Fedora packages are bound by the [Fedora Packaging Guidelines](http://fedoraproject.org/wiki/Packaging:NamingGuidelines#Package_Versioning). – jgoldschrafe Oct 17 '12 at 12:27
  • What the RPM software accepts in the field is completely arbitrary. What Red Hat actually uses the field for is not. – Michael Hampton Oct 17 '12 at 12:30
  • Good distinction. :) – jgoldschrafe Oct 17 '12 at 12:32