On 2011/05/16 12:42, Ted Unangst wrote:
> On May 16, 2011, at 2:21 AM, Stuart Henderson <s...@spacehopper.org> wrote:
> 
> > On 2011/05/15 18:22, Ted Unangst wrote:
> >> On Sun, May 15, 2011 at 4:42 AM, Stuart Henderson <s...@spacehopper.org> 
> >> wrote:
> >>>> 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.
> >> 
> >> They do?  As far as I know, firefox will only say that it depends on
> >> gtk Y and png X+1.  Nothing records the fact that firefox depends on a
> >> gtk Y that itself depends on png X+1.
> > 
> > If you update all packages from a consistent snapshot then this doesn't
> > matter because the firefox and gtk packages will both depend on the same
> > version of png.
> 
> Right, but what happens when you upgrade firefox? Then it's from a different 
> snapshot. Or is gtk "upgraded" as well even though the version doesn't 
> change? I don't see how pkgadd can know to do that. 
>
> Returning to point 1 above, how does one update packages as a complete set?

You're not supposed to do upgrade just one package, the packages
should be updated as a set, pkg_add -u from a mirror with a consistent
set of files does this.

Reply via email to