<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Richard Hughes wrote:
<blockquote cite="mid:1194469013.3471.40.camel@hughsie-laptop"
 type="cite">
  <pre wrap="">On Wed, 2007-11-07 at 15:19 -0500, Sebastian Heinlein wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">What is the use case behind this feature? The list seems to be quite
long in the end.
    </pre>
  </blockquote>
  <pre wrap=""><!---->
Well, say I want to remove gimp. With no recursive, I will just be
informed of the immediate requires, and might not be informed of
something that the 1st level requires, require. If you see what I mean.

If gnome-power-manager depends on hal, and hal depends on glibc, then
with recursive i would get:

pkcon remove glibc
Removing glibc will also remove hal and gnome-power-manager, okay to
continue? [Y/n]

For recursive dependencies, I can see all the packages I would need on a
minimal install, although I agree the use case for this is less
convincing than the former case.

Richard.


_______________________________________________
PackageKit mailing list
<a class="moz-txt-link-abbreviated" href="mailto:PackageKit@lists.freedesktop.org">PackageKit@lists.freedesktop.org</a>
<a class="moz-txt-link-freetext" href="http://lists.freedesktop.org/mailman/listinfo/packagekit">http://lists.freedesktop.org/mailman/listinfo/packagekit</a>
  </pre>
</blockquote>
I have an idea of another way to make this happen.<br>
What about adding adding a 'show-transaction' flag to
remove,update,install.<br>
if show-transaction is True, then the remove,update,install will return
the packages about to be installed,updates,removed,obsoleted, but don't
process the transaction.<br>
if show-transaction is False then the transaction will be processed as
today.<br>
<br>
When the gui, cli can first call the 'remove' with show-transaction =
True&nbsp; and get the packages to be processed, ask for a confirmation&nbsp; and
call 'remove' again with show-transaction=True to perform the
transaction.<br>
<br>
This way should be easier to implement for most backend, because this
is how they normally work.<br>
<br>
* Add some actions/packages to the Transaction<br>
* Resolve dependencies.<br>
* Ask for confirmation<br>
* Process the Transaction.<br>
<br>
This is even more useful if we want to extend to take more than one
package id as an argument.<br>
<br>
pkcon remove foo bar zoo<br>
<br>
Tim<br>
<br>
<br>
</body>
</html>