Le 19 janvier 2011 09:07:33, Pierre Chapuis a écrit :
On Wed, 19 Jan 2011 23:59:55 +1000, Allan McRae <allan@archlinux.org>
wrote:
Huh? How is no dependency checks (-Sd) equivalent to complete dependency checking (-S with a transitive closure of dependencies)? They are polar opposites.
What I mean is that if a transitive closure of dependencies is performed at packaging time, then there is no need to check for dependencies when installing the original package.
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.
As the maintainer of A, it is not your job to track dependencies of B and D. Again, look at the problem from a different point of view. If tomorrow dependencies of B change to B -> C F (direct dependecies) does it mean that A (and **all** other pkgs that depends on B) should be updated to include a dependecy on F ? What if dependency on E is removed from C PKGBUILD ? Maintaining a package with such rules will be a nightmare. Stéphane