1 |
Donnie Berkholz wrote: [Mon Oct 24 2005, 11:37:03PM CDT] |
2 |
> Now, the other side of the story. It's not true runtime dependence |
3 |
> because it's not required for programs to run, only to compile. And the |
4 |
> way I see it, things required for programs to compile are by definition |
5 |
> DEPEND rather than RDEPEND. |
6 |
|
7 |
I think I'm w/ spider on this one. At the risk of initiating a semantic |
8 |
scuffle, my view is that the DEPEND and RDEPEND variables exist solely |
9 |
to tell portage what packages are needed for portage to produce a |
10 |
fully-functional package. A library w/ missing header dependencies is |
11 |
clearly not fully-functional, so portage needs to include that |
12 |
dependency even if it is a binary package that is being installed. The |
13 |
way to do that is to include the dependency in RDEPEND, even if the name |
14 |
seems to be not quite appropriate. |
15 |
|
16 |
> The consequences of the two sides are like this, from what I can see: |
17 |
> |
18 |
> 1) Headers are run-time and build-time deps |
19 |
> |
20 |
> - - Headers have to be installed even when you're using purely binary |
21 |
> packages, because they are supposedly needed at "runtime" for your |
22 |
> packages to work. |
23 |
> |
24 |
> - - Also, header packages can't be uninstalled after the build via |
25 |
> depclean because they're specified as run-time dependencies. |
26 |
> |
27 |
> 2) Headers are build-time deps only |
28 |
> |
29 |
> - - Binary packages don't require the header packages. |
30 |
> |
31 |
> - - Header packages can be unmerged after builds. |
32 |
> |
33 |
> - - Packages requiring the headers have to DEPEND on them directly, |
34 |
> because DEPENDs don't cascade. (Although this brings to mind the concept |
35 |
> of some sort of cascadable DEPEND.) |
36 |
> |
37 |
> |
38 |
> I'd like to hear what some other people think about this. |
39 |
|
40 |
I've always been a big fan of the fact that by default we install |
41 |
fully-capable packages that include headers, because it makes Gentoo |
42 |
much more appealing to developers. My group is working on some |
43 |
cryo-microscopy software that incorporates quite a number of scientific |
44 |
and graphical libraries, and setting up Ubuntu or Debian for one of our |
45 |
project developers was a pain as I struggled to ensure that I had all of |
46 |
the necessary development packages installed. |
47 |
|
48 |
At the same time, I'm suppose that including header files by default is |
49 |
not such a good thing for the embedded folks. |
50 |
|
51 |
-g2boojum- |
52 |
-- |
53 |
Grant Goodyear |
54 |
Gentoo Developer |
55 |
g2boojum@g.o |
56 |
http://www.gentoo.org/~g2boojum |
57 |
GPG Fingerprint: D706 9802 1663 DEF5 81B0 9573 A6DC 7152 E0F6 5B76 |