[packagekit] User Interaction needed

Justin Haygood jhaygood at reaktix.com
Wed Mar 12 11:48:57 PDT 2008


I am not a Novell/SUSE employee, but here's some of your answers:

>On Wed, 2008-03-12 at 16:59 +0100, Stefan Haas wrote:
>> there are a lot of places where it would be very useful (at least in the
>> zypp-backend) to have any kind of possibility to interact with the user
>> (like the already discussed media change issue).
>
>What kind of interaction? I've specified before in
>http://www.packagekit.org/pk-faq.html that mandatory general input is a
>very bad thing to do to be able to meet our primary use cases. Could you
>specify a list of questions you need to ask the user?

Media Resolution: There are plenty of cases where installing a package requires 2 CDs and sometimes even online repos! (Installing a -devel pacakge for something where the base package isn't installed. Alot of times, -devel packages are on DVD2 and the base package is on DVD1).

Vendor Change: Sometimes installing a package from a third-party repo will requiring switching vendors of dependent libraries to the third-party. 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.

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.

>
>As for the media query, I think it's sane to do this at the beginning of
>a transaction if required, but I really don't think we can ask the user
>to change CD's half way through. For example:
>
>pkcon install openoffice
>installing openoffice-bin
>installing openoffice-common
>installing openoffice-clipart
>>Please insert CDROM 2 for extra packages to be installed
>
>Now, what if I can't find CDROM 2 at this point? The transaction is half
>finished... Does zypp then rollback the changes as if the first CD had
>not been inserted? Or are the files copied off disk first and then the
>transaction run? If the latter is true then we can do this as part of
>the checks for the transaction, although we would have to requeue this
>twice in the client tool.

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.

>
>> Another issue: When you've to choose between methods of resolution while
>> installing/removing/updating a package (assumed there is no simple way
>> to just do it), the zypp-backend  simply fails at the moment.
>
>You mean if there are two packages both with a virtual provide, which
>does the backend choose? You have to bear in mind: does the user
>_actually_ care? Think primary use cases rather than a replacement to
>the zypp command line tool.
>
>> What do you think?
>> How do you do it in the other backends?
>
>In yum there is a dedicated key-required signal that is used when the
>transaction is being setup, but I don't know if any other of the
>backends support this.
>
>Richard.
>
>_______________________________________________
>PackageKit mailing list
>PackageKit at lists.freedesktop.org
>http://lists.freedesktop.org/mailman/listinfo/packagekit



-- 
Justin Haygood
jhaygood at reaktix.com
Reaktix. Reality Redefined.



More information about the PackageKit mailing list