1 |
El sáb, 11-04-2015 a las 14:28 +0200, Michał Górny escribió: |
2 |
> Hello, |
3 |
> |
4 |
> I know of two cases of circular deps that can be solved -- as far as I |
5 |
> know -- only by bundling: |
6 |
> |
7 |
> 1. dev-util/pkgconfig <-> dev-libs/glib:2, |
8 |
> |
9 |
> 2. dev-util/cmake <-> dev-libs/jsoncpp. |
10 |
> |
11 |
> The former is solved via having USE=internal-glib on pkgconfig, |
12 |
> the latter is yet unsolved [1]. |
13 |
> |
14 |
> I suspect we can expect more of this kind of issues in non-systemd |
15 |
> world over time, and I feel like it'd be good to develop a generic |
16 |
> policy for handling them. Something that could avoid having users go |
17 |
> through this on a case-by-case basis. |
18 |
> |
19 |
> I think the simplest solution would be to develop a generic USE flag |
20 |
> that would only serve the purpose of forcing bundled dependencies for |
21 |
> bootstrapping/initial install. |
22 |
> |
23 |
> We have already: |
24 |
> |
25 |
> build - !!internal use only!! DO NOT SET THIS FLAG YOURSELF!, used for |
26 |
> creating build images and the first half of bootstrapping [make stage1] |
27 |
> |
28 |
> bootstrap - !!internal use only!! DO NOT SET THIS FLAG YOURSELF!, used |
29 |
> during original system bootstrapping [make stage2] |
30 |
> |
31 |
> However, since both are marked for 'internal use only', I don't think |
32 |
> it's a good idea to use them here. So I guess we need a new flag. Does |
33 |
> anyone have suggestions how to name it? |
34 |
> |
35 |
> Any other ideas? |
36 |
> |
37 |
> [1]:https://bugs.gentoo.org/show_bug.cgi?id=546130 |
38 |
> |
39 |
|
40 |
As that USE flag should only be used for being able to install the |
41 |
package the first time, maybe it should be treated in a "special" way. I |
42 |
mean, it shouldn't be easily changed by users but, instead, switched |
43 |
"internally" by the package manager to allow to unbreak the cycle. |
44 |
|
45 |
Otherwise, we could end up with people having packages built with |
46 |
"bundled" libs forever because they enabled that USE at some point and |
47 |
later they forgot (or were too lazy) to revert that :| |