[pacman-dev] pacman cold caches performance, too much stat()ing

Dimitrios Apostolou jimis at gmx.net
Sat Dec 12 07:28:08 EST 2009


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



More information about the pacman-dev mailing list