[packagekit] Install/Update/Remove package group (bundle) API

Richard Hughes hughsient at gmail.com
Sat Jul 19 01:29:05 PDT 2008


On Wed, 2008-07-16 at 09:28 -0700, nicholas adrian wrote:
> I thought, I read it some where in the mailing list the discussion
> about 'install/update/remove' a package group API but can't find it
> Is the packagekit support 'install/update/remove' a package group API?
> like 'InstallPackageName' method to install a single package. If not,
> is there any plan for providing that functionality?

Right, I've been thinking about the groups API some more. To me the
following definitions apply.

Group:

Abstract (localised) set of packages that a user understands, e.g.
Games, System Tools, Sound and Multimedia. Packages are not exclusive to
one group, so a package like systemtap can exist in Programming and
System Tools.

Collection:

Non-abstract set of packages, for instance "desktops/gnome-desktop" or
"language-support/esperanto-support". Collections can have mandatory and
optional packages.

---

Now, I don't want to expose a list of collections to the user, as
potentially there could be hundreds of collections, but there will
always be less than 20 groups. Groups always have icons and translations
in all languages, but collections do not have icons or translations.

It doesn't make sense to be able to InstallGroup, as this would install
hundreds of packages with a loose logical mapping. I do think it makes
sense to be able to InstallCollection(s=name,b=optional) and
RemoveCollection(s=name,b=force). I also don't think it makes sense to
list what collections are installed, as it's quite possible to install
"desktops/gnome-desktop" and then to remove just the package "gnome-mag"
-- so we don't have a 'strong' mapping of collections to packages.

So, use-cases for using InstallCollection:

* We want to install "the KDE desktop"
* We want to install all the packages for a "graphics workstation"

Now, the real problem is how the user explores the collection list --
for this I think we let the user search for packages as normal, and then
at the bottom of the search, have something like:

"This package is present in three collections. Right click to select and
install a collection of packages"

So you can right click on the package and get the menu:

 _______________________________________________
[                                               ]
[  Install collection 'desktops/gnome-desktop'  ]
[  Install collection 'desktops/kde-desktop'    ]
[_______________________________________________]

Is this sane?

Richard.





More information about the PackageKit mailing list