Hi everyone!
During Richard Hughes' "Linux and application installing" thread[1] I
had argued that just showing a list of packages won't cut it for most
use cases around package handling. One of those use cases is showing
which packages are installed on a system. For getting an idea about a
machine a list of about 1500 packages is not really helping. In a side
note I came up with the following idea [2]:
Generate a packages section as found in a kickstart file and showthis
as
"Installed Packages". Remove all packages required by others and reduce
packages to groups whenever possible. May be even to a group with some
packages missing. Minimizing the number of lines should get pretty good
results."
This is now implemented as "show-installed" which is part of
yum-utils-1.1.29-2.fc15 found in Fedora devel. It supports three
different output formats: kickstart %packages, yum cli and human
readable. It also supports a number of options for controlling the
output and whether it should consider excludes to make use of even more
groups. See "man show-installed" or "show-installed --help" for
details.
As the script also takes a list of package names it can be used to
create a package list on/for a newer release. As it has not seen too
many real world use suggestions and bug reports are welcome.
While show-installed might be a useful tool I primarily see it as part
of the package handing UI discussion. Tools like gpk-application or
yumex could offer this as a condensed view. May be even the list of
available packages could presented like this. I separated the logic from
the actual formatting code so it should be easy to toy around with the
Python class or to translate the pretty simple algorithm to another
programming language. Feel free to ask me on #yum if you have question
or need help with that.
Florian
[1]
http://lists.fedoraproject.org/pipermail/devel/2010-September/thread.html...
[2]
http://lists.fedoraproject.org/pipermail/devel/2010-September/143349.html