tech-pkg archive

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

BUILDLINK_API_DEPENDS can be harmful



Hi,

Currently pkgsrc is broken to some extent after that latest update of
cairo (this could apply to some other packages, too;  I know at least
of cairo).

Say you want to build x11/gtk2, and you have native X.Org, which
provides pixman-0.11.4.  gtk2 doesn't care about pixman, but cairo,
of which gtk2 does care, depends on it.  You also have a somewhat
recent cairo, but older than the latest one in pkgsrc.

gtk2 gets its API dependency on cairo from cairo's bl3 file, and said
dependency allows gtk2 to be built with the one the system already has.

However, when you try building gtk2 you'll get an error about pixman not
being properly installed.

The reason for this is that the latest cairo needs a version of pixman
that is newer than the one in native X.Org (it works equally well with
an older pixman from pkgsrc), precisely >=0.12.0.  cairo's bl3 file
exposes that API dependency to packages that include its bl3 file.

So you end up with a BUILDLINK_API_DEPENDS for pixman that doesn't
match what is installed on the system, but everything else is fine,
which means pkgsrc didn't make you update cairo (which would have
pulled in a correct version of pixman).

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.

That said, getting rid of those BUILDLINK_API_DEPENDS line doesn't fix
all the potential issues:  the list of inclusions of depending bl3.mk
files isn't guaranteed to match the currently installed version of the
package.

I'm not sure there is a satisfactory way to do that, but I'm getting
more and more convinced that the API/ABI_DEPENDS framework doesn't
provide anything of value in the end.

-- 
Quentin Garnier - cube%cubidou.net@localhost - cube%NetBSD.org@localhost
"See the look on my face from staying too long in one place
[...] every time the morning breaks I know I'm closer to falling"
KT Tunstall, Saving My Face, Drastic Fantastic, 2007.

Attachment: pgpohiNXkrK4T.pgp
Description: PGP signature



Home | Main Index | Thread Index | Old Index