On 2011-05-15, Ted Unangst <ted.unan...@gmail.com> wrote:
> On Sat, May 14, 2011 at 4:05 PM, Amit Kulkarni <amitk...@gmail.com> wrote:
>>> Delete all packages, reinstall them.  This happens when firefox and
>>> gtk are built on separate days.  The pkg system does a good job
>>> tracking version numbers, but the contents of a pkg can depend in
>>> subtle ways on what else is installed and that's not reflected in the
>>> version number.

It's not reflected in the version number, it's reflected in the package
signature (besides the version number, all those @wantlib lines in the
+CONTENTS file).

>> Contents? They are the same packing lists, right?
>>
>> Are you actually talking of subtle .so dependencies and updates being
>> performed separately in inter-dependent packages?
>
> Today libpng has version X, gtk version Y, and firefox version Z.  You
> install these packages.
>
> In one week, libpng is updated to version X+1 and firefox is updated
> to version Z+1.  You update.  The gtk version has not changed, it will
> not be upgraded.  Now firefox is linked to png X+1 and X (via gtk).
> Hilarity ensues.  A newly built gtk will be linked against png X+1 and
> will work correctly.
>
> Determining which package needs rebuilding is really hard.  It's much
> easier to install a complete matched set.
>
>

Packages takes care of this just fine *but* you are supposed to
use packages from a consistent snapshot. Don't just update a single
package, make sure you 1) update packages as a complete set and
2) the mirror you're updating from isn't half-way through updating.

Reply via email to