On Sat, 12 Dec 2009, Allan McRae wrote:

Dimitrios Apostolou wrote:
 On Fri, 11 Dec 2009, Nagy Gabor wrote:
>  depends files are read in order to ensure that the upgraded package
>  won't break any "old" dependencies.
> > Example: local foo requires bar=2.0 (which is installed)
>  Then "pacman -S bar" is not allowed (if bar in sync has different
>  version).

 I just noticed that local depends are read even when installing a new
 package (not upgrading an old one). Why is this for?


How about this example:

pacman -S foo, foo replaces=bar and provides=bar, installed package baz depends on foo>=2.0.

If already installed package baz depends on foo, then foo is already installed. Perhaps you mean it depends on bar>=2?


This should fail as bar only provides foo and so it is unknown whether the foo>=2.0 dependency for baz is solved.

And here you probably mean that "foo" only provides "bar" without version. So doing a pacman -S foo should remove "bar" because of /replaces/, but should also keep it because of "baz" requiring the specific version already installed.

Anyway I think I get it, it always needs to read local depends. It is getting far more complex than I initially thought...

But even for this complex case, an RDEPENDS field for local packages would help significantly. Perhaps you remember when it was discussed again, date or pacman version?


Dimitris


Reply via email to