1 |
On 05/11/14 12:16, Michael Orlitzky wrote: |
2 |
> When I was taking my ebuild quizzes, I asked for someone to clarify the |
3 |
> implicit system dependency that we have enshrined in the devmanual: |
4 |
> |
5 |
> https://bugs.gentoo.org/show_bug.cgi?id=485356 |
6 |
> |
7 |
> There is... some agreement, but also special cases and special-special |
8 |
> cases that are folklore-only at this point. To me it seems like a fine |
9 |
> thing to ask the council to sort out, so I'm asking here for discussion. |
10 |
> |
11 |
> Can we come up with an idiot-proof list (or FLOWCHART, even!) of what |
12 |
> should and should not be excluded from *DEPEND? |
13 |
> |
14 |
> |
15 |
|
16 |
Suggested policy to get the ball rolling: |
17 |
|
18 |
In general, a package must explicitly depend upon what it directly uses. |
19 |
However, to avoid ebuild complexity and developer burden there are some |
20 |
exceptions. Packages that appear in the base system set may be omitted |
21 |
from an ebuild's dependency list in the following circumstances: |
22 |
|
23 |
* C compiler and runtime |
24 |
|
25 |
* C++ compiler and runtime |
26 |
|
27 |
* A POSIX-compliant shell |
28 |
|
29 |
* bash, baselayout, binutils, coreutils, findutils, grep, make |
30 |
|
31 |
* Any archive tools (eg. tar, bzip2, xz-utils) where used for unpacking |
32 |
SRC_URI only |
33 |
|
34 |
* Any command guaranteed by PMS at build-time only (eg. sed, patch) |
35 |
|
36 |
Note that in some cases it might be necessary to explicitly specify a |
37 |
dependency that's listed above, such as when a specific implementation |
38 |
is required (eg. a binary package requiring glibc). |