Bug 149017 - Would like to be able to get version sorted list of install kernels
Summary: Would like to be able to get version sorted list of install kernels
Alias: None
Product: Fedora
Classification: Fedora
Component: rpm (Show other bugs)
(Show other bugs)
Version: 3
Hardware: All Linux
Target Milestone: ---
Assignee: Jeff Johnson
QA Contact: Mike McLean
Keywords: FutureFeature
Depends On:
TreeView+ depends on / blocked
Reported: 2005-02-17 22:36 UTC by Orion Poplawski
Modified: 2007-11-30 22:11 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2005-02-20 18:55:48 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

Description Orion Poplawski 2005-02-17 22:36:28 UTC
Description of problem:

It can be hard to determine the version sorted order of installed kernels.  It
would nice to able to obtain a version sorted list with something like:

rpm -q kernel --version-sorted

Is there any order to the listing now?  Insall time?  Man page doesn't appear to

Version-Release number of selected component (if applicable):


Comment 1 James Olin Oden 2005-02-18 02:38:27 UTC
I know you want a cli switch but:

   use RPM2;

   my $db = RPM2->open_rpm_db();

   $i = $db->find_by_name_iter("kernel");
   @kernels = $i->expand_iter();
   @kernels = sort(@kernels);
   foreach my $p (@kernels) {
       print $p->as_nvre() . "\n";

Will do the trick.  Its a tiny perl script using RPM2 (perl rpm bindings).  
Its only an example to give you an idea of what you can do.

Comment 2 Orion Poplawski 2005-02-18 18:05:54 UTC

@kernels = sort(@kernels);

will do a proper RPM version sort, not just alphanumeric?  There is no idication
in the perl RPM2 documentation that it overrides sort or provides RPM version

I've been using the perl module RPM::VersionSort for this kind of thing but I
was hoping to avoid perl scripts and modules and have:

lastestkernel=`rpm -q kernel --version-sorted | tail -1`

Comment 3 James Olin Oden 2005-02-18 19:12:14 UTC
Your right its not documented, but the <=> operator is overloaded to properly
compare EVR's (I know its overloaded because I added that patch (-:).  So yes it
will do what you want (in perl).  The docs in RPM2 could be greatly expanded.


Comment 4 Jeff Johnson 2005-02-20 18:55:48 UTC
rpmquery cannot possibly include enough options to satisfy
every possible need and taste.

Extract the information and sort to taste.

Note You need to log in before you can comment on or make changes to this bug.