Gentoo Archives: gentoo-project

From: Steve Long <slong@××××××××××××××××××.uk>
To: gentoo-project@l.g.o
Subject: [gentoo-project] Re: ABI deps and DEPEND labelling
Date: Thu, 21 Aug 2008 16:30:21
Message-Id: g8k568$2e6$1@ger.gmane.org
In Reply to: Re: [gentoo-project] ABI deps and DEPEND labelling by David Leverton
1 David Leverton wrote:
2
3 > On Tuesday 19 August 2008 21:35:35 Steve Long wrote:
4 >> Not really fussed about how it's resolved, so long as we get some sort of
5 >> correct link dependency information (which compile-against is not.)
6 >
7 > compile-against is designed mainly for packages that include each-other's
8 > headers, nothing to do with linking. For example, some libX11 headers
9 > include xproto headers. If a given package only contains a reference,
10 > say, <X11/Xlib.h>, and not anything from xproto, then it should only
11 > build-depend
12 > on libX11, but xproto still needs to be present at compile-time. The only
13 > way to represent that currently is by making libX11 RDEPEND on xproto,
14 > meaning "libX11 is not fully-functional unless xproto is installed", but
15 > embedded people and the like would prefer something more fine-grained,
16 > effectively splitting the idea of "fully-functional" into
17 > "fully-functional at runtime" and "fully-functional at build-time".
18 >
19 Cool, that makes sense.
20
21 > What exactly do you mean by "link dependency information"? How would you
22 > like the package manager treat a "link" dependency differently from any
23 > other build dependency?
24
25 I mean the dependency between the package in your example and libX11, or
26 between libX11 and xproto: what the programmer writes as a dependency in
27 the code. In certain cases the dependency does not actually matter (opaque
28 types) but it usually does, especially with C++. compile-against seems to
29 be derived from that information.
30
31 An ldepend would necessarily be a build-time depend. It would not
32 necessarily be a run-time depend (eg for plugins) although most pkgs
33 building from src with a USE flag pulling in the ldepend would rdepend on
34 the same pkg, if the flag is in effect at install time. OFC that's where
35 the soft dependencies (suggest, recommend) come into play.