Subject: Re: BUILDLINK_DEPENDS.expat
To: Jeremy C. Reed <reed@reedmedia.net>
From: Johnny Lam <jlam@pkgsrc.org>
List: tech-pkg
Date: 03/22/2006 19:13:07
[NOTE: I am now moving this to tech-pkg@]
Jeremy C. Reed wrote:
> On Wed, 22 Mar 2006, Johnny Lam wrote:
>
>
>>>I use IGNORE_RECOMMENDED=yes.
>
>
>>>-BUILDLINK_DEPENDS.expat+= expat>=1.95.7
>>>+BUILDLINK_DEPENDS.expat+= expat>=2.0.0
>
>
>>No, this patch is not correct. This is, IIRC, exactly what
>>BUILDLINK_RECOMMENDED was originally put into pkgsrc for -- the handle the
>>case where a lot of software can continue to build with the old version of a
>>library even though the latest version in pkgsrc has had a shlib major bump.
>
>
> The RECOMMENDED is for "security updates or ABI changes that do not
> prevent a package from building correctly."
This is exactly the case here. Between expat-1.95.x and expat-2.0.x,
there was an ABI change that doesn't prevent packages from *building*
correctly, though it causes problems with binary packages. This is why
I think the BUILDLINK_RECOMMENDED case already covers this.
> Maybe then the pkgsrc guide needs to be modified. It says:
>
> ... This [BUILDLINK_DEPENDS] variable should be set to the first version
> of the package that had the last change in the major number of a shared
> library or that had a major API change.
>
> And:
>
> There are two situations that require increasing the dependency listed
> in BUILDLINK_DEPENDS.pkg after a package update:
>
> 1. if the sonames (major number of the library version) of any
> installed shared libraries change.
>
> 2. if the API or interface to the header files change.
>
>
> I don't know if the API or interface to the header files changed. But the
> major number of the library version did change.
I believe this explanation of when to bump BUILDLINK_DEPENDS preceded
the addition of BUILDLINK_RECOMMENDED to pkgsrc.
>>What you are running into is basically the problems with running with
>>IGNORE_RECOMMENDED=yes, which is why that default to "no".
>
>
> I have been using it since it was available. It has been very useful. I
> have not had to manually override any of the BUILDLINK_DEPENDS.
I still believe the whole BUILDLINK_RECOMMENDED concept is
poorly-conceived and should be removed from pkgsrc, and that
BUILDLINK_DEPENDS should be used as the guide currently says in the
passages you excerpted above.
Cheers,
-- Johnny Lam <jlam@pkgsrc.org>