[pacman-dev] bug in alpm/deps.c

Nagy Gabor ngaba at petra.hos.u-szeged.hu
Sun Feb 25 15:02:16 EST 2007


The function _alpm_depcheck is buggy: lines 246-255 is terrible...
I think, that the whole provides concept is not really tested
and reasoned. I think packages that provides the same 'foo', should be
mutual (I mean, conflicts with each other as I wrote earlier) by
definition (this is the usual practice anyway); and if you use -S and a
package needs a provided 'foo' package: it is not defined, which
provider package will be installed etc. etc.

Back to the current problem:
During -U foo2, the old foo2's requiredby field is checked, and tested
if the new version of foo2 is satisfies these dependencies too. As you
look into the source, you'll see that pacman checks all packages found
in requiredby, if they "accept" the new foo2 or not. However the
dependency can be through provide. This should be checked between the
lines what I mentioned; but it doesn't do that. That part is absolutely
wrong! (To be precise: It checks if foo2 is between the dependencies,
if not, checks if the _last_ dependency is provided by an other
package: if yes, you will get a dependency error ... <- I tried it :-S)


More information about the pacman-dev mailing list