Subject: Re: pkg/35012: pkgsrc binary package dependancy system is broken
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: Robert Elz <kre@munnari.OZ.AU>
List: pkgsrc-bugs
Date: 11/08/2006 03:45:03
The following reply was made to PR pkg/35012; it has been noted by GNATS.

From: Robert Elz <kre@munnari.OZ.AU>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/35012: pkgsrc binary package dependancy system is broken 
Date: Wed, 08 Nov 2006 10:41:11 +0700

     Date:        Wed,  8 Nov 2006 03:05:06 +0000 (UTC)
     From:        "Jeremy C. Reed" <reed@reedmedia.net>
     Message-ID:  <20061108030506.CF74C63B8CA@narn.NetBSD.org>
 
   |  For a couple years on a couple systems I have used binary only packages 
   |  (with no pkgsrc tree and no builds). I very often have had packages built 
   |  with newer dependencies on the build system be used on system with older 
   |  dependencies.
 
 I'm sure I have too, and in some (or perhaps even many) cases it will
 work, but it can't be guaranteed (in the case I saw, it is even possible
 that firefox2 is just horribly buggy, and this problem isn't what caused
 the problems I saw, I just kind of doubt that).
 
   |  But, we do have open-ended dependencies that sometimes cause problems.
 
 Yes, I know, but that's a whole different problem (been meaning to
 say something about that one too - I think I know how that could be
 mostly handled).   The whole way dependencies are used is "sub-optimal",
 but this one seems to be an out and out bug (in something).
 
   |  Some have advocated just always using the exact version.
 
 That's certainly the conservative, and safe, way - but most of the time
 unnecessarily rigorous.   While people certainly do sometimes make stupid
 changes which break backward binary computability, most library developers
 have a fair handle on the problem, and work pretty hard to avoid it.
 Requiring everything to be rebuilt every time there's any minor change
 is too much (sure, occasionally it would save a problem, but that's the
 unusual case).
 
   |  So maybe you are suggesting that @blddep should be forced as at least the 
   |  minimum.
 
 Yes, for libraries certainly.   For applications that are used, perhaps
 but usually not.  If an application behaves differently, then the code
 that uses it is generally going to expect either the new or old,
 and random substitutions don't work - if it doesn't behave differently,
 then whatever changes have been made to it internally are irrelevant - that's
 not true of libraries, or anything else that influences the compilation
 of another program (anything that provides .h files or similar).
 
   |  Also I wonder in your case if there is a problem with the 
   |  BUILDLINK_ABI_DEPENDS?
 
 I have no idea, I know nothing about buildlink...
 
 kre