On Mon, 2010-02-08 at 13:37 -0700, Brendan Long wrote: > Couldn't the piecemeal update problem be fixed by just putting > version > numbers in the depends() section in each updated package, so for the > libpng rebuild for example, depends(... libpng>=#.#)? It would fix > the > problem in the most obvious/arch-like way. Some of us do that, so what happens next: very-old-system# pacman -Sy firefox pacman downloads new repo db, checks for firefox and downloads all the versioned dependencies. The user can run firefox fine now, but everything else on the system is broken because it wasn't updated for the new libpng. Now this can be caught by using depends=('libpng>=1.4.0' 'libpng<1.5.0'), but what if upstream decides to fuck up the ABI in a release and bump soname in the middle of the 1.4 branch? I don't expect libpng to do that, but there's examples of others around. We can never be sure that the next incompatible version will be 1.5.0.