Doing update today I had following case. Some files were moved from foo-devel (I guess it was libxml2) into foo-utils. urpmi did not pull foo-devel when installing new version of foo-utils that resulted in error.
Now I understand that synthesis does not have full file list (and urpmi cannot duplicate rpm). But could not we check output of rpm so that if we get file /some/file from foo-1.2.3 conflicts with file /some/file from bar-1.2.3 at least /try/ to update bar? Actually that is what urpme does - it just scans rpm -e output. Of course the correct solution may be to remove bar :-) at least the following logic seems possible - if newer version of bar exists try again with it - if bar has been removed from distribution ask user to delete it first Comments? -andrej