On Wed, Jan 19, 2011 at 2:07 PM, Pierre Chapuis <catwell@archlinux.us>wrote:
Here is an example:
A depends on B and D B depends on C C depends on D and E
Currently the deps will be:
A -> B,D B -> C C -> D,E
When installing A, Pacman will:
1) check deps for A, start installing B and D 2) check deps for B and D, start installing C 3) check deps for C, start installing E
With a transitive closure scheme at packaging time, the deps would be:
A -> B,C,D,E B -> C,D,E C -> D,E
When installing A, Pacman could simply install B, C, D and E *without* checking their deps (-Sd) because these deps are necessarily already included in those for A.
-- Pierre 'catwell' Chapuis
If B and D are already installed, the current implementation does 2 dependency checks and trasitive closure makes 4. Also, does not pacman need to know that C, D and E must be installed before B? Your approach would probably install B before its dependencies.