On 17/10/13 21:57, Florian Pritz wrote: > On 18.06.2013 08:04, Allan McRae wrote: >> On 19/05/13 05:53, Andrew Gregory wrote: >>> On upgrades, indirect dependencies were not being detected if there was >>> a dependency in between them that was not part of the transaction. For >>> example, with the dependency chain: pkg1 -> pkg2 -> pkg3, if pkg1 and >>> pkg3 are being upgraded but not pkg2 pacman would not order pkg1 and >>> pkg3 properly. >>> >>> This was particularly problematic when replacements were involved >>> because the replaced package(s) would be removed at the start of the >>> transaction. If an install script required the replacer and lacked >>> a direct dependency, it could fail. >>> >>> Fixes FS#32764. >>> >>> Partially fixes FS#23011. >>> >>> Signed-off-by: Andrew Gregory <[email protected]> >>> --- >>> >>> The need to keep state in order to avoid getting stuck in cyclic >>> dependencies >>> makes this a little ugly (hence the wrapper function). If anybody has a >>> better >>> idea for avoiding those loops, I'd love to clean it up. >> >> Finally got to reviewing this... I can not immediately see a way to >> avoid those loops. >> >> Signed-off-by: Allan > > This patch causes a slowdown from subsecond sort time to ~60sec on my > machine (i7-920) when sorting 183 packages for -Su. >
I filed a bug report to keep track of this: https://bugs.archlinux.org/task/37380 A
