Subject: Re: buildink2 hides a wee bit too much -- it can no longer detect inconsistencies
To: None <tech-pkg@netbsd.org>
From: Greg A. Woods <woods@weird.com>
List: tech-pkg
Date: 11/21/2002 11:39:56
[ On Thursday, November 21, 2002 at 00:32:20 (-0800), Johnny C. Lam wrote: ]
> Subject: Re: buildink2 hides a wee bit too much -- it can no longer detect inconsistencies
>
> 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.

I this case it was a selective update, but that's far from the only way
to get inconsistencies like that from the head of a CVS working branch.

I think it's really important to be explicit about inter-package
dependencies.

> > 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.

So you would consign all developers (including third party developers)
to this uncertainty just because it saves one simple declaration?

-- 
								Greg A. Woods

+1 416 218-0098;            <g.a.woods@ieee.org>;           <woods@robohack.ca>
Planix, Inc. <woods@planix.com>; VE3TCP; Secrets of the Weird <woods@weird.com>