Subject: Re: buildink2 hides a wee bit too much -- it can no longer detect inconsistencies
To: None <tech-pkg@netbsd.org>
From: Alistair Crooks <agc@wasabisystems.com>
List: tech-pkg
Date: 11/21/2002 10:21:32
I agree 100% - thanks for the rational discussion.

Take care,
Al

On Thu, Nov 21, 2002 at 12:32:20AM -0800, Johnny C. Lam wrote:
> 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
> commits.
> 
> 	Cheers,
> 
> 	-- Johnny Lam <jlam@netbsd.org>