[packagekit] Keep trace of dilectly installed packages

Richard Hughes hughsient at gmail.com
Fri Jun 5 02:16:02 PDT 2009


On Fri, Jun 5, 2009 at 9:40 AM, Mounir Lamouri<mounir.lamouri at gmail.com> wrote:
> portage has a "world" list that is actually a list of directly
> installed packages. As Gentoo is source based, it's designed to be
> able to update only directly installed packages and then update
> dependencies. In other words, if libfoo is updated, if you do a basic
> update, it will not install the new version but if some random app
> using libfoo you installed is updated, this app will be updated so
> libfoo will.

Seems sane I guess.

> This is particularly useful because Gentoo, as a source based
> distribution, doesn't have releases that pulls new packages, updates
> are continuous.
> This list is also used to clean the system by removing every package
> not in the list nor depends from a package in the list.

Right, I think yum wants to do something similar in the future.

> If packagekit doesn't manage this list, I will have to choose between:
> - do not add installed packages to the world list and if someone tries
> to clean his system (with portage) it will remove everything

Bad.

> - add every installed packages to the list but it will make the world
> list overflowed and could be very bad for system healness

Bad also.

> I think this feature is not difficult to add to PackageKit. When
> clicking to install a package, this package should be keeped to be
> added as the installed packages and others as dependencies. We only
> need to make a good specification.

I think this spec is already used in PackageKit, let me explain why:

user: Install abiword
application: GetDepends(abiword, ~installed)
PK: abiword-libs, expat
application: "To install abiword, you have to install abiword-libs and
expat too"
user: clicks okay
application: InstallPackages(abiword)
PK: installs abiword, and automatically downloads and installs
abiword-libs and expat

So only the key application (what the user wants) is passed to
InstallPackages. This is the one you would add to the world list. The
other deps would just be downloaded, built and installed, without
being added to the world list. The other deps don't get passed to
InstallPackages.

Does this make sense?

Richard.


More information about the PackageKit mailing list