[packagekit] Resolve method
elliot at bentlogic.net
Tue Oct 2 12:14:40 PDT 2007
On Tue, 2007-10-02 at 19:54 +0100, Richard Hughes wrote:
> On Tue, 2007-10-02 at 14:16 -0400, Elliot Peele wrote:
> > On Tue, 2007-10-02 at 17:32 +0100, Richard Hughes wrote:
> > > On Tue, 2007-10-02 at 12:24 -0400, Robin Norwood wrote:
> > > > What about arch? In situations where more than one arch is available,
> > > > IIRC, yum uses a complicated heuristic to try to 'guess' the right one.
> > > > Should individual backends to the guessing, or return multiple results
> > > > to let PK or the user pick the right one? Do you always want Resolve to
> > > > give one or zero results, or is a list ok in some cases?
> > >
> > > Well, Resolve should return:
> > >
> > > zero (if not installed and not found in the repo)
> > > one (in installed version matches and no never package available)
> > > two (if installed version matches, and there is an updated package
> > > available)
> > What should we return if not installed but found in repo?
> Just the available package.
> > > I think the backend should choose the correct architecture, I don't
> > > really think this is in the scope of PK - leave it to the package
> > > backend.
> > The problem with not knowing what arch is if OpenOffice.org is 32bit on
> > a 64bit system requests that a package be installed, conary will want to
> > install a 64bit package, which won't work for OpenOffice.org.
> We keep the arch in the package_id like normal. If we can't install a
> 64bit version of oo (why not?) then the output of resolve should be the
> 32 bit one. It's basically saying "what could I do".
I was just using OpenOffice.org as an example. rPath Linux 1 doesn't
have a 64bit version of OpenOffice.org for instance because it didn't
build 64bit at the time that we released.
The point was if a 32bit application on a 64bit machine requests that
PackageKit installs another package, it may need to be compatible with
the requesting application.
Do we return the latest version for both arches and let PackageKit
figure it out?
Just returning the latest version doesn't work in the multiarch world
that we live in. :)
More information about the PackageKit