On Thu, Jan 26, 2006 at 10:51:25AM +0100, Frank Lichtenheld wrote: > So the question is why dpkg doesn't resolve this better.
Ok, after a little investigation here my findings (please take into account that this is actually the first time ever I looked at this code so I might have misinterpreted or overlooked things): dpkg can't deal with the following dependency cycle at the moment (pkg1 and pkg2 are real packages, vpkg1 and vpkg2 virtual packages) ---------> vpkg2 <-------- |provides depends| | | | no replaces/conflicts | pkg1 <-----------------> pkg2 | | |depends provides| ---------> vpkg1 <-------- (note that the condition in the middle is important! Otherwise the cycle will get broken correctly) The following patch fixes it but I have really no idea wether this is indeed the correct fix: --- dpkg-1.13.12/src/depcon.c 2006-01-18 08:30:03.000000000 +0000 +++ dpkg-1.13.12.new/src/depcon.c 2006-01-26 13:52:31.000000000 +0000 @@ -127,6 +127,7 @@ */ if (foundcyclebroken(&thislink,sofar,provider,possi)) return 1; if (foundcyclebroken(&thislink,sofar,possi->ed,provider->installed.depended)) return 1; + if (findbreakcyclerecursive(provider,&thislink)) return 1; } } } Gruesse, -- Frank Lichtenheld <[EMAIL PROTECTED]> www: http://www.djpig.de/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]