Subject: Re: rebuilding huge packages?
To: Wojciech Puchar <wojtek@tensor.3miasto.net>
From: Greg A. Woods <woods@weird.com>
List: netbsd-users
Date: 03/24/2003 12:53:42
[ On Monday, March 24, 2003 at 16:32:09 (+0100), Wojciech Puchar wrote: ]
> Subject: Re: rebuilding huge packages?
>
> anyway i still don't understand why make update in libblah that updates
> libblah-1.1.3 to libblah-1.1.17 forces huge apps blah1 and blah2 that
> requires libblah>=1.1.3 to be rebuild.

Are you 100% sure that dependency means what you think it means?  Are
you sure those blah1 and blah2 things really only have that dependency?

I.e. I think your lack of understanding is because you've made some
misleading assumptions about how the dependencies work and are
specified.

> it's nonsense as most of libraries
> are shared (static-only packages should be changed to shared or given flag
> for this).

You've got that absolutely backwards.  In fact if packages are linked
statically (at least with pkgsrc-supplied libraries), then, and _only_
then, is there no need to worry about upgrading pkgsrc libraries.  You
can trivially rebuild just and only just what you want and nothing more.

As for shared libraries, well the pkgsrc mechanisms alone cannot be
responsible for assuring that a new version of a shared library is 100%
backwards compatible with the binary interfaces of the old version, and
I'll bet even most pkgsrc developers don't do sufficient testing and
careful enough examination to know when such compatability can be
assured.  Relative version dependencies should only be allowed for
build-time, not run-time (binary).  Multiple alternative versions might
be allowed for run-time dependencies, but only if sufficient testing is
done to ensure a given package works 100% correctly with each
alternative version of the library.  (Unfortunately I don't believe it's
possible to easily specify multiple alternative dependencies in pkgsrc,
and worse the current buildlink2 implementation often uses relative
dependencies by default, which is only asking for trouble.)

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