Gentoo Archives: gentoo-dev

From: Ned Ludd <solar@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Reminder on dependencies.
Date: Tue, 25 Oct 2005 11:57:23
Message-Id: 1130217512.19065.27.camel@localhost
In Reply to: Re: [gentoo-dev] Reminder on dependencies. by Donnie Berkholz
1 On Mon, 2005-10-24 at 21:37 -0700, Donnie Berkholz wrote:
2 > -----BEGIN PGP SIGNED MESSAGE-----
3 > Hash: SHA1
4 >
5 > Spider (D.m.D. Lj.) wrote:
6 > | If your package, libFoo, installs .h files that directly require header
7 > | files from libBar, then you have a Runtime dependency on libBar, not
8 > | only a compile time dependency
9 > |
10 > |
11 > | Why? Because libFoo should be usable at runtime, even for compiling
12 > | things not managed by our tree. And if BazPack has a configure check,
13 > | requires explicitly libFoo, tests for the presence of said header, and
14 > | all checks out.. Then BazPack should be able to work, and libFoo's
15 > | header certainly shouldn't be broken for use in compile.
16 >
17
18 > Now, the other side of the story. It's not true runtime dependence
19 > because it's not required for programs to run, only to compile. And the
20 > way I see it, things required for programs to compile are by definition
21 > DEPEND rather than RDEPEND.
22
23 exactly.
24
25 > The consequences of the two sides are like this, from what I can see:
26 >
27 > 1) Headers are run-time and build-time deps
28 >
29 > - - Headers have to be installed even when you're using purely binary
30 > packages, because they are supposedly needed at "runtime" for your
31 > packages to work.
32 >
33 > - - Also, header packages can't be uninstalled after the build via
34 > depclean because they're specified as run-time dependencies.
35 >
36
37
38 > 2) Headers are build-time deps only
39 >
40 > - - Binary packages don't require the header packages.
41 >
42 > - - Header packages can be unmerged after builds.
43 >
44 > - - Packages requiring the headers have to DEPEND on them directly,
45 > because DEPENDs don't cascade. (Although this brings to mind the concept
46 > of some sort of cascadable DEPEND.)
47 >
48 >
49 > I'd like to hear what some other people think about this.
50
51 Well put Donnie.
52
53 --
54
55 emerge -B virtual/libc busybox
56 ROOT=/mnt/foo emerge -K virtual/libc busybox
57
58 # if this were to pull in linux-headers on the second step into the
59 $ROOT then all embedded support would be shot.
60
61 +1 vote to ignore Spiders mail and revert such changes that put headers
62 in rdeps as it has undesirable side effects to existing supported
63 projects.
64
65
66 --
67 Ned Ludd <solar@g.o>
68
69 --
70 gentoo-dev@g.o mailing list

Replies

Subject Author
Re: [gentoo-dev] Reminder on dependencies. Paul de Vrieze <pauldv@g.o>