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