Hi! 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) Bye