Subject: Re: buildink2 hides a wee bit too much -- it can no longer detect inconsistencies
To: NetBSD Packages Technical Discussion List <tech-pkg@NetBSD.ORG>
From: Johnny C. Lam <firstname.lastname@example.org>
Date: 11/21/2002 00:32:20
On Thu, Nov 21, 2002 at 01:10:06AM -0500, Greg A. Woods wrote:
> Amaya-6.4 requires at least libwww-5.4.0.
> However anyone updating just their libwww pkgsrc module will not know
> this because this information is only implicitly recorded in the
> libwww/buildink2.mk file by this line:
> BUILDLINK_DEPENDS.libwww?= libwww>=5.4.0
> and not anywhere in www/amaya.
> The result can very easily be something like PR#19116 (amaya-6.4 will
> not build).
The error you are discussing will occur only if the user "cvs updates"
www/amaya without "cvs updating" www/libwww. The libwww buildlink2.mk
file specifies that it requires libwww>=5.4.0, presumably because the
shared libs in 5.4.0 are ABI-incompatible with shared libs in 5.3.6.
This implies that all packages that need libwww, including www/amaya,
will require libwww>=5.4.0.
Given how interdependent the whole pkgsrc tree is, it's a bug to do
selective updates to parts of the pkgsrc tree.
> Ultimately this is caused by buildink2 hiding too much of the
> inter-package dependency declarations in unrelated directories (or at
> least making it too easy for the developer to do such hiding).
I disagree. I believe it is due to the mistaken assumption that you can
selectively update parts of the pkgsrc tree. I also think this is the
chance that you take by tracking pkgsrc-current because it's a _very_
active branch and it's possible to "cvs update" between two related
-- Johnny Lam <email@example.com>