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?