Excerpts from Brendan Long's message of 2010-02-09 01:06:07 +0100:
On 02/08/2010 04:48 PM, Jan de Groot wrote:
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.
But wouldn't the optimal solution be doing the depends correctly on every package, so when your really slow user tries to update Firefox, it correctly informs them that they need to update everything to do that?
Right now bugs regarding that kind of thing are ignored, I got such a case with netsurf. It was build against the new version and only required an older one according to the deps array. Response -> Not a Bug