pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Version requirements for dependancies



On Mon, 2008-11-10 at 14:17 -0600, Jeremy C. Reed wrote:
> The policy is a new version is required if the ABI changes, making 
> existing dependencies to no longer work with new packages (or new 
> dependencies to no longer work with old packages).
> 
> Also if an API changes (meaning it needs newer dependency), then that will 
> be required too.
> 
> If you are always buildling from pkgsrc and don't use packages from others 
> and are willing to try to troubleshoot problems on your own, you can use 
> USE_ABI_DEPENDS?=NO -- note it is not recommended, but I have used it for 
> years. (That won't help you in this case, because the 
> BUILDLINK_API_DEPENDS.db4 was increased too.)
> 
> spamprobe has only been tested with db4 in pkgsrc. db4 currently has:
> 
> BUILDLINK_API_DEPENDS.db4+=     db4>=4.7.25.1
> BUILDLINK_ABI_DEPENDS.db4?=     db4>=4.7.25.1
> 
> Apparently, it was known or assumed that the previous db4-4.6.21 has 
> binaries that are incompatible.

  Right.  I understand all of this, and don't actually have any problem
with everything having to be rebuilt if something really does require
db4 to be updated.  However, in this case, I had db4-4.6 on my system
from a previous installation from an older branch of pkgsrc.  spamprobe
was being rebuilt for other reasons, but because it's Makefile causes it
to need whatever the current pkgsrc version is, it thinks it needs >=
4.7.25.1, which it actually doesn't.  It would've been just fine built
against the already-installed db4-4.6.  And, by not deleting db4-4.6 (as
part of updating to db4-4.7), there would've been loads of other things
that could've just been left alone.

  I was just hoping that pkgsrc didn't always require the whole system
to be at the same state as the pkgsrc tree it's building something out
of.  I would've assumed there was a way to, in spamprobe's build
configuration, say something like "db4>=4.4", so that it just would've
known that the db4-4.6 was fine.  If it didn't have a db4 >= 4.4 on the
system, it would build one, which would be whatever was in the src tree,
which would've been 4.7.25.1 in this case.

                        - Chris




Home | Main Index | Thread Index | Old Index