Subject: Re: (Incomplete) List of pkgsrc Improvements
To: Greg Troxel <>
From: Dieter Baron <>
List: tech-pkg
Date: 07/31/2007 14:48:10

> >>   1.4 fix open-ended dependencies
> >> 
> >> I agree, but I think the problem is bigger than this.
> >> 
> >> In using pkg_rolling-replace, I find that there are often needless
> >> rebuilds when a package is updated, e.g., from x.ynb1 to x.ynb2.  Here,
> >> there are no ABI changes, and there is no need to rebuild dependencies.
> >> For some updates, there aren't ABI changes, and for some there are, and
> >> it's hard to tell.
> >> 
> >> ABI is more than shlib versions, althoug that's 99% of it in practice.
> >> So, I'd like to see an explicit ABI version, and to have way for 'make
> >> replace' to only set unsafe_depends if the ABI version changes.
> >
> >   That is precisely what I suggested, I just called it differently:
> > When the ABI changes in a backwards incompatible way (for whatever
> > reason), we note that the package is no longer backwards compatible
> > with earlier versions.
> OK, but we have to have an ABI version (maybe that's what you mean by
> 'noting that the package is no longer backwards compatible),

  Yes, it is, at least for ABI changes that break backwards
compatibility, and I don't think we are interested in others.

: so we can
> answer the question: is replacing version x of pkg foo with version y an
> ABI change?  Given that, I think I can very easily add the unsafe
> tagging features that I would like.

  If the lowest compatible versions of version X and version Y are
different, it's a backwards incompatible ABI change.  Otherwise, it's