1 |
Ryan Hill wrote: |
2 |
> Ryan Hill <dirtyepic@g.o> wrote: |
3 |
> If it's universal, then why isn't it written somewhere? After all |
4 |
> this, we *still* haven't gotten an answer to why some packages |
5 |
> outside of the system target are depending on zlib. Is this a bug? If |
6 |
> not, what's the reason it's there? Let's document this reason, so we |
7 |
> don't have to go through this again in the future. It's that simple. |
8 |
|
9 |
Hrm, I thought I wrote about this a while ago but I don't see it on |
10 |
archives.g.o so lets try again. |
11 |
|
12 |
> If your package is 'not important' meaning it will never be in 'system' |
13 |
> for any profile, you should not depend on anything in 'system', as |
14 |
stuff in system should already be installed in a given (sane) configuration. |
15 |
> |
16 |
> If your package may be in 'system' in a given profile, you need to |
17 |
ensure your package builds in the proper order, with regards to other |
18 |
system packages. The classic example is zlib; if you need zlib to |
19 |
uncompress something, then you should put zlib in the deps; that way |
20 |
when someone is building say, a stage1, your package will build after |
21 |
zlib, instead of before it. |
22 |
> |
23 |
> You have to be careful in deciding what to specify, as doing things |
24 |
incorrectly in this case can often cause dependency loops which are |
25 |
sometimes fun to debug; perl and openssl were infamous back in the day |
26 |
for this. |
27 |
> |
28 |
> Enterprising users would specify the 'doc' useflag. openssl requires |
29 |
perl to generate its docs and perl requires openssl for some encryption |
30 |
stuff. Users would then complain about perl or openssl not building, or |
31 |
portage getting really pissed at them; the solution being to build |
32 |
openssl twice, once with USE="-doc" and then build perl, and then |
33 |
rebuild openssl with USE="doc". This certainly wasn't the only case |
34 |
where this occurred (see ML thread about shadow and it's dep on some |
35 |
other package I can't remember, although that was a while back as well). |
36 |
> |
37 |
> In conclusion, you need domain knowledge of system packages and |
38 |
portage behavior to make good choices here ;) |
39 |
|
40 |
Wow that pasted nastily; hopefully it shows up ok ;) |
41 |
|
42 |
In any case I'm sure there are some other exceptions but these are the |
43 |
main ones. |
44 |
-- |
45 |
gentoo-dev@g.o mailing list |