[Rpm-maint] Rally: minor API requests
Michael Schroeder
mls at suse.de
Tue Nov 13 11:42:46 UTC 2007
On Tue, Nov 13, 2007 at 10:09:24AM +0200, Panu Matilainen wrote:
> On Sat, 3 Nov 2007, Maxim Udushlivy wrote:
> >(1)
> > The first is very small and is about the way to check RPM database
> >modification time. This is crucial for a GUI application as in order to
> >run smoothly it must have a full list of installed RPM's with a minimal
> >delay after start. Rally uses a fast internal cache which should be
> >updated only if some RPM's were installed or erased since the last run.
> >Currently I do the same as the Smart package manager: use stat(2)/st_mtime
> >on "/var/lib/rpm/Packages" file, but a specialized function would make RPM
> >API a bit more complete. As an alternative that function may return the
> >number of transactions committed to the database.
>
> Sounds entirely reasonable to me, there are a number of users (smartpm,
> apt-rpm ...) that would benefit. Whatever the implementation, it needs to
> abstract out any backend DB details (as rpm supports BDB and SQLite
> backends for the DB)
Here's another idea I use in my little installer project: add
an interface that returns all database ids of all installed
packages (i.e. the numbers that you specify with --querybynumber).
With that information you can easily retrieve just the changed
packages from the rpm database.
Cheers,
Michael.
--
Michael Schroeder mls at suse.de
SUSE LINUX Products GmbH, GF Markus Rex, HRB 16746 AG Nuernberg
main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);}
More information about the Rpm-maint
mailing list