[packagekit] User Interaction needed

Stefan Haas shaas at suse.de
Thu Mar 13 05:21:00 PDT 2008


Richard Hughes schrieb:
> On Wed, 2008-03-12 at 14:48 -0400, Justin Haygood wrote:
>   
>>  This requires manual intervention currently. This is done during
>> dependency resolution currently. (Via a prompt: Package X depends on
>> package Y which requires a vendor change. Do you wish to continue?).
>> We can probably assume yes in this case however.
>>     
>
> What option would my mum choose? I'm 99% sure she would just go with the
> default.
>
>   
>> Installed Package Must Be Removed: Sometimes updating packages breaks
>> dependencies. zypper/yast currently prompt and list the packages that
>> will be removed if you continue. It's probably safe to fail in this
>> case.
>>     
>
> Already handled in the API, this is with the yum backend:
>
> [hughsie at hughsie-laptop src]$ pkcon remove hal
> resolve runtime was 0.6 seconds
> get-requires runtime was 0.6 seconds
> The following packages have to be removed:
> 0       gnome-volume-manager-2.17.0-8.fc8
> 1       gdm-1:2.20.3-1.fc8
> 2       gparted-0.3.3-14.fc8
> 3       hal-info-20070516-2.fc7
> 4       gnome-mount-0.7-1.fc8
> 5       hplip-2.7.12-4.fc8
> 6       nautilus-cd-burner-2.20.0-1.fc8
> 7       hal-cups-utils-0.6.9-1.fc7
> 8       NetworkManager-1:0.7.0-0.6.7.svn3235.fc8
> 9       hal-devel-0.5.9-8.fc7
> 10      NetworkManager-gnome-1:0.7.0-0.6.7.svn3235.fc8
> 11      gnome-power-manager-2.21.92-1.104.20080309svn.fc8.hughsie
> Okay to remove additional packages? [N/y] 
>
> As long as GetRequires() is implemented, then it should "just work".
>
>   
Yes, this works. But the problem is how to handle solver issues while
installing or updating a package.
There are a lot of cases where you can't simply do it.

Simple example:

You want to install foo. To fulfill the requirements of foo you've to
remove bar.

Here you've to ask what's to do:

1) remove bar and install foo
2) don't install foo

What should the backend do in this case?


>> You can abort via ctrl-c in zypper, or by clicking "ABORT" in YaST.
>> Already installed packages stay installed since it only will install a
>> package where all dependencies are already installed. In the
>> OpenOffice.org example, if X.org, and X.org is on CD1 and
>> OpenOffice.org is on CD2, zypp will install X.org assuming CD1 is in
>> the drive, and then prompt for CD2. If you abort, X.org will stay
>> installed.
>>     
>
>   
Ok, this problem we'll solve inside zypp with a kind of a download cache.
> Gotcha.
>
> Richard.
>
>   

Stefan



More information about the PackageKit mailing list