Subject: Re: safe make replace?
To: NetBSD Packages Technical Discussion List <tech-pkg@NetBSD.ORG>
From: Greg A. Woods <woods@weird.com>
List: tech-pkg
Date: 01/26/2005 00:18:37
[ On Monday, January 24, 2005 at 19:49:20 (-0500), Todd Vierling wrote: ]
> Subject: Re: safe make replace?
>
> On Mon, 24 Jan 2005, Greg A. Woods wrote:
> 
> > Most developers these days still don't seem to have any clue what it
> > means to have a truly backwards compatible "Application _Binary_
> > Interface", though I don't blame them much because it's a rather
> > difficult and complex problem, and one that is not really facilitated by
> > most high-level language development tools commonly used by application
> > developers, including, especially, libtool.
> 
> Actually, libtool's *documentation* has a pretty good explanation of how to
> use its versioning option.  It's certainly not complete,
 ...

But libtool's versioning feature is really just the icing on the cake.
It only allows a developer who already knows exactly how to manage ABI
compatability to propogate his or her knowledge of the details out to
the users of the ABI, and to do so in as automated a fashion as possible.

The actual detection and management of ABI compatability issues is not
in any way facilitated by libtool.  That's not a bad thing in and of
itself of course -- it's just that nothing else helps do the job either.

In fact what I was also trying to say, without actually coming out and
saying it point blank, was that libool really only adds a HUGE massive
pile of steaming, but rotten, spaghetti on top of the problem.

We haven't really needed anything even remotely like libtool in the open
source world for at least a decade now yet we're the ones who seem most
focused on abusing ourselves with it.  Sigh.


 ...
> but it is a good
> start at keeping ABI compatibility in the mind of the software author.

I'm not so sure.  Most developers seem to rely on folklore and myth when
it comes to understanding ABI issues, particularly when it comes to
trying to maintain backwards compatability, if they even get that far in
thinking about the issues.

Nothing else I've seen anywhere in the open source world comes even close
to what NetBSD does itself with its own system libraries.  And I do mean
that as a tremendous compliment!  If other application library
developers paid even one tenth of a percent of the attention the NetBSD
developers pay to these ABI issues then the management of binary
packages would be a heck of a lot easier.

Of course we do use open source exclusively, and as I started out by
saying, it's one heck of a lot easier to maintain backwards
compatabiltiy in APIs.  All takes to make use of that compatability is a
full recompile.   :-)

-- 
						Greg A. Woods

H:+1 416 218-0098  W:+1 416 489-5852 x122  VE3TCP  RoboHack <woods@robohack.ca>
Planix, Inc. <woods@planix.com>          Secrets of the Weird <woods@weird.com>