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

> I see this as replacing the dependency that says "foo > 1.4" completely.
> Are you thinking of keeping that and saying "foo > 1.4, ABI version 6",
> with the rule that ABI version increases whenever there is an
> incompatible change, e.g. shlib major bump or a non-library program
> interface changing.

  Ah, that is what you were getting at.

  I was going to split the information across both packages, the
depending package and the dependency:

  In the depending package, we have: DEPENDS=foo>1.4

  In the dependency we have: LOWEST_COMPAT=1.5, VERSION=1.5.2

  Now, while 1.5.2 satisfies >1.4, we also check that 1.5 is <= 1.4,
which fails.  So we know that 1.5.2 cannot be used to fulfill a
dependency >1.4.

  We could also go the way you suggested:

  In the depending package: DEPENDS=foo>1.4.2,

  In the dependency: ABI=1.5, VERSION=1.5.2

  Now, while 1.5.2 satisfies >1.4.2, 1.4 != 1.5, so the package cannot
be used.

  But with this approach, we have to record the ABI version for each
of a package's dependencies, which seem wasteful.