On 11/10/2007, Stefan Hundhammer <[EMAIL PROTECTED]> wrote:
> I see what you mean. We had that once, but this is really something that is
> very dangerous and thus not desirable in most cases.
>
> The old package manager used to come up with a solution like "delete all
> conflicting packages" - getting rid of everything that depended on the
> package you marked for deletion.
>
> While this can be useful in some very few cases, in many more cases it will
> leave you with a wrecked system.
Only if it is not made clear to the user. Currently the conflict
resolution dialogue might display something like
[ ] Do not install fooapp
[ ] Remove barapp
[ ] remove conflicting libbar
[ ] change vendor of libfoo to <vendor>
etc etc.
The user is forced to make a decision, which will then force a new
solver run, which might throw up another 10 or more issues that
require manual intervention. It is indeed quite possible to even go
round in loops, depending on which solutions the user chooses at each
stage. This is very difficult for users who don't understand the
package management internals.
IMO a more preferable mode of operation to the user would be to
perform a complete solver run and then propose it to the user, with
the option to alter it if it's not correct.
So where there is the option to remove a conflicting package/not
install package/change vendor etc, the solver notes the choice and
picks the most preferable version - e.g. vendor change is preferred
over some other changes. If this choice does not lead to a solution
the solver would have to backtrack & try one of the other solutions.
Once an valid /complete/ solution is found it could be presented to
the user as a summary:
The following changes will be made:
<Packages to be installed>
<Packages to be removed>
<Packages with vendor change>
[ Accept ] [ Modify Proposal ] [ Cancel ]
Obviously this is a lot more difficult to implement, but would be far
more friendly.
_
Benjamin Weber
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]