tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: BUILDLINK_API_DEPENDS can be harmful



In article <20081028033248.GA25466%netbsd.org@localhost> David wrote:
: On Tue, Oct 28, 2008 at 03:01:39AM +0100, Quentin Garnier wrote:
:  > Thinking about it some more, I wonder why cairo would expose its
:  > API_DEPENDS in the bl3.mk file.  It doesn't make sense to me:  either
:  > you need a new cairo (because of ABI_DEPENDS), in which case you'll
:  > forcibly get the correct API_DEPENDS for cairo, or you don't, in
:  > which case whatever was installed along with cairo is good enough
:  > for it.

: Well, not quite. I think. Exposing that dependency means that
: *clients* of cairo require at least pixman 0.12. If cairo re-exports
: part of pixman's API, that's a perfectly reasonable statement to make.
: The problem is that one picks up this piece of logic without
: installing the new cairo that it applies to.

: What I don't see is why your build didn't go build a new pixman as a
: result of it being out of date. Ordinarily it should have. Did you not
: clean or not cvs update x11/pixman? Or is the builtin logic broken?

  Why should it.  pkgsrc checks wether the direct dependencies (cairo
in this case) are new enough, and if so, they -- and their
dependencies -- are not rebuilt.

  The real bug here is that we use the list from buildlink3.mk to
determine which dependencies to also buildlink.  However, that list is
correct for the current version, but might not be correct for an older
installed version.

  The fix is to copy this list into the installed (and binary)
package, and use that copy when buildlinking.  Could someone who is
better versed in the current infrastructure please implement that?

                                                yours,
                                                dillo


Home | Main Index | Thread Index | Old Index